late-sdk 0.0.871 → 0.0.873

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 (514) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +17 -8
  3. data/docs/AccountGroupsApi.md +1 -1
  4. data/docs/AccountWithFollowerStatsAllOfAccountStats.md +2 -2
  5. data/docs/AccountsApi.md +5 -5
  6. data/docs/Ad.md +4 -4
  7. data/docs/AdAccountsApi.md +9 -9
  8. data/docs/AdAudiencesApi.md +4 -4
  9. data/docs/AdCampaignsApi.md +46 -46
  10. data/docs/AdCreative.md +6 -6
  11. data/docs/AdCreativesApi.md +12 -12
  12. data/docs/AdDailyMetrics.md +4 -4
  13. data/docs/AdFunnelCounts.md +3 -3
  14. data/docs/AdInsightsApi.md +3 -3
  15. data/docs/AdKeyword.md +1 -1
  16. data/docs/AdLibraryApi.md +2 -2
  17. data/docs/AdMetrics.md +4 -4
  18. data/docs/AdTargetingApi.md +5 -5
  19. data/docs/AdTreeAdSet.md +1 -1
  20. data/docs/AdTreeCampaign.md +4 -4
  21. data/docs/AddAdKeywordsRequest.md +1 -1
  22. data/docs/AddMessageReactionRequest.md +1 -1
  23. data/docs/AdjustConversionsRequestAdjustmentsInner.md +4 -4
  24. data/docs/AdsTimelineResponseRowsInner.md +1 -1
  25. data/docs/AnalyticsApi.md +22 -22
  26. data/docs/AnalyticsDeltaEntry.md +1 -1
  27. data/docs/AnalyticsListResponse.md +1 -1
  28. data/docs/ApiKey.md +1 -1
  29. data/docs/AppealSmsRegistrationRequest.md +1 -1
  30. data/docs/AssignGoogleBusinessLocation200ResponseAccount.md +1 -1
  31. data/docs/AssignGoogleBusinessLocationRequest.md +2 -2
  32. data/docs/AttachCampaignAssetsRequest.md +2 -2
  33. data/docs/BillingSnapshotPlan.md +1 -1
  34. data/docs/BlockWhatsAppUsersRequest.md +1 -1
  35. data/docs/BookmarkPostRequest.md +1 -1
  36. data/docs/BoostPostRequest.md +5 -5
  37. data/docs/BusinessCenter.md +1 -1
  38. data/docs/CallRecord.md +2 -2
  39. data/docs/CampaignAnalyticsResponseAnalyticsDailyInner.md +4 -4
  40. data/docs/CheckPhoneNumberAvailability200Response.md +1 -1
  41. data/docs/CheckPhoneNumberPortability200ResponseResultsInner.md +2 -2
  42. data/docs/CommentsApi.md +11 -11
  43. data/docs/ConnectApi.md +102 -35
  44. data/docs/ConnectWhatsAppEmbeddedSignupRequest.md +4 -4
  45. data/docs/Conversation.md +34 -0
  46. data/docs/ConversionEvent.md +1 -1
  47. data/docs/ConversionsApi.md +6 -6
  48. data/docs/CreateAdCampaignRequest.md +1 -1
  49. data/docs/CreateAdCreativeRequest.md +1 -1
  50. data/docs/CreateApiKeyRequest.md +1 -1
  51. data/docs/CreateInboxConversation201ResponseData.md +2 -2
  52. data/docs/CreateInboxConversationRequest.md +3 -3
  53. data/docs/CreatePhoneNumberPortInRequestEndUser.md +2 -2
  54. data/docs/CreateStandaloneAdRequest.md +22 -22
  55. data/docs/CreateStandaloneAdRequestVideo.md +2 -2
  56. data/docs/CreateWhatsAppFlowRequest.md +1 -1
  57. data/docs/CreateWhatsAppGroupChatRequest.md +1 -1
  58. data/docs/CreateWhatsAppTemplateRequest.md +1 -1
  59. data/docs/CtwaAdRequestBodyVideo.md +1 -1
  60. data/docs/CustomConversion.md +1 -1
  61. data/docs/DeleteWhatsappBusinessUsernameRequest.md +1 -1
  62. data/docs/DiscordApi.md +9 -9
  63. data/docs/DiscordScheduledEvent.md +1 -1
  64. data/docs/EditInboxCommentRequest.md +1 -1
  65. data/docs/EditInboxMessageRequest.md +1 -1
  66. data/docs/EnableSmsOnNumber200Response.md +1 -1
  67. data/docs/ErrorResponse.md +1 -1
  68. data/docs/EstimateAdReachRequest.md +1 -1
  69. data/docs/ExternalPostWebhookPost.md +2 -2
  70. data/docs/FollowUserRequest.md +2 -2
  71. data/docs/GMBAttributesApi.md +3 -3
  72. data/docs/GMBFoodMenusApi.md +2 -2
  73. data/docs/GMBLocationDetailsApi.md +2 -2
  74. data/docs/GMBMediaApi.md +1 -1
  75. data/docs/GMBPlaceActionsApi.md +1 -1
  76. data/docs/GMBReviewsApi.md +4 -4
  77. data/docs/GetAdComments200ResponseMeta.md +4 -4
  78. data/docs/GetAdMedia200Response.md +1 -1
  79. data/docs/GetAdMedia200ResponseMediaInner.md +1 -1
  80. data/docs/GetAdsSearchTerms200ResponseDataInner.md +1 -1
  81. data/docs/GetGoogleBusinessLocationDetails200ResponseLocation.md +1 -1
  82. data/docs/GetInboxConversation200ResponseData.md +1 -1
  83. data/docs/GetInboxConversationMessages200ResponseMessagesInner.md +1 -1
  84. data/docs/GetInboxPostComments200ResponseCommentsInner.md +2 -2
  85. data/docs/GetInboxPostComments200ResponseCommentsInnerFrom.md +1 -1
  86. data/docs/GetInboxTopAccounts200ResponseAccountsInner.md +1 -1
  87. data/docs/GetLinkedInBidPricingRequest.md +1 -1
  88. data/docs/GetPhoneNumber200ResponsePhoneNumber.md +1 -1
  89. data/docs/GetPhoneNumberKycForm200ResponseReusable.md +1 -1
  90. data/docs/GetPhoneNumberKycForm200ResponseReusableOptionsInner.md +2 -2
  91. data/docs/GetPhoneNumberKycForm200ResponseReusableOptionsInnerDetailsInner.md +1 -1
  92. data/docs/GetPhoneNumberPortInRequirements200Response.md +1 -1
  93. data/docs/GetWhatsAppNumberKycForm200ResponseFieldsInner.md +1 -1
  94. data/docs/GetWhatsAppSdkConfig200Response.md +22 -0
  95. data/docs/GoogleBusinessPlatformData.md +1 -1
  96. data/docs/HideInboxCommentRequest.md +1 -1
  97. data/docs/InboxAnalyticsApi.md +5 -5
  98. data/docs/InboxWebhookAccount.md +3 -3
  99. data/docs/InboxWebhookConversation.md +1 -1
  100. data/docs/InboxWebhookMessageSender.md +3 -3
  101. data/docs/InstagramApi.md +1 -1
  102. data/docs/LeadGenApi.md +2 -2
  103. data/docs/LikeInboxCommentRequest.md +1 -1
  104. data/docs/LikePostRequest.md +1 -1
  105. data/docs/LinkedInMentionsApi.md +1 -1
  106. data/docs/LinkedInPlatformData.md +1 -1
  107. data/docs/ListAdAudiences200ResponseAudiencesInner.md +1 -1
  108. data/docs/ListCalls200ResponseCallsInner.md +2 -2
  109. data/docs/ListGoogleBusinessLocations200ResponseLocationsInner.md +1 -1
  110. data/docs/ListInboxComments200ResponseDataInner.md +3 -3
  111. data/docs/ListInboxConversations200ResponseDataInner.md +3 -1
  112. data/docs/ListInboxReviews200ResponseDataInner.md +6 -6
  113. data/docs/ListPhoneNumbers200Response.md +1 -1
  114. data/docs/ListPhoneNumbers200ResponseNumbersInner.md +3 -3
  115. data/docs/ListSipTrunks200Response.md +1 -1
  116. data/docs/ListWhatsAppAccountEvents200ResponseEventsInner.md +1 -1
  117. data/docs/LogsApi.md +2 -2
  118. data/docs/MediaItem.md +1 -1
  119. data/docs/MentionsApi.md +3 -3
  120. data/docs/MessagesApi.md +95 -23
  121. data/docs/MessagingAdsApi.md +1 -1
  122. data/docs/PhoneNumbersApi.md +14 -14
  123. data/docs/PinterestPlatformData.md +1 -1
  124. data/docs/PostAnalytics.md +1 -1
  125. data/docs/PostsApi.md +5 -5
  126. data/docs/ProfilesApi.md +1 -1
  127. data/docs/PurchasePhoneNumberRequest.md +1 -1
  128. data/docs/PurchaseWhatsAppPhoneNumberRequest.md +1 -1
  129. data/docs/ReachAndFrequencyApi.md +2 -2
  130. data/docs/RecyclingConfig.md +1 -1
  131. data/docs/ReplyToMentionRequest.md +1 -1
  132. data/docs/RetweetPostRequest.md +1 -1
  133. data/docs/ReviewWebhookReview.md +1 -1
  134. data/docs/ReviewWebhookReviewReviewer.md +1 -1
  135. data/docs/ReviewsApi.md +6 -6
  136. data/docs/SMSApi.md +11 -11
  137. data/docs/SavedTargetingAudience.md +1 -1
  138. data/docs/SelectGoogleBusinessLocation200ResponseAccount.md +1 -1
  139. data/docs/SelectGoogleBusinessLocationRequest.md +2 -2
  140. data/docs/SendDiscordDirectMessage200Response.md +1 -1
  141. data/docs/SendInboxMessage200ResponseData.md +1 -1
  142. data/docs/SendInboxMessageRequest.md +3 -3
  143. data/docs/SendPrivateReplyToCommentRequest.md +2 -2
  144. data/docs/SendTypingIndicatorRequest.md +1 -1
  145. data/docs/SendWhatsAppFlowMessageRequest.md +1 -1
  146. data/docs/SetCommentModerationRequest.md +1 -1
  147. data/docs/SetConversationThreadControl200Response.md +20 -0
  148. data/docs/SetConversationThreadControl200ResponseControl.md +18 -0
  149. data/docs/SetConversationThreadControlRequest.md +24 -0
  150. data/docs/SetWhatsAppFlowsEncryptionKeyRequest.md +1 -1
  151. data/docs/SetWhatsappBusinessUsernameRequest.md +1 -1
  152. data/docs/StartSmsRegistrationRequest.md +1 -1
  153. data/docs/StartSmsRegistrationRequestCampaign.md +1 -1
  154. data/docs/SubmitPhoneNumberKycRequest.md +1 -1
  155. data/docs/SubmitWhatsAppNumberKycRequest.md +1 -1
  156. data/docs/SyncExternalPosts200Response.md +1 -1
  157. data/docs/SyncExternalPostsRequest.md +1 -1
  158. data/docs/TrackingTag.md +2 -2
  159. data/docs/TrackingTagsApi.md +6 -6
  160. data/docs/TwitterEngagementApi.md +9 -9
  161. data/docs/UnblockWhatsAppUsersRequest.md +1 -1
  162. data/docs/UpdateAccountRequestXCapabilities.md +1 -1
  163. data/docs/UpdateAdAccountRequest.md +1 -1
  164. data/docs/UpdateAdSetRequestPlatformSpecificData.md +1 -1
  165. data/docs/UpdateConversionDestinationRequest.md +1 -1
  166. data/docs/UpdateGmbLocationRequest.md +1 -1
  167. data/docs/UpdateInboxConversationRequest.md +1 -1
  168. data/docs/UpdatePostMetadataRequest.md +1 -1
  169. data/docs/UpdateWhatsAppBusinessProfileRequest.md +1 -1
  170. data/docs/UpdateWhatsAppDisplayNameRequest.md +1 -1
  171. data/docs/UpdateWhatsAppFlowRequest.md +1 -1
  172. data/docs/UpdateWhatsAppTemplateByIdRequest.md +1 -1
  173. data/docs/UpdateWhatsAppTemplateRequest.md +1 -1
  174. data/docs/UpdateWorkflowRequest.md +1 -1
  175. data/docs/UploadWhatsAppFlowJsonRequest.md +1 -1
  176. data/docs/UploadWhatsAppProfilePhotoRequest1.md +1 -1
  177. data/docs/UploadedOrDerivedAudience.md +2 -2
  178. data/docs/UsageApi.md +12 -12
  179. data/docs/UsageMetering.md +1 -1
  180. data/docs/UsageStats.md +1 -1
  181. data/docs/UsageStatsSpend.md +1 -1
  182. data/docs/UsageStatsUsage.md +2 -2
  183. data/docs/UsersApi.md +1 -1
  184. data/docs/ValidateApi.md +3 -3
  185. data/docs/VerifyApi.md +1 -1
  186. data/docs/VoiceApi.md +2 -2
  187. data/docs/WebhookEventsApi.md +76 -7
  188. data/docs/WebhookPayloadAdStatusChangedError.md +3 -3
  189. data/docs/WebhookPayloadAdStatusChangedStatus.md +1 -1
  190. data/docs/WebhookPayloadCommentAccount.md +2 -2
  191. data/docs/WebhookPayloadCommentPost.md +1 -1
  192. data/docs/WebhookPayloadConversationControlChanged.md +30 -0
  193. data/docs/WebhookPayloadConversationControlChangedControl.md +22 -0
  194. data/docs/WebhookPayloadLeadAccount.md +2 -2
  195. data/docs/WebhookPayloadMessageMessageSender.md +3 -3
  196. data/docs/WebhookPayloadMessageMetadata.md +3 -1
  197. data/docs/WebhookPayloadMessageSentMessage.md +1 -1
  198. data/docs/WebhookPayloadReviewNewAccount.md +1 -1
  199. data/docs/WhatsAppApi.md +51 -51
  200. data/docs/WhatsAppCallingApi.md +3 -3
  201. data/docs/WhatsAppFlowsApi.md +18 -18
  202. data/docs/WhatsAppPhoneNumbersApi.md +12 -12
  203. data/docs/WhatsAppSandboxApi.md +2 -2
  204. data/docs/WhatsAppTemplatesApi.md +2 -2
  205. data/docs/WorkflowEdge.md +1 -1
  206. data/docs/WorkflowExecutionEvent.md +1 -1
  207. data/docs/WorkflowsApi.md +3 -3
  208. data/docs/XApiOperation.md +2 -2
  209. data/docs/XApiOperationTriggeredByInner.md +1 -1
  210. data/docs/XApiPricing.md +1 -1
  211. data/lib/zernio-sdk/api/account_groups_api.rb +2 -2
  212. data/lib/zernio-sdk/api/accounts_api.rb +10 -10
  213. data/lib/zernio-sdk/api/ad_accounts_api.rb +12 -12
  214. data/lib/zernio-sdk/api/ad_audiences_api.rb +6 -6
  215. data/lib/zernio-sdk/api/ad_campaigns_api.rb +60 -60
  216. data/lib/zernio-sdk/api/ad_creatives_api.rb +20 -20
  217. data/lib/zernio-sdk/api/ad_insights_api.rb +4 -4
  218. data/lib/zernio-sdk/api/ad_library_api.rb +2 -2
  219. data/lib/zernio-sdk/api/ad_targeting_api.rb +6 -6
  220. data/lib/zernio-sdk/api/analytics_api.rb +22 -22
  221. data/lib/zernio-sdk/api/comments_api.rb +20 -20
  222. data/lib/zernio-sdk/api/connect_api.rb +91 -34
  223. data/lib/zernio-sdk/api/conversions_api.rb +12 -12
  224. data/lib/zernio-sdk/api/discord_api.rb +18 -18
  225. data/lib/zernio-sdk/api/gmb_attributes_api.rb +4 -4
  226. data/lib/zernio-sdk/api/gmb_food_menus_api.rb +4 -4
  227. data/lib/zernio-sdk/api/gmb_location_details_api.rb +4 -4
  228. data/lib/zernio-sdk/api/gmb_media_api.rb +2 -2
  229. data/lib/zernio-sdk/api/gmb_place_actions_api.rb +2 -2
  230. data/lib/zernio-sdk/api/gmb_reviews_api.rb +8 -8
  231. data/lib/zernio-sdk/api/inbox_analytics_api.rb +10 -10
  232. data/lib/zernio-sdk/api/instagram_api.rb +2 -2
  233. data/lib/zernio-sdk/api/lead_gen_api.rb +4 -4
  234. data/lib/zernio-sdk/api/linked_in_mentions_api.rb +2 -2
  235. data/lib/zernio-sdk/api/logs_api.rb +2 -2
  236. data/lib/zernio-sdk/api/mentions_api.rb +4 -4
  237. data/lib/zernio-sdk/api/messages_api.rb +104 -30
  238. data/lib/zernio-sdk/api/messaging_ads_api.rb +2 -2
  239. data/lib/zernio-sdk/api/phone_numbers_api.rb +24 -24
  240. data/lib/zernio-sdk/api/posts_api.rb +8 -8
  241. data/lib/zernio-sdk/api/profiles_api.rb +2 -2
  242. data/lib/zernio-sdk/api/reach_and_frequency_api.rb +4 -4
  243. data/lib/zernio-sdk/api/reviews_api.rb +8 -8
  244. data/lib/zernio-sdk/api/sms_api.rb +20 -20
  245. data/lib/zernio-sdk/api/tracking_tags_api.rb +12 -12
  246. data/lib/zernio-sdk/api/twitter_engagement_api.rb +12 -12
  247. data/lib/zernio-sdk/api/usage_api.rb +14 -14
  248. data/lib/zernio-sdk/api/users_api.rb +2 -2
  249. data/lib/zernio-sdk/api/validate_api.rb +4 -4
  250. data/lib/zernio-sdk/api/verify_api.rb +2 -2
  251. data/lib/zernio-sdk/api/voice_api.rb +4 -4
  252. data/lib/zernio-sdk/api/webhook_events_api.rb +80 -14
  253. data/lib/zernio-sdk/api/whats_app_api.rb +54 -54
  254. data/lib/zernio-sdk/api/whats_app_calling_api.rb +4 -4
  255. data/lib/zernio-sdk/api/whats_app_flows_api.rb +20 -20
  256. data/lib/zernio-sdk/api/whats_app_phone_numbers_api.rb +20 -20
  257. data/lib/zernio-sdk/api/whats_app_sandbox_api.rb +4 -4
  258. data/lib/zernio-sdk/api/whats_app_templates_api.rb +2 -2
  259. data/lib/zernio-sdk/api/workflows_api.rb +6 -6
  260. data/lib/zernio-sdk/models/account_with_follower_stats_all_of_account_stats.rb +2 -2
  261. data/lib/zernio-sdk/models/ad.rb +4 -4
  262. data/lib/zernio-sdk/models/ad_creative.rb +6 -6
  263. data/lib/zernio-sdk/models/ad_daily_metrics.rb +4 -4
  264. data/lib/zernio-sdk/models/ad_engagement_counts.rb +1 -1
  265. data/lib/zernio-sdk/models/ad_funnel_counts.rb +4 -4
  266. data/lib/zernio-sdk/models/ad_keyword.rb +1 -1
  267. data/lib/zernio-sdk/models/ad_metrics.rb +4 -4
  268. data/lib/zernio-sdk/models/ad_tree_ad_set.rb +1 -1
  269. data/lib/zernio-sdk/models/ad_tree_campaign.rb +4 -4
  270. data/lib/zernio-sdk/models/add_ad_keywords_request.rb +1 -1
  271. data/lib/zernio-sdk/models/add_message_reaction_request.rb +1 -1
  272. data/lib/zernio-sdk/models/adjust_conversions_request_adjustments_inner.rb +4 -4
  273. data/lib/zernio-sdk/models/adjust_conversions_request_adjustments_inner_user.rb +1 -1
  274. data/lib/zernio-sdk/models/ads_timeline_response_rows_inner.rb +1 -1
  275. data/lib/zernio-sdk/models/analytics_delta_entry.rb +1 -1
  276. data/lib/zernio-sdk/models/analytics_list_response.rb +1 -1
  277. data/lib/zernio-sdk/models/api_key.rb +1 -1
  278. data/lib/zernio-sdk/models/appeal_sms_registration_request.rb +1 -1
  279. data/lib/zernio-sdk/models/assign_google_business_location200_response_account.rb +1 -1
  280. data/lib/zernio-sdk/models/assign_google_business_location_request.rb +2 -2
  281. data/lib/zernio-sdk/models/attach_campaign_assets_request.rb +2 -2
  282. data/lib/zernio-sdk/models/billing_snapshot.rb +1 -1
  283. data/lib/zernio-sdk/models/billing_snapshot_plan.rb +1 -1
  284. data/lib/zernio-sdk/models/block_whats_app_users_request.rb +1 -1
  285. data/lib/zernio-sdk/models/bookmark_post_request.rb +1 -1
  286. data/lib/zernio-sdk/models/boost_post_request.rb +5 -5
  287. data/lib/zernio-sdk/models/boost_post_request_platform_specific_data.rb +1 -1
  288. data/lib/zernio-sdk/models/business_center.rb +2 -2
  289. data/lib/zernio-sdk/models/call_record.rb +2 -2
  290. data/lib/zernio-sdk/models/campaign_analytics_response_analytics_daily_inner.rb +4 -4
  291. data/lib/zernio-sdk/models/check_phone_number_availability200_response.rb +1 -1
  292. data/lib/zernio-sdk/models/check_phone_number_portability200_response_results_inner.rb +2 -2
  293. data/lib/zernio-sdk/models/connect_whats_app_embedded_signup_request.rb +4 -3
  294. data/lib/zernio-sdk/models/conversation.rb +334 -0
  295. data/lib/zernio-sdk/models/conversion_destination.rb +1 -1
  296. data/lib/zernio-sdk/models/conversion_event.rb +1 -1
  297. data/lib/zernio-sdk/models/create_ad_campaign_request.rb +1 -1
  298. data/lib/zernio-sdk/models/create_ad_creative_request.rb +1 -1
  299. data/lib/zernio-sdk/models/create_api_key_request.rb +1 -1
  300. data/lib/zernio-sdk/models/create_inbox_conversation201_response_data.rb +2 -2
  301. data/lib/zernio-sdk/models/create_inbox_conversation_request.rb +3 -3
  302. data/lib/zernio-sdk/models/create_phone_number_port_in_request_end_user.rb +3 -3
  303. data/lib/zernio-sdk/models/create_standalone_ad201_response_one_of.rb +1 -1
  304. data/lib/zernio-sdk/models/create_standalone_ad201_response_one_of1.rb +1 -1
  305. data/lib/zernio-sdk/models/create_standalone_ad_request.rb +22 -22
  306. data/lib/zernio-sdk/models/create_standalone_ad_request_placement_assets.rb +1 -1
  307. data/lib/zernio-sdk/models/create_standalone_ad_request_placement_assets_rules_inner_placements.rb +1 -1
  308. data/lib/zernio-sdk/models/create_standalone_ad_request_placements.rb +1 -1
  309. data/lib/zernio-sdk/models/create_standalone_ad_request_platform_specific_data.rb +1 -1
  310. data/lib/zernio-sdk/models/create_standalone_ad_request_video.rb +3 -3
  311. data/lib/zernio-sdk/models/create_whats_app_flow_request.rb +1 -1
  312. data/lib/zernio-sdk/models/create_whats_app_group_chat_request.rb +1 -1
  313. data/lib/zernio-sdk/models/create_whats_app_template_request.rb +1 -1
  314. data/lib/zernio-sdk/models/ctwa_ad_request_body_video.rb +1 -1
  315. data/lib/zernio-sdk/models/custom_conversion.rb +1 -1
  316. data/lib/zernio-sdk/models/delete_whatsapp_business_username_request.rb +1 -1
  317. data/lib/zernio-sdk/models/discord_scheduled_event.rb +2 -2
  318. data/lib/zernio-sdk/models/edit_inbox_comment_request.rb +1 -1
  319. data/lib/zernio-sdk/models/edit_inbox_message_request.rb +1 -1
  320. data/lib/zernio-sdk/models/enable_sms_on_number200_response.rb +1 -1
  321. data/lib/zernio-sdk/models/error_response.rb +1 -1
  322. data/lib/zernio-sdk/models/estimate_ad_reach_request.rb +1 -1
  323. data/lib/zernio-sdk/models/external_post_webhook_post.rb +2 -2
  324. data/lib/zernio-sdk/models/follow_user_request.rb +2 -2
  325. data/lib/zernio-sdk/models/geo_restriction.rb +1 -1
  326. data/lib/zernio-sdk/models/get_ad_comments200_response_meta.rb +4 -4
  327. data/lib/zernio-sdk/models/get_ad_media200_response.rb +1 -1
  328. data/lib/zernio-sdk/models/get_ad_media200_response_media_inner.rb +1 -1
  329. data/lib/zernio-sdk/models/get_ads_search_terms200_response_data_inner.rb +1 -1
  330. data/lib/zernio-sdk/models/get_google_business_location_details200_response_location.rb +1 -1
  331. data/lib/zernio-sdk/models/get_inbox_conversation200_response_data.rb +1 -1
  332. data/lib/zernio-sdk/models/get_inbox_conversation_messages200_response_messages_inner.rb +1 -1
  333. data/lib/zernio-sdk/models/get_inbox_post_comments200_response_comments_inner.rb +2 -2
  334. data/lib/zernio-sdk/models/get_inbox_post_comments200_response_comments_inner_from.rb +1 -1
  335. data/lib/zernio-sdk/models/get_inbox_post_comments200_response_meta_ad_comments.rb +1 -1
  336. data/lib/zernio-sdk/models/get_inbox_top_accounts200_response_accounts_inner.rb +1 -1
  337. data/lib/zernio-sdk/models/get_linked_in_bid_pricing_request.rb +1 -1
  338. data/lib/zernio-sdk/models/get_phone_number200_response_phone_number.rb +1 -1
  339. data/lib/zernio-sdk/models/get_phone_number_kyc_form200_response_reusable.rb +1 -1
  340. data/lib/zernio-sdk/models/get_phone_number_kyc_form200_response_reusable_options_inner.rb +2 -2
  341. data/lib/zernio-sdk/models/get_phone_number_kyc_form200_response_reusable_options_inner_details_inner.rb +1 -1
  342. data/lib/zernio-sdk/models/get_phone_number_port_in_requirements200_response.rb +1 -1
  343. data/lib/zernio-sdk/models/get_whats_app_number_kyc_form200_response_fields_inner.rb +1 -1
  344. data/lib/zernio-sdk/models/get_whats_app_sdk_config200_response.rb +219 -0
  345. data/lib/zernio-sdk/models/google_business_platform_data.rb +2 -2
  346. data/lib/zernio-sdk/models/hide_inbox_comment_request.rb +1 -1
  347. data/lib/zernio-sdk/models/inbox_webhook_account.rb +3 -3
  348. data/lib/zernio-sdk/models/inbox_webhook_conversation.rb +1 -1
  349. data/lib/zernio-sdk/models/inbox_webhook_message_sender.rb +3 -3
  350. data/lib/zernio-sdk/models/like_inbox_comment_request.rb +1 -1
  351. data/lib/zernio-sdk/models/like_post_request.rb +1 -1
  352. data/lib/zernio-sdk/models/linked_in_ads_platform_data_thought_leader.rb +1 -1
  353. data/lib/zernio-sdk/models/linked_in_platform_data.rb +1 -1
  354. data/lib/zernio-sdk/models/list_ad_audiences200_response_audiences_inner.rb +1 -1
  355. data/lib/zernio-sdk/models/list_calls200_response_calls_inner.rb +2 -2
  356. data/lib/zernio-sdk/models/list_discord_pinned_messages200_response_data_inner.rb +1 -1
  357. data/lib/zernio-sdk/models/list_google_business_locations200_response_locations_inner.rb +1 -1
  358. data/lib/zernio-sdk/models/list_inbox_comments200_response_data_inner.rb +3 -3
  359. data/lib/zernio-sdk/models/list_inbox_conversations200_response_data_inner.rb +24 -2
  360. data/lib/zernio-sdk/models/list_inbox_reviews200_response_data_inner.rb +6 -6
  361. data/lib/zernio-sdk/models/list_phone_numbers200_response.rb +1 -1
  362. data/lib/zernio-sdk/models/list_phone_numbers200_response_numbers_inner.rb +3 -3
  363. data/lib/zernio-sdk/models/list_sip_trunks200_response.rb +1 -1
  364. data/lib/zernio-sdk/models/list_sms_sender_ids200_response_budget.rb +1 -1
  365. data/lib/zernio-sdk/models/list_whats_app_account_events200_response_events_inner.rb +1 -1
  366. data/lib/zernio-sdk/models/media_item.rb +1 -1
  367. data/lib/zernio-sdk/models/pinterest_platform_data.rb +1 -1
  368. data/lib/zernio-sdk/models/post_analytics.rb +1 -1
  369. data/lib/zernio-sdk/models/purchase_phone_number_request.rb +1 -1
  370. data/lib/zernio-sdk/models/purchase_whats_app_phone_number_request.rb +1 -1
  371. data/lib/zernio-sdk/models/recycling_config.rb +2 -2
  372. data/lib/zernio-sdk/models/reply_to_mention_request.rb +1 -1
  373. data/lib/zernio-sdk/models/retweet_post_request.rb +1 -1
  374. data/lib/zernio-sdk/models/review_webhook_review.rb +1 -1
  375. data/lib/zernio-sdk/models/review_webhook_review_reviewer.rb +1 -1
  376. data/lib/zernio-sdk/models/saved_targeting_audience.rb +1 -1
  377. data/lib/zernio-sdk/models/select_google_business_location200_response_account.rb +1 -1
  378. data/lib/zernio-sdk/models/select_google_business_location_request.rb +2 -2
  379. data/lib/zernio-sdk/models/send_discord_direct_message200_response.rb +1 -1
  380. data/lib/zernio-sdk/models/send_inbox_message200_response_data.rb +1 -1
  381. data/lib/zernio-sdk/models/send_inbox_message_request.rb +3 -3
  382. data/lib/zernio-sdk/models/send_private_reply_to_comment_request.rb +2 -2
  383. data/lib/zernio-sdk/models/send_typing_indicator_request.rb +1 -1
  384. data/lib/zernio-sdk/models/send_whats_app_flow_message_request.rb +1 -1
  385. data/lib/zernio-sdk/models/set_comment_moderation_request.rb +1 -1
  386. data/lib/zernio-sdk/models/set_conversation_thread_control200_response.rb +156 -0
  387. data/lib/zernio-sdk/models/set_conversation_thread_control200_response_control.rb +181 -0
  388. data/lib/zernio-sdk/models/set_conversation_thread_control_request.rb +266 -0
  389. data/lib/zernio-sdk/models/set_whats_app_flows_encryption_key_request.rb +1 -1
  390. data/lib/zernio-sdk/models/set_whatsapp_business_username_request.rb +1 -1
  391. data/lib/zernio-sdk/models/slack_platform_data.rb +1 -1
  392. data/lib/zernio-sdk/models/start_sms_registration_request.rb +1 -1
  393. data/lib/zernio-sdk/models/start_sms_registration_request_campaign.rb +2 -2
  394. data/lib/zernio-sdk/models/submit_phone_number_kyc_request.rb +1 -1
  395. data/lib/zernio-sdk/models/submit_whats_app_number_kyc_request.rb +1 -1
  396. data/lib/zernio-sdk/models/sync_external_posts200_response.rb +1 -1
  397. data/lib/zernio-sdk/models/sync_external_posts_request.rb +1 -1
  398. data/lib/zernio-sdk/models/tracking_tag.rb +3 -3
  399. data/lib/zernio-sdk/models/unblock_whats_app_users_request.rb +1 -1
  400. data/lib/zernio-sdk/models/update_account_request_x_capabilities.rb +2 -2
  401. data/lib/zernio-sdk/models/update_ad_account_request.rb +1 -1
  402. data/lib/zernio-sdk/models/update_ad_request_creative.rb +1 -1
  403. data/lib/zernio-sdk/models/update_ad_set_request_platform_specific_data.rb +1 -1
  404. data/lib/zernio-sdk/models/update_ad_tracking_tags_request_creative.rb +1 -1
  405. data/lib/zernio-sdk/models/update_conversion_destination_request.rb +1 -1
  406. data/lib/zernio-sdk/models/update_gmb_location_request.rb +1 -1
  407. data/lib/zernio-sdk/models/update_inbox_conversation_request.rb +1 -1
  408. data/lib/zernio-sdk/models/update_post_metadata_request.rb +1 -1
  409. data/lib/zernio-sdk/models/update_whats_app_business_profile_request.rb +1 -1
  410. data/lib/zernio-sdk/models/update_whats_app_display_name_request.rb +1 -1
  411. data/lib/zernio-sdk/models/update_whats_app_flow_request.rb +1 -1
  412. data/lib/zernio-sdk/models/update_whats_app_template_by_id_request.rb +1 -1
  413. data/lib/zernio-sdk/models/update_whats_app_template_request.rb +1 -1
  414. data/lib/zernio-sdk/models/update_workflow_request.rb +1 -1
  415. data/lib/zernio-sdk/models/upload_whats_app_flow_json_request.rb +1 -1
  416. data/lib/zernio-sdk/models/upload_whats_app_profile_photo_request1.rb +1 -1
  417. data/lib/zernio-sdk/models/uploaded_or_derived_audience.rb +2 -2
  418. data/lib/zernio-sdk/models/usage_metering.rb +2 -2
  419. data/lib/zernio-sdk/models/usage_metering_peaks.rb +1 -1
  420. data/lib/zernio-sdk/models/usage_stats.rb +2 -2
  421. data/lib/zernio-sdk/models/usage_stats_limits.rb +1 -1
  422. data/lib/zernio-sdk/models/usage_stats_spend.rb +2 -2
  423. data/lib/zernio-sdk/models/usage_stats_usage.rb +3 -3
  424. data/lib/zernio-sdk/models/usage_stats_usage_x_api_calls.rb +1 -1
  425. data/lib/zernio-sdk/models/webhook_payload_ad_status_changed_error.rb +3 -3
  426. data/lib/zernio-sdk/models/webhook_payload_ad_status_changed_status.rb +1 -1
  427. data/lib/zernio-sdk/models/webhook_payload_analytics_synced.rb +1 -1
  428. data/lib/zernio-sdk/models/webhook_payload_analytics_synced_sync.rb +1 -1
  429. data/lib/zernio-sdk/models/webhook_payload_comment.rb +1 -1
  430. data/lib/zernio-sdk/models/webhook_payload_comment_account.rb +2 -2
  431. data/lib/zernio-sdk/models/webhook_payload_comment_post.rb +1 -1
  432. data/lib/zernio-sdk/models/webhook_payload_conversation_control_changed.rb +347 -0
  433. data/lib/zernio-sdk/models/webhook_payload_conversation_control_changed_control.rb +224 -0
  434. data/lib/zernio-sdk/models/webhook_payload_conversation_started.rb +1 -1
  435. data/lib/zernio-sdk/models/webhook_payload_lead_account.rb +2 -2
  436. data/lib/zernio-sdk/models/webhook_payload_message_message_sender.rb +3 -3
  437. data/lib/zernio-sdk/models/webhook_payload_message_metadata.rb +13 -3
  438. data/lib/zernio-sdk/models/webhook_payload_message_sent_message.rb +3 -3
  439. data/lib/zernio-sdk/models/webhook_payload_post_platform.rb +1 -1
  440. data/lib/zernio-sdk/models/webhook_payload_post_platform_account.rb +1 -1
  441. data/lib/zernio-sdk/models/webhook_payload_post_platform_platform.rb +1 -1
  442. data/lib/zernio-sdk/models/webhook_payload_review_new_account.rb +1 -1
  443. data/lib/zernio-sdk/models/workflow_edge.rb +1 -1
  444. data/lib/zernio-sdk/models/workflow_execution_event.rb +1 -1
  445. data/lib/zernio-sdk/models/x_api_operation.rb +2 -2
  446. data/lib/zernio-sdk/models/x_api_operation_triggered_by_inner.rb +1 -1
  447. data/lib/zernio-sdk/models/x_api_pricing.rb +2 -2
  448. data/lib/zernio-sdk/version.rb +1 -1
  449. data/lib/zernio-sdk.rb +7 -0
  450. data/openapi.yaml +1073 -853
  451. data/spec/api/account_groups_api_spec.rb +1 -1
  452. data/spec/api/accounts_api_spec.rb +5 -5
  453. data/spec/api/ad_accounts_api_spec.rb +6 -6
  454. data/spec/api/ad_audiences_api_spec.rb +3 -3
  455. data/spec/api/ad_campaigns_api_spec.rb +30 -30
  456. data/spec/api/ad_creatives_api_spec.rb +10 -10
  457. data/spec/api/ad_insights_api_spec.rb +2 -2
  458. data/spec/api/ad_library_api_spec.rb +1 -1
  459. data/spec/api/ad_targeting_api_spec.rb +3 -3
  460. data/spec/api/analytics_api_spec.rb +11 -11
  461. data/spec/api/comments_api_spec.rb +10 -10
  462. data/spec/api/connect_api_spec.rb +28 -17
  463. data/spec/api/conversions_api_spec.rb +6 -6
  464. data/spec/api/discord_api_spec.rb +9 -9
  465. data/spec/api/gmb_attributes_api_spec.rb +2 -2
  466. data/spec/api/gmb_food_menus_api_spec.rb +2 -2
  467. data/spec/api/gmb_location_details_api_spec.rb +2 -2
  468. data/spec/api/gmb_media_api_spec.rb +1 -1
  469. data/spec/api/gmb_place_actions_api_spec.rb +1 -1
  470. data/spec/api/gmb_reviews_api_spec.rb +4 -4
  471. data/spec/api/inbox_analytics_api_spec.rb +5 -5
  472. data/spec/api/instagram_api_spec.rb +1 -1
  473. data/spec/api/lead_gen_api_spec.rb +2 -2
  474. data/spec/api/linked_in_mentions_api_spec.rb +1 -1
  475. data/spec/api/logs_api_spec.rb +1 -1
  476. data/spec/api/mentions_api_spec.rb +2 -2
  477. data/spec/api/messages_api_spec.rb +28 -15
  478. data/spec/api/messaging_ads_api_spec.rb +1 -1
  479. data/spec/api/phone_numbers_api_spec.rb +12 -12
  480. data/spec/api/posts_api_spec.rb +4 -4
  481. data/spec/api/profiles_api_spec.rb +1 -1
  482. data/spec/api/reach_and_frequency_api_spec.rb +2 -2
  483. data/spec/api/reviews_api_spec.rb +4 -4
  484. data/spec/api/sms_api_spec.rb +10 -10
  485. data/spec/api/tracking_tags_api_spec.rb +6 -6
  486. data/spec/api/twitter_engagement_api_spec.rb +6 -6
  487. data/spec/api/usage_api_spec.rb +7 -7
  488. data/spec/api/users_api_spec.rb +1 -1
  489. data/spec/api/validate_api_spec.rb +2 -2
  490. data/spec/api/verify_api_spec.rb +1 -1
  491. data/spec/api/voice_api_spec.rb +2 -2
  492. data/spec/api/whats_app_api_spec.rb +27 -27
  493. data/spec/api/whats_app_calling_api_spec.rb +2 -2
  494. data/spec/api/whats_app_flows_api_spec.rb +10 -10
  495. data/spec/api/whats_app_phone_numbers_api_spec.rb +10 -10
  496. data/spec/api/whats_app_sandbox_api_spec.rb +2 -2
  497. data/spec/api/whats_app_templates_api_spec.rb +1 -1
  498. data/spec/api/workflows_api_spec.rb +3 -3
  499. data/spec/models/conversation_spec.rb +92 -0
  500. data/spec/models/create_webhook_settings_request_spec.rb +1 -1
  501. data/spec/models/get_whats_app_sdk_config200_response_spec.rb +48 -0
  502. data/spec/models/list_inbox_conversations200_response_data_inner_spec.rb +10 -0
  503. data/spec/models/set_conversation_thread_control200_response_control_spec.rb +40 -0
  504. data/spec/models/set_conversation_thread_control200_response_spec.rb +42 -0
  505. data/spec/models/set_conversation_thread_control_request_spec.rb +62 -0
  506. data/spec/models/update_webhook_settings_request_spec.rb +1 -1
  507. data/spec/models/webhook_payload_conversation_control_changed_control_spec.rb +56 -0
  508. data/spec/models/webhook_payload_conversation_control_changed_spec.rb +76 -0
  509. data/spec/models/webhook_payload_message_metadata_spec.rb +6 -0
  510. data/spec/models/webhook_payload_message_sent_message_spec.rb +1 -1
  511. data/spec/models/webhook_spec.rb +1 -1
  512. data/zernio-sdk-0.0.873.gem +0 -0
  513. metadata +30 -2
  514. data/zernio-sdk-0.0.871.gem +0 -0
