klaviyo-api-sdk 1.0.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (603) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +513 -119
  4. data/docs/AudiencesSubObject.md +20 -0
  5. data/docs/CampaignCloneQuery.md +18 -0
  6. data/docs/CampaignCloneQueryAsSubResource.md +20 -0
  7. data/docs/CampaignCloneQueryAsSubResourceAttributes.md +20 -0
  8. data/docs/CampaignCreateQuery.md +18 -0
  9. data/docs/CampaignCreateQueryAsSubResource.md +20 -0
  10. data/docs/CampaignCreateQueryAsSubResourceAttributes.md +28 -0
  11. data/docs/CampaignMessageAssignTemplateQuery.md +18 -0
  12. data/docs/CampaignMessageAssignTemplateQueryAsSubResource.md +20 -0
  13. data/docs/CampaignMessageAssignTemplateQueryAsSubResourceAttributes.md +20 -0
  14. data/docs/CampaignMessagePartialUpdateQuery.md +18 -0
  15. data/docs/CampaignMessagePartialUpdateQueryAsSubResource.md +22 -0
  16. data/docs/CampaignMessagePartialUpdateQueryAsSubResourceAttributes.md +20 -0
  17. data/docs/CampaignPartialUpdateQuery.md +18 -0
  18. data/docs/CampaignPartialUpdateQueryAsSubResource.md +22 -0
  19. data/docs/CampaignPartialUpdateQueryAsSubResourceAttributes.md +26 -0
  20. data/docs/CampaignRecipientEstimationJobCreateQuery.md +18 -0
  21. data/docs/CampaignRecipientEstimationJobCreateQueryAsSubResource.md +20 -0
  22. data/docs/CampaignRecipientEstimationJobCreateQueryAsSubResourceAttributes.md +18 -0
  23. data/docs/CampaignSendJobCreateQuery.md +18 -0
  24. data/docs/CampaignSendJobCreateQueryAsSubResource.md +20 -0
  25. data/docs/CampaignSendJobCreateQueryAsSubResourceAttributes.md +18 -0
  26. data/docs/CampaignSendJobPartialUpdateQuery.md +18 -0
  27. data/docs/CampaignSendJobPartialUpdateQueryAsSubResource.md +22 -0
  28. data/docs/CampaignSendJobPartialUpdateQueryAsSubResourceAttributes.md +18 -0
  29. data/docs/CampaignTagOp.md +18 -0
  30. data/docs/{ListDeleteQueryAsSubResource.md → CampaignTagOpDataInner.md} +2 -2
  31. data/docs/CampaignsApi.md +1277 -0
  32. data/docs/CatalogCategoryCreateJobCreateQueryAsSubResourceAttributes.md +1 -1
  33. data/docs/CatalogCategoryCreateQueryAsSubResourceAttributes.md +7 -7
  34. data/docs/CatalogCategoryDeleteJobCreateQueryAsSubResourceAttributes.md +1 -1
  35. data/docs/CatalogCategoryDeleteQueryAsSubResource.md +2 -2
  36. data/docs/CatalogCategoryUpdateJobCreateQueryAsSubResourceAttributes.md +1 -1
  37. data/docs/CatalogCategoryUpdateQueryAsSubResource.md +2 -2
  38. data/docs/CatalogCategoryUpdateQueryAsSubResourceAttributes.md +2 -2
  39. data/docs/CatalogItemCreateJobCreateQueryAsSubResourceAttributes.md +1 -1
  40. data/docs/CatalogItemCreateQueryAsSubResourceAttributes.md +23 -21
  41. data/docs/CatalogItemDeleteJobCreateQueryAsSubResourceAttributes.md +1 -1
  42. data/docs/CatalogItemDeleteQueryAsSubResource.md +2 -2
  43. data/docs/CatalogItemUpdateJobCreateQueryAsSubResourceAttributes.md +1 -1
  44. data/docs/CatalogItemUpdateQueryAsSubResource.md +2 -2
  45. data/docs/CatalogItemUpdateQueryAsSubResourceAttributes.md +18 -16
  46. data/docs/CatalogJobErrorPayload.md +8 -8
  47. data/docs/CatalogVariantCreateJobCreateQueryAsSubResourceAttributes.md +1 -1
  48. data/docs/CatalogVariantCreateQueryAsSubResourceAttributes.md +29 -29
  49. data/docs/CatalogVariantDeleteJobCreateQueryAsSubResourceAttributes.md +1 -1
  50. data/docs/CatalogVariantDeleteQueryAsSubResource.md +2 -2
  51. data/docs/CatalogVariantUpdateJobCreateQueryAsSubResourceAttributes.md +1 -1
  52. data/docs/CatalogVariantUpdateQueryAsSubResource.md +2 -2
  53. data/docs/CatalogVariantUpdateQueryAsSubResourceAttributes.md +22 -22
  54. data/docs/CatalogsApi.md +256 -256
  55. data/docs/ClientApi.md +11 -11
  56. data/docs/ContentSubObject.md +28 -0
  57. data/docs/DataPrivacyApi.md +78 -0
  58. data/docs/DataPrivacyCreateDeletionJobQuery.md +18 -0
  59. data/docs/DataPrivacyCreateDeletionJobQueryAsSubResource.md +20 -0
  60. data/docs/DataPrivacyCreateDeletionJobQueryAsSubResourceAttributes.md +22 -0
  61. data/docs/ErrorSource.md +2 -2
  62. data/docs/EventCreateQueryAsSubResourceAttributes.md +8 -8
  63. data/docs/EventsApi.md +36 -36
  64. data/docs/FlowsApi.md +147 -69
  65. data/docs/GetCampaigns4XXResponse.md +18 -0
  66. data/docs/GetCampaigns4XXResponseErrorsInner.md +26 -0
  67. data/docs/GetCampaigns4XXResponseErrorsInnerSource.md +20 -0
  68. data/docs/IncludedCategories.md +2 -2
  69. data/docs/IncludedCategoriesAttributes.md +5 -5
  70. data/docs/IncludedItems.md +2 -2
  71. data/docs/IncludedItemsAttributes.md +22 -20
  72. data/docs/IncludedLists.md +2 -2
  73. data/docs/IncludedListsAttributes.md +4 -4
  74. data/docs/IncludedMetrics.md +1 -1
  75. data/docs/IncludedMetricsAttributes.md +4 -4
  76. data/docs/IncludedProfiles.md +2 -2
  77. data/docs/IncludedProfilesAttributes.md +21 -21
  78. data/docs/IncludedSegments.md +1 -1
  79. data/docs/IncludedSegmentsAttributes.md +22 -0
  80. data/docs/{IncludedProfile.md → IncludedTags.md} +5 -5
  81. data/docs/IncludedVariants.md +2 -2
  82. data/docs/IncludedVariantsAttributes.md +28 -28
  83. data/docs/ListCreateQueryAsSubResourceAttributes.md +2 -2
  84. data/docs/ListPartialUpdateQueryAsSubResource.md +2 -2
  85. data/docs/ListsApi.md +111 -35
  86. data/docs/MetricAggregateQueryAsSubResourceAttributes.md +19 -19
  87. data/docs/MetricAggregateRowDTO.md +2 -2
  88. data/docs/MetricCreateQuery.md +3 -3
  89. data/docs/MetricsApi.md +14 -14
  90. data/docs/OnsiteProfileMetaIdentifiers.md +10 -10
  91. data/docs/OnsiteSubscriptionCreateQueryAsSubResourceAttributes.md +10 -10
  92. data/docs/ProfileCreateQueryAsSubResourceAttributes.md +18 -18
  93. data/docs/ProfileLocation.md +15 -15
  94. data/docs/ProfileLocationLongitude.md +49 -0
  95. data/docs/ProfilePartialUpdateQueryAsSubResource.md +2 -2
  96. data/docs/ProfilesApi.md +36 -36
  97. data/docs/STOScheduleOptions.md +18 -0
  98. data/docs/SegmentPartialUpdateQueryAsSubResource.md +1 -1
  99. data/docs/SegmentPartialUpdateQueryAsSubResourceAttributes.md +18 -0
  100. data/docs/SegmentsApi.md +103 -24
  101. data/docs/SendOptionsSubObject.md +18 -0
  102. data/docs/SendStrategySubObject.md +24 -0
  103. data/docs/SendTimeSubObject.md +20 -0
  104. data/docs/StaticScheduleOptions.md +22 -0
  105. data/docs/Subscription.md +8 -4
  106. data/docs/SubscriptionChannels.md +20 -0
  107. data/docs/SubscriptionCreateJobCreateQueryAsSubResourceAttributes.md +5 -5
  108. data/docs/Suppression.md +2 -2
  109. data/docs/SuppressionCreateJobCreateQueryAsSubResourceAttributes.md +1 -1
  110. data/docs/TagCreateQuery.md +18 -0
  111. data/docs/TagCreateQueryAsSubResource.md +20 -0
  112. data/docs/TagCreateQueryAsSubResourceAttributes.md +20 -0
  113. data/docs/TagGroupCreateQuery.md +18 -0
  114. data/docs/TagGroupCreateQueryAsSubResource.md +20 -0
  115. data/docs/TagGroupCreateQueryAsSubResourceAttributes.md +20 -0
  116. data/docs/TagGroupUpdateQuery.md +18 -0
  117. data/docs/TagGroupUpdateQueryAsSubResource.md +22 -0
  118. data/docs/{V2TemplateRenderQueryAsSubResourceAttributes.md → TagGroupUpdateQueryAsSubResourceAttributes.md} +4 -4
  119. data/docs/TagSegmentOp.md +18 -0
  120. data/docs/{TemplateDeleteQueryAsSubResource.md → TagSegmentOpDataInner.md} +2 -2
  121. data/docs/TagUpdateQuery.md +18 -0
  122. data/docs/TagUpdateQueryAsSubResource.md +22 -0
  123. data/docs/TagUpdateQueryAsSubResourceAttributes.md +18 -0
  124. data/docs/TagsApi.md +1205 -0
  125. data/docs/TemplateCloneQueryAsSubResourceAttributes.md +5 -3
  126. data/docs/TemplateCreateQueryAsSubResourceAttributes.md +14 -8
  127. data/docs/TemplateRenderQuery.md +18 -0
  128. data/docs/TemplateRenderQueryAsSubResource.md +20 -0
  129. data/docs/TemplateRenderQueryAsSubResourceAttributes.md +22 -0
  130. data/docs/TemplateUpdateQueryAsSubResource.md +1 -1
  131. data/docs/TemplateUpdateQueryAsSubResourceAttributes.md +13 -7
  132. data/docs/TemplatesApi.md +40 -44
  133. data/docs/ThrottledScheduleOptions.md +20 -0
  134. data/docs/TrackingOptionsSubObject.md +24 -0
  135. data/docs/UTMParamsSubObject.md +20 -0
  136. data/docs/UnsubscriptionCreateJobCreateQueryAsSubResourceAttributes.md +6 -6
  137. data/docs/UnsuppressionCreateJobCreateQueryAsSubResource.md +1 -1
  138. data/docs/UnsuppressionCreateJobCreateQueryAsSubResourceAttributes.md +18 -0
  139. data/docs/V2TemplateRenderQueryAsSubResource.md +2 -4
  140. data/klaviyo-api-sdk.gemspec +3 -3
  141. data/lib/klaviyo-api-sdk/api/campaigns_api.rb +1275 -0
  142. data/lib/klaviyo-api-sdk/api/catalogs_api.rb +338 -338
  143. data/lib/klaviyo-api-sdk/api/client_api.rb +12 -12
  144. data/lib/klaviyo-api-sdk/api/data_privacy_api.rb +92 -0
  145. data/lib/klaviyo-api-sdk/api/events_api.rb +46 -46
  146. data/lib/klaviyo-api-sdk/api/flows_api.rb +167 -93
  147. data/lib/klaviyo-api-sdk/api/lists_api.rb +122 -50
  148. data/lib/klaviyo-api-sdk/api/metrics_api.rb +21 -21
  149. data/lib/klaviyo-api-sdk/api/profiles_api.rb +53 -53
  150. data/lib/klaviyo-api-sdk/api/segments_api.rb +112 -33
  151. data/lib/klaviyo-api-sdk/api/tags_api.rb +1216 -0
  152. data/lib/klaviyo-api-sdk/api/templates_api.rb +57 -69
  153. data/lib/klaviyo-api-sdk/api_client.rb +3 -3
  154. data/lib/klaviyo-api-sdk/api_error.rb +2 -2
  155. data/lib/klaviyo-api-sdk/configuration.rb +2 -2
  156. data/lib/klaviyo-api-sdk/models/audiences_sub_object.rb +234 -0
  157. data/lib/klaviyo-api-sdk/models/{v2_template_render_query.rb → campaign_clone_query.rb} +6 -6
  158. data/lib/klaviyo-api-sdk/models/campaign_clone_query_as_sub_resource.rb +272 -0
  159. data/lib/klaviyo-api-sdk/models/campaign_clone_query_as_sub_resource_attributes.rb +235 -0
  160. data/lib/klaviyo-api-sdk/models/campaign_create_query.rb +224 -0
  161. data/lib/klaviyo-api-sdk/models/campaign_create_query_as_sub_resource.rb +272 -0
  162. data/lib/klaviyo-api-sdk/models/campaign_create_query_as_sub_resource_attributes.rb +291 -0
  163. data/lib/klaviyo-api-sdk/models/campaign_message_assign_template_query.rb +224 -0
  164. data/lib/klaviyo-api-sdk/models/campaign_message_assign_template_query_as_sub_resource.rb +272 -0
  165. data/lib/klaviyo-api-sdk/models/campaign_message_assign_template_query_as_sub_resource_attributes.rb +240 -0
  166. data/lib/klaviyo-api-sdk/models/campaign_message_partial_update_query.rb +224 -0
  167. data/lib/klaviyo-api-sdk/models/campaign_message_partial_update_query_as_sub_resource.rb +287 -0
  168. data/lib/klaviyo-api-sdk/models/campaign_message_partial_update_query_as_sub_resource_attributes.rb +229 -0
  169. data/lib/klaviyo-api-sdk/models/campaign_partial_update_query.rb +224 -0
  170. data/lib/klaviyo-api-sdk/models/campaign_partial_update_query_as_sub_resource.rb +287 -0
  171. data/lib/klaviyo-api-sdk/models/campaign_partial_update_query_as_sub_resource_attributes.rb +256 -0
  172. data/lib/klaviyo-api-sdk/models/campaign_recipient_estimation_job_create_query.rb +224 -0
  173. data/lib/klaviyo-api-sdk/models/campaign_recipient_estimation_job_create_query_as_sub_resource.rb +272 -0
  174. data/lib/klaviyo-api-sdk/models/campaign_recipient_estimation_job_create_query_as_sub_resource_attributes.rb +225 -0
  175. data/lib/klaviyo-api-sdk/models/campaign_send_job_create_query.rb +224 -0
  176. data/lib/klaviyo-api-sdk/models/campaign_send_job_create_query_as_sub_resource.rb +272 -0
  177. data/lib/klaviyo-api-sdk/models/campaign_send_job_create_query_as_sub_resource_attributes.rb +225 -0
  178. data/lib/klaviyo-api-sdk/models/campaign_send_job_partial_update_query.rb +224 -0
  179. data/lib/klaviyo-api-sdk/models/campaign_send_job_partial_update_query_as_sub_resource.rb +287 -0
  180. data/lib/klaviyo-api-sdk/models/campaign_send_job_partial_update_query_as_sub_resource_attributes.rb +225 -0
  181. data/lib/klaviyo-api-sdk/models/campaign_tag_op.rb +226 -0
  182. data/lib/klaviyo-api-sdk/models/{list_delete_query_as_sub_resource.rb → campaign_tag_op_data_inner.rb} +7 -7
  183. data/lib/klaviyo-api-sdk/models/catalog_category_create_job_create_query.rb +2 -2
  184. data/lib/klaviyo-api-sdk/models/catalog_category_create_job_create_query_as_sub_resource.rb +2 -2
  185. data/lib/klaviyo-api-sdk/models/catalog_category_create_job_create_query_as_sub_resource_attributes.rb +3 -2
  186. data/lib/klaviyo-api-sdk/models/catalog_category_create_query.rb +2 -2
  187. data/lib/klaviyo-api-sdk/models/catalog_category_create_query_as_sub_resource.rb +2 -2
  188. data/lib/klaviyo-api-sdk/models/catalog_category_create_query_as_sub_resource_attributes.rb +8 -3
  189. data/lib/klaviyo-api-sdk/models/catalog_category_delete_job_create_query.rb +2 -2
  190. data/lib/klaviyo-api-sdk/models/catalog_category_delete_job_create_query_as_sub_resource.rb +2 -2
  191. data/lib/klaviyo-api-sdk/models/catalog_category_delete_job_create_query_as_sub_resource_attributes.rb +3 -2
  192. data/lib/klaviyo-api-sdk/models/catalog_category_delete_query_as_sub_resource.rb +3 -2
  193. data/lib/klaviyo-api-sdk/models/catalog_category_item_op.rb +2 -2
  194. data/lib/klaviyo-api-sdk/models/catalog_category_update_job_create_query.rb +2 -2
  195. data/lib/klaviyo-api-sdk/models/catalog_category_update_job_create_query_as_sub_resource.rb +2 -2
  196. data/lib/klaviyo-api-sdk/models/catalog_category_update_job_create_query_as_sub_resource_attributes.rb +3 -2
  197. data/lib/klaviyo-api-sdk/models/catalog_category_update_query.rb +2 -2
  198. data/lib/klaviyo-api-sdk/models/catalog_category_update_query_as_sub_resource.rb +3 -2
  199. data/lib/klaviyo-api-sdk/models/catalog_category_update_query_as_sub_resource_attributes.rb +3 -2
  200. data/lib/klaviyo-api-sdk/models/catalog_item_category_op.rb +2 -2
  201. data/lib/klaviyo-api-sdk/models/catalog_item_create_job_create_query.rb +2 -2
  202. data/lib/klaviyo-api-sdk/models/catalog_item_create_job_create_query_as_sub_resource.rb +2 -2
  203. data/lib/klaviyo-api-sdk/models/catalog_item_create_job_create_query_as_sub_resource_attributes.rb +3 -2
  204. data/lib/klaviyo-api-sdk/models/catalog_item_create_query.rb +2 -2
  205. data/lib/klaviyo-api-sdk/models/catalog_item_create_query_as_sub_resource.rb +2 -2
  206. data/lib/klaviyo-api-sdk/models/catalog_item_create_query_as_sub_resource_attributes.rb +28 -4
  207. data/lib/klaviyo-api-sdk/models/catalog_item_create_query_as_sub_resource_relationships.rb +2 -2
  208. data/lib/klaviyo-api-sdk/models/catalog_item_create_query_as_sub_resource_relationships_categories.rb +2 -2
  209. data/lib/klaviyo-api-sdk/models/catalog_item_create_query_as_sub_resource_relationships_categories_data_inner.rb +2 -2
  210. data/lib/klaviyo-api-sdk/models/catalog_item_delete_job_create_query.rb +2 -2
  211. data/lib/klaviyo-api-sdk/models/catalog_item_delete_job_create_query_as_sub_resource.rb +2 -2
  212. data/lib/klaviyo-api-sdk/models/catalog_item_delete_job_create_query_as_sub_resource_attributes.rb +3 -2
  213. data/lib/klaviyo-api-sdk/models/catalog_item_delete_query_as_sub_resource.rb +3 -2
  214. data/lib/klaviyo-api-sdk/models/catalog_item_update_job_create_query.rb +2 -2
  215. data/lib/klaviyo-api-sdk/models/catalog_item_update_job_create_query_as_sub_resource.rb +2 -2
  216. data/lib/klaviyo-api-sdk/models/catalog_item_update_job_create_query_as_sub_resource_attributes.rb +3 -2
  217. data/lib/klaviyo-api-sdk/models/catalog_item_update_query.rb +2 -2
  218. data/lib/klaviyo-api-sdk/models/catalog_item_update_query_as_sub_resource.rb +3 -2
  219. data/lib/klaviyo-api-sdk/models/catalog_item_update_query_as_sub_resource_attributes.rb +21 -3
  220. data/lib/klaviyo-api-sdk/models/catalog_job_error_payload.rb +6 -2
  221. data/lib/klaviyo-api-sdk/models/catalog_variant_create_job_create_query.rb +2 -2
  222. data/lib/klaviyo-api-sdk/models/catalog_variant_create_job_create_query_as_sub_resource.rb +2 -2
  223. data/lib/klaviyo-api-sdk/models/catalog_variant_create_job_create_query_as_sub_resource_attributes.rb +3 -2
  224. data/lib/klaviyo-api-sdk/models/catalog_variant_create_query.rb +2 -2
  225. data/lib/klaviyo-api-sdk/models/catalog_variant_create_query_as_sub_resource.rb +2 -2
  226. data/lib/klaviyo-api-sdk/models/catalog_variant_create_query_as_sub_resource_attributes.rb +21 -9
  227. data/lib/klaviyo-api-sdk/models/catalog_variant_create_query_as_sub_resource_relationships.rb +2 -2
  228. data/lib/klaviyo-api-sdk/models/catalog_variant_create_query_as_sub_resource_relationships_items.rb +2 -2
  229. data/lib/klaviyo-api-sdk/models/catalog_variant_create_query_as_sub_resource_relationships_items_data_inner.rb +2 -2
  230. data/lib/klaviyo-api-sdk/models/catalog_variant_delete_job_create_query.rb +2 -2
  231. data/lib/klaviyo-api-sdk/models/catalog_variant_delete_job_create_query_as_sub_resource.rb +2 -2
  232. data/lib/klaviyo-api-sdk/models/catalog_variant_delete_job_create_query_as_sub_resource_attributes.rb +3 -2
  233. data/lib/klaviyo-api-sdk/models/catalog_variant_delete_query_as_sub_resource.rb +3 -2
  234. data/lib/klaviyo-api-sdk/models/catalog_variant_update_job_create_query.rb +2 -2
  235. data/lib/klaviyo-api-sdk/models/catalog_variant_update_job_create_query_as_sub_resource.rb +2 -2
  236. data/lib/klaviyo-api-sdk/models/catalog_variant_update_job_create_query_as_sub_resource_attributes.rb +3 -2
  237. data/lib/klaviyo-api-sdk/models/catalog_variant_update_query.rb +2 -2
  238. data/lib/klaviyo-api-sdk/models/catalog_variant_update_query_as_sub_resource.rb +3 -2
  239. data/lib/klaviyo-api-sdk/models/catalog_variant_update_query_as_sub_resource_attributes.rb +13 -3
  240. data/lib/klaviyo-api-sdk/models/content_sub_object.rb +270 -0
  241. data/lib/klaviyo-api-sdk/models/data_privacy_create_deletion_job_query.rb +224 -0
  242. data/lib/klaviyo-api-sdk/models/data_privacy_create_deletion_job_query_as_sub_resource.rb +272 -0
  243. data/lib/klaviyo-api-sdk/models/data_privacy_create_deletion_job_query_as_sub_resource_attributes.rb +240 -0
  244. data/lib/klaviyo-api-sdk/models/email_message_content.rb +2 -2
  245. data/lib/klaviyo-api-sdk/models/email_tracking_options.rb +2 -2
  246. data/lib/klaviyo-api-sdk/models/error_source.rb +5 -2
  247. data/lib/klaviyo-api-sdk/models/event_create_query.rb +2 -2
  248. data/lib/klaviyo-api-sdk/models/event_create_query_as_sub_resource.rb +2 -2
  249. data/lib/klaviyo-api-sdk/models/event_create_query_as_sub_resource_attributes.rb +7 -2
  250. data/lib/klaviyo-api-sdk/models/flow_update_query.rb +2 -2
  251. data/lib/klaviyo-api-sdk/models/flow_update_query_as_sub_resource.rb +2 -2
  252. data/lib/klaviyo-api-sdk/models/flow_update_query_as_sub_resource_attributes.rb +2 -2
  253. data/lib/klaviyo-api-sdk/models/get_campaigns4_xx_response.rb +226 -0
  254. data/lib/klaviyo-api-sdk/models/get_campaigns4_xx_response_errors_inner.rb +275 -0
  255. data/lib/klaviyo-api-sdk/models/get_campaigns4_xx_response_errors_inner_source.rb +228 -0
  256. data/lib/klaviyo-api-sdk/models/get_catalog_items4_xx_response.rb +2 -2
  257. data/lib/klaviyo-api-sdk/models/get_catalog_items4_xx_response_errors_inner.rb +2 -2
  258. data/lib/klaviyo-api-sdk/models/get_catalog_items4_xx_response_errors_inner_source.rb +2 -2
  259. data/lib/klaviyo-api-sdk/models/included_categories.rb +3 -2
  260. data/lib/klaviyo-api-sdk/models/included_categories_attributes.rb +5 -2
  261. data/lib/klaviyo-api-sdk/models/included_flow_action.rb +2 -2
  262. data/lib/klaviyo-api-sdk/models/included_flow_actions.rb +2 -2
  263. data/lib/klaviyo-api-sdk/models/included_flow_actions_attributes.rb +2 -2
  264. data/lib/klaviyo-api-sdk/models/included_flow_actions_attributes_tracking_options.rb +2 -2
  265. data/lib/klaviyo-api-sdk/models/included_flow_messages.rb +2 -2
  266. data/lib/klaviyo-api-sdk/models/included_flow_messages_attributes.rb +2 -2
  267. data/lib/klaviyo-api-sdk/models/included_flow_messages_attributes_content.rb +2 -2
  268. data/lib/klaviyo-api-sdk/models/included_flows.rb +2 -2
  269. data/lib/klaviyo-api-sdk/models/included_flows_attributes.rb +2 -2
  270. data/lib/klaviyo-api-sdk/models/included_items.rb +3 -2
  271. data/lib/klaviyo-api-sdk/models/included_items_attributes.rb +24 -3
  272. data/lib/klaviyo-api-sdk/models/included_lists.rb +3 -2
  273. data/lib/klaviyo-api-sdk/models/included_lists_attributes.rb +5 -2
  274. data/lib/klaviyo-api-sdk/models/included_metrics.rb +3 -2
  275. data/lib/klaviyo-api-sdk/models/included_metrics_attributes.rb +6 -2
  276. data/lib/klaviyo-api-sdk/models/included_profiles.rb +3 -2
  277. data/lib/klaviyo-api-sdk/models/included_profiles_attributes.rb +14 -2
  278. data/lib/klaviyo-api-sdk/models/included_segments.rb +3 -3
  279. data/lib/klaviyo-api-sdk/models/included_segments_attributes.rb +240 -0
  280. data/lib/klaviyo-api-sdk/models/{included_profile.rb → included_tags.rb} +9 -8
  281. data/lib/klaviyo-api-sdk/models/included_variants.rb +3 -2
  282. data/lib/klaviyo-api-sdk/models/included_variants_attributes.rb +17 -3
  283. data/lib/klaviyo-api-sdk/models/included_variants_links.rb +2 -2
  284. data/lib/klaviyo-api-sdk/models/list_create_query.rb +2 -2
  285. data/lib/klaviyo-api-sdk/models/list_create_query_as_sub_resource.rb +2 -2
  286. data/lib/klaviyo-api-sdk/models/list_create_query_as_sub_resource_attributes.rb +3 -2
  287. data/lib/klaviyo-api-sdk/models/list_members_add_query.rb +2 -2
  288. data/lib/klaviyo-api-sdk/models/list_members_add_query_data_inner.rb +2 -2
  289. data/lib/klaviyo-api-sdk/models/list_members_delete_query.rb +2 -2
  290. data/lib/klaviyo-api-sdk/models/list_partial_update_query.rb +2 -2
  291. data/lib/klaviyo-api-sdk/models/list_partial_update_query_as_sub_resource.rb +3 -2
  292. data/lib/klaviyo-api-sdk/models/metric_aggregate_query.rb +2 -2
  293. data/lib/klaviyo-api-sdk/models/metric_aggregate_query_as_sub_resource.rb +2 -2
  294. data/lib/klaviyo-api-sdk/models/metric_aggregate_query_as_sub_resource_attributes.rb +29 -21
  295. data/lib/klaviyo-api-sdk/models/metric_aggregate_row_dto.rb +4 -2
  296. data/lib/klaviyo-api-sdk/models/metric_create_query.rb +4 -2
  297. data/lib/klaviyo-api-sdk/models/onsite_profile_create_query.rb +2 -2
  298. data/lib/klaviyo-api-sdk/models/onsite_profile_create_query_as_sub_resource.rb +2 -2
  299. data/lib/klaviyo-api-sdk/models/onsite_profile_meta.rb +2 -2
  300. data/lib/klaviyo-api-sdk/models/onsite_profile_meta_identifiers.rb +17 -12
  301. data/lib/klaviyo-api-sdk/models/onsite_subscription_create_query.rb +2 -2
  302. data/lib/klaviyo-api-sdk/models/onsite_subscription_create_query_as_sub_resource.rb +2 -2
  303. data/lib/klaviyo-api-sdk/models/onsite_subscription_create_query_as_sub_resource_attributes.rb +7 -2
  304. data/lib/klaviyo-api-sdk/models/profile_create_query.rb +2 -2
  305. data/lib/klaviyo-api-sdk/models/profile_create_query_as_sub_resource.rb +2 -2
  306. data/lib/klaviyo-api-sdk/models/profile_create_query_as_sub_resource_attributes.rb +11 -2
  307. data/lib/klaviyo-api-sdk/models/profile_location.rb +10 -3
  308. data/lib/klaviyo-api-sdk/models/profile_location_latitude.rb +3 -2
  309. data/lib/klaviyo-api-sdk/models/profile_location_longitude.rb +106 -0
  310. data/lib/klaviyo-api-sdk/models/profile_partial_update_query.rb +2 -2
  311. data/lib/klaviyo-api-sdk/models/profile_partial_update_query_as_sub_resource.rb +3 -2
  312. data/lib/klaviyo-api-sdk/models/segment_partial_update_query.rb +2 -2
  313. data/lib/klaviyo-api-sdk/models/segment_partial_update_query_as_sub_resource.rb +3 -3
  314. data/lib/klaviyo-api-sdk/models/segment_partial_update_query_as_sub_resource_attributes.rb +224 -0
  315. data/lib/klaviyo-api-sdk/models/send_options.rb +2 -2
  316. data/lib/klaviyo-api-sdk/models/send_options_sub_object.rb +220 -0
  317. data/lib/klaviyo-api-sdk/models/send_strategy_sub_object.rb +252 -0
  318. data/lib/klaviyo-api-sdk/models/send_time_sub_object.rb +240 -0
  319. data/lib/klaviyo-api-sdk/models/sms_message_content.rb +2 -2
  320. data/lib/klaviyo-api-sdk/models/sms_render_options.rb +2 -2
  321. data/lib/klaviyo-api-sdk/models/sms_tracking_options.rb +2 -2
  322. data/lib/klaviyo-api-sdk/models/static_schedule_options.rb +245 -0
  323. data/lib/klaviyo-api-sdk/models/sto_schedule_options.rb +225 -0
  324. data/lib/klaviyo-api-sdk/models/subscription.rb +27 -6
  325. data/lib/klaviyo-api-sdk/models/subscription_channels.rb +256 -0
  326. data/lib/klaviyo-api-sdk/models/subscription_create_job_create_query.rb +2 -2
  327. data/lib/klaviyo-api-sdk/models/subscription_create_job_create_query_as_sub_resource.rb +2 -2
  328. data/lib/klaviyo-api-sdk/models/subscription_create_job_create_query_as_sub_resource_attributes.rb +5 -2
  329. data/lib/klaviyo-api-sdk/models/suppression.rb +3 -2
  330. data/lib/klaviyo-api-sdk/models/suppression_create_job_create_query.rb +2 -2
  331. data/lib/klaviyo-api-sdk/models/suppression_create_job_create_query_as_sub_resource.rb +2 -2
  332. data/lib/klaviyo-api-sdk/models/suppression_create_job_create_query_as_sub_resource_attributes.rb +3 -2
  333. data/lib/klaviyo-api-sdk/models/tag_create_query.rb +224 -0
  334. data/lib/klaviyo-api-sdk/models/tag_create_query_as_sub_resource.rb +272 -0
  335. data/lib/klaviyo-api-sdk/models/tag_create_query_as_sub_resource_attributes.rb +235 -0
  336. data/lib/klaviyo-api-sdk/models/tag_group_create_query.rb +224 -0
  337. data/lib/klaviyo-api-sdk/models/tag_group_create_query_as_sub_resource.rb +272 -0
  338. data/lib/klaviyo-api-sdk/models/tag_group_create_query_as_sub_resource_attributes.rb +234 -0
  339. data/lib/klaviyo-api-sdk/models/tag_group_update_query.rb +224 -0
  340. data/lib/klaviyo-api-sdk/models/tag_group_update_query_as_sub_resource.rb +287 -0
  341. data/lib/klaviyo-api-sdk/models/{v2_template_render_query_as_sub_resource_attributes.rb → tag_group_update_query_as_sub_resource_attributes.rb} +16 -15
  342. data/lib/klaviyo-api-sdk/models/tag_segment_op.rb +226 -0
  343. data/lib/klaviyo-api-sdk/models/{template_delete_query_as_sub_resource.rb → tag_segment_op_data_inner.rb} +7 -7
  344. data/lib/klaviyo-api-sdk/models/tag_update_query.rb +224 -0
  345. data/lib/klaviyo-api-sdk/models/tag_update_query_as_sub_resource.rb +287 -0
  346. data/lib/klaviyo-api-sdk/models/tag_update_query_as_sub_resource_attributes.rb +225 -0
  347. data/lib/klaviyo-api-sdk/models/template_clone_query.rb +2 -2
  348. data/lib/klaviyo-api-sdk/models/template_clone_query_as_sub_resource.rb +2 -2
  349. data/lib/klaviyo-api-sdk/models/template_clone_query_as_sub_resource_attributes.rb +20 -3
  350. data/lib/klaviyo-api-sdk/models/template_create_query.rb +2 -2
  351. data/lib/klaviyo-api-sdk/models/template_create_query_as_sub_resource.rb +2 -2
  352. data/lib/klaviyo-api-sdk/models/template_create_query_as_sub_resource_attributes.rb +7 -2
  353. data/lib/klaviyo-api-sdk/models/template_render_query.rb +224 -0
  354. data/lib/klaviyo-api-sdk/models/template_render_query_as_sub_resource.rb +272 -0
  355. data/lib/klaviyo-api-sdk/models/template_render_query_as_sub_resource_attributes.rb +252 -0
  356. data/lib/klaviyo-api-sdk/models/template_update_query.rb +2 -2
  357. data/lib/klaviyo-api-sdk/models/template_update_query_as_sub_resource.rb +3 -2
  358. data/lib/klaviyo-api-sdk/models/template_update_query_as_sub_resource_attributes.rb +6 -2
  359. data/lib/klaviyo-api-sdk/models/throttled_schedule_options.rb +240 -0
  360. data/lib/klaviyo-api-sdk/models/tracking_options_sub_object.rb +252 -0
  361. data/lib/klaviyo-api-sdk/models/unsubscription_create_job_create_query.rb +2 -2
  362. data/lib/klaviyo-api-sdk/models/unsubscription_create_job_create_query_as_sub_resource.rb +2 -2
  363. data/lib/klaviyo-api-sdk/models/unsubscription_create_job_create_query_as_sub_resource_attributes.rb +5 -7
  364. data/lib/klaviyo-api-sdk/models/unsuppression_create_job_create_query.rb +2 -2
  365. data/lib/klaviyo-api-sdk/models/unsuppression_create_job_create_query_as_sub_resource.rb +3 -3
  366. data/lib/klaviyo-api-sdk/models/unsuppression_create_job_create_query_as_sub_resource_attributes.rb +227 -0
  367. data/lib/klaviyo-api-sdk/models/utm_param_info.rb +2 -2
  368. data/lib/klaviyo-api-sdk/models/utm_params_sub_object.rb +240 -0
  369. data/lib/klaviyo-api-sdk/models/v2_template_render_query_as_sub_resource.rb +11 -62
  370. data/lib/klaviyo-api-sdk/version.rb +2 -2
  371. data/lib/klaviyo-api-sdk.rb +68 -11
  372. data/spec/api/campaigns_api_spec.rb +284 -0
  373. data/spec/api/catalogs_api_spec.rb +94 -94
  374. data/spec/api/client_api_spec.rb +5 -5
  375. data/spec/api/data_privacy_api_spec.rb +47 -0
  376. data/spec/api/events_api_spec.rb +19 -19
  377. data/spec/api/flows_api_spec.rb +44 -33
  378. data/spec/api/lists_api_spec.rb +28 -15
  379. data/spec/api/metrics_api_spec.rb +8 -8
  380. data/spec/api/profiles_api_spec.rb +21 -21
  381. data/spec/api/segments_api_spec.rb +24 -10
  382. data/spec/api/tags_api_spec.rb +245 -0
  383. data/spec/api/templates_api_spec.rb +18 -18
  384. data/spec/api_client_spec.rb +2 -2
  385. data/spec/configuration_spec.rb +2 -2
  386. data/spec/models/audiences_sub_object_spec.rb +40 -0
  387. data/spec/models/campaign_clone_query_as_sub_resource_attributes_spec.rb +40 -0
  388. data/spec/models/campaign_clone_query_as_sub_resource_spec.rb +44 -0
  389. data/spec/models/{v2_template_render_query_spec.rb → campaign_clone_query_spec.rb} +8 -8
  390. data/spec/models/campaign_create_query_as_sub_resource_attributes_spec.rb +64 -0
  391. data/spec/models/campaign_create_query_as_sub_resource_spec.rb +44 -0
  392. data/spec/models/campaign_create_query_spec.rb +34 -0
  393. data/spec/models/campaign_message_assign_template_query_as_sub_resource_attributes_spec.rb +40 -0
  394. data/spec/models/campaign_message_assign_template_query_as_sub_resource_spec.rb +44 -0
  395. data/spec/models/campaign_message_assign_template_query_spec.rb +34 -0
  396. data/spec/models/campaign_message_partial_update_query_as_sub_resource_attributes_spec.rb +40 -0
  397. data/spec/models/campaign_message_partial_update_query_as_sub_resource_spec.rb +50 -0
  398. data/spec/models/campaign_message_partial_update_query_spec.rb +34 -0
  399. data/spec/models/campaign_partial_update_query_as_sub_resource_attributes_spec.rb +58 -0
  400. data/spec/models/campaign_partial_update_query_as_sub_resource_spec.rb +50 -0
  401. data/spec/models/campaign_partial_update_query_spec.rb +34 -0
  402. data/spec/models/campaign_recipient_estimation_job_create_query_as_sub_resource_attributes_spec.rb +34 -0
  403. data/spec/models/campaign_recipient_estimation_job_create_query_as_sub_resource_spec.rb +44 -0
  404. data/spec/models/campaign_recipient_estimation_job_create_query_spec.rb +34 -0
  405. data/spec/models/campaign_send_job_create_query_as_sub_resource_attributes_spec.rb +34 -0
  406. data/spec/models/campaign_send_job_create_query_as_sub_resource_spec.rb +44 -0
  407. data/spec/models/campaign_send_job_create_query_spec.rb +34 -0
  408. data/spec/models/campaign_send_job_partial_update_query_as_sub_resource_attributes_spec.rb +34 -0
  409. data/spec/models/campaign_send_job_partial_update_query_as_sub_resource_spec.rb +50 -0
  410. data/spec/models/campaign_send_job_partial_update_query_spec.rb +34 -0
  411. data/spec/models/{list_delete_query_as_sub_resource_spec.rb → campaign_tag_op_data_inner_spec.rb} +9 -9
  412. data/spec/models/campaign_tag_op_spec.rb +34 -0
  413. data/spec/models/catalog_category_create_job_create_query_as_sub_resource_attributes_spec.rb +2 -2
  414. data/spec/models/catalog_category_create_job_create_query_as_sub_resource_spec.rb +2 -2
  415. data/spec/models/catalog_category_create_job_create_query_spec.rb +2 -2
  416. data/spec/models/catalog_category_create_query_as_sub_resource_attributes_spec.rb +2 -2
  417. data/spec/models/catalog_category_create_query_as_sub_resource_spec.rb +2 -2
  418. data/spec/models/catalog_category_create_query_spec.rb +2 -2
  419. data/spec/models/catalog_category_delete_job_create_query_as_sub_resource_attributes_spec.rb +2 -2
  420. data/spec/models/catalog_category_delete_job_create_query_as_sub_resource_spec.rb +2 -2
  421. data/spec/models/catalog_category_delete_job_create_query_spec.rb +2 -2
  422. data/spec/models/catalog_category_delete_query_as_sub_resource_spec.rb +2 -2
  423. data/spec/models/catalog_category_item_op_spec.rb +2 -2
  424. data/spec/models/catalog_category_update_job_create_query_as_sub_resource_attributes_spec.rb +2 -2
  425. data/spec/models/catalog_category_update_job_create_query_as_sub_resource_spec.rb +2 -2
  426. data/spec/models/catalog_category_update_job_create_query_spec.rb +2 -2
  427. data/spec/models/catalog_category_update_query_as_sub_resource_attributes_spec.rb +2 -2
  428. data/spec/models/catalog_category_update_query_as_sub_resource_spec.rb +2 -2
  429. data/spec/models/catalog_category_update_query_spec.rb +2 -2
  430. data/spec/models/catalog_item_category_op_spec.rb +2 -2
  431. data/spec/models/catalog_item_create_job_create_query_as_sub_resource_attributes_spec.rb +2 -2
  432. data/spec/models/catalog_item_create_job_create_query_as_sub_resource_spec.rb +2 -2
  433. data/spec/models/catalog_item_create_job_create_query_spec.rb +2 -2
  434. data/spec/models/catalog_item_create_query_as_sub_resource_attributes_spec.rb +2 -2
  435. data/spec/models/catalog_item_create_query_as_sub_resource_relationships_categories_data_inner_spec.rb +2 -2
  436. data/spec/models/catalog_item_create_query_as_sub_resource_relationships_categories_spec.rb +2 -2
  437. data/spec/models/catalog_item_create_query_as_sub_resource_relationships_spec.rb +2 -2
  438. data/spec/models/catalog_item_create_query_as_sub_resource_spec.rb +2 -2
  439. data/spec/models/catalog_item_create_query_spec.rb +2 -2
  440. data/spec/models/catalog_item_delete_job_create_query_as_sub_resource_attributes_spec.rb +2 -2
  441. data/spec/models/catalog_item_delete_job_create_query_as_sub_resource_spec.rb +2 -2
  442. data/spec/models/catalog_item_delete_job_create_query_spec.rb +2 -2
  443. data/spec/models/catalog_item_delete_query_as_sub_resource_spec.rb +2 -2
  444. data/spec/models/catalog_item_update_job_create_query_as_sub_resource_attributes_spec.rb +2 -2
  445. data/spec/models/catalog_item_update_job_create_query_as_sub_resource_spec.rb +2 -2
  446. data/spec/models/catalog_item_update_job_create_query_spec.rb +2 -2
  447. data/spec/models/catalog_item_update_query_as_sub_resource_attributes_spec.rb +2 -2
  448. data/spec/models/catalog_item_update_query_as_sub_resource_spec.rb +2 -2
  449. data/spec/models/catalog_item_update_query_spec.rb +2 -2
  450. data/spec/models/catalog_job_error_payload_spec.rb +2 -2
  451. data/spec/models/catalog_variant_create_job_create_query_as_sub_resource_attributes_spec.rb +2 -2
  452. data/spec/models/catalog_variant_create_job_create_query_as_sub_resource_spec.rb +2 -2
  453. data/spec/models/catalog_variant_create_job_create_query_spec.rb +2 -2
  454. data/spec/models/catalog_variant_create_query_as_sub_resource_attributes_spec.rb +2 -2
  455. data/spec/models/catalog_variant_create_query_as_sub_resource_relationships_items_data_inner_spec.rb +2 -2
  456. data/spec/models/catalog_variant_create_query_as_sub_resource_relationships_items_spec.rb +2 -2
  457. data/spec/models/catalog_variant_create_query_as_sub_resource_relationships_spec.rb +2 -2
  458. data/spec/models/catalog_variant_create_query_as_sub_resource_spec.rb +2 -2
  459. data/spec/models/catalog_variant_create_query_spec.rb +2 -2
  460. data/spec/models/catalog_variant_delete_job_create_query_as_sub_resource_attributes_spec.rb +2 -2
  461. data/spec/models/catalog_variant_delete_job_create_query_as_sub_resource_spec.rb +2 -2
  462. data/spec/models/catalog_variant_delete_job_create_query_spec.rb +2 -2
  463. data/spec/models/catalog_variant_delete_query_as_sub_resource_spec.rb +2 -2
  464. data/spec/models/catalog_variant_update_job_create_query_as_sub_resource_attributes_spec.rb +2 -2
  465. data/spec/models/catalog_variant_update_job_create_query_as_sub_resource_spec.rb +2 -2
  466. data/spec/models/catalog_variant_update_job_create_query_spec.rb +2 -2
  467. data/spec/models/catalog_variant_update_query_as_sub_resource_attributes_spec.rb +2 -2
  468. data/spec/models/catalog_variant_update_query_as_sub_resource_spec.rb +2 -2
  469. data/spec/models/catalog_variant_update_query_spec.rb +2 -2
  470. data/spec/models/content_sub_object_spec.rb +64 -0
  471. data/spec/models/data_privacy_create_deletion_job_query_as_sub_resource_attributes_spec.rb +46 -0
  472. data/spec/models/data_privacy_create_deletion_job_query_as_sub_resource_spec.rb +44 -0
  473. data/spec/models/data_privacy_create_deletion_job_query_spec.rb +34 -0
  474. data/spec/models/email_message_content_spec.rb +2 -2
  475. data/spec/models/email_tracking_options_spec.rb +2 -2
  476. data/spec/models/error_source_spec.rb +2 -2
  477. data/spec/models/event_create_query_as_sub_resource_attributes_spec.rb +2 -2
  478. data/spec/models/event_create_query_as_sub_resource_spec.rb +2 -2
  479. data/spec/models/event_create_query_spec.rb +2 -2
  480. data/spec/models/flow_update_query_as_sub_resource_attributes_spec.rb +2 -2
  481. data/spec/models/flow_update_query_as_sub_resource_spec.rb +2 -2
  482. data/spec/models/flow_update_query_spec.rb +2 -2
  483. data/spec/models/get_campaigns4_xx_response_errors_inner_source_spec.rb +40 -0
  484. data/spec/models/get_campaigns4_xx_response_errors_inner_spec.rb +58 -0
  485. data/spec/models/get_campaigns4_xx_response_spec.rb +34 -0
  486. data/spec/models/get_catalog_items4_xx_response_errors_inner_source_spec.rb +2 -2
  487. data/spec/models/get_catalog_items4_xx_response_errors_inner_spec.rb +2 -2
  488. data/spec/models/get_catalog_items4_xx_response_spec.rb +2 -2
  489. data/spec/models/included_categories_attributes_spec.rb +2 -2
  490. data/spec/models/included_categories_spec.rb +2 -2
  491. data/spec/models/included_flow_action_spec.rb +2 -2
  492. data/spec/models/included_flow_actions_attributes_spec.rb +2 -2
  493. data/spec/models/included_flow_actions_attributes_tracking_options_spec.rb +2 -2
  494. data/spec/models/included_flow_actions_spec.rb +2 -2
  495. data/spec/models/included_flow_messages_attributes_content_spec.rb +2 -2
  496. data/spec/models/included_flow_messages_attributes_spec.rb +2 -2
  497. data/spec/models/included_flow_messages_spec.rb +2 -2
  498. data/spec/models/included_flows_attributes_spec.rb +2 -2
  499. data/spec/models/included_flows_spec.rb +2 -2
  500. data/spec/models/included_items_attributes_spec.rb +2 -2
  501. data/spec/models/included_items_spec.rb +2 -2
  502. data/spec/models/included_lists_attributes_spec.rb +2 -2
  503. data/spec/models/included_lists_spec.rb +2 -2
  504. data/spec/models/included_metrics_attributes_spec.rb +2 -2
  505. data/spec/models/included_metrics_spec.rb +2 -2
  506. data/spec/models/included_profiles_attributes_spec.rb +2 -2
  507. data/spec/models/included_profiles_spec.rb +2 -2
  508. data/spec/models/included_segments_attributes_spec.rb +46 -0
  509. data/spec/models/included_segments_spec.rb +2 -2
  510. data/spec/models/{included_profile_spec.rb → included_tags_spec.rb} +9 -9
  511. data/spec/models/included_variants_attributes_spec.rb +2 -2
  512. data/spec/models/included_variants_links_spec.rb +2 -2
  513. data/spec/models/included_variants_spec.rb +2 -2
  514. data/spec/models/list_create_query_as_sub_resource_attributes_spec.rb +2 -2
  515. data/spec/models/list_create_query_as_sub_resource_spec.rb +2 -2
  516. data/spec/models/list_create_query_spec.rb +2 -2
  517. data/spec/models/list_members_add_query_data_inner_spec.rb +2 -2
  518. data/spec/models/list_members_add_query_spec.rb +2 -2
  519. data/spec/models/list_members_delete_query_spec.rb +2 -2
  520. data/spec/models/list_partial_update_query_as_sub_resource_spec.rb +2 -2
  521. data/spec/models/list_partial_update_query_spec.rb +2 -2
  522. data/spec/models/metric_aggregate_query_as_sub_resource_attributes_spec.rb +2 -2
  523. data/spec/models/metric_aggregate_query_as_sub_resource_spec.rb +2 -2
  524. data/spec/models/metric_aggregate_query_spec.rb +2 -2
  525. data/spec/models/metric_aggregate_row_dto_spec.rb +2 -2
  526. data/spec/models/metric_create_query_spec.rb +2 -2
  527. data/spec/models/onsite_profile_create_query_as_sub_resource_spec.rb +2 -2
  528. data/spec/models/onsite_profile_create_query_spec.rb +2 -2
  529. data/spec/models/onsite_profile_meta_identifiers_spec.rb +2 -2
  530. data/spec/models/onsite_profile_meta_spec.rb +2 -2
  531. data/spec/models/onsite_subscription_create_query_as_sub_resource_attributes_spec.rb +2 -2
  532. data/spec/models/onsite_subscription_create_query_as_sub_resource_spec.rb +2 -2
  533. data/spec/models/onsite_subscription_create_query_spec.rb +2 -2
  534. data/spec/models/profile_create_query_as_sub_resource_attributes_spec.rb +2 -2
  535. data/spec/models/profile_create_query_as_sub_resource_spec.rb +2 -2
  536. data/spec/models/profile_create_query_spec.rb +2 -2
  537. data/spec/models/profile_location_latitude_spec.rb +2 -2
  538. data/spec/models/profile_location_longitude_spec.rb +31 -0
  539. data/spec/models/profile_location_spec.rb +2 -2
  540. data/spec/models/profile_partial_update_query_as_sub_resource_spec.rb +2 -2
  541. data/spec/models/profile_partial_update_query_spec.rb +2 -2
  542. data/spec/models/segment_partial_update_query_as_sub_resource_attributes_spec.rb +34 -0
  543. data/spec/models/segment_partial_update_query_as_sub_resource_spec.rb +2 -2
  544. data/spec/models/segment_partial_update_query_spec.rb +2 -2
  545. data/spec/models/send_options_spec.rb +2 -2
  546. data/spec/models/send_options_sub_object_spec.rb +40 -0
  547. data/spec/models/send_strategy_sub_object_spec.rb +46 -0
  548. data/spec/models/send_time_sub_object_spec.rb +40 -0
  549. data/spec/models/sms_message_content_spec.rb +2 -2
  550. data/spec/models/sms_render_options_spec.rb +2 -2
  551. data/spec/models/sms_tracking_options_spec.rb +2 -2
  552. data/spec/models/static_schedule_options_spec.rb +46 -0
  553. data/spec/models/sto_schedule_options_spec.rb +34 -0
  554. data/spec/models/subscription_channels_spec.rb +48 -0
  555. data/spec/models/subscription_create_job_create_query_as_sub_resource_attributes_spec.rb +2 -2
  556. data/spec/models/subscription_create_job_create_query_as_sub_resource_spec.rb +2 -2
  557. data/spec/models/subscription_create_job_create_query_spec.rb +2 -2
  558. data/spec/models/subscription_spec.rb +2 -2
  559. data/spec/models/suppression_create_job_create_query_as_sub_resource_attributes_spec.rb +2 -2
  560. data/spec/models/suppression_create_job_create_query_as_sub_resource_spec.rb +2 -2
  561. data/spec/models/suppression_create_job_create_query_spec.rb +2 -2
  562. data/spec/models/suppression_spec.rb +2 -2
  563. data/spec/models/tag_create_query_as_sub_resource_attributes_spec.rb +40 -0
  564. data/spec/models/tag_create_query_as_sub_resource_spec.rb +44 -0
  565. data/spec/models/tag_create_query_spec.rb +34 -0
  566. data/spec/models/tag_group_create_query_as_sub_resource_attributes_spec.rb +40 -0
  567. data/spec/models/tag_group_create_query_as_sub_resource_spec.rb +44 -0
  568. data/spec/models/tag_group_create_query_spec.rb +34 -0
  569. data/spec/models/{v2_template_render_query_as_sub_resource_attributes_spec.rb → tag_group_update_query_as_sub_resource_attributes_spec.rb} +9 -9
  570. data/spec/models/tag_group_update_query_as_sub_resource_spec.rb +50 -0
  571. data/spec/models/tag_group_update_query_spec.rb +34 -0
  572. data/spec/models/tag_segment_op_data_inner_spec.rb +44 -0
  573. data/spec/models/tag_segment_op_spec.rb +34 -0
  574. data/spec/models/tag_update_query_as_sub_resource_attributes_spec.rb +34 -0
  575. data/spec/models/tag_update_query_as_sub_resource_spec.rb +50 -0
  576. data/spec/models/tag_update_query_spec.rb +34 -0
  577. data/spec/models/template_clone_query_as_sub_resource_attributes_spec.rb +8 -2
  578. data/spec/models/template_clone_query_as_sub_resource_spec.rb +8 -2
  579. data/spec/models/template_clone_query_spec.rb +2 -2
  580. data/spec/models/template_create_query_as_sub_resource_attributes_spec.rb +2 -2
  581. data/spec/models/template_create_query_as_sub_resource_spec.rb +2 -2
  582. data/spec/models/template_create_query_spec.rb +2 -2
  583. data/spec/models/template_render_query_as_sub_resource_attributes_spec.rb +46 -0
  584. data/spec/models/{template_delete_query_as_sub_resource_spec.rb → template_render_query_as_sub_resource_spec.rb} +9 -9
  585. data/spec/models/template_render_query_spec.rb +34 -0
  586. data/spec/models/template_update_query_as_sub_resource_attributes_spec.rb +2 -2
  587. data/spec/models/template_update_query_as_sub_resource_spec.rb +2 -2
  588. data/spec/models/template_update_query_spec.rb +2 -2
  589. data/spec/models/throttled_schedule_options_spec.rb +40 -0
  590. data/spec/models/tracking_options_sub_object_spec.rb +52 -0
  591. data/spec/models/unsubscription_create_job_create_query_as_sub_resource_attributes_spec.rb +2 -2
  592. data/spec/models/unsubscription_create_job_create_query_as_sub_resource_spec.rb +2 -2
  593. data/spec/models/unsubscription_create_job_create_query_spec.rb +2 -2
  594. data/spec/models/unsuppression_create_job_create_query_as_sub_resource_attributes_spec.rb +34 -0
  595. data/spec/models/unsuppression_create_job_create_query_as_sub_resource_spec.rb +2 -2
  596. data/spec/models/unsuppression_create_job_create_query_spec.rb +2 -2
  597. data/spec/models/utm_param_info_spec.rb +2 -2
  598. data/spec/models/utm_params_sub_object_spec.rb +40 -0
  599. data/spec/models/v2_template_render_query_as_sub_resource_spec.rb +3 -13
  600. data/spec/spec_helper.rb +2 -2
  601. metadata +207 -19
  602. data/docs/V2TemplateRenderQuery.md +0 -18
  603. data/test.rb +0 -50