@@ -90,7 +90,7 @@ module Zernio
90
90
  # Delete flow
91
91
  # Delete a DRAFT flow. This is irreversible. Only flows in DRAFT status can be deleted.
92
92
  # @param flow_id [String] Flow ID
93
- # @param account_id [String] WhatsApp social account ID
93
+ # @param account_id [String] WhatsApp account ID
94
94
  # @param [Hash] opts the optional parameters
95
95
  # @return [UpdateYoutubeDefaultPlaylist200Response]
96
96
  def delete_whats_app_flow(flow_id, account_id, opts = {})
@@ -101,7 +101,7 @@ module Zernio
101
101
  # Delete flow
102
102
  # Delete a DRAFT flow. This is irreversible. Only flows in DRAFT status can be deleted.
103
103
  # @param flow_id [String] Flow ID
104
- # @param account_id [String] WhatsApp social account ID
104
+ # @param account_id [String] WhatsApp account ID
105
105
  # @param [Hash] opts the optional parameters
106
106
  # @return [Array<(UpdateYoutubeDefaultPlaylist200Response, Integer, Hash)>] UpdateYoutubeDefaultPlaylist200Response data, response status code and response headers
107
107
  def delete_whats_app_flow_with_http_info(flow_id, account_id, opts = {})
@@ -234,7 +234,7 @@ module Zernio
234
234
  # Get flow
235
235
  # Get details for a specific flow, including status, categories, validation errors, and preview URL.
236
236
  # @param flow_id [String] Flow ID
237
- # @param account_id [String] WhatsApp social account ID
237
+ # @param account_id [String] WhatsApp account ID
238
238
  # @param [Hash] opts the optional parameters
239
239
  # @option opts [String] :fields Comma-separated fields to return (default: id,name,status,categories,validation_errors,json_version,preview,data_api_version,endpoint_uri)
240
240
  # @return [GetWhatsAppFlow200Response]
@@ -246,7 +246,7 @@ module Zernio
246
246
  # Get flow
247
247
  # Get details for a specific flow, including status, categories, validation errors, and preview URL.
248
248
  # @param flow_id [String] Flow ID
249
- # @param account_id [String] WhatsApp social account ID
249
+ # @param account_id [String] WhatsApp account ID
250
250
  # @param [Hash] opts the optional parameters
251
251
  # @option opts [String] :fields Comma-separated fields to return (default: id,name,status,categories,validation_errors,json_version,preview,data_api_version,endpoint_uri)
252
252
  # @return [Array<(GetWhatsAppFlow200Response, Integer, Hash)>] GetWhatsAppFlow200Response data, response status code and response headers
@@ -307,7 +307,7 @@ module Zernio
307
307
  # Get flow JSON asset