@@ -0,0 +1,1216 @@
1
+ =begin
2
+ #Klaviyo API
3
+
4
+ #The Klaviyo REST API. Please visit https://developers.klaviyo.com for more details.
5
+
6
+ The version of the OpenAPI document: 2023-02-22
7
+ Contact: developers@klaviyo.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.2.1
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module KlaviyoAPI
16
+ class TagsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Create Tag
23
+ # Create a tag. An account cannot have more than **500** unique tags. A tag belongs to a single tag group. If the `tag_group_id` is not specified, the tag is added to the account's default tag group.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `Tags Read` `Tags Write`
24
+ # @param tag_create_query [TagCreateQuery]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [Hash<String, Object>]
27
+ def create_tag(tag_create_query, opts = {})
28
+ data, _status_code, _headers = create_tag_with_http_info(tag_create_query, opts)
29
+ data
30
+ end
31
+
32
+ # Create Tag
33
+ # Create a tag. An account cannot have more than **500** unique tags. A tag belongs to a single tag group. If the &#x60;tag_group_id&#x60; is not specified, the tag is added to the account&#39;s default tag group.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;3/s&#x60;&lt;br&gt;Steady: &#x60;60/m&#x60; **Scopes:** &#x60;Tags Read&#x60; &#x60;Tags Write&#x60;
34
+ # @param tag_create_query [TagCreateQuery]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
37
+ def create_tag_with_http_info(tag_create_query, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: TagsApi.create_tag ...'
40
+ end
41
+ # verify the required parameter 'tag_create_query' is set
42
+ if @api_client.config.client_side_validation && tag_create_query.nil?
43
+ fail ArgumentError, "Missing the required parameter 'tag_create_query' when calling TagsApi.create_tag"
44
+ end
45
+ # resource path
46
+ local_var_path = '/api/tags/'
47
+
48
+ # query parameters
49
+ query_params = opts[:query_params] || {}
50
+
51
+ # header parameters
52
+ header_params = opts[:header_params] || {}
53
+ # klaviyo api revision
54
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
55
+ # HTTP header 'Accept' (if needed)
56
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
57
+ # HTTP header 'Content-Type'
58
+ content_type = @api_client.select_header_content_type(['application/json'])
59
+ if !content_type.nil?
60
+ header_params['Content-Type'] = content_type
61
+ end
62
+
63
+ # form parameters
64
+ form_params = opts[:form_params] || {}
65
+
66
+ # http body (model)
67
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(tag_create_query)
68
+
69
+ # return_type
70
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
71
+
72
+ # auth_names
73
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
74
+
75
+ new_options = opts.merge(
76
+ :operation => :"TagsApi.create_tag",
77
+ :header_params => header_params,
78
+ :query_params => query_params,
79
+ :form_params => form_params,
80
+ :body => post_body,
81
+ :auth_names => auth_names,
82
+ :return_type => return_type
83
+ )
84
+
85
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
86
+ if @api_client.config.debugging
87
+ @api_client.config.logger.debug "API called: TagsApi#create_tag\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
88
+ end
89
+ return data, status_code, headers
90
+ end
91
+
92
+ # Create Tag Group
93
+ # Create a tag group. An account cannot have more than **50** unique tag groups. If `exclusive` is not specified `true` or `false`, the tag group defaults to non-exclusive. If a tag group is non-exclusive, any given related resource (campaign, flow, etc.) can be linked to multiple tags from that tag group. If a tag group is exclusive, any given related resource can only be linked to one tag from that tag group.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `Tags Read` `Tags Write`
94
+ # @param tag_group_create_query [TagGroupCreateQuery]
95
+ # @param [Hash] opts the optional parameters
96
+ # @return [Hash<String, Object>]
97
+ def create_tag_group(tag_group_create_query, opts = {})
98
+ data, _status_code, _headers = create_tag_group_with_http_info(tag_group_create_query, opts)
99
+ data
100
+ end
101
+
102
+ # Create Tag Group
103
+ # Create a tag group. An account cannot have more than **50** unique tag groups. If &#x60;exclusive&#x60; is not specified &#x60;true&#x60; or &#x60;false&#x60;, the tag group defaults to non-exclusive. If a tag group is non-exclusive, any given related resource (campaign, flow, etc.) can be linked to multiple tags from that tag group. If a tag group is exclusive, any given related resource can only be linked to one tag from that tag group.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;3/s&#x60;&lt;br&gt;Steady: &#x60;60/m&#x60; **Scopes:** &#x60;Tags Read&#x60; &#x60;Tags Write&#x60;
104
+ # @param tag_group_create_query [TagGroupCreateQuery]
105
+ # @param [Hash] opts the optional parameters
106
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
107
+ def create_tag_group_with_http_info(tag_group_create_query, opts = {})
108
+ if @api_client.config.debugging
109
+ @api_client.config.logger.debug 'Calling API: TagsApi.create_tag_group ...'
110
+ end
111
+ # verify the required parameter 'tag_group_create_query' is set
112
+ if @api_client.config.client_side_validation && tag_group_create_query.nil?
113
+ fail ArgumentError, "Missing the required parameter 'tag_group_create_query' when calling TagsApi.create_tag_group"
114
+ end
115
+ # resource path
116
+ local_var_path = '/api/tag-groups/'
117
+
118
+ # query parameters
119
+ query_params = opts[:query_params] || {}
120
+
121
+ # header parameters
122
+ header_params = opts[:header_params] || {}
123
+ # klaviyo api revision
124
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
125
+ # HTTP header 'Accept' (if needed)
126
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
127
+ # HTTP header 'Content-Type'
128
+ content_type = @api_client.select_header_content_type(['application/json'])
129
+ if !content_type.nil?
130
+ header_params['Content-Type'] = content_type
131
+ end
132
+
133
+ # form parameters
134
+ form_params = opts[:form_params] || {}
135
+
136
+ # http body (model)
137
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(tag_group_create_query)
138
+
139
+ # return_type
140
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
141
+
142
+ # auth_names
143
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
144
+
145
+ new_options = opts.merge(
146
+ :operation => :"TagsApi.create_tag_group",
147
+ :header_params => header_params,
148
+ :query_params => query_params,
149
+ :form_params => form_params,
150
+ :body => post_body,
151
+ :auth_names => auth_names,
152
+ :return_type => return_type
153
+ )
154
+
155
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
156
+ if @api_client.config.debugging
157
+ @api_client.config.logger.debug "API called: TagsApi#create_tag_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
158
+ end
159
+ return data, status_code, headers
160
+ end
161
+
162
+ # Create Tag Relationships
163
+ # Associate a tag with other resources. Any given resource cannot be associated with more than **100** tags. The `related_resource` can be one of `campaigns`, `flows`, `lists`, or `segments`. Use the request body to pass in the ID(s) of the related resource(s) that will be associated with the tag. The scopes listed below are conditionally required depending on the specified related resource.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `Flows Write` `Lists Write` `Segments Write` `Tags Write`
164
+ # @param id [String]
165
+ # @param related_resource [String]
166
+ # @param tag_segment_op [TagSegmentOp]
167
+ # @param [Hash] opts the optional parameters
168
+ # @return [nil]
169
+ def create_tag_relationships(id, related_resource, tag_segment_op, opts = {})
170
+ create_tag_relationships_with_http_info(id, related_resource, tag_segment_op, opts)
171
+ nil
172
+ end
173
+
174
+ # Create Tag Relationships
175
+ # Associate a tag with other resources. Any given resource cannot be associated with more than **100** tags. The &#x60;related_resource&#x60; can be one of &#x60;campaigns&#x60;, &#x60;flows&#x60;, &#x60;lists&#x60;, or &#x60;segments&#x60;. Use the request body to pass in the ID(s) of the related resource(s) that will be associated with the tag. The scopes listed below are conditionally required depending on the specified related resource.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;3/s&#x60;&lt;br&gt;Steady: &#x60;60/m&#x60; **Scopes:** &#x60;Flows Write&#x60; &#x60;Lists Write&#x60; &#x60;Segments Write&#x60; &#x60;Tags Write&#x60;
176
+ # @param id [String]
177
+ # @param related_resource [String]
178
+ # @param tag_segment_op [TagSegmentOp]
179
+ # @param [Hash] opts the optional parameters
180
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
181
+ def create_tag_relationships_with_http_info(id, related_resource, tag_segment_op, opts = {})
182
+ if @api_client.config.debugging
183
+ @api_client.config.logger.debug 'Calling API: TagsApi.create_tag_relationships ...'
184
+ end
185
+ # verify the required parameter 'id' is set
186
+ if @api_client.config.client_side_validation && id.nil?
187
+ fail ArgumentError, "Missing the required parameter 'id' when calling TagsApi.create_tag_relationships"
188
+ end
189
+ # verify the required parameter 'related_resource' is set
190
+ if @api_client.config.client_side_validation && related_resource.nil?
191
+ fail ArgumentError, "Missing the required parameter 'related_resource' when calling TagsApi.create_tag_relationships"
192
+ end
193
+ # verify enum value
194
+ allowable_values = ["flows", "lists", "segments", "tag-groups"]
195
+ if @api_client.config.client_side_validation && !allowable_values.include?(related_resource)
196
+ fail ArgumentError, "invalid value for \"related_resource\", must be one of #{allowable_values}"
197
+ end
198
+ # verify the required parameter 'tag_segment_op' is set
199
+ if @api_client.config.client_side_validation && tag_segment_op.nil?
200
+ fail ArgumentError, "Missing the required parameter 'tag_segment_op' when calling TagsApi.create_tag_relationships"
201
+ end
202
+ # resource path
203
+ local_var_path = '/api/tags/{id}/relationships/{related_resource}/'.sub('{' + 'id' + '}', CGI.escape(id.to_s)).sub('{' + 'related_resource' + '}', CGI.escape(related_resource.to_s))
204
+
205
+ # query parameters
206
+ query_params = opts[:query_params] || {}
207
+
208
+ # header parameters
209
+ header_params = opts[:header_params] || {}
210
+ # klaviyo api revision
211
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
212
+ # HTTP header 'Accept' (if needed)
213
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
214
+ # HTTP header 'Content-Type'
215
+ content_type = @api_client.select_header_content_type(['application/json'])
216
+ if !content_type.nil?
217
+ header_params['Content-Type'] = content_type
218
+ end
219
+
220
+ # form parameters
221
+ form_params = opts[:form_params] || {}
222
+
223
+ # http body (model)
224
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(tag_segment_op)
225
+
226
+ # return_type
227
+ return_type = opts[:debug_return_type]
228
+
229
+ # auth_names
230
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
231
+
232
+ new_options = opts.merge(
233
+ :operation => :"TagsApi.create_tag_relationships",
234
+ :header_params => header_params,
235
+ :query_params => query_params,
236
+ :form_params => form_params,
237
+ :body => post_body,
238
+ :auth_names => auth_names,
239
+ :return_type => return_type
240
+ )
241
+
242
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
243
+ if @api_client.config.debugging
244
+ @api_client.config.logger.debug "API called: TagsApi#create_tag_relationships\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
245
+ end
246
+ return data, status_code, headers
247
+ end
248
+
249
+ # Delete Tag
250
+ # Delete the tag with the given tag ID. Any associations between the tag and other resources will also be removed.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `Tags Read` `Tags Write`
251
+ # @param id [String] The Tag ID
252
+ # @param [Hash] opts the optional parameters
253
+ # @return [Hash<String, Object>]
254
+ def delete_tag(id, opts = {})
255
+ data, _status_code, _headers = delete_tag_with_http_info(id, opts)
256
+ data
257
+ end
258
+
259
+ # Delete Tag
260
+ # Delete the tag with the given tag ID. Any associations between the tag and other resources will also be removed.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;3/s&#x60;&lt;br&gt;Steady: &#x60;60/m&#x60; **Scopes:** &#x60;Tags Read&#x60; &#x60;Tags Write&#x60;
261
+ # @param id [String] The Tag ID
262
+ # @param [Hash] opts the optional parameters
263
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
264
+ def delete_tag_with_http_info(id, opts = {})
265
+ if @api_client.config.debugging
266
+ @api_client.config.logger.debug 'Calling API: TagsApi.delete_tag ...'
267
+ end
268
+ # verify the required parameter 'id' is set
269
+ if @api_client.config.client_side_validation && id.nil?
270
+ fail ArgumentError, "Missing the required parameter 'id' when calling TagsApi.delete_tag"
271
+ end
272
+ # resource path
273
+ local_var_path = '/api/tags/{id}/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
274
+
275
+ # query parameters
276
+ query_params = opts[:query_params] || {}
277
+
278
+ # header parameters
279
+ header_params = opts[:header_params] || {}
280
+ # klaviyo api revision
281
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
282
+ # HTTP header 'Accept' (if needed)
283
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
284
+
285
+ # form parameters
286
+ form_params = opts[:form_params] || {}
287
+
288
+ # http body (model)
289
+ post_body = opts[:debug_body]
290
+
291
+ # return_type
292
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
293
+
294
+ # auth_names
295
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
296
+
297
+ new_options = opts.merge(
298
+ :operation => :"TagsApi.delete_tag",
299
+ :header_params => header_params,
300
+ :query_params => query_params,
301
+ :form_params => form_params,
302
+ :body => post_body,
303
+ :auth_names => auth_names,
304
+ :return_type => return_type
305
+ )
306
+
307
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
308
+ if @api_client.config.debugging
309
+ @api_client.config.logger.debug "API called: TagsApi#delete_tag\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
310
+ end
311
+ return data, status_code, headers
312
+ end
313
+
314
+ # Delete Tag Group
315
+ # Delete the tag group with the given tag group ID. Any tags inside that tag group, and any associations between those tags and other resources, will also be removed. The default tag group cannot be deleted.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `Tags Read` `Tags Write`
316
+ # @param id [String] The Tag Group ID
317
+ # @param [Hash] opts the optional parameters
318
+ # @return [Hash<String, Object>]
319
+ def delete_tag_group(id, opts = {})
320
+ data, _status_code, _headers = delete_tag_group_with_http_info(id, opts)
321
+ data
322
+ end
323
+
324
+ # Delete Tag Group
325
+ # Delete the tag group with the given tag group ID. Any tags inside that tag group, and any associations between those tags and other resources, will also be removed. The default tag group cannot be deleted.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;3/s&#x60;&lt;br&gt;Steady: &#x60;60/m&#x60; **Scopes:** &#x60;Tags Read&#x60; &#x60;Tags Write&#x60;
326
+ # @param id [String] The Tag Group ID
327
+ # @param [Hash] opts the optional parameters
328
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
329
+ def delete_tag_group_with_http_info(id, opts = {})
330
+ if @api_client.config.debugging
331
+ @api_client.config.logger.debug 'Calling API: TagsApi.delete_tag_group ...'
332
+ end
333
+ # verify the required parameter 'id' is set
334
+ if @api_client.config.client_side_validation && id.nil?
335
+ fail ArgumentError, "Missing the required parameter 'id' when calling TagsApi.delete_tag_group"
336
+ end
337
+ # resource path
338
+ local_var_path = '/api/tag-groups/{id}/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
339
+
340
+ # query parameters
341
+ query_params = opts[:query_params] || {}
342
+
343
+ # header parameters
344
+ header_params = opts[:header_params] || {}
345
+ # klaviyo api revision
346
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
347
+ # HTTP header 'Accept' (if needed)
348
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
349
+
350
+ # form parameters
351
+ form_params = opts[:form_params] || {}
352
+
353
+ # http body (model)
354
+ post_body = opts[:debug_body]
355
+
356
+ # return_type
357
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
358
+
359
+ # auth_names
360
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
361
+
362
+ new_options = opts.merge(
363
+ :operation => :"TagsApi.delete_tag_group",
364
+ :header_params => header_params,
365
+ :query_params => query_params,
366
+ :form_params => form_params,
367
+ :body => post_body,
368
+ :auth_names => auth_names,
369
+ :return_type => return_type
370
+ )
371
+
372
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
373
+ if @api_client.config.debugging
374
+ @api_client.config.logger.debug "API called: TagsApi#delete_tag_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
375
+ end
376
+ return data, status_code, headers
377
+ end
378
+
379
+ # Delete Tag Relationships
380
+ # Remove a tag's association with other resources. The `related_resource` can be one of `campaigns`, `flows`, `lists`, or `segments`. Use the request body to pass in the ID(s) of the related resource(s) whose association with the tag will be removed. The scopes listed below are conditionally required depending on the specified related resource.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `Flows Write` `Lists Write` `Segments Write` `Tags Write`
381
+ # @param id [String]
382
+ # @param related_resource [String]
383
+ # @param tag_segment_op [TagSegmentOp]
384
+ # @param [Hash] opts the optional parameters
385
+ # @return [nil]
386
+ def delete_tag_relationships(id, related_resource, tag_segment_op, opts = {})
387
+ delete_tag_relationships_with_http_info(id, related_resource, tag_segment_op, opts)
388
+ nil
389
+ end
390
+
391
+ # Delete Tag Relationships
392
+ # Remove a tag&#39;s association with other resources. The &#x60;related_resource&#x60; can be one of &#x60;campaigns&#x60;, &#x60;flows&#x60;, &#x60;lists&#x60;, or &#x60;segments&#x60;. Use the request body to pass in the ID(s) of the related resource(s) whose association with the tag will be removed. The scopes listed below are conditionally required depending on the specified related resource.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;3/s&#x60;&lt;br&gt;Steady: &#x60;60/m&#x60; **Scopes:** &#x60;Flows Write&#x60; &#x60;Lists Write&#x60; &#x60;Segments Write&#x60; &#x60;Tags Write&#x60;
393
+ # @param id [String]
394
+ # @param related_resource [String]
395
+ # @param tag_segment_op [TagSegmentOp]
396
+ # @param [Hash] opts the optional parameters
397
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
398
+ def delete_tag_relationships_with_http_info(id, related_resource, tag_segment_op, opts = {})
399
+ if @api_client.config.debugging
400
+ @api_client.config.logger.debug 'Calling API: TagsApi.delete_tag_relationships ...'
401
+ end
402
+ # verify the required parameter 'id' is set
403
+ if @api_client.config.client_side_validation && id.nil?
404
+ fail ArgumentError, "Missing the required parameter 'id' when calling TagsApi.delete_tag_relationships"
405
+ end
406
+ # verify the required parameter 'related_resource' is set
407
+ if @api_client.config.client_side_validation && related_resource.nil?
408
+ fail ArgumentError, "Missing the required parameter 'related_resource' when calling TagsApi.delete_tag_relationships"
409
+ end
410
+ # verify enum value
411
+ allowable_values = ["flows", "lists", "segments", "tag-groups"]
412
+ if @api_client.config.client_side_validation && !allowable_values.include?(related_resource)
413
+ fail ArgumentError, "invalid value for \"related_resource\", must be one of #{allowable_values}"
414
+ end
415
+ # verify the required parameter 'tag_segment_op' is set
416
+ if @api_client.config.client_side_validation && tag_segment_op.nil?
417
+ fail ArgumentError, "Missing the required parameter 'tag_segment_op' when calling TagsApi.delete_tag_relationships"
418
+ end
419
+ # resource path
420
+ local_var_path = '/api/tags/{id}/relationships/{related_resource}/'.sub('{' + 'id' + '}', CGI.escape(id.to_s)).sub('{' + 'related_resource' + '}', CGI.escape(related_resource.to_s))
421
+
422
+ # query parameters
423
+ query_params = opts[:query_params] || {}
424
+
425
+ # header parameters
426
+ header_params = opts[:header_params] || {}
427
+ # klaviyo api revision
428
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
429
+ # HTTP header 'Accept' (if needed)
430
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
431
+ # HTTP header 'Content-Type'
432
+ content_type = @api_client.select_header_content_type(['application/json'])
433
+ if !content_type.nil?
434
+ header_params['Content-Type'] = content_type
435
+ end
436
+
437
+ # form parameters
438
+ form_params = opts[:form_params] || {}
439
+
440
+ # http body (model)
441
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(tag_segment_op)
442
+
443
+ # return_type
444
+ return_type = opts[:debug_return_type]
445
+
446
+ # auth_names
447
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
448
+
449
+ new_options = opts.merge(
450
+ :operation => :"TagsApi.delete_tag_relationships",
451
+ :header_params => header_params,
452
+ :query_params => query_params,
453
+ :form_params => form_params,
454
+ :body => post_body,
455
+ :auth_names => auth_names,
456
+ :return_type => return_type
457
+ )
458
+
459
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
460
+ if @api_client.config.debugging
461
+ @api_client.config.logger.debug "API called: TagsApi#delete_tag_relationships\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
462
+ end
463
+ return data, status_code, headers
464
+ end
465
+
466
+ # Get Tag
467
+ # Retrieve the tag with the given tag ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `Tags Read`
468
+ # @param id [String] The Tag ID
469
+ # @param [Hash] opts the optional parameters
470
+ # @option opts [Array<String>] :fields_tag For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
471
+ # @return [Hash<String, Object>]
472
+ def get_tag(id, opts = {})
473
+ data, _status_code, _headers = get_tag_with_http_info(id, opts)
474
+ data
475
+ end
476
+
477
+ # Get Tag
478
+ # Retrieve the tag with the given tag ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;3/s&#x60;&lt;br&gt;Steady: &#x60;60/m&#x60; **Scopes:** &#x60;Tags Read&#x60;
479
+ # @param id [String] The Tag ID
480
+ # @param [Hash] opts the optional parameters
481
+ # @option opts [Array<String>] :fields_tag For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
482
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
483
+ def get_tag_with_http_info(id, opts = {})
484
+ if @api_client.config.debugging
485
+ @api_client.config.logger.debug 'Calling API: TagsApi.get_tag ...'
486
+ end
487
+ # verify the required parameter 'id' is set
488
+ if @api_client.config.client_side_validation && id.nil?
489
+ fail ArgumentError, "Missing the required parameter 'id' when calling TagsApi.get_tag"
490
+ end
491
+ allowable_values = ["name"]
492
+ if @api_client.config.client_side_validation && opts[:'fields_tag'] && !opts[:'fields_tag'].all? { |item| allowable_values.include?(item) }
493
+ fail ArgumentError, "invalid value for \"fields_tag\", must include one of #{allowable_values}"
494
+ end
495
+ # resource path
496
+ local_var_path = '/api/tags/{id}/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
497
+
498
+ # query parameters
499
+ query_params = opts[:query_params] || {}
500
+ query_params[:'fields[tag]'] = @api_client.build_collection_param(opts[:'fields_tag'], :csv) if !opts[:'fields_tag'].nil?
501
+
502
+ # header parameters
503
+ header_params = opts[:header_params] || {}
504
+ # klaviyo api revision
505
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
506
+ # HTTP header 'Accept' (if needed)
507
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
508
+
509
+ # form parameters
510
+ form_params = opts[:form_params] || {}
511
+
512
+ # http body (model)
513
+ post_body = opts[:debug_body]
514
+
515
+ # return_type
516
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
517
+
518
+ # auth_names
519
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
520
+
521
+ new_options = opts.merge(
522
+ :operation => :"TagsApi.get_tag",
523
+ :header_params => header_params,
524
+ :query_params => query_params,
525
+ :form_params => form_params,
526
+ :body => post_body,
527
+ :auth_names => auth_names,
528
+ :return_type => return_type
529
+ )
530
+
531
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
532
+ if @api_client.config.debugging
533
+ @api_client.config.logger.debug "API called: TagsApi#get_tag\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
534
+ end
535
+ return data, status_code, headers
536
+ end
537
+
538
+ # Get Tag Group
539
+ # Retrieve the tag group with the given tag group ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `Tags Read`
540
+ # @param id [String] The Tag Group ID
541
+ # @param [Hash] opts the optional parameters
542
+ # @option opts [Array<String>] :fields_tag_group For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
543
+ # @return [Hash<String, Object>]
544
+ def get_tag_group(id, opts = {})
545
+ data, _status_code, _headers = get_tag_group_with_http_info(id, opts)
546
+ data
547
+ end
548
+
549
+ # Get Tag Group
550
+ # Retrieve the tag group with the given tag group ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;3/s&#x60;&lt;br&gt;Steady: &#x60;60/m&#x60; **Scopes:** &#x60;Tags Read&#x60;
551
+ # @param id [String] The Tag Group ID
552
+ # @param [Hash] opts the optional parameters
553
+ # @option opts [Array<String>] :fields_tag_group For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
554
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
555
+ def get_tag_group_with_http_info(id, opts = {})
556
+ if @api_client.config.debugging
557
+ @api_client.config.logger.debug 'Calling API: TagsApi.get_tag_group ...'
558
+ end
559
+ # verify the required parameter 'id' is set
560
+ if @api_client.config.client_side_validation && id.nil?
561
+ fail ArgumentError, "Missing the required parameter 'id' when calling TagsApi.get_tag_group"
562
+ end
563
+ allowable_values = ["name", "exclusive", "default"]
564
+ if @api_client.config.client_side_validation && opts[:'fields_tag_group'] && !opts[:'fields_tag_group'].all? { |item| allowable_values.include?(item) }
565
+ fail ArgumentError, "invalid value for \"fields_tag_group\", must include one of #{allowable_values}"
566
+ end
567
+ # resource path
568
+ local_var_path = '/api/tag-groups/{id}/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
569
+
570
+ # query parameters
571
+ query_params = opts[:query_params] || {}
572
+ query_params[:'fields[tag-group]'] = @api_client.build_collection_param(opts[:'fields_tag_group'], :csv) if !opts[:'fields_tag_group'].nil?
573
+
574
+ # header parameters
575
+ header_params = opts[:header_params] || {}
576
+ # klaviyo api revision
577
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
578
+ # HTTP header 'Accept' (if needed)
579
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
580
+
581
+ # form parameters
582
+ form_params = opts[:form_params] || {}
583
+
584
+ # http body (model)
585
+ post_body = opts[:debug_body]
586
+
587
+ # return_type
588
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
589
+
590
+ # auth_names
591
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
592
+
593
+ new_options = opts.merge(
594
+ :operation => :"TagsApi.get_tag_group",
595
+ :header_params => header_params,
596
+ :query_params => query_params,
597
+ :form_params => form_params,
598
+ :body => post_body,
599
+ :auth_names => auth_names,
600
+ :return_type => return_type
601
+ )
602
+
603
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
604
+ if @api_client.config.debugging
605
+ @api_client.config.logger.debug "API called: TagsApi#get_tag_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
606
+ end
607
+ return data, status_code, headers
608
+ end
609
+
610
+ # Get Tag Group Relationships
611
+ # When `related_resource` is `tags`, returns the tag IDs of all tags inside the given tag group.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `Tags Read`
612
+ # @param id [String]
613
+ # @param related_resource [String]
614
+ # @param [Hash] opts the optional parameters
615
+ # @return [Hash<String, Object>]
616
+ def get_tag_group_relationships(id, related_resource, opts = {})
617
+ data, _status_code, _headers = get_tag_group_relationships_with_http_info(id, related_resource, opts)
618
+ data
619
+ end
620
+
621
+ # Get Tag Group Relationships
622
+ # When &#x60;related_resource&#x60; is &#x60;tags&#x60;, returns the tag IDs of all tags inside the given tag group.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;3/s&#x60;&lt;br&gt;Steady: &#x60;60/m&#x60; **Scopes:** &#x60;Tags Read&#x60;
623
+ # @param id [String]
624
+ # @param related_resource [String]
625
+ # @param [Hash] opts the optional parameters
626
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
627
+ def get_tag_group_relationships_with_http_info(id, related_resource, opts = {})
628
+ if @api_client.config.debugging
629
+ @api_client.config.logger.debug 'Calling API: TagsApi.get_tag_group_relationships ...'
630
+ end
631
+ # verify the required parameter 'id' is set
632
+ if @api_client.config.client_side_validation && id.nil?
633
+ fail ArgumentError, "Missing the required parameter 'id' when calling TagsApi.get_tag_group_relationships"
634
+ end
635
+ # verify the required parameter 'related_resource' is set
636
+ if @api_client.config.client_side_validation && related_resource.nil?
637
+ fail ArgumentError, "Missing the required parameter 'related_resource' when calling TagsApi.get_tag_group_relationships"
638
+ end
639
+ # verify enum value
640
+ allowable_values = ["tags"]
641
+ if @api_client.config.client_side_validation && !allowable_values.include?(related_resource)
642
+ fail ArgumentError, "invalid value for \"related_resource\", must be one of #{allowable_values}"
643
+ end
644
+ # resource path
645
+ local_var_path = '/api/tag-groups/{id}/relationships/{related_resource}/'.sub('{' + 'id' + '}', CGI.escape(id.to_s)).sub('{' + 'related_resource' + '}', CGI.escape(related_resource.to_s))
646
+
647
+ # query parameters
648
+ query_params = opts[:query_params] || {}
649
+
650
+ # header parameters
651
+ header_params = opts[:header_params] || {}
652
+ # klaviyo api revision
653
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
654
+ # HTTP header 'Accept' (if needed)
655
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
656
+
657
+ # form parameters
658
+ form_params = opts[:form_params] || {}
659
+
660
+ # http body (model)
661
+ post_body = opts[:debug_body]
662
+
663
+ # return_type
664
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
665
+
666
+ # auth_names
667
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
668
+
669
+ new_options = opts.merge(
670
+ :operation => :"TagsApi.get_tag_group_relationships",
671
+ :header_params => header_params,
672
+ :query_params => query_params,
673
+ :form_params => form_params,
674
+ :body => post_body,
675
+ :auth_names => auth_names,
676
+ :return_type => return_type
677
+ )
678
+
679
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
680
+ if @api_client.config.debugging
681
+ @api_client.config.logger.debug "API called: TagsApi#get_tag_group_relationships\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
682
+ end
683
+ return data, status_code, headers
684
+ end
685
+
686
+ # Get Tag Group Tags
687
+ # Return the tags for a given tag group ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `Tags Read`
688
+ # @param id [String] The Tag Group ID
689
+ # @param [Hash] opts the optional parameters
690
+ # @option opts [Array<String>] :fields_tag For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
691
+ # @return [Hash<String, Object>]
692
+ def get_tag_group_tags(id, opts = {})
693
+ data, _status_code, _headers = get_tag_group_tags_with_http_info(id, opts)
694
+ data
695
+ end
696
+
697
+ # Get Tag Group Tags
698
+ # Return the tags for a given tag group ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;3/s&#x60;&lt;br&gt;Steady: &#x60;60/m&#x60; **Scopes:** &#x60;Tags Read&#x60;
699
+ # @param id [String] The Tag Group ID
700
+ # @param [Hash] opts the optional parameters
701
+ # @option opts [Array<String>] :fields_tag For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
702
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
703
+ def get_tag_group_tags_with_http_info(id, opts = {})
704
+ if @api_client.config.debugging
705
+ @api_client.config.logger.debug 'Calling API: TagsApi.get_tag_group_tags ...'
706
+ end
707
+ # verify the required parameter 'id' is set
708
+ if @api_client.config.client_side_validation && id.nil?
709
+ fail ArgumentError, "Missing the required parameter 'id' when calling TagsApi.get_tag_group_tags"
710
+ end
711
+ allowable_values = ["name"]
712
+ if @api_client.config.client_side_validation && opts[:'fields_tag'] && !opts[:'fields_tag'].all? { |item| allowable_values.include?(item) }
713
+ fail ArgumentError, "invalid value for \"fields_tag\", must include one of #{allowable_values}"
714
+ end
715
+ # resource path
716
+ local_var_path = '/api/tag-groups/{id}/tags/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
717
+
718
+ # query parameters
719
+ query_params = opts[:query_params] || {}
720
+ query_params[:'fields[tag]'] = @api_client.build_collection_param(opts[:'fields_tag'], :csv) if !opts[:'fields_tag'].nil?
721
+
722
+ # header parameters
723
+ header_params = opts[:header_params] || {}
724
+ # klaviyo api revision
725
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
726
+ # HTTP header 'Accept' (if needed)
727
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
728
+
729
+ # form parameters
730
+ form_params = opts[:form_params] || {}
731
+
732
+ # http body (model)
733
+ post_body = opts[:debug_body]
734
+
735
+ # return_type
736
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
737
+
738
+ # auth_names
739
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
740
+
741
+ new_options = opts.merge(
742
+ :operation => :"TagsApi.get_tag_group_tags",
743
+ :header_params => header_params,
744
+ :query_params => query_params,
745
+ :form_params => form_params,
746
+ :body => post_body,
747
+ :auth_names => auth_names,
748
+ :return_type => return_type
749
+ )
750
+
751
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
752
+ if @api_client.config.debugging
753
+ @api_client.config.logger.debug "API called: TagsApi#get_tag_group_tags\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
754
+ end
755
+ return data, status_code, headers
756
+ end
757
+
758
+ # Get Tag Groups
759
+ # List all tag groups in an account. Every account has one default tag group. Tag groups can be filtered by `name`, `exclusive`, and `default`, and sorted by `name` or `id` in ascending or descending order. Returns a maximum of 25 tag groups per request, which can be paginated with [cursor-based pagination](https://developers.klaviyo.com/en/v2022-10-17/reference/api_overview#pagination).<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `Tags Read`
760
+ # @param [Hash] opts the optional parameters
761
+ # @option opts [Array<String>] :fields_tag_group For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
762
+ # @option opts [String] :filter For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#filtering&lt;br&gt;Allowed field(s)/operator(s):&lt;br&gt;&#x60;name&#x60;: &#x60;contains&#x60;, &#x60;ends-with&#x60;, &#x60;equals&#x60;, &#x60;starts-with&#x60;&lt;br&gt;&#x60;exclusive&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;default&#x60;: &#x60;equals&#x60;
763
+ # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#pagination
764
+ # @option opts [String] :sort For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sorting
765
+ # @return [Hash<String, Object>]
766
+ def get_tag_groups(opts = {})
767
+ data, _status_code, _headers = get_tag_groups_with_http_info(opts)
768
+ data
769
+ end
770
+
771
+ # Get Tag Groups
772
+ # List all tag groups in an account. Every account has one default tag group. Tag groups can be filtered by &#x60;name&#x60;, &#x60;exclusive&#x60;, and &#x60;default&#x60;, and sorted by &#x60;name&#x60; or &#x60;id&#x60; in ascending or descending order. Returns a maximum of 25 tag groups per request, which can be paginated with [cursor-based pagination](https://developers.klaviyo.com/en/v2022-10-17/reference/api_overview#pagination).&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;3/s&#x60;&lt;br&gt;Steady: &#x60;60/m&#x60; **Scopes:** &#x60;Tags Read&#x60;
773
+ # @param [Hash] opts the optional parameters
774
+ # @option opts [Array<String>] :fields_tag_group For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
775
+ # @option opts [String] :filter For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#filtering&lt;br&gt;Allowed field(s)/operator(s):&lt;br&gt;&#x60;name&#x60;: &#x60;contains&#x60;, &#x60;ends-with&#x60;, &#x60;equals&#x60;, &#x60;starts-with&#x60;&lt;br&gt;&#x60;exclusive&#x60;: &#x60;equals&#x60;&lt;br&gt;&#x60;default&#x60;: &#x60;equals&#x60;
776
+ # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#pagination
777
+ # @option opts [String] :sort For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sorting
778
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
779
+ def get_tag_groups_with_http_info(opts = {})
780
+ if @api_client.config.debugging
781
+ @api_client.config.logger.debug 'Calling API: TagsApi.get_tag_groups ...'
782
+ end
783
+ allowable_values = ["name", "exclusive", "default"]
784
+ if @api_client.config.client_side_validation && opts[:'fields_tag_group'] && !opts[:'fields_tag_group'].all? { |item| allowable_values.include?(item) }
785
+ fail ArgumentError, "invalid value for \"fields_tag_group\", must include one of #{allowable_values}"
786
+ end
787
+ allowable_values = ["id", "-id", "name", "-name"]
788
+ if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort'])
789
+ fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
790
+ end
791
+ # resource path
792
+ local_var_path = '/api/tag-groups/'
793
+
794
+ # query parameters
795
+ query_params = opts[:query_params] || {}
796
+ query_params[:'fields[tag-group]'] = @api_client.build_collection_param(opts[:'fields_tag_group'], :csv) if !opts[:'fields_tag_group'].nil?
797
+ query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil?
798
+ query_params[:'page[cursor]'] = opts[:'page_cursor'] if !opts[:'page_cursor'].nil?
799
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
800
+
801
+ # header parameters
802
+ header_params = opts[:header_params] || {}
803
+ # klaviyo api revision
804
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
805
+ # HTTP header 'Accept' (if needed)
806
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
807
+
808
+ # form parameters
809
+ form_params = opts[:form_params] || {}
810
+
811
+ # http body (model)
812
+ post_body = opts[:debug_body]
813
+
814
+ # return_type
815
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
816
+
817
+ # auth_names
818
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
819
+
820
+ new_options = opts.merge(
821
+ :operation => :"TagsApi.get_tag_groups",
822
+ :header_params => header_params,
823
+ :query_params => query_params,
824
+ :form_params => form_params,
825
+ :body => post_body,
826
+ :auth_names => auth_names,
827
+ :return_type => return_type
828
+ )
829
+
830
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
831
+ if @api_client.config.debugging
832
+ @api_client.config.logger.debug "API called: TagsApi#get_tag_groups\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
833
+ end
834
+ return data, status_code, headers
835
+ end
836
+
837
+ # Get Tag Relationships
838
+ # Get the relationships for a tag. If `related_resource` is `tag-group`, the request will return the `tag_group_id` of the tag group to which the tag belongs. If `related_resource` is set to `campaigns`, `flows`, `lists`, or `segments`, the request will return the IDs of all associated resources of that type. The scopes listed below are conditionally required depending on the specified related resource.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `Flows Read` `Lists Read` `Segments Read` `Tags Read`
839
+ # @param id [String]
840
+ # @param related_resource [String]
841
+ # @param [Hash] opts the optional parameters
842
+ # @return [Hash<String, Object>]
843
+ def get_tag_relationships(id, related_resource, opts = {})
844
+ data, _status_code, _headers = get_tag_relationships_with_http_info(id, related_resource, opts)
845
+ data
846
+ end
847
+
848
+ # Get Tag Relationships
849
+ # Get the relationships for a tag. If &#x60;related_resource&#x60; is &#x60;tag-group&#x60;, the request will return the &#x60;tag_group_id&#x60; of the tag group to which the tag belongs. If &#x60;related_resource&#x60; is set to &#x60;campaigns&#x60;, &#x60;flows&#x60;, &#x60;lists&#x60;, or &#x60;segments&#x60;, the request will return the IDs of all associated resources of that type. The scopes listed below are conditionally required depending on the specified related resource.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;3/s&#x60;&lt;br&gt;Steady: &#x60;60/m&#x60; **Scopes:** &#x60;Flows Read&#x60; &#x60;Lists Read&#x60; &#x60;Segments Read&#x60; &#x60;Tags Read&#x60;
850
+ # @param id [String]
851
+ # @param related_resource [String]
852
+ # @param [Hash] opts the optional parameters
853
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
854
+ def get_tag_relationships_with_http_info(id, related_resource, opts = {})
855
+ if @api_client.config.debugging
856
+ @api_client.config.logger.debug 'Calling API: TagsApi.get_tag_relationships ...'
857
+ end
858
+ # verify the required parameter 'id' is set
859
+ if @api_client.config.client_side_validation && id.nil?
860
+ fail ArgumentError, "Missing the required parameter 'id' when calling TagsApi.get_tag_relationships"
861
+ end
862
+ # verify the required parameter 'related_resource' is set
863
+ if @api_client.config.client_side_validation && related_resource.nil?
864
+ fail ArgumentError, "Missing the required parameter 'related_resource' when calling TagsApi.get_tag_relationships"
865
+ end
866
+ # verify enum value
867
+ allowable_values = ["flows", "lists", "segments", "tag-groups"]
868
+ if @api_client.config.client_side_validation && !allowable_values.include?(related_resource)
869
+ fail ArgumentError, "invalid value for \"related_resource\", must be one of #{allowable_values}"
870
+ end
871
+ # resource path
872
+ local_var_path = '/api/tags/{id}/relationships/{related_resource}/'.sub('{' + 'id' + '}', CGI.escape(id.to_s)).sub('{' + 'related_resource' + '}', CGI.escape(related_resource.to_s))
873
+
874
+ # query parameters
875
+ query_params = opts[:query_params] || {}
876
+
877
+ # header parameters
878
+ header_params = opts[:header_params] || {}
879
+ # klaviyo api revision
880
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
881
+ # HTTP header 'Accept' (if needed)
882
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
883
+
884
+ # form parameters
885
+ form_params = opts[:form_params] || {}
886
+
887
+ # http body (model)
888
+ post_body = opts[:debug_body]
889
+
890
+ # return_type
891
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
892
+
893
+ # auth_names
894
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
895
+
896
+ new_options = opts.merge(
897
+ :operation => :"TagsApi.get_tag_relationships",
898
+ :header_params => header_params,
899
+ :query_params => query_params,
900
+ :form_params => form_params,
901
+ :body => post_body,
902
+ :auth_names => auth_names,
903
+ :return_type => return_type
904
+ )
905
+
906
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
907
+ if @api_client.config.debugging
908
+ @api_client.config.logger.debug "API called: TagsApi#get_tag_relationships\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
909
+ end
910
+ return data, status_code, headers
911
+ end
912
+
913
+ # Get Tag Tag Group
914
+ # Returns the tag group resource for a given tag ID.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `Tags Read`
915
+ # @param id [String] The Tag ID
916
+ # @param [Hash] opts the optional parameters
917
+ # @option opts [Array<String>] :fields_tag_group For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
918
+ # @return [Hash<String, Object>]
919
+ def get_tag_tag_group(id, opts = {})
920
+ data, _status_code, _headers = get_tag_tag_group_with_http_info(id, opts)
921
+ data
922
+ end
923
+
924
+ # Get Tag Tag Group
925
+ # Returns the tag group resource for a given tag ID.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;3/s&#x60;&lt;br&gt;Steady: &#x60;60/m&#x60; **Scopes:** &#x60;Tags Read&#x60;
926
+ # @param id [String] The Tag ID
927
+ # @param [Hash] opts the optional parameters
928
+ # @option opts [Array<String>] :fields_tag_group For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
929
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
930
+ def get_tag_tag_group_with_http_info(id, opts = {})
931
+ if @api_client.config.debugging
932
+ @api_client.config.logger.debug 'Calling API: TagsApi.get_tag_tag_group ...'
933
+ end
934
+ # verify the required parameter 'id' is set
935
+ if @api_client.config.client_side_validation && id.nil?
936
+ fail ArgumentError, "Missing the required parameter 'id' when calling TagsApi.get_tag_tag_group"
937
+ end
938
+ allowable_values = ["name", "exclusive", "default"]
939
+ if @api_client.config.client_side_validation && opts[:'fields_tag_group'] && !opts[:'fields_tag_group'].all? { |item| allowable_values.include?(item) }
940
+ fail ArgumentError, "invalid value for \"fields_tag_group\", must include one of #{allowable_values}"
941
+ end
942
+ # resource path
943
+ local_var_path = '/api/tags/{id}/tag-group/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
944
+
945
+ # query parameters
946
+ query_params = opts[:query_params] || {}
947
+ query_params[:'fields[tag-group]'] = @api_client.build_collection_param(opts[:'fields_tag_group'], :csv) if !opts[:'fields_tag_group'].nil?
948
+
949
+ # header parameters
950
+ header_params = opts[:header_params] || {}
951
+ # klaviyo api revision
952
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
953
+ # HTTP header 'Accept' (if needed)
954
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
955
+
956
+ # form parameters
957
+ form_params = opts[:form_params] || {}
958
+
959
+ # http body (model)
960
+ post_body = opts[:debug_body]
961
+
962
+ # return_type
963
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
964
+
965
+ # auth_names
966
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
967
+
968
+ new_options = opts.merge(
969
+ :operation => :"TagsApi.get_tag_tag_group",
970
+ :header_params => header_params,
971
+ :query_params => query_params,
972
+ :form_params => form_params,
973
+ :body => post_body,
974
+ :auth_names => auth_names,
975
+ :return_type => return_type
976
+ )
977
+
978
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
979
+ if @api_client.config.debugging
980
+ @api_client.config.logger.debug "API called: TagsApi#get_tag_tag_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
981
+ end
982
+ return data, status_code, headers
983
+ end
984
+
985
+ # Get Tags
986
+ # List all tags in an account. Tags can be filtered by `name`, and sorted by `name` or `id` in ascending or descending order. Returns a maximum of 50 tags per request, which can be paginated with [cursor-based pagination](https://developers.klaviyo.com/en/v2022-10-17/reference/api_overview#pagination).<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `Tags Read`
987
+ # @param [Hash] opts the optional parameters
988
+ # @option opts [Array<String>] :fields_tag For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
989
+ # @option opts [String] :filter For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#filtering&lt;br&gt;Allowed field(s)/operator(s):&lt;br&gt;&#x60;name&#x60;: &#x60;contains&#x60;, &#x60;ends-with&#x60;, &#x60;equals&#x60;, &#x60;starts-with&#x60;
990
+ # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#pagination
991
+ # @option opts [String] :sort For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sorting
992
+ # @return [Hash<String, Object>]
993
+ def get_tags(opts = {})
994
+ data, _status_code, _headers = get_tags_with_http_info(opts)
995
+ data
996
+ end
997
+
998
+ # Get Tags
999
+ # List all tags in an account. Tags can be filtered by &#x60;name&#x60;, and sorted by &#x60;name&#x60; or &#x60;id&#x60; in ascending or descending order. Returns a maximum of 50 tags per request, which can be paginated with [cursor-based pagination](https://developers.klaviyo.com/en/v2022-10-17/reference/api_overview#pagination).&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;3/s&#x60;&lt;br&gt;Steady: &#x60;60/m&#x60; **Scopes:** &#x60;Tags Read&#x60;
1000
+ # @param [Hash] opts the optional parameters
1001
+ # @option opts [Array<String>] :fields_tag For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sparse-fieldsets
1002
+ # @option opts [String] :filter For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#filtering&lt;br&gt;Allowed field(s)/operator(s):&lt;br&gt;&#x60;name&#x60;: &#x60;contains&#x60;, &#x60;ends-with&#x60;, &#x60;equals&#x60;, &#x60;starts-with&#x60;
1003
+ # @option opts [String] :page_cursor For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#pagination
1004
+ # @option opts [String] :sort For more information please visit https://developers.klaviyo.com/en/v2023-02-22/reference/api-overview#sorting
1005
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
1006
+ def get_tags_with_http_info(opts = {})
1007
+ if @api_client.config.debugging
1008
+ @api_client.config.logger.debug 'Calling API: TagsApi.get_tags ...'
1009
+ end
1010
+ allowable_values = ["name"]
1011
+ if @api_client.config.client_side_validation && opts[:'fields_tag'] && !opts[:'fields_tag'].all? { |item| allowable_values.include?(item) }
1012
+ fail ArgumentError, "invalid value for \"fields_tag\", must include one of #{allowable_values}"
1013
+ end
1014
+ allowable_values = ["id", "-id", "name", "-name"]
1015
+ if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort'])
1016
+ fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
1017
+ end
1018
+ # resource path
1019
+ local_var_path = '/api/tags/'
1020
+
1021
+ # query parameters
1022
+ query_params = opts[:query_params] || {}
1023
+ query_params[:'fields[tag]'] = @api_client.build_collection_param(opts[:'fields_tag'], :csv) if !opts[:'fields_tag'].nil?
1024
+ query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil?
1025
+ query_params[:'page[cursor]'] = opts[:'page_cursor'] if !opts[:'page_cursor'].nil?
1026
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
1027
+
1028
+ # header parameters
1029
+ header_params = opts[:header_params] || {}
1030
+ # klaviyo api revision
1031
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
1032
+ # HTTP header 'Accept' (if needed)
1033
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1034
+
1035
+ # form parameters
1036
+ form_params = opts[:form_params] || {}
1037
+
1038
+ # http body (model)
1039
+ post_body = opts[:debug_body]
1040
+
1041
+ # return_type
1042
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
1043
+
1044
+ # auth_names
1045
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
1046
+
1047
+ new_options = opts.merge(
1048
+ :operation => :"TagsApi.get_tags",
1049
+ :header_params => header_params,
1050
+ :query_params => query_params,
1051
+ :form_params => form_params,
1052
+ :body => post_body,
1053
+ :auth_names => auth_names,
1054
+ :return_type => return_type
1055
+ )
1056
+
1057
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1058
+ if @api_client.config.debugging
1059
+ @api_client.config.logger.debug "API called: TagsApi#get_tags\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1060
+ end
1061
+ return data, status_code, headers
1062
+ end
1063
+
1064
+ # Update Tag
1065
+ # Update the tag with the given tag ID. Only a tag's `name` can be changed. A tag cannot be moved from one tag group to another.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `Tags Read` `Tags Write`
1066
+ # @param id [String] The Tag ID
1067
+ # @param tag_update_query [TagUpdateQuery]
1068
+ # @param [Hash] opts the optional parameters
1069
+ # @return [Hash<String, Object>]
1070
+ def update_tag(id, tag_update_query, opts = {})
1071
+ data, _status_code, _headers = update_tag_with_http_info(id, tag_update_query, opts)
1072
+ data
1073
+ end
1074
+
1075
+ # Update Tag
1076
+ # Update the tag with the given tag ID. Only a tag&#39;s &#x60;name&#x60; can be changed. A tag cannot be moved from one tag group to another.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;3/s&#x60;&lt;br&gt;Steady: &#x60;60/m&#x60; **Scopes:** &#x60;Tags Read&#x60; &#x60;Tags Write&#x60;
1077
+ # @param id [String] The Tag ID
1078
+ # @param tag_update_query [TagUpdateQuery]
1079
+ # @param [Hash] opts the optional parameters
1080
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
1081
+ def update_tag_with_http_info(id, tag_update_query, opts = {})
1082
+ if @api_client.config.debugging
1083
+ @api_client.config.logger.debug 'Calling API: TagsApi.update_tag ...'
1084
+ end
1085
+ # verify the required parameter 'id' is set
1086
+ if @api_client.config.client_side_validation && id.nil?
1087
+ fail ArgumentError, "Missing the required parameter 'id' when calling TagsApi.update_tag"
1088
+ end
1089
+ # verify the required parameter 'tag_update_query' is set
1090
+ if @api_client.config.client_side_validation && tag_update_query.nil?
1091
+ fail ArgumentError, "Missing the required parameter 'tag_update_query' when calling TagsApi.update_tag"
1092
+ end
1093
+ # resource path
1094
+ local_var_path = '/api/tags/{id}/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
1095
+
1096
+ # query parameters
1097
+ query_params = opts[:query_params] || {}
1098
+
1099
+ # header parameters
1100
+ header_params = opts[:header_params] || {}
1101
+ # klaviyo api revision
1102
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
1103
+ # HTTP header 'Accept' (if needed)
1104
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1105
+ # HTTP header 'Content-Type'
1106
+ content_type = @api_client.select_header_content_type(['application/json'])
1107
+ if !content_type.nil?
1108
+ header_params['Content-Type'] = content_type
1109
+ end
1110
+
1111
+ # form parameters
1112
+ form_params = opts[:form_params] || {}
1113
+
1114
+ # http body (model)
1115
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(tag_update_query)
1116
+
1117
+ # return_type
1118
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
1119
+
1120
+ # auth_names
1121
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
1122
+
1123
+ new_options = opts.merge(
1124
+ :operation => :"TagsApi.update_tag",
1125
+ :header_params => header_params,
1126
+ :query_params => query_params,
1127
+ :form_params => form_params,
1128
+ :body => post_body,
1129
+ :auth_names => auth_names,
1130
+ :return_type => return_type
1131
+ )
1132
+
1133
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
1134
+ if @api_client.config.debugging
1135
+ @api_client.config.logger.debug "API called: TagsApi#update_tag\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1136
+ end
1137
+ return data, status_code, headers
1138
+ end
1139
+
1140
+ # Update Tag Group
1141
+ # Update the tag group with the given tag group ID. Only a tag group's `name` can be changed. A tag group's `exclusive` or `default` value cannot be changed.<br><br>*Rate limits*:<br>Burst: `3/s`<br>Steady: `60/m` **Scopes:** `Tags Read` `Tags Write`
1142
+ # @param id [String] The Tag Group ID
1143
+ # @param tag_group_update_query [TagGroupUpdateQuery]
1144
+ # @param [Hash] opts the optional parameters
1145
+ # @return [Hash<String, Object>]
1146
+ def update_tag_group(id, tag_group_update_query, opts = {})
1147
+ data, _status_code, _headers = update_tag_group_with_http_info(id, tag_group_update_query, opts)
1148
+ data
1149
+ end
1150
+
1151
+ # Update Tag Group
1152
+ # Update the tag group with the given tag group ID. Only a tag group&#39;s &#x60;name&#x60; can be changed. A tag group&#39;s &#x60;exclusive&#x60; or &#x60;default&#x60; value cannot be changed.&lt;br&gt;&lt;br&gt;*Rate limits*:&lt;br&gt;Burst: &#x60;3/s&#x60;&lt;br&gt;Steady: &#x60;60/m&#x60; **Scopes:** &#x60;Tags Read&#x60; &#x60;Tags Write&#x60;
1153
+ # @param id [String] The Tag Group ID
1154
+ # @param tag_group_update_query [TagGroupUpdateQuery]
1155
+ # @param [Hash] opts the optional parameters
1156
+ # @return [Array<(Hash<String, Object>, Integer, Hash)>] Hash<String, Object> data, response status code and response headers
1157
+ def update_tag_group_with_http_info(id, tag_group_update_query, opts = {})
1158
+ if @api_client.config.debugging
1159
+ @api_client.config.logger.debug 'Calling API: TagsApi.update_tag_group ...'
1160
+ end
1161
+ # verify the required parameter 'id' is set
1162
+ if @api_client.config.client_side_validation && id.nil?
1163
+ fail ArgumentError, "Missing the required parameter 'id' when calling TagsApi.update_tag_group"
1164
+ end
1165
+ # verify the required parameter 'tag_group_update_query' is set
1166
+ if @api_client.config.client_side_validation && tag_group_update_query.nil?
1167
+ fail ArgumentError, "Missing the required parameter 'tag_group_update_query' when calling TagsApi.update_tag_group"
1168
+ end
1169
+ # resource path
1170
+ local_var_path = '/api/tag-groups/{id}/'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
1171
+
1172
+ # query parameters
1173
+ query_params = opts[:query_params] || {}
1174
+
1175
+ # header parameters
1176
+ header_params = opts[:header_params] || {}
1177
+ # klaviyo api revision
1178
+ header_params['revision'] = ENV['API_REVISION'] || "2023-02-22"
1179
+ # HTTP header 'Accept' (if needed)
1180
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1181
+ # HTTP header 'Content-Type'
1182
+ content_type = @api_client.select_header_content_type(['application/json'])
1183
+ if !content_type.nil?
1184
+ header_params['Content-Type'] = content_type
1185
+ end
1186
+
1187
+ # form parameters
1188
+ form_params = opts[:form_params] || {}
1189
+
1190
+ # http body (model)
1191
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(tag_group_update_query)
1192
+
1193
+ # return_type
1194
+ return_type = opts[:debug_return_type] || 'Hash<String, Object>'
1195
+
1196
+ # auth_names
1197
+ auth_names = opts[:debug_auth_names] || ['Klaviyo-API-Key']
1198
+
1199
+ new_options = opts.merge(
1200
+ :operation => :"TagsApi.update_tag_group",
1201
+ :header_params => header_params,
1202
+ :query_params => query_params,
1203
+ :form_params => form_params,
1204
+ :body => post_body,
1205
+ :auth_names => auth_names,
1206
+ :return_type => return_type
1207
+ )
1208
+
1209
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
1210
+ if @api_client.config.debugging
1211
+ @api_client.config.logger.debug "API called: TagsApi#update_tag_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1212
+ end
1213
+ return data, status_code, headers
1214
+ end
1215
+ end
1216
+ end