308
308
  # Get the flow JSON asset metadata, including a temporary download URL for the Flow JSON file.
309
309
  # @param flow_id [String] Flow ID
310
- # @param account_id [String] WhatsApp social account ID
310
+ # @param account_id [String] WhatsApp account ID
311
311
  # @param [Hash] opts the optional parameters
312
312
  # @return [GetWhatsAppFlowJson200Response]
313
313
  def get_whats_app_flow_json(flow_id, account_id, opts = {})
@@ -318,7 +318,7 @@ module Zernio
318
318
  # Get flow JSON asset
319
319
  # Get the flow JSON asset metadata, including a temporary download URL for the Flow JSON file.
320
320
  # @param flow_id [String] Flow ID
321
- # @param account_id [String] WhatsApp social account ID
321
+ # @param account_id [String] WhatsApp account ID
322
322
  # @param [Hash] opts the optional parameters
323
323
  # @return [Array<(GetWhatsAppFlowJson200Response, Integer, Hash)>] GetWhatsAppFlowJson200Response data, response status code and response headers
324
324
  def get_whats_app_flow_json_with_http_info(flow_id, account_id, opts = {})
@@ -377,7 +377,7 @@ module Zernio
377
377
  # Get flow preview URL
378
378
  # Get Meta's public web-preview URL for a flow (drafts included), embeddable as an interactive iframe. The link is reused across calls (valid ~30 days); pass invalidate=true to mint a fresh one (the previous link stops working).
379
379
  # @param flow_id [String] Flow ID
380
- # @param account_id [String] WhatsApp social account ID
380
+ # @param account_id [String] WhatsApp account ID
381
381
  # @param [Hash] opts the optional parameters
382
382
  # @option opts [Boolean] :invalidate Mint a fresh preview link (default false)
383
383
  # @return [GetWhatsAppFlowPreview200Response]
@@ -389,7 +389,7 @@ module Zernio
389
389
  # Get flow preview URL
390
390
  # Get Meta&#39;s public web-preview URL for a flow (drafts included), embeddable as an interactive iframe. The link is reused across calls (valid ~30 days); pass invalidate&#x3D;true to mint a fresh one (the previous link stops working).
391
391
  # @param flow_id [String] Flow ID
392
- # @param account_id [String] WhatsApp social account ID
392
+ # @param account_id [String] WhatsApp account ID
393
393
  # @param [Hash] opts the optional parameters
394
394
  # @option opts [Boolean] :invalidate Mint a fresh preview link (default false)
395
395
  # @return [Array<(GetWhatsAppFlowPreview200Response, Integer, Hash)>] GetWhatsAppFlowPreview200Response data, response status code and response headers
@@ -449,7 +449,7 @@ module Zernio
449
449
 
450
450
  # Get Flows encryption key status
451
451
  # Read the RSA business public key registered on the phone number for WhatsApp Flows endpoint encryption. Only one key is active per phone number at a time. Flows that use flow_action: data_exchange (an endpoint-backed flow) stop working at runtime until the endpoint serves the matching private key, and Meta rejects publish with error code 139002 (\"Missing Flows Signed Public Key\") when no key is registered. `registered` reflects whether a key is present, never `signatureStatus` alone: Meta reports an unregistered key as MISMATCH rather than a null/absent value.
452
- # @param account_id [String] WhatsApp social account ID
452
+ # @param account_id [String] WhatsApp account ID
453
453
  # @param [Hash] opts the optional parameters
454
454
  # @return [GetWhatsAppFlowsEncryptionKey200Response]
455
455
  def get_whats_app_flows_encryption_key(account_id, opts = {})
@@ -459,7 +459,7 @@ module Zernio
459
459
 
460
460
  # Get Flows encryption key status
461
461
  # Read the RSA business public key registered on the phone number for WhatsApp Flows endpoint encryption. Only one key is active per phone number at a time. Flows that use flow_action: data_exchange (an endpoint-backed flow) stop working at runtime until the endpoint serves the matching private key, and Meta rejects publish with error code 139002 (\&quot;Missing Flows Signed Public Key\&quot;) when no key is registered. &#x60;registered&#x60; reflects whether a key is present, never &#x60;signatureStatus&#x60; alone: Meta reports an unregistered key as MISMATCH rather than a null/absent value.
462
- # @param account_id [String] WhatsApp social account ID
462
+ # @param account_id [String] WhatsApp account ID
463
463
  # @param [Hash] opts the optional parameters
464
464
  # @return [Array<(GetWhatsAppFlowsEncryptionKey200Response, Integer, Hash)>] GetWhatsAppFlowsEncryptionKey200Response data, response status code and response headers
465
465
  def get_whats_app_flows_encryption_key_with_http_info(account_id, opts = {})
@@ -512,8 +512,8 @@ module Zernio
512
512
  end
513
513
 
514
514
  # List flow responses
515
- # List the responses customers submitted when completing a flow (parsed from the nfm_reply messages received via webhook), newest first. Scope to a single flow with `flowId` — this matches responses whose flow_token carries the `<flowId>:` prefix that Zernio stamps on auto-generated tokens at send time. Responses sent with a custom integrator-supplied flow_token are not attributed to a flow.
516
- # @param account_id [String] WhatsApp social account ID
515
+ # List the responses customers submitted when completing a flow (parsed from the nfm_reply messages received via webhook), newest first. Scope to a single flow with `flowId`, which matches responses whose flow_token carries the `<flowId>:` prefix that Zernio stamps on auto-generated tokens at send time. Responses sent with a custom integrator-supplied flow_token are not attributed to a flow.
516
+ # @param account_id [String] WhatsApp account ID
517
517
  # @param [Hash] opts the optional parameters
518
518
  # @option opts [String] :flow_id Scope to responses for this flow
519
519
  # @option opts [Integer] :limit Max responses to return (default to 50)
@@ -524,8 +524,8 @@ module Zernio
524
524
  end
525
525
 
526
526
  # List flow responses
527
- # List the responses customers submitted when completing a flow (parsed from the nfm_reply messages received via webhook), newest first. Scope to a single flow with &#x60;flowId&#x60; — this matches responses whose flow_token carries the &#x60;&lt;flowId&gt;:&#x60; prefix that Zernio stamps on auto-generated tokens at send time. Responses sent with a custom integrator-supplied flow_token are not attributed to a flow.
528
- # @param account_id [String] WhatsApp social account ID
527
+ # List the responses customers submitted when completing a flow (parsed from the nfm_reply messages received via webhook), newest first. Scope to a single flow with &#x60;flowId&#x60;, which matches responses whose flow_token carries the &#x60;&lt;flowId&gt;:&#x60; prefix that Zernio stamps on auto-generated tokens at send time. Responses sent with a custom integrator-supplied flow_token are not attributed to a flow.
528
+ # @param account_id [String] WhatsApp account ID
529
529
  # @param [Hash] opts the optional parameters
530
530
  # @option opts [String] :flow_id Scope to responses for this flow
531
531
  # @option opts [Integer] :limit Max responses to return (default to 50)
@@ -586,9 +586,9 @@ module Zernio
586
586
  end
587
587
 
588
588
  # List flow versions
589
- # List the flow's version history (the clone lineage Zernio tracks, since Meta has no native versioning), newest version first. Each entry is enriched with the version's live name and status from Meta. A flow with no lineage returns just itself as version 1.
589
+ # List the flow's version history (the clone lineage Zernio tracks, since Meta has no native versioning), newest version first. Each entry is enriched with the version's live name and status from Meta. A flow with no lineage returns only itself as version 1.
590
590
  # @param flow_id [String] Flow ID
591
- # @param account_id [String] WhatsApp social account ID
591
+ # @param account_id [String] WhatsApp account ID
592
592
  # @param [Hash] opts the optional parameters
593
593
  # @return [ListWhatsAppFlowVersions200Response]
594
594
  def list_whats_app_flow_versions(flow_id, account_id, opts = {})
@@ -597,9 +597,9 @@ module Zernio
597
597
  end
598
598
 
599
599
  # List flow versions
600
- # List the flow&#39;s version history (the clone lineage Zernio tracks, since Meta has no native versioning), newest version first. Each entry is enriched with the version&#39;s live name and status from Meta. A flow with no lineage returns just itself as version 1.
600
+ # List the flow&#39;s version history (the clone lineage Zernio tracks, since Meta has no native versioning), newest version first. Each entry is enriched with the version&#39;s live name and status from Meta. A flow with no lineage returns only itself as version 1.
601
601
  # @param flow_id [String] Flow ID
602
- # @param account_id [String] WhatsApp social account ID
602
+ # @param account_id [String] WhatsApp account ID
603
603
  # @param [Hash] opts the optional parameters
604
604
  # @return [Array<(ListWhatsAppFlowVersions200Response, Integer, Hash)>] ListWhatsAppFlowVersions200Response data, response status code and response headers
605
605
  def list_whats_app_flow_versions_with_http_info(flow_id, account_id, opts = {})
@@ -657,7 +657,7 @@ module Zernio
657
657
 
658
658
  # List flows
659
659
  # List all WhatsApp Flows for the Business Account (WABA) associated with the given account.
660
- # @param account_id [String] WhatsApp social account ID
660
+ # @param account_id [String] WhatsApp account ID
661
661
  # @param [Hash] opts the optional parameters
662
662
  # @return [ListWhatsAppFlows200Response]
663
663
  def list_whats_app_flows(account_id, opts = {})
@@ -667,7 +667,7 @@ module Zernio
667
667
 
668
668
  # List flows
669
669
  # List all WhatsApp Flows for the Business Account (WABA) associated with the given account.
670
- # @param account_id [String] WhatsApp social account ID
670
+ # @param account_id [String] WhatsApp account ID
671
671
  # @param [Hash] opts the optional parameters
672
672
  # @return [Array<(ListWhatsAppFlows200Response, Integer, Hash)>] ListWhatsAppFlows200Response data, response status code and response headers
673
673
  def list_whats_app_flows_with_http_info(account_id, opts = {})
@@ -94,7 +94,7 @@ module Zernio
94
94
  end
95
95
 
96
96
  # Create a hosted KYC link
97
- # Deprecated alias of `/v1/phone-numbers/kyc/share`; same contract. New integrations should use that path. Create a single-use, 7-day hosted KYC link that your end customer completes WITHOUT a Zernio login — useful when the person who holds the ID and address is not your team. They fill the regulated verification on a Zernio-hosted page; the number provisions under YOUR account once they submit. Only regulated (KYC) countries are valid: a country that does not require KYC returns 400. White-label the page with `branding` (your company name, logo, brand color). Supply `redirect_url` to send the end customer back to your own site after a successful submit (completion params are appended — see below). Listen for the `whatsapp.number.kyc_submitted` webhook to react when the form is completed.
97
+ # Deprecated alias of `/v1/phone-numbers/kyc/share`; same contract. New integrations should use that path. Create a single-use, 7-day hosted KYC link that your end customer completes WITHOUT a Zernio login. Useful when the person who holds the ID and address is not your team. They fill the regulated verification on a Zernio-hosted page; the number provisions under YOUR account once they submit. Only regulated (KYC) countries are valid: a country that does not require KYC returns 400. White-label the page with `branding` (your company name, logo, brand color). Supply `redirect_url` to send the end customer back to your own site after a successful submit (completion params are appended; see below). Listen for the `whatsapp.number.kyc_submitted` webhook to react when the form is completed.
98
98
  # @param create_phone_number_kyc_link_request [CreatePhoneNumberKycLinkRequest]
99
99
  # @param [Hash] opts the optional parameters
100
100
  # @return [CreatePhoneNumberKycLink200Response]
@@ -104,7 +104,7 @@ module Zernio
104
104
  end
105
105
 
106
106
  # Create a hosted KYC link
107
- # Deprecated alias of &#x60;/v1/phone-numbers/kyc/share&#x60;; same contract. New integrations should use that path. Create a single-use, 7-day hosted KYC link that your end customer completes WITHOUT a Zernio login — useful when the person who holds the ID and address is not your team. They fill the regulated verification on a Zernio-hosted page; the number provisions under YOUR account once they submit. Only regulated (KYC) countries are valid: a country that does not require KYC returns 400. White-label the page with &#x60;branding&#x60; (your company name, logo, brand color). Supply &#x60;redirect_url&#x60; to send the end customer back to your own site after a successful submit (completion params are appended — see below). Listen for the &#x60;whatsapp.number.kyc_submitted&#x60; webhook to react when the form is completed.
107
+ # Deprecated alias of &#x60;/v1/phone-numbers/kyc/share&#x60;; same contract. New integrations should use that path. Create a single-use, 7-day hosted KYC link that your end customer completes WITHOUT a Zernio login. Useful when the person who holds the ID and address is not your team. They fill the regulated verification on a Zernio-hosted page; the number provisions under YOUR account once they submit. Only regulated (KYC) countries are valid: a country that does not require KYC returns 400. White-label the page with &#x60;branding&#x60; (your company name, logo, brand color). Supply &#x60;redirect_url&#x60; to send the end customer back to your own site after a successful submit (completion params are appended; see below). Listen for the &#x60;whatsapp.number.kyc_submitted&#x60; webhook to react when the form is completed.
108
108
  # @param create_phone_number_kyc_link_request [CreatePhoneNumberKycLinkRequest]
109
109
  # @param [Hash] opts the optional parameters
110
110
  # @return [Array<(CreatePhoneNumberKycLink200Response, Integer, Hash)>] CreatePhoneNumberKycLink200Response data, response status code and response headers
@@ -163,7 +163,7 @@ module Zernio
163
163
 
164
164
  # Get number status
165
165
  # Live snapshot of a connected number straight from Meta: the phone-number node (display number, display name + approval, quality rating, messaging-limit tier, throughput, official-business badge, connection status, health_status) and its owning WhatsApp Business Account (name, business verification, timezone, health_status). Fetched live because Meta updates quality/tier/name/health over time; the call also refreshes the cached values shown on the connection card.
166
- # @param account_id [String] WhatsApp social account ID
166
+ # @param account_id [String] WhatsApp account ID
167
167
  # @param [Hash] opts the optional parameters
168
168
  # @return [GetWhatsAppNumberInfo200Response]
169
169
  def get_whats_app_number_info(account_id, opts = {})
@@ -173,7 +173,7 @@ module Zernio
173
173
 
174
174
  # Get number status
175
175
  # Live snapshot of a connected number straight from Meta: the phone-number node (display number, display name + approval, quality rating, messaging-limit tier, throughput, official-business badge, connection status, health_status) and its owning WhatsApp Business Account (name, business verification, timezone, health_status). Fetched live because Meta updates quality/tier/name/health over time; the call also refreshes the cached values shown on the connection card.
176
- # @param account_id [String] WhatsApp social account ID
176
+ # @param account_id [String] WhatsApp account ID
177
177
  # @param [Hash] opts the optional parameters
178
178
  # @return [Array<(GetWhatsAppNumberInfo200Response, Integer, Hash)>] GetWhatsAppNumberInfo200Response data, response status code and response headers
179
179
  def get_whats_app_number_info_with_http_info(account_id, opts = {})
@@ -297,7 +297,7 @@ module Zernio
297
297
  end
298
298
 
299
299
  # Get declined requirements
300
- # Deprecated alias of `/v1/phone-numbers/{id}/remediate`; same contract. New integrations should use that path. For a number in `regulatory_declined`, returns ONLY the requirements the reviewer flagged declined, as a form spec (same shape as the KYC form GET). The customer fixes just those — Telnyx supports correcting a declined requirement group and re-submitting it (no new number/group). Falls back to the full spec if the provider exposes no per-requirement flags.
300
+ # Deprecated alias of `/v1/phone-numbers/{id}/remediate`; same contract. New integrations should use that path. For a number in `regulatory_declined`, returns ONLY the requirements the reviewer flagged declined, as a form spec (same shape as the KYC form GET). The customer fixes only those, because Telnyx supports correcting a declined requirement group and re-submitting it (no new number/group). Falls back to the full spec if the provider exposes no per-requirement flags.
301
301
  # @param id [String] WhatsAppPhoneNumber id.
302
302
  # @param [Hash] opts the optional parameters
303
303
  # @return [GetWhatsAppNumberRemediation200Response]
@@ -307,7 +307,7 @@ module Zernio
307
307
  end
308
308
 
309
309
  # Get declined requirements
310
- # Deprecated alias of &#x60;/v1/phone-numbers/{id}/remediate&#x60;; same contract. New integrations should use that path. For a number in &#x60;regulatory_declined&#x60;, returns ONLY the requirements the reviewer flagged declined, as a form spec (same shape as the KYC form GET). The customer fixes just those — Telnyx supports correcting a declined requirement group and re-submitting it (no new number/group). Falls back to the full spec if the provider exposes no per-requirement flags.
310
+ # Deprecated alias of &#x60;/v1/phone-numbers/{id}/remediate&#x60;; same contract. New integrations should use that path. For a number in &#x60;regulatory_declined&#x60;, returns ONLY the requirements the reviewer flagged declined, as a form spec (same shape as the KYC form GET). The customer fixes only those, because Telnyx supports correcting a declined requirement group and re-submitting it (no new number/group). Falls back to the full spec if the provider exposes no per-requirement flags.
311
311
  # @param id [String] WhatsAppPhoneNumber id.
312
312
  # @param [Hash] opts the optional parameters
313
313
  # @return [Array<(GetWhatsAppNumberRemediation200Response, Integer, Hash)>] GetWhatsAppNumberRemediation200Response data, response status code and response headers
@@ -360,7 +360,7 @@ module Zernio
360
360
  end
361
361
 
362
362
  # Get phone number
363
- # Deprecated alias of `/v1/phone-numbers/{id}`; same contract. New integrations should use that path. Retrieve the current status of a purchased phone number. Poll this to track Meta pre-verification (US sync path) and, for regulated (Tier 3/4) numbers, the async lifecycle: pending_regulatory → active (or regulatory_declined). When a regulated number has an Onfido ID step, `onfidoVerificationUrl` appears here once the order is placed — forward it to the end user. (Or subscribe to the whatsapp.number.* webhooks instead of polling.)
363
+ # Deprecated alias of `/v1/phone-numbers/{id}`; same contract. New integrations should use that path. Retrieve the current status of a purchased phone number. Poll this to track Meta pre-verification (US sync path) and, for regulated (Tier 3/4) numbers, the async lifecycle: pending_regulatory → active (or regulatory_declined). When a regulated number has an Onfido ID step, `onfidoVerificationUrl` appears here once the order is placed. Forward it to the end user. (Or subscribe to the whatsapp.number.* webhooks instead of polling.)
364
364
  # @param phone_number_id [String] Phone number record ID
365
365
  # @param [Hash] opts the optional parameters
366
366
  # @return [GetPhoneNumber200Response]
@@ -370,7 +370,7 @@ module Zernio
370
370
  end
371
371
 
372
372
  # Get phone number
373
- # Deprecated alias of &#x60;/v1/phone-numbers/{id}&#x60;; same contract. New integrations should use that path. Retrieve the current status of a purchased phone number. Poll this to track Meta pre-verification (US sync path) and, for regulated (Tier 3/4) numbers, the async lifecycle: pending_regulatory → active (or regulatory_declined). When a regulated number has an Onfido ID step, &#x60;onfidoVerificationUrl&#x60; appears here once the order is placed — forward it to the end user. (Or subscribe to the whatsapp.number.* webhooks instead of polling.)
373
+ # Deprecated alias of &#x60;/v1/phone-numbers/{id}&#x60;; same contract. New integrations should use that path. Retrieve the current status of a purchased phone number. Poll this to track Meta pre-verification (US sync path) and, for regulated (Tier 3/4) numbers, the async lifecycle: pending_regulatory → active (or regulatory_declined). When a regulated number has an Onfido ID step, &#x60;onfidoVerificationUrl&#x60; appears here once the order is placed. Forward it to the end user. (Or subscribe to the whatsapp.number.* webhooks instead of polling.)
374
374
  # @param phone_number_id [String] Phone number record ID
375
375
  # @param [Hash] opts the optional parameters
376
376
  # @return [Array<(GetPhoneNumber200Response, Integer, Hash)>] GetPhoneNumber200Response data, response status code and response headers
@@ -423,9 +423,9 @@ module Zernio
423
423
  end
424
424
 
425
425
  # List phone numbers
426
- # Deprecated alias of `/v1/phone-numbers`; same contract. New integrations should use that path. List all WhatsApp phone numbers purchased by the authenticated user. By default, released numbers are excluded. Connected (bring-your-own) numbers are returned in the separate `connected` array — they are not billed and have no provisioning lifecycle.
426
+ # Deprecated alias of `/v1/phone-numbers`; same contract. New integrations should use that path. List all WhatsApp phone numbers purchased by the authenticated user. By default, released numbers are excluded. Connected (bring-your-own) numbers are returned in the separate `connected` array. They are not billed and have no provisioning lifecycle.
427
427
  # @param [Hash] opts the optional parameters
428
- # @option opts [String] :status Filter by status (by default excludes released numbers). NOTE: &#x60;status&#x3D;pending_regulatory&#x60; returns the \&quot;provisioning\&quot; view — numbers still in review PLUS recently-declined (last 30 days) ones, so a failed registration surfaces (with &#x60;regulatoryDeclineReason&#x60;) instead of silently disappearing. Declined numbers can be re-submitted via POST /v1/whatsapp/phone-numbers/{id}/remediate. &#x60;verifying&#x60; is the short-lived state after the number is provisioned on our side while WhatsApp confirms the activation code; the number is not billed until it reaches &#x60;active&#x60;.
428
+ # @option opts [String] :status Filter by status (by default excludes released numbers). NOTE: &#x60;status&#x3D;pending_regulatory&#x60; returns the \&quot;provisioning\&quot; view: numbers still in review PLUS recently-declined (last 30 days) ones, so a failed registration surfaces (with &#x60;regulatoryDeclineReason&#x60;) instead of silently disappearing. Declined numbers can be re-submitted via POST /v1/whatsapp/phone-numbers/{id}/remediate. &#x60;verifying&#x60; is the short-lived state after the number is provisioned on our side while WhatsApp confirms the activation code; the number is not billed until it reaches &#x60;active&#x60;.
429
429
  # @option opts [String] :profile_id Filter by profile
430
430
  # @return [ListPhoneNumbers200Response]
431
431
  def get_whats_app_phone_numbers(opts = {})
@@ -434,9 +434,9 @@ module Zernio
434
434
  end
435
435
 
436
436
  # List phone numbers
437
- # Deprecated alias of &#x60;/v1/phone-numbers&#x60;; same contract. New integrations should use that path. List all WhatsApp phone numbers purchased by the authenticated user. By default, released numbers are excluded. Connected (bring-your-own) numbers are returned in the separate &#x60;connected&#x60; array — they are not billed and have no provisioning lifecycle.
437
+ # Deprecated alias of &#x60;/v1/phone-numbers&#x60;; same contract. New integrations should use that path. List all WhatsApp phone numbers purchased by the authenticated user. By default, released numbers are excluded. Connected (bring-your-own) numbers are returned in the separate &#x60;connected&#x60; array. They are not billed and have no provisioning lifecycle.
438
438
  # @param [Hash] opts the optional parameters
439
- # @option opts [String] :status Filter by status (by default excludes released numbers). NOTE: &#x60;status&#x3D;pending_regulatory&#x60; returns the \&quot;provisioning\&quot; view — numbers still in review PLUS recently-declined (last 30 days) ones, so a failed registration surfaces (with &#x60;regulatoryDeclineReason&#x60;) instead of silently disappearing. Declined numbers can be re-submitted via POST /v1/whatsapp/phone-numbers/{id}/remediate. &#x60;verifying&#x60; is the short-lived state after the number is provisioned on our side while WhatsApp confirms the activation code; the number is not billed until it reaches &#x60;active&#x60;.
439
+ # @option opts [String] :status Filter by status (by default excludes released numbers). NOTE: &#x60;status&#x3D;pending_regulatory&#x60; returns the \&quot;provisioning\&quot; view: numbers still in review PLUS recently-declined (last 30 days) ones, so a failed registration surfaces (with &#x60;regulatoryDeclineReason&#x60;) instead of silently disappearing. Declined numbers can be re-submitted via POST /v1/whatsapp/phone-numbers/{id}/remediate. &#x60;verifying&#x60; is the short-lived state after the number is provisioned on our side while WhatsApp confirms the activation code; the number is not billed until it reaches &#x60;active&#x60;.
440
440
  # @option opts [String] :profile_id Filter by profile
441
441
  # @return [Array<(ListPhoneNumbers200Response, Integer, Hash)>] ListPhoneNumbers200Response data, response status code and response headers
442
442
  def get_whats_app_phone_numbers_with_http_info(opts = {})
@@ -547,7 +547,7 @@ module Zernio
547
547
  end
548
548
 
549
549
  # Move a number to another profile
550
- # Move a provisioned number to a different profile. A number is not a single record. Alongside the number itself there are hidden telephony owner accounts (platform `phone`, plus `sms` when SMS is enabled) and, once WhatsApp is connected, the `whatsapp` account. They all carry a profileId and this endpoint moves them together. Use this instead of `PATCH /v1/accounts/{accountId}`: that one moves the social account only and leaves the number itself pinned to its original profile, which splits the number across two profiles. Connecting a Zernio-provisioned number from any profile but its own is rejected with a `409` (`WHATSAPP_NUMBER_PINNED_TO_PROFILE`). This endpoint is how you re-home the number first, so it can then be connected from the new profile. `id` is the number record id from `GET /v1/phone-numbers`, not an account id. A profile holds at most one account per platform, so the destination must be free of every platform this number occupies.
550
+ # Move a provisioned number to a different profile. A number is not a single record. Alongside the number itself there are hidden telephony owner accounts (platform `phone`, plus `sms` when SMS is enabled) and, once WhatsApp is connected, the `whatsapp` account. They all carry a profileId and this endpoint moves them together. Use this instead of `PATCH /v1/accounts/{accountId}`: that one moves the account only and leaves the number itself pinned to its original profile, which splits the number across two profiles. Connecting a Zernio-provisioned number from any profile but its own is rejected with a `409` (`WHATSAPP_NUMBER_PINNED_TO_PROFILE`). This endpoint is how you re-home the number first, so it can then be connected from the new profile. `id` is the number record id from `GET /v1/phone-numbers`, not an account id. A profile holds at most one account per platform, so the destination must be free of every platform this number occupies.
551
551
  # @param id [String] WhatsAppPhoneNumber id.
552
552
  # @param move_whats_app_number_to_profile_request [MoveWhatsAppNumberToProfileRequest]
553
553
  # @param [Hash] opts the optional parameters
@@ -558,7 +558,7 @@ module Zernio
558
558
  end
559
559
 
560
560
  # Move a number to another profile
561
- # Move a provisioned number to a different profile. A number is not a single record. Alongside the number itself there are hidden telephony owner accounts (platform &#x60;phone&#x60;, plus &#x60;sms&#x60; when SMS is enabled) and, once WhatsApp is connected, the &#x60;whatsapp&#x60; account. They all carry a profileId and this endpoint moves them together. Use this instead of &#x60;PATCH /v1/accounts/{accountId}&#x60;: that one moves the social account only and leaves the number itself pinned to its original profile, which splits the number across two profiles. Connecting a Zernio-provisioned number from any profile but its own is rejected with a &#x60;409&#x60; (&#x60;WHATSAPP_NUMBER_PINNED_TO_PROFILE&#x60;). This endpoint is how you re-home the number first, so it can then be connected from the new profile. &#x60;id&#x60; is the number record id from &#x60;GET /v1/phone-numbers&#x60;, not an account id. A profile holds at most one account per platform, so the destination must be free of every platform this number occupies.
561
+ # Move a provisioned number to a different profile. A number is not a single record. Alongside the number itself there are hidden telephony owner accounts (platform &#x60;phone&#x60;, plus &#x60;sms&#x60; when SMS is enabled) and, once WhatsApp is connected, the &#x60;whatsapp&#x60; account. They all carry a profileId and this endpoint moves them together. Use this instead of &#x60;PATCH /v1/accounts/{accountId}&#x60;: that one moves the account only and leaves the number itself pinned to its original profile, which splits the number across two profiles. Connecting a Zernio-provisioned number from any profile but its own is rejected with a &#x60;409&#x60; (&#x60;WHATSAPP_NUMBER_PINNED_TO_PROFILE&#x60;). This endpoint is how you re-home the number first, so it can then be connected from the new profile. &#x60;id&#x60; is the number record id from &#x60;GET /v1/phone-numbers&#x60;, not an account id. A profile holds at most one account per platform, so the destination must be free of every platform this number occupies.
562
562
  # @param id [String] WhatsAppPhoneNumber id.
563
563
  # @param move_whats_app_number_to_profile_request [MoveWhatsAppNumberToProfileRequest]
564
564
  # @param [Hash] opts the optional parameters
@@ -689,7 +689,7 @@ module Zernio
689
689
  end
690
690
 
691
691
  # Release phone number
692
- # Deprecated alias of `/v1/phone-numbers/{id}`; same contract. New integrations should use that path. Release a purchased phone number. This will: 1. Disconnect any linked WhatsApp social account 2. Decrement the Stripe subscription quantity (or cancel if last number) 3. Release the number from Telnyx 4. Mark the number as released
692
+ # Deprecated alias of `/v1/phone-numbers/{id}`; same contract. New integrations should use that path. Release a purchased phone number. This will: 1. Disconnect any linked WhatsApp account 2. Decrement the Stripe subscription quantity (or cancel if last number) 3. Release the number from Telnyx 4. Mark the number as released
693
693
  # @param phone_number_id [String] Phone number record ID
694
694
  # @param [Hash] opts the optional parameters
695
695
  # @return [ReleasePhoneNumber200Response]
@@ -699,7 +699,7 @@ module Zernio
699
699
  end
700
700
 
701
701
  # Release phone number
702
- # Deprecated alias of &#x60;/v1/phone-numbers/{id}&#x60;; same contract. New integrations should use that path. Release a purchased phone number. This will: 1. Disconnect any linked WhatsApp social account 2. Decrement the Stripe subscription quantity (or cancel if last number) 3. Release the number from Telnyx 4. Mark the number as released
702
+ # Deprecated alias of &#x60;/v1/phone-numbers/{id}&#x60;; same contract. New integrations should use that path. Release a purchased phone number. This will: 1. Disconnect any linked WhatsApp account 2. Decrement the Stripe subscription quantity (or cancel if last number) 3. Release the number from Telnyx 4. Mark the number as released
703
703
  # @param phone_number_id [String] Phone number record ID
704
704
  # @param [Hash] opts the optional parameters
705
705
  # @return [Array<(ReleasePhoneNumber200Response, Integer, Hash)>] ReleasePhoneNumber200Response data, response status code and response headers
@@ -752,7 +752,7 @@ module Zernio
752
752
  end
753
753
 
754
754
  # Resubmit a declined number
755
- # Deprecated alias of `/v1/phone-numbers/{id}/remediate`; same contract. New integrations should use that path. Submit corrected values/documents for the declined requirement(s). We PATCH them onto the SAME requirement group and re-submit it for approval; the number goes `regulatory_declined` → `pending_regulatory`. No new number and no new billing. Body shape matches the KYC submit (values / documents / address) — send only the corrected fields.
755
+ # Deprecated alias of `/v1/phone-numbers/{id}/remediate`; same contract. New integrations should use that path. Submit corrected values/documents for the declined requirement(s). We PATCH them onto the SAME requirement group and re-submit it for approval; the number goes `regulatory_declined` → `pending_regulatory`. No new number and no new billing. Body shape matches the KYC submit (values / documents / address). Send only the corrected fields.
756
756
  # @param id [String]
757
757
  # @param remediate_phone_number_request [RemediatePhoneNumberRequest]
758
758
  # @param [Hash] opts the optional parameters
@@ -763,7 +763,7 @@ module Zernio
763
763
  end
764
764
 
765
765
  # Resubmit a declined number
766
- # Deprecated alias of &#x60;/v1/phone-numbers/{id}/remediate&#x60;; same contract. New integrations should use that path. Submit corrected values/documents for the declined requirement(s). We PATCH them onto the SAME requirement group and re-submit it for approval; the number goes &#x60;regulatory_declined&#x60; → &#x60;pending_regulatory&#x60;. No new number and no new billing. Body shape matches the KYC submit (values / documents / address) — send only the corrected fields.
766
+ # Deprecated alias of &#x60;/v1/phone-numbers/{id}/remediate&#x60;; same contract. New integrations should use that path. Submit corrected values/documents for the declined requirement(s). We PATCH them onto the SAME requirement group and re-submit it for approval; the number goes &#x60;regulatory_declined&#x60; → &#x60;pending_regulatory&#x60;. No new number and no new billing. Body shape matches the KYC submit (values / documents / address). Send only the corrected fields.
767
767
  # @param id [String]
768
768
  # @param remediate_phone_number_request [RemediatePhoneNumberRequest]
769
769
  # @param [Hash] opts the optional parameters
@@ -905,7 +905,7 @@ module Zernio
905
905
  end
906
906
 
907
907
  # Submit KYC
908
- # Deprecated alias of `/v1/phone-numbers/kyc`; same contract. New integrations should use that path. Submit the end customer's KYC (textual values, uploaded documents, address) for a Tier 3/4 country. Documents are streamed straight to the number provider and are not stored by Zernio. Builds + submits a regulatory requirement group and claims a pending_regulatory slot; the number is ordered + activated once the provider approves (asynchronous). A customer may hold several same-country numbers in review at once; a double-submit of the SAME attempt is deduped via `submissionId`. For an ID-card document requirement, carriers commonly require BOTH sides: combine the front and back into a single file before uploading (the dashboard does this automatically). A one-sided ID is a common decline reason; fix it via POST /v1/whatsapp/phone-numbers/{id}/remediate. Before submitting, call GET /v1/whatsapp/phone-numbers/availability to check the country has deliverable inventory and, for geographic-match countries, which area the address must be in — otherwise the submission can pass review yet never be assignable a number.
908
+ # Deprecated alias of `/v1/phone-numbers/kyc`; same contract. New integrations should use that path. Submit the end customer's KYC (textual values, uploaded documents, address) for a Tier 3/4 country. Documents are streamed straight to the number provider and are not stored by Zernio. Builds + submits a regulatory requirement group and claims a pending_regulatory slot; the number is ordered + activated once the provider approves (asynchronous). A customer may hold several same-country numbers in review at once; a double-submit of the SAME attempt is deduped via `submissionId`. For an ID-card document requirement, carriers commonly require BOTH sides: combine the front and back into a single file before uploading (the dashboard does this automatically). A one-sided ID is a common decline reason; fix it via POST /v1/whatsapp/phone-numbers/{id}/remediate. Before submitting, call GET /v1/whatsapp/phone-numbers/availability to check the country has deliverable inventory and, for geographic-match countries, which area the address must be in. Otherwise the submission can pass review yet never be assignable a number.
909
909
  # @param submit_whats_app_number_kyc_request [SubmitWhatsAppNumberKycRequest]
910
910
  # @param [Hash] opts the optional parameters
911
911
  # @return [SubmitPhoneNumberKyc200Response]
@@ -915,7 +915,7 @@ module Zernio
915
915
  end
916
916
 
917
917
  # Submit KYC
918
- # Deprecated alias of &#x60;/v1/phone-numbers/kyc&#x60;; same contract. New integrations should use that path. Submit the end customer&#39;s KYC (textual values, uploaded documents, address) for a Tier 3/4 country. Documents are streamed straight to the number provider and are not stored by Zernio. Builds + submits a regulatory requirement group and claims a pending_regulatory slot; the number is ordered + activated once the provider approves (asynchronous). A customer may hold several same-country numbers in review at once; a double-submit of the SAME attempt is deduped via &#x60;submissionId&#x60;. For an ID-card document requirement, carriers commonly require BOTH sides: combine the front and back into a single file before uploading (the dashboard does this automatically). A one-sided ID is a common decline reason; fix it via POST /v1/whatsapp/phone-numbers/{id}/remediate. Before submitting, call GET /v1/whatsapp/phone-numbers/availability to check the country has deliverable inventory and, for geographic-match countries, which area the address must be in — otherwise the submission can pass review yet never be assignable a number.
918
+ # Deprecated alias of &#x60;/v1/phone-numbers/kyc&#x60;; same contract. New integrations should use that path. Submit the end customer&#39;s KYC (textual values, uploaded documents, address) for a Tier 3/4 country. Documents are streamed straight to the number provider and are not stored by Zernio. Builds + submits a regulatory requirement group and claims a pending_regulatory slot; the number is ordered + activated once the provider approves (asynchronous). A customer may hold several same-country numbers in review at once; a double-submit of the SAME attempt is deduped via &#x60;submissionId&#x60;. For an ID-card document requirement, carriers commonly require BOTH sides: combine the front and back into a single file before uploading (the dashboard does this automatically). A one-sided ID is a common decline reason; fix it via POST /v1/whatsapp/phone-numbers/{id}/remediate. Before submitting, call GET /v1/whatsapp/phone-numbers/availability to check the country has deliverable inventory and, for geographic-match countries, which area the address must be in. Otherwise the submission can pass review yet never be assignable a number.
919
919
  # @param submit_whats_app_number_kyc_request [SubmitWhatsAppNumberKycRequest]
920
920
  # @param [Hash] opts the optional parameters
921
921
  # @return [Array<(SubmitPhoneNumberKyc200Response, Integer, Hash)>] SubmitPhoneNumberKyc200Response data, response status code and response headers
@@ -20,7 +20,7 @@ module Zernio
20
20
  @api_client = api_client
21
21
  end
22
22
  # Start a sandbox activation
23
- # Creates (or refreshes) a pending sandbox session for the given phone and immediately fires the verified sandbox template from the shared sandbox number to that phone. The session activates when the phone owner replies to that WhatsApp message — the reply itself is proof of ownership. One phone per user: if the caller already has a non-expired session for a DIFFERENT phone, the request is rejected with `invalid_field_value` (the message names the existing phone so it can be revoked first). Re-creating a session for the SAME phone is idempotent and refreshes the verification template. If Meta rejects the template send (not a WhatsApp number, paused WABA, token issue), the pending row is rolled back and the Meta error message is returned in `error` so the caller knows why.
23
+ # Creates (or refreshes) a pending sandbox session for the given phone and immediately fires the verified sandbox template from the shared sandbox number to that phone. The session activates when the phone owner replies to that WhatsApp message: the reply itself is proof of ownership. One phone per user: if the caller already has a non-expired session for a DIFFERENT phone, the request is rejected with `invalid_field_value` (the message names the existing phone so it can be revoked first). Re-creating a session for the SAME phone is idempotent and refreshes the verification template. If Meta rejects the template send (not a WhatsApp number, paused WABA, token issue), the pending row is rolled back and the Meta error message is returned in `error` so the caller knows why.
24
24
  # @param create_whats_app_sandbox_session_request [CreateWhatsAppSandboxSessionRequest]
25
25
  # @param [Hash] opts the optional parameters
26
26
  # @return [CreateWhatsAppSandboxSession200Response]
@@ -30,7 +30,7 @@ module Zernio
30
30
  end
31
31
 
32
32
  # Start a sandbox activation
33
- # Creates (or refreshes) a pending sandbox session for the given phone and immediately fires the verified sandbox template from the shared sandbox number to that phone. The session activates when the phone owner replies to that WhatsApp message — the reply itself is proof of ownership. One phone per user: if the caller already has a non-expired session for a DIFFERENT phone, the request is rejected with &#x60;invalid_field_value&#x60; (the message names the existing phone so it can be revoked first). Re-creating a session for the SAME phone is idempotent and refreshes the verification template. If Meta rejects the template send (not a WhatsApp number, paused WABA, token issue), the pending row is rolled back and the Meta error message is returned in &#x60;error&#x60; so the caller knows why.
33
+ # Creates (or refreshes) a pending sandbox session for the given phone and immediately fires the verified sandbox template from the shared sandbox number to that phone. The session activates when the phone owner replies to that WhatsApp message: the reply itself is proof of ownership. One phone per user: if the caller already has a non-expired session for a DIFFERENT phone, the request is rejected with &#x60;invalid_field_value&#x60; (the message names the existing phone so it can be revoked first). Re-creating a session for the SAME phone is idempotent and refreshes the verification template. If Meta rejects the template send (not a WhatsApp number, paused WABA, token issue), the pending row is rolled back and the Meta error message is returned in &#x60;error&#x60; so the caller knows why.
34
34
  # @param create_whats_app_sandbox_session_request [CreateWhatsAppSandboxSessionRequest]
35
35
  # @param [Hash] opts the optional parameters
36
36
  # @return [Array<(CreateWhatsAppSandboxSession200Response, Integer, Hash)>] CreateWhatsAppSandboxSession200Response data, response status code and response headers
@@ -88,7 +88,7 @@ module Zernio
88
88
  end
89
89
 
90
90
  # Revoke a sandbox session
91
- # Hard-deletes the session. The user loses the ability to send to that phone via the sandbox until they re-activate it. Existing conversations and messages already exchanged with that phone are untouched — revocation only blocks FUTURE sends. Sessions belonging to other users cannot be revoked; the response is the same 400 as \"session not found\" so existence isn't leaked.
91
+ # Hard-deletes the session. The user loses the ability to send to that phone via the sandbox until they re-activate it. Existing conversations and messages already exchanged with that phone are untouched. Revocation only blocks FUTURE sends. Sessions belonging to other users cannot be revoked; the response is the same 400 as \"session not found\" so existence isn't leaked.
92
92
  # @param session_id [String] The session id returned by POST /v1/whatsapp/sandbox/sessions.
93
93
  # @param [Hash] opts the optional parameters
94
94
  # @return [UpdateYoutubeDefaultPlaylist200Response]
@@ -98,7 +98,7 @@ module Zernio
98
98
  end
99
99
 
100
100
  # Revoke a sandbox session
101
- # Hard-deletes the session. The user loses the ability to send to that phone via the sandbox until they re-activate it. Existing conversations and messages already exchanged with that phone are untouched — revocation only blocks FUTURE sends. Sessions belonging to other users cannot be revoked; the response is the same 400 as \&quot;session not found\&quot; so existence isn&#39;t leaked.
101
+ # Hard-deletes the session. The user loses the ability to send to that phone via the sandbox until they re-activate it. Existing conversations and messages already exchanged with that phone are untouched. Revocation only blocks FUTURE sends. Sessions belonging to other users cannot be revoked; the response is the same 400 as \&quot;session not found\&quot; so existence isn&#39;t leaked.
102
102
  # @param session_id [String] The session id returned by POST /v1/whatsapp/sandbox/sessions.
103
103
  # @param [Hash] opts the optional parameters
104
104
  # @return [Array<(UpdateYoutubeDefaultPlaylist200Response, Integer, Hash)>] UpdateYoutubeDefaultPlaylist200Response data, response status code and response headers
@@ -21,7 +21,7 @@ module Zernio
21
21
  end
22
22
  # Look up a library template
23
23
  # Look up a single pre-approved Template Library template by its exact name, to introspect its structure before importing it. Most importantly it returns the template's `buttons`: a library template with `URL` / `PHONE_NUMBER` buttons must be created with a matching `library_template_button_inputs` array (see Create Template), or Meta rejects it. Use this to discover which inputs to collect.
24
- # @param account_id [String] WhatsApp social account ID
24
+ # @param account_id [String] WhatsApp account ID
25
25
  # @param name [String] Exact library template name
26
26
  # @param [Hash] opts the optional parameters
27
27
  # @option opts [String] :language Desired language variant (e.g. es, en_US). If the template is not offered in it, the first available variant is returned and named in the response language field.
@@ -33,7 +33,7 @@ module Zernio
33
33
 
34
34
  # Look up a library template
35
35
  # Look up a single pre-approved Template Library template by its exact name, to introspect its structure before importing it. Most importantly it returns the template&#39;s &#x60;buttons&#x60;: a library template with &#x60;URL&#x60; / &#x60;PHONE_NUMBER&#x60; buttons must be created with a matching &#x60;library_template_button_inputs&#x60; array (see Create Template), or Meta rejects it. Use this to discover which inputs to collect.
36
- # @param account_id [String] WhatsApp social account ID
36
+ # @param account_id [String] WhatsApp account ID
37
37
  # @param name [String] Exact library template name
38
38
  # @param [Hash] opts the optional parameters
39
39
  # @option opts [String] :language Desired language variant (e.g. es, en_US). If the template is not offered in it, the first available variant is returned and named in the response language field.
@@ -214,7 +214,7 @@ module Zernio
214
214
  end
215
215
 
216
216
  # Duplicate a workflow
217
- # Create an independent copy of a workflow's graph, name, description, and account binding. The copy is created in `draft` status with fresh execution counters and a new id — execution history is NOT copied. Useful for branching off a known-good workflow before making experimental edits.
217
+ # Create an independent copy of a workflow's graph, name, description, and account binding. The copy is created in `draft` status with fresh execution counters and a new id. Execution history is NOT copied. Useful for branching off a known-good workflow before making experimental edits.
218
218
  # @param workflow_id [String]
219
219
  # @param [Hash] opts the optional parameters
220
220
  # @return [DuplicateWorkflow201Response]
@@ -224,7 +224,7 @@ module Zernio
224
224
  end
225
225
 
226
226
  # Duplicate a workflow
227
- # Create an independent copy of a workflow&#39;s graph, name, description, and account binding. The copy is created in &#x60;draft&#x60; status with fresh execution counters and a new id — execution history is NOT copied. Useful for branching off a known-good workflow before making experimental edits.
227
+ # Create an independent copy of a workflow&#39;s graph, name, description, and account binding. The copy is created in &#x60;draft&#x60; status with fresh execution counters and a new id. Execution history is NOT copied. Useful for branching off a known-good workflow before making experimental edits.
228
228
  # @param workflow_id [String]
229
229
  # @param [Hash] opts the optional parameters
230
230
  # @return [Array<(DuplicateWorkflow201Response, Integer, Hash)>] DuplicateWorkflow201Response data, response status code and response headers
@@ -554,7 +554,7 @@ module Zernio
554
554
  end
555
555
 
556
556
  # List a workflow's version history
557
- # Returns the snapshot history. A new version is recorded automatically before every PATCH to `nodes` / `edges` / `entryNodeId`, and explicitly when a previous version is restored. Lightweight list — call `getWorkflowVersion` for the full snapshot graph.
557
+ # Returns the snapshot history. A new version is recorded automatically before every PATCH to `nodes` / `edges` / `entryNodeId`, and explicitly when a previous version is restored. Lightweight list. Call `getWorkflowVersion` for the full snapshot graph.
558
558
  # @param workflow_id [String]
559
559
  # @param [Hash] opts the optional parameters
560
560
  # @return [ListWorkflowVersions200Response]
@@ -564,7 +564,7 @@ module Zernio
564
564
  end
565
565
 
566
566
  # List a workflow&#39;s version history
567
- # Returns the snapshot history. A new version is recorded automatically before every PATCH to &#x60;nodes&#x60; / &#x60;edges&#x60; / &#x60;entryNodeId&#x60;, and explicitly when a previous version is restored. Lightweight list — call &#x60;getWorkflowVersion&#x60; for the full snapshot graph.
567
+ # Returns the snapshot history. A new version is recorded automatically before every PATCH to &#x60;nodes&#x60; / &#x60;edges&#x60; / &#x60;entryNodeId&#x60;, and explicitly when a previous version is restored. Lightweight list. Call &#x60;getWorkflowVersion&#x60; for the full snapshot graph.
568
568
  # @param workflow_id [String]
569
569
  # @param [Hash] opts the optional parameters
570
570
  # @return [Array<(ListWorkflowVersions200Response, Integer, Hash)>] ListWorkflowVersions200Response data, response status code and response headers
@@ -822,7 +822,7 @@ module Zernio
822
822
  end
823
823
 
824
824
  # Manually start a workflow run
825
- # Kick off a run without waiting for an inbound message (useful for testing). Target an existing conversation by `conversationId`, or — WhatsApp only — a phone number via `to` (a conversation is found or created). `text` seeds the run's `lastMessage` variable. The graph must be runnable.
825
+ # Kick off a run without waiting for an inbound message (useful for testing). Target an existing conversation by `conversationId`, or (WhatsApp only) a phone number via `to` (a conversation is found or created). `text` seeds the run's `lastMessage` variable. The graph must be runnable.
826
826
  # @param workflow_id [String]
827
827
  # @param trigger_workflow_request [TriggerWorkflowRequest]
828
828
  # @param [Hash] opts the optional parameters
@@ -833,7 +833,7 @@ module Zernio
833
833
  end
834
834
 
835
835
  # Manually start a workflow run
836
- # Kick off a run without waiting for an inbound message (useful for testing). Target an existing conversation by &#x60;conversationId&#x60;, or — WhatsApp only — a phone number via &#x60;to&#x60; (a conversation is found or created). &#x60;text&#x60; seeds the run&#39;s &#x60;lastMessage&#x60; variable. The graph must be runnable.
836
+ # Kick off a run without waiting for an inbound message (useful for testing). Target an existing conversation by &#x60;conversationId&#x60;, or (WhatsApp only) a phone number via &#x60;to&#x60; (a conversation is found or created). &#x60;text&#x60; seeds the run&#39;s &#x60;lastMessage&#x60; variable. The graph must be runnable.
837
837
  # @param workflow_id [String]
838
838
  # @param trigger_workflow_request [TriggerWorkflowRequest]
839
839
  # @param [Hash] opts the optional parameters
@@ -25,7 +25,7 @@ module Zernio
25
25
  # Total videos (YouTube, TikTok)
26
26
  attr_accessor :video_count
27
27
 
28
- # Total tweets (X/Twitter)
28
+ # Total tweets (X)
29
29
  attr_accessor :tweet_count
30
30
 
31
31
  # Total posts (Bluesky)
@@ -43,7 +43,7 @@ module Zernio
43
43
  # Monthly profile views (Pinterest)
44
44
  attr_accessor :monthly_views
45
45
 
46
- # Lists the user appears on (X/Twitter)
46
+ # Lists the user appears on (X)
47
47
  attr_accessor :listed_count
48
48
 
49
49
  # Total boards (Pinterest)
@@ -32,10 +32,10 @@ module Zernio
32
32
 
33
33
  attr_accessor :ad_type
34
34
 
35
- # Creative format, classified from the media the creative carries. `null` when the creative carries no media to classify — an unsynced creative and a genuine text-only ad are indistinguishable, so neither is guessed at. Returned by `GET /v1/ads`, `GET /v1/ads/{adId}` and the ad nodes of `GET /v1/ads/tree`.
35
+ # Creative format, classified from the media the creative carries. `null` when the creative carries no media to classify. An unsynced creative and a genuine text-only ad are indistinguishable, so neither is guessed at. Returned by `GET /v1/ads`, `GET /v1/ads/{adId}` and the ad nodes of `GET /v1/ads/tree`.
36
36
  attr_accessor :creative_type
37
37
 
38
- # Available goals vary by platform. Meta (Facebook/Instagram) supports all 10 (incl. `lead_conversion` = website pixel lead optimization, `catalog_sales` = Advantage+ catalog ads and `page_likes` = Page Likes conversion location under Engagement). TikTok supports engagement, traffic, awareness, video_views, lead_generation, conversions, app_promotion. LinkedIn supports all Meta goals except app_promotion / lead_conversion / catalog_sales / page_likes. Twitter/X supports engagement, traffic, awareness, video_views, app_promotion. Pinterest supports only engagement, traffic, awareness, video_views. Google Ads supports only engagement, traffic, awareness (video_views is rejected at create with 422 FEATURE_NOT_AVAILABLE).
38
+ # Available goals vary by platform. Meta (Facebook/Instagram) supports all 10 (incl. `lead_conversion` = website pixel lead optimization, `catalog_sales` = Advantage+ catalog ads and `page_likes` = Page Likes conversion location under Engagement). TikTok supports engagement, traffic, awareness, video_views, lead_generation, conversions, app_promotion. LinkedIn supports all Meta goals except app_promotion / lead_conversion / catalog_sales / page_likes. X supports engagement, traffic, awareness, video_views, app_promotion. Pinterest supports only engagement, traffic, awareness, video_views. Google Ads supports only engagement, traffic, awareness (video_views is rejected at create with 422 FEATURE_NOT_AVAILABLE).
39
39
  attr_accessor :goal
40
40
 
41
41
  # True for ads synced from platform ad managers
@@ -66,13 +66,13 @@ module Zernio
66
66
  # LinkedIn only. The campaign's EFFECTIVE cost model (billing event) as applied by LinkedIn, refreshed on every sync rather than echoing what was passed on create. One of `CPM` (cost per thousand impressions), `CPC` (cost per click) or `CPV` (cost per video view). On LinkedIn this is the axis that pairs with `bidAmount`; there is no `bidStrategy`. For campaign type SPONSORED_INMAILS, `CPM` bills as cost-per-send x 1000. `null` for non-LinkedIn ads.
67
67
  attr_accessor :cost_type
68
68
 
69
- # LinkedIn only. Why the parent campaign is (or is not) delivering, verbatim from LinkedIn. A campaign can report `status: ACTIVE` and still serve nothing; this array is what says so. - `[]` means no serving data: a non-LinkedIn ad, or a LinkedIn ad not yet re-synced. - `[\"RUNNABLE\"]` means the campaign is eligible to serve. - Anything else is a hold. Known values include ACCOUNT_SERVING_HOLD, ACCOUNT_TOTAL_BUDGET_HOLD, ACCOUNT_END_DATE_HOLD, CAMPAIGN_START_DATE_HOLD, CAMPAIGN_END_DATE_HOLD, CAMPAIGN_TOTAL_BUDGET_HOLD, CAMPAIGN_AUDIENCE_COUNT_HOLD, CAMPAIGN_GROUP_START_DATE_HOLD, CAMPAIGN_GROUP_END_DATE_HOLD, CAMPAIGN_GROUP_TOTAL_BUDGET_HOLD, CAMPAIGN_GROUP_STATUS_HOLD and STOPPED. The list is open on purpose, so treat unrecognized values as holds rather than errors. The end-date and total-budget holds are terminal and surface as `status: completed`; the rest surface as `status: paused`. Note that a hold is not the only cause of zero delivery: with manual, target-cost or cost-cap bidding, a `bidAmount` of 0 stops delivery while `servingStatuses` still reads `[\"RUNNABLE\"]`. Check `costType` / `bidAmount` / `optimizationGoal` as well.
69
+ # LinkedIn only. Why the parent campaign is (or is not) delivering, verbatim from LinkedIn. A campaign can report `status: ACTIVE` and still serve nothing; this array is what says so. - `[]` means no serving data: a non-LinkedIn ad, or a LinkedIn ad not yet re-synced. - `[\"RUNNABLE\"]` means the campaign is eligible to serve. - Anything else is a hold. Known values include ACCOUNT_SERVING_HOLD, ACCOUNT_TOTAL_BUDGET_HOLD, ACCOUNT_END_DATE_HOLD, CAMPAIGN_START_DATE_HOLD, CAMPAIGN_END_DATE_HOLD, CAMPAIGN_TOTAL_BUDGET_HOLD, CAMPAIGN_AUDIENCE_COUNT_HOLD, CAMPAIGN_GROUP_START_DATE_HOLD, CAMPAIGN_GROUP_END_DATE_HOLD, CAMPAIGN_GROUP_TOTAL_BUDGET_HOLD, CAMPAIGN_GROUP_STATUS_HOLD and STOPPED. The list is open on purpose, so treat unrecognized values as holds rather than errors. The end-date and total-budget holds are terminal and surface as `status: completed`; the rest surface as `status: paused`. A hold is not the only cause of zero delivery: with manual, target-cost or cost-cap bidding, a `bidAmount` of 0 stops delivery while `servingStatuses` still reads `[\"RUNNABLE\"]`. Check `costType` / `bidAmount` / `optimizationGoal` as well.
70
70
  attr_accessor :serving_statuses
71
71
 
72
72
  # Human-readable advertiser/account name (Meta `AdAccount.name`, TikTok `advertiser_name`, LinkedIn / X / Pinterest equivalents). Refreshed every sync so platform-side renames propagate within one cycle. `null` when the platform doesn't return a name or the sync hasn't run yet.
73
73
  attr_accessor :platform_ad_account_name
74
74
 
75
- # Platform-reported creation timestamp (Meta `created_time`, TikTok `create_time`). Distinct from `createdAt` which reflects when Zernio first synced the doc — for sort/filter by \"when the ad was actually created on the platform\", read this field. `null` for legacy ads synced before this field was added; aggregations fall back to `createdAt` in that case.
75
+ # Platform-reported creation timestamp (Meta `created_time`, TikTok `create_time`). Distinct from `createdAt` which reflects when Zernio first synced the doc. To sort or filter by \"when the ad was actually created on the platform\", read this field. `null` for legacy ads synced before this field was added; aggregations fall back to `createdAt` in that case.
76
76
  attr_accessor :platform_created_at
77
77
 
78
78
  attr_accessor :bid_strategy
@@ -31,25 +31,25 @@ module Zernio
31
31
  # Meta ad creative id backing this ad. Reusable via existingCreativeId on POST /v1/ads/create.
32
32
  attr_accessor :creative_id
33
33
 
34
- # Meta creative object_type (e.g. SHARE, VIDEO, PRIVACY_CHECK_FAIL, POST_DELETED). Use this to render state-aware previews — when Meta moderation strips image/video fields, only thumbnailUrl at 64x64 is available.
34
+ # Meta creative object_type (e.g. SHARE, VIDEO, PRIVACY_CHECK_FAIL, POST_DELETED). Use this to render state-aware previews: when Meta moderation strips image/video fields, only thumbnailUrl at 64x64 is available.
35
35
  attr_accessor :object_type
36
36
 
37
- # Meta creative `object_story_id` (the SHARE reference). Frequently absent — Meta omits it for SHARE creatives. Use effectiveObjectStoryId instead.
37
+ # Meta creative `object_story_id` (the SHARE reference). Frequently absent, because Meta omits it for SHARE creatives. Use effectiveObjectStoryId instead.
38
38
  attr_accessor :object_story_id
39
39
 
40
- # Meta `effective_object_story_id` — `{pageId}_{postId}` of the Facebook post the ad's engagement (comments) lives on. Pass to GET /v1/ads?effectiveObjectStoryId= to map a Business-Manager-visible post back to this ad; GET /v1/ads/{adId}/comments resolves comments against it.
40
+ # Meta `effective_object_story_id`, the `{pageId}_{postId}` of the Facebook post the ad's engagement (comments) lives on. Pass to GET /v1/ads?effectiveObjectStoryId= to map a Business-Manager-visible post back to this ad; GET /v1/ads/{adId}/comments resolves comments against it.
41
41
  attr_accessor :effective_object_story_id
42
42
 
43
43
  # Facebook Page backing the creative (Meta only). What the `pageId` filter on /v1/ads, /v1/ads/campaigns and /v1/ads/tree matches against. Absent for non-Meta ads and rare Meta creatives with no page signal.
44
44
  attr_accessor :page_id
45
45
 
46
- # Meta `effective_instagram_media_id` — the Instagram media ID of the boosted post the ad's engagement lives on. Pass to GET /v1/ads?effectiveInstagramMediaId= to map a Business-Manager-visible IG post back to this ad.
46
+ # Meta `effective_instagram_media_id`, the Instagram media ID of the boosted post the ad's engagement lives on. Pass to GET /v1/ads?effectiveInstagramMediaId= to map a Business-Manager-visible IG post back to this ad.
47
47
  attr_accessor :effective_instagram_media_id
48
48
 
49
- # Meta `instagram_user_id` — the Instagram-scoped business ID that owns the boosted media.
49
+ # Meta `instagram_user_id`, the Instagram-scoped business ID that owns the boosted media.
50
50
  attr_accessor :instagram_user_id
51
51
 
52
- # Meta `instagram_permalink_url` — public Instagram post URL of the boosted media.
52
+ # Meta `instagram_permalink_url`, the public Instagram post URL of the boosted media.
53
53
  attr_accessor :instagram_permalink_url
54
54
 
55
55
  # All media URLs for this ad (carousel images, multiple assets). Populated for Meta (carousel child_attachments), Google Ads (responsive display marketing_images), and LinkedIn (multi-image posts).
@@ -45,16 +45,16 @@ module Zernio
45
45
  # Derived spend / conversions in the same currency as spend. 0 when conversions is 0.
46
46
  attr_accessor :cost_per_conversion
47
47
 
48
- # Per-action-type counts summed over the date range, keyed by the platform's action-type names. Meta: raw Insights action_type keys (link_click, offsite_conversion.fb_pixel_purchase, onsite_conversion.lead_grouped, ...) — both engagement and conversion events. TikTok: pixel conversions (purchase, add_to_cart, initiate_checkout, view_content, complete_payment, lead) plus the paid-engagement family (follow, post_reaction for paid likes, comment, share) — follow is how FOLLOWERS-goal campaigns report their result. X: conversion types (purchase, sign_up, site_visit, download, custom). LinkedIn: conversion types (post_click, post_view, lead_gen). Google returns {} (its per-action names aren't synced per ad). Empty object when no actions are reported. NOTE: keys differ by platform, so branch on the ad's platform when interpreting them.
48
+ # Per-action-type counts summed over the date range, keyed by the platform's action-type names. Meta: raw Insights action_type keys (link_click, offsite_conversion.fb_pixel_purchase, onsite_conversion.lead_grouped, ...), covering both engagement and conversion events. TikTok: pixel conversions (purchase, add_to_cart, initiate_checkout, view_content, complete_payment, lead) plus the paid-engagement family (follow, post_reaction for paid likes, comment, share). Follow is how FOLLOWERS-goal campaigns report their result. X: conversion types (purchase, sign_up, site_visit, download, custom). LinkedIn: conversion types (post_click, post_view, lead_gen). Google returns {} (its per-action names aren't synced per ad). Empty object when no actions are reported. NOTE: keys differ by platform, so branch on the ad's platform when interpreting them.
49
49
  attr_accessor :actions
50
50
 
51
- # Monetary mirror of `actions`, from Meta's Insights `action_values[]` array. Same keying — values are the revenue attributed to each action_type, in ad-account native currency (same unit as `spend`; see the campaign node's `currency` field). Use this to compute revenue-per-event (e.g. avg purchase value). Meta-only; other platforms return {}.
51
+ # Monetary mirror of `actions`, from Meta's Insights `action_values[]` array. Same keying: values are the revenue attributed to each action_type, in ad-account native currency (same unit as `spend`; see the campaign node's `currency` field). Use this to compute revenue-per-event (e.g. avg purchase value). Meta-only; other platforms return {}.
52
52
  attr_accessor :action_values
53
53
 
54
- # Convenience sum of purchase-type action values — picked from `actionValues` via the same priority list as `conversions` so both fields describe the same events. In ad-account native currency. 0 when the campaign has no purchase event configured. Meta-only.
54
+ # Convenience sum of purchase-type action values, picked from `actionValues` via the same priority list as `conversions` so both fields describe the same events. In ad-account native currency. 0 when the campaign has no purchase event configured. Meta-only.
55
55
  attr_accessor :purchase_value
56
56
 
57
- # Return on ad spend — derived as `purchaseValue / spend`. 0 when `spend` is 0. Equivalent to Meta's `purchase_roas` under default attribution. At ad-set and campaign levels this is recomputed from summed purchaseValue + spend (NOT averaged across children) so it's mathematically correct at every rollup level.
57
+ # Return on ad spend, derived as `purchaseValue / spend`. 0 when `spend` is 0. Equivalent to Meta's `purchase_roas` under default attribution. At ad-set and campaign levels this is recomputed from summed purchaseValue + spend (NOT averaged across children) so it's mathematically correct at every rollup level.
58
58
  attr_accessor :roas
59
59
 
60
60
  # Derived `spend / actions[type]` for every action type with a non-zero count, in ad-account native currency. Same keys as `actions`. Rounded to 4 decimals because cheap actions cost well under a cent. Recomputed from summed spend + counts at every rollup level. Empty object when spend is 0 or no actions are reported.
@@ -14,7 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Zernio
17
- # The single `engagement` total split into the interactions behind it. Note that `engagement` is not the sum of these: Meta's own `post_engagement` and `page_engagement` totals already contain the individual interactions, and all of them are counted into `engagement`. Use these fields when you need a specific interaction, and `engagement` only as the coarse total it has always been. Populated for Meta and, since 2026-08, TikTok (`reactions` = paid likes, `comments`, `shares`; TikTok's `follow` count lives in `actions.follow`, not here). Other platforms leave these at 0. TikTok history note: paused TikTok ads are not re-synced, so campaigns that ended before the rollout keep 0s here.
17
+ # The single `engagement` total split into the interactions behind it. `engagement` is not the sum of these: Meta's own `post_engagement` and `page_engagement` totals already contain the individual interactions, and all of them are counted into `engagement`. Use these fields when you need a specific interaction, and `engagement` only as the coarse total it has always been. Populated for Meta and, since 2026-08, TikTok (`reactions` = paid likes, `comments`, `shares`; TikTok's `follow` count lives in `actions.follow`, not here). Other platforms leave these at 0. TikTok history note: paused TikTok ads are not re-synced, so campaigns that ended before the rollout keep 0s here.
18
18
  class AdEngagementCounts < ApiModelBase
19
19
  # Meta's own post-engagement total (`post_engagement`). Meta-only.
20
20
  attr_accessor :post_engagement