pinterest_sdk 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (488) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/Gemfile.lock +70 -0
  4. data/README.md +319 -0
  5. data/Rakefile +10 -0
  6. data/bin/bundle +114 -0
  7. data/bin/byebug +27 -0
  8. data/bin/coderay +27 -0
  9. data/bin/htmldiff +27 -0
  10. data/bin/ldiff +27 -0
  11. data/bin/pry +27 -0
  12. data/bin/rake +27 -0
  13. data/bin/rspec +27 -0
  14. data/bin/rubocop +27 -0
  15. data/bin/ruby-parse +27 -0
  16. data/bin/ruby-rewrite +27 -0
  17. data/docs/Account.md +24 -0
  18. data/docs/ActionType.md +15 -0
  19. data/docs/AdAccount.md +26 -0
  20. data/docs/AdAccountOwner.md +18 -0
  21. data/docs/AdAccountsApi.md +929 -0
  22. data/docs/AdGroupResponse.md +62 -0
  23. data/docs/AdGroupResponseAllOf.md +48 -0
  24. data/docs/AdGroupResponseAllOf1.md +30 -0
  25. data/docs/AdGroupSummaryStatus.md +15 -0
  26. data/docs/AdResponse.md +70 -0
  27. data/docs/AdResponseAllOf.md +48 -0
  28. data/docs/AdResponseAllOf1.md +38 -0
  29. data/docs/AdsAnalyticsCreateAsyncRequest.md +62 -0
  30. data/docs/AdsAnalyticsCreateAsyncRequestAllOf.md +32 -0
  31. data/docs/AdsAnalyticsCreateAsyncRequestAllOf1.md +22 -0
  32. data/docs/AdsAnalyticsCreateAsyncResponse.md +22 -0
  33. data/docs/AdsAnalyticsFilterColumn.md +15 -0
  34. data/docs/AdsAnalyticsFilterOperator.md +15 -0
  35. data/docs/AdsAnalyticsGetAsyncResponse.md +22 -0
  36. data/docs/AdsAnalyticsMetricsFilter.md +22 -0
  37. data/docs/AdsAnalyticsTargetingType.md +15 -0
  38. data/docs/AnalyticsMetricsResponse.md +20 -0
  39. data/docs/AnalyticsMetricsResponseDailyMetrics.md +22 -0
  40. data/docs/AvailabilityFilter.md +18 -0
  41. data/docs/BatchOperation.md +15 -0
  42. data/docs/BatchOperationStatus.md +15 -0
  43. data/docs/Board.md +26 -0
  44. data/docs/BoardOwner.md +18 -0
  45. data/docs/BoardSection.md +20 -0
  46. data/docs/BoardUpdate.md +22 -0
  47. data/docs/BoardsApi.md +811 -0
  48. data/docs/BrandFilter.md +18 -0
  49. data/docs/CampaignCommon.md +34 -0
  50. data/docs/CampaignResponse.md +44 -0
  51. data/docs/CampaignResponseAllOf.md +18 -0
  52. data/docs/CampaignResponseAllOf1.md +24 -0
  53. data/docs/CampaignSummaryStatus.md +15 -0
  54. data/docs/CatalogsApi.md +939 -0
  55. data/docs/CatalogsDbItem.md +22 -0
  56. data/docs/CatalogsFeed.md +42 -0
  57. data/docs/CatalogsFeedCredentials.md +20 -0
  58. data/docs/CatalogsFeedIngestionDetails.md +20 -0
  59. data/docs/CatalogsFeedIngestionErrors.md +26 -0
  60. data/docs/CatalogsFeedIngestionInfo.md +22 -0
  61. data/docs/CatalogsFeedProcessingResult.md +30 -0
  62. data/docs/CatalogsFeedProcessingResultFields.md +24 -0
  63. data/docs/CatalogsFeedProcessingSchedule.md +20 -0
  64. data/docs/CatalogsFeedProcessingStatus.md +15 -0
  65. data/docs/CatalogsFeedProductCounts.md +18 -0
  66. data/docs/CatalogsFeedValidationDetails.md +20 -0
  67. data/docs/CatalogsFeedValidationErrors.md +84 -0
  68. data/docs/CatalogsFeedValidationWarnings.md +106 -0
  69. data/docs/CatalogsFeedsCreateRequest.md +34 -0
  70. data/docs/CatalogsFeedsUpdateRequest.md +32 -0
  71. data/docs/CatalogsFormat.md +15 -0
  72. data/docs/CatalogsItems.md +18 -0
  73. data/docs/CatalogsItemsBatch.md +26 -0
  74. data/docs/CatalogsItemsBatchRequest.md +24 -0
  75. data/docs/CatalogsProductGroup.md +34 -0
  76. data/docs/CatalogsProductGroupCreateRequest.md +24 -0
  77. data/docs/CatalogsProductGroupCurrencyCriteria.md +20 -0
  78. data/docs/CatalogsProductGroupFilterKeys.md +68 -0
  79. data/docs/CatalogsProductGroupFilters.md +20 -0
  80. data/docs/CatalogsProductGroupFiltersAllOf.md +18 -0
  81. data/docs/CatalogsProductGroupFiltersAnyOf.md +18 -0
  82. data/docs/CatalogsProductGroupMultipleStringCriteria.md +20 -0
  83. data/docs/CatalogsProductGroupMultipleStringListCriteria.md +20 -0
  84. data/docs/CatalogsProductGroupPricingCriteria.md +22 -0
  85. data/docs/CatalogsProductGroupStatus.md +15 -0
  86. data/docs/CatalogsProductGroupType.md +15 -0
  87. data/docs/CatalogsProductGroupUpdateRequest.md +24 -0
  88. data/docs/CatalogsStatus.md +15 -0
  89. data/docs/ConditionFilter.md +18 -0
  90. data/docs/ConversionAttributionWindowDays.md +15 -0
  91. data/docs/ConversionReportAttributionType.md +15 -0
  92. data/docs/ConversionReportTimeType.md +15 -0
  93. data/docs/Country.md +15 -0
  94. data/docs/Currency.md +15 -0
  95. data/docs/CurrencyFilter.md +18 -0
  96. data/docs/CustomLabel0Filter.md +18 -0
  97. data/docs/CustomLabel1Filter.md +18 -0
  98. data/docs/CustomLabel2Filter.md +18 -0
  99. data/docs/CustomLabel3Filter.md +18 -0
  100. data/docs/CustomLabel4Filter.md +18 -0
  101. data/docs/DataOutputFormat.md +15 -0
  102. data/docs/EntityStatus.md +15 -0
  103. data/docs/Error.md +20 -0
  104. data/docs/FeedFields.md +36 -0
  105. data/docs/GenderFilter.md +18 -0
  106. data/docs/GoogleProductCategory0Filter.md +18 -0
  107. data/docs/GoogleProductCategory1Filter.md +18 -0
  108. data/docs/GoogleProductCategory2Filter.md +18 -0
  109. data/docs/GoogleProductCategory3Filter.md +18 -0
  110. data/docs/GoogleProductCategory4Filter.md +18 -0
  111. data/docs/GoogleProductCategory5Filter.md +18 -0
  112. data/docs/GoogleProductCategory6Filter.md +18 -0
  113. data/docs/Granularity.md +15 -0
  114. data/docs/ImageDetails.md +22 -0
  115. data/docs/ItemAttributes.md +104 -0
  116. data/docs/ItemBatchRecord.md +20 -0
  117. data/docs/ItemGroupIdFilter.md +18 -0
  118. data/docs/ItemIdFilter.md +18 -0
  119. data/docs/ItemProcessingRecord.md +24 -0
  120. data/docs/ItemProcessingStatus.md +15 -0
  121. data/docs/ItemValidationEvent.md +22 -0
  122. data/docs/Language.md +15 -0
  123. data/docs/MaxPriceFilter.md +18 -0
  124. data/docs/MediaApi.md +221 -0
  125. data/docs/MediaUpload.md +24 -0
  126. data/docs/MediaUploadAllOf.md +24 -0
  127. data/docs/MediaUploadAllOfUploadParameters.md +32 -0
  128. data/docs/MediaUploadDetails.md +22 -0
  129. data/docs/MediaUploadRequest.md +18 -0
  130. data/docs/MediaUploadStatus.md +15 -0
  131. data/docs/MediaUploadType.md +15 -0
  132. data/docs/MetricsReportingLevel.md +15 -0
  133. data/docs/MinPriceFilter.md +18 -0
  134. data/docs/NonNullableCatalogsCurrency.md +15 -0
  135. data/docs/NullableCurrency.md +15 -0
  136. data/docs/OauthAccessTokenRequest.md +18 -0
  137. data/docs/OauthAccessTokenRequestCode.md +20 -0
  138. data/docs/OauthAccessTokenRequestCodeAllOf.md +20 -0
  139. data/docs/OauthAccessTokenRequestRefresh.md +20 -0
  140. data/docs/OauthAccessTokenRequestRefreshAllOf.md +20 -0
  141. data/docs/OauthAccessTokenResponse.md +26 -0
  142. data/docs/OauthAccessTokenResponseCode.md +20 -0
  143. data/docs/OauthAccessTokenResponseCodeAllOf.md +20 -0
  144. data/docs/OauthAccessTokenResponseRefresh.md +15 -0
  145. data/docs/OauthApi.md +72 -0
  146. data/docs/ObjectiveType.md +15 -0
  147. data/docs/PacingDeliveryType.md +15 -0
  148. data/docs/Paginated.md +20 -0
  149. data/docs/Pin.md +38 -0
  150. data/docs/PinMedia.md +18 -0
  151. data/docs/PinMediaSource.md +81 -0
  152. data/docs/PinMediaSourceImageBase64.md +22 -0
  153. data/docs/PinMediaSourceImageURL.md +20 -0
  154. data/docs/PinMediaSourceVideoID.md +22 -0
  155. data/docs/PinMediaWithImage.md +18 -0
  156. data/docs/PinMediaWithImageAllOf.md +18 -0
  157. data/docs/PinPromotionSummaryStatus.md +15 -0
  158. data/docs/PinsApi.md +304 -0
  159. data/docs/PlacementGroupType.md +15 -0
  160. data/docs/ProductAvailabilityType.md +15 -0
  161. data/docs/ProductGroupSummaryStatus.md +15 -0
  162. data/docs/ProductType0Filter.md +18 -0
  163. data/docs/ProductType1Filter.md +18 -0
  164. data/docs/ProductType2Filter.md +18 -0
  165. data/docs/ProductType3Filter.md +18 -0
  166. data/docs/ProductType4Filter.md +18 -0
  167. data/docs/ReportingColumnAsync.md +15 -0
  168. data/docs/TargetingTypeFilter.md +18 -0
  169. data/docs/TrackingUrls.md +26 -0
  170. data/docs/UserAccountApi.md +165 -0
  171. data/git_push.sh +57 -0
  172. data/lib/pinterest_sdk/api/ad_accounts_api.rb +1287 -0
  173. data/lib/pinterest_sdk/api/boards_api.rb +888 -0
  174. data/lib/pinterest_sdk/api/catalogs_api.rb +965 -0
  175. data/lib/pinterest_sdk/api/media_api.rb +229 -0
  176. data/lib/pinterest_sdk/api/oauth_api.rb +96 -0
  177. data/lib/pinterest_sdk/api/pins_api.rb +330 -0
  178. data/lib/pinterest_sdk/api/user_account_api.rb +201 -0
  179. data/lib/pinterest_sdk/api_client.rb +390 -0
  180. data/lib/pinterest_sdk/api_error.rb +57 -0
  181. data/lib/pinterest_sdk/configuration.rb +285 -0
  182. data/lib/pinterest_sdk/models/account.rb +280 -0
  183. data/lib/pinterest_sdk/models/action_type.rb +39 -0
  184. data/lib/pinterest_sdk/models/ad_account.rb +254 -0
  185. data/lib/pinterest_sdk/models/ad_account_owner.rb +219 -0
  186. data/lib/pinterest_sdk/models/ad_group_response.rb +555 -0
  187. data/lib/pinterest_sdk/models/ad_group_response_all_of.rb +427 -0
  188. data/lib/pinterest_sdk/models/ad_group_response_all_of1.rb +329 -0
  189. data/lib/pinterest_sdk/models/ad_group_summary_status.rb +41 -0
  190. data/lib/pinterest_sdk/models/ad_response.rb +640 -0
  191. data/lib/pinterest_sdk/models/ad_response_all_of.rb +455 -0
  192. data/lib/pinterest_sdk/models/ad_response_all_of1.rb +409 -0
  193. data/lib/pinterest_sdk/models/ads_analytics_create_async_request.rb +831 -0
  194. data/lib/pinterest_sdk/models/ads_analytics_create_async_request_all_of.rb +356 -0
  195. data/lib/pinterest_sdk/models/ads_analytics_create_async_request_all_of1.rb +253 -0
  196. data/lib/pinterest_sdk/models/ads_analytics_create_async_response.rb +237 -0
  197. data/lib/pinterest_sdk/models/ads_analytics_filter_column.rb +37 -0
  198. data/lib/pinterest_sdk/models/ads_analytics_filter_operator.rb +37 -0
  199. data/lib/pinterest_sdk/models/ads_analytics_get_async_response.rb +238 -0
  200. data/lib/pinterest_sdk/models/ads_analytics_metrics_filter.rb +254 -0
  201. data/lib/pinterest_sdk/models/ads_analytics_targeting_type.rb +48 -0
  202. data/lib/pinterest_sdk/models/analytics_metrics_response.rb +233 -0
  203. data/lib/pinterest_sdk/models/analytics_metrics_response_daily_metrics.rb +275 -0
  204. data/lib/pinterest_sdk/models/availability_filter.rb +223 -0
  205. data/lib/pinterest_sdk/models/batch_operation.rb +38 -0
  206. data/lib/pinterest_sdk/models/batch_operation_status.rb +37 -0
  207. data/lib/pinterest_sdk/models/board.rb +301 -0
  208. data/lib/pinterest_sdk/models/board_owner.rb +218 -0
  209. data/lib/pinterest_sdk/models/board_section.rb +252 -0
  210. data/lib/pinterest_sdk/models/board_update.rb +272 -0
  211. data/lib/pinterest_sdk/models/brand_filter.rb +223 -0
  212. data/lib/pinterest_sdk/models/campaign_common.rb +352 -0
  213. data/lib/pinterest_sdk/models/campaign_response.rb +435 -0
  214. data/lib/pinterest_sdk/models/campaign_response_all_of.rb +245 -0
  215. data/lib/pinterest_sdk/models/campaign_response_all_of1.rb +248 -0
  216. data/lib/pinterest_sdk/models/campaign_summary_status.rb +41 -0
  217. data/lib/pinterest_sdk/models/catalogs_db_item.rb +236 -0
  218. data/lib/pinterest_sdk/models/catalogs_feed.rb +368 -0
  219. data/lib/pinterest_sdk/models/catalogs_feed_credentials.rb +240 -0
  220. data/lib/pinterest_sdk/models/catalogs_feed_ingestion_details.rb +237 -0
  221. data/lib/pinterest_sdk/models/catalogs_feed_ingestion_errors.rb +288 -0
  222. data/lib/pinterest_sdk/models/catalogs_feed_ingestion_info.rb +236 -0
  223. data/lib/pinterest_sdk/models/catalogs_feed_processing_result.rb +296 -0
  224. data/lib/pinterest_sdk/models/catalogs_feed_processing_result_fields.rb +261 -0
  225. data/lib/pinterest_sdk/models/catalogs_feed_processing_schedule.rb +291 -0
  226. data/lib/pinterest_sdk/models/catalogs_feed_processing_status.rb +43 -0
  227. data/lib/pinterest_sdk/models/catalogs_feed_product_counts.rb +220 -0
  228. data/lib/pinterest_sdk/models/catalogs_feed_validation_details.rb +237 -0
  229. data/lib/pinterest_sdk/models/catalogs_feed_validation_errors.rb +515 -0
  230. data/lib/pinterest_sdk/models/catalogs_feed_validation_warnings.rb +614 -0
  231. data/lib/pinterest_sdk/models/catalogs_feeds_create_request.rb +313 -0
  232. data/lib/pinterest_sdk/models/catalogs_feeds_update_request.rb +288 -0
  233. data/lib/pinterest_sdk/models/catalogs_format.rb +38 -0
  234. data/lib/pinterest_sdk/models/catalogs_items.rb +222 -0
  235. data/lib/pinterest_sdk/models/catalogs_items_batch.rb +262 -0
  236. data/lib/pinterest_sdk/models/catalogs_items_batch_request.rb +249 -0
  237. data/lib/pinterest_sdk/models/catalogs_product_group.rb +345 -0
  238. data/lib/pinterest_sdk/models/catalogs_product_group_create_request.rb +284 -0
  239. data/lib/pinterest_sdk/models/catalogs_product_group_currency_criteria.rb +237 -0
  240. data/lib/pinterest_sdk/models/catalogs_product_group_filter_keys.rb +617 -0
  241. data/lib/pinterest_sdk/models/catalogs_product_group_filters.rb +252 -0
  242. data/lib/pinterest_sdk/models/catalogs_product_group_filters_all_of.rb +220 -0
  243. data/lib/pinterest_sdk/models/catalogs_product_group_filters_any_of.rb +220 -0
  244. data/lib/pinterest_sdk/models/catalogs_product_group_multiple_string_criteria.rb +239 -0
  245. data/lib/pinterest_sdk/models/catalogs_product_group_multiple_string_list_criteria.rb +239 -0
  246. data/lib/pinterest_sdk/models/catalogs_product_group_pricing_criteria.rb +251 -0
  247. data/lib/pinterest_sdk/models/catalogs_product_group_status.rb +37 -0
  248. data/lib/pinterest_sdk/models/catalogs_product_group_type.rb +42 -0
  249. data/lib/pinterest_sdk/models/catalogs_product_group_update_request.rb +284 -0
  250. data/lib/pinterest_sdk/models/catalogs_status.rb +37 -0
  251. data/lib/pinterest_sdk/models/condition_filter.rb +223 -0
  252. data/lib/pinterest_sdk/models/conversion_attribution_window_days.rb +39 -0
  253. data/lib/pinterest_sdk/models/conversion_report_attribution_type.rb +37 -0
  254. data/lib/pinterest_sdk/models/conversion_report_time_type.rb +37 -0
  255. data/lib/pinterest_sdk/models/country.rb +282 -0
  256. data/lib/pinterest_sdk/models/currency.rb +60 -0
  257. data/lib/pinterest_sdk/models/currency_filter.rb +223 -0
  258. data/lib/pinterest_sdk/models/custom_label0_filter.rb +223 -0
  259. data/lib/pinterest_sdk/models/custom_label1_filter.rb +223 -0
  260. data/lib/pinterest_sdk/models/custom_label2_filter.rb +223 -0
  261. data/lib/pinterest_sdk/models/custom_label3_filter.rb +223 -0
  262. data/lib/pinterest_sdk/models/custom_label4_filter.rb +223 -0
  263. data/lib/pinterest_sdk/models/data_output_format.rb +37 -0
  264. data/lib/pinterest_sdk/models/entity_status.rb +38 -0
  265. data/lib/pinterest_sdk/models/error.rb +237 -0
  266. data/lib/pinterest_sdk/models/feed_fields.rb +332 -0
  267. data/lib/pinterest_sdk/models/gender_filter.rb +223 -0
  268. data/lib/pinterest_sdk/models/google_product_category0_filter.rb +223 -0
  269. data/lib/pinterest_sdk/models/google_product_category1_filter.rb +223 -0
  270. data/lib/pinterest_sdk/models/google_product_category2_filter.rb +223 -0
  271. data/lib/pinterest_sdk/models/google_product_category3_filter.rb +223 -0
  272. data/lib/pinterest_sdk/models/google_product_category4_filter.rb +223 -0
  273. data/lib/pinterest_sdk/models/google_product_category5_filter.rb +223 -0
  274. data/lib/pinterest_sdk/models/google_product_category6_filter.rb +223 -0
  275. data/lib/pinterest_sdk/models/granularity.rb +40 -0
  276. data/lib/pinterest_sdk/models/image_details.rb +281 -0
  277. data/lib/pinterest_sdk/models/item_attributes.rb +833 -0
  278. data/lib/pinterest_sdk/models/item_batch_record.rb +229 -0
  279. data/lib/pinterest_sdk/models/item_group_id_filter.rb +223 -0
  280. data/lib/pinterest_sdk/models/item_id_filter.rb +223 -0
  281. data/lib/pinterest_sdk/models/item_processing_record.rb +253 -0
  282. data/lib/pinterest_sdk/models/item_processing_status.rb +38 -0
  283. data/lib/pinterest_sdk/models/item_validation_event.rb +240 -0
  284. data/lib/pinterest_sdk/models/language.rb +96 -0
  285. data/lib/pinterest_sdk/models/max_price_filter.rb +223 -0
  286. data/lib/pinterest_sdk/models/media_upload.rb +255 -0
  287. data/lib/pinterest_sdk/models/media_upload_all_of.rb +247 -0
  288. data/lib/pinterest_sdk/models/media_upload_all_of_upload_parameters.rb +282 -0
  289. data/lib/pinterest_sdk/models/media_upload_details.rb +254 -0
  290. data/lib/pinterest_sdk/models/media_upload_request.rb +224 -0
  291. data/lib/pinterest_sdk/models/media_upload_status.rb +39 -0
  292. data/lib/pinterest_sdk/models/media_upload_type.rb +36 -0
  293. data/lib/pinterest_sdk/models/metrics_reporting_level.rb +47 -0
  294. data/lib/pinterest_sdk/models/min_price_filter.rb +223 -0
  295. data/lib/pinterest_sdk/models/non_nullable_catalogs_currency.rb +198 -0
  296. data/lib/pinterest_sdk/models/nullable_currency.rb +199 -0
  297. data/lib/pinterest_sdk/models/oauth_access_token_request_code.rb +272 -0
  298. data/lib/pinterest_sdk/models/oauth_access_token_request_code_all_of.rb +237 -0
  299. data/lib/pinterest_sdk/models/oauth_access_token_request_refresh.rb +267 -0
  300. data/lib/pinterest_sdk/models/oauth_access_token_request_refresh_all_of.rb +232 -0
  301. data/lib/pinterest_sdk/models/oauth_access_token_response.rb +316 -0
  302. data/lib/pinterest_sdk/models/oauth_access_token_response_code.rb +272 -0
  303. data/lib/pinterest_sdk/models/oauth_access_token_response_code_all_of.rb +237 -0
  304. data/lib/pinterest_sdk/models/oauth_access_token_response_refresh.rb +243 -0
  305. data/lib/pinterest_sdk/models/objective_type.rb +43 -0
  306. data/lib/pinterest_sdk/models/pacing_delivery_type.rb +37 -0
  307. data/lib/pinterest_sdk/models/paginated.rb +235 -0
  308. data/lib/pinterest_sdk/models/pin.rb +359 -0
  309. data/lib/pinterest_sdk/models/pin_media.rb +224 -0
  310. data/lib/pinterest_sdk/models/pin_media_source.rb +58 -0
  311. data/lib/pinterest_sdk/models/pin_media_source_image_base64.rb +319 -0
  312. data/lib/pinterest_sdk/models/pin_media_source_image_url.rb +272 -0
  313. data/lib/pinterest_sdk/models/pin_media_source_video_id.rb +307 -0
  314. data/lib/pinterest_sdk/models/pin_media_with_image.rb +233 -0
  315. data/lib/pinterest_sdk/models/pin_media_with_image_all_of.rb +220 -0
  316. data/lib/pinterest_sdk/models/pin_promotion_summary_status.rb +41 -0
  317. data/lib/pinterest_sdk/models/placement_group_type.rb +39 -0
  318. data/lib/pinterest_sdk/models/product_availability_type.rb +39 -0
  319. data/lib/pinterest_sdk/models/product_group_summary_status.rb +39 -0
  320. data/lib/pinterest_sdk/models/product_type0_filter.rb +223 -0
  321. data/lib/pinterest_sdk/models/product_type1_filter.rb +223 -0
  322. data/lib/pinterest_sdk/models/product_type2_filter.rb +223 -0
  323. data/lib/pinterest_sdk/models/product_type3_filter.rb +223 -0
  324. data/lib/pinterest_sdk/models/product_type4_filter.rb +223 -0
  325. data/lib/pinterest_sdk/models/reporting_column_async.rb +549 -0
  326. data/lib/pinterest_sdk/models/targeting_type_filter.rb +245 -0
  327. data/lib/pinterest_sdk/models/tracking_urls.rb +340 -0
  328. data/lib/pinterest_sdk/version.rb +15 -0
  329. data/lib/pinterest_sdk.rb +192 -0
  330. data/pinterest_sdk.gemspec +38 -0
  331. data/spec/api/ad_accounts_api_spec.rb +234 -0
  332. data/spec/api/boards_api_spec.rb +181 -0
  333. data/spec/api/catalogs_api_spec.rb +200 -0
  334. data/spec/api/media_api_spec.rb +72 -0
  335. data/spec/api/oauth_api_spec.rb +47 -0
  336. data/spec/api/pins_api_spec.rb +90 -0
  337. data/spec/api/user_account_api_spec.rb +66 -0
  338. data/spec/api_client_spec.rb +226 -0
  339. data/spec/configuration_spec.rb +42 -0
  340. data/spec/models/account_spec.rb +56 -0
  341. data/spec/models/action_type_spec.rb +28 -0
  342. data/spec/models/ad_account_owner_spec.rb +34 -0
  343. data/spec/models/ad_account_spec.rb +58 -0
  344. data/spec/models/ad_group_response_all_of1_spec.rb +70 -0
  345. data/spec/models/ad_group_response_all_of_spec.rb +132 -0
  346. data/spec/models/ad_group_response_spec.rb +174 -0
  347. data/spec/models/ad_group_summary_status_spec.rb +28 -0
  348. data/spec/models/ad_response_all_of1_spec.rb +102 -0
  349. data/spec/models/ad_response_all_of_spec.rb +128 -0
  350. data/spec/models/ad_response_spec.rb +202 -0
  351. data/spec/models/ads_analytics_create_async_request_all_of1_spec.rb +46 -0
  352. data/spec/models/ads_analytics_create_async_request_all_of_spec.rb +76 -0
  353. data/spec/models/ads_analytics_create_async_request_spec.rb +166 -0
  354. data/spec/models/ads_analytics_create_async_response_spec.rb +46 -0
  355. data/spec/models/ads_analytics_filter_column_spec.rb +28 -0
  356. data/spec/models/ads_analytics_filter_operator_spec.rb +28 -0
  357. data/spec/models/ads_analytics_get_async_response_spec.rb +46 -0
  358. data/spec/models/ads_analytics_metrics_filter_spec.rb +46 -0
  359. data/spec/models/ads_analytics_targeting_type_spec.rb +28 -0
  360. data/spec/models/analytics_metrics_response_daily_metrics_spec.rb +50 -0
  361. data/spec/models/analytics_metrics_response_spec.rb +40 -0
  362. data/spec/models/availability_filter_spec.rb +34 -0
  363. data/spec/models/batch_operation_spec.rb +28 -0
  364. data/spec/models/batch_operation_status_spec.rb +28 -0
  365. data/spec/models/board_owner_spec.rb +34 -0
  366. data/spec/models/board_section_spec.rb +40 -0
  367. data/spec/models/board_spec.rb +62 -0
  368. data/spec/models/board_update_spec.rb +50 -0
  369. data/spec/models/brand_filter_spec.rb +34 -0
  370. data/spec/models/campaign_common_spec.rb +82 -0
  371. data/spec/models/campaign_response_all_of1_spec.rb +52 -0
  372. data/spec/models/campaign_response_all_of_spec.rb +34 -0
  373. data/spec/models/campaign_response_spec.rb +112 -0
  374. data/spec/models/campaign_summary_status_spec.rb +28 -0
  375. data/spec/models/catalogs_db_item_spec.rb +46 -0
  376. data/spec/models/catalogs_feed_credentials_spec.rb +40 -0
  377. data/spec/models/catalogs_feed_ingestion_details_spec.rb +40 -0
  378. data/spec/models/catalogs_feed_ingestion_errors_spec.rb +62 -0
  379. data/spec/models/catalogs_feed_ingestion_info_spec.rb +46 -0
  380. data/spec/models/catalogs_feed_processing_result_fields_spec.rb +52 -0
  381. data/spec/models/catalogs_feed_processing_result_spec.rb +70 -0
  382. data/spec/models/catalogs_feed_processing_schedule_spec.rb +44 -0
  383. data/spec/models/catalogs_feed_processing_status_spec.rb +28 -0
  384. data/spec/models/catalogs_feed_product_counts_spec.rb +34 -0
  385. data/spec/models/catalogs_feed_spec.rb +106 -0
  386. data/spec/models/catalogs_feed_validation_details_spec.rb +40 -0
  387. data/spec/models/catalogs_feed_validation_errors_spec.rb +232 -0
  388. data/spec/models/catalogs_feed_validation_warnings_spec.rb +298 -0
  389. data/spec/models/catalogs_feeds_create_request_spec.rb +82 -0
  390. data/spec/models/catalogs_feeds_update_request_spec.rb +76 -0
  391. data/spec/models/catalogs_format_spec.rb +28 -0
  392. data/spec/models/catalogs_items_batch_request_spec.rb +52 -0
  393. data/spec/models/catalogs_items_batch_spec.rb +58 -0
  394. data/spec/models/catalogs_items_spec.rb +34 -0
  395. data/spec/models/catalogs_product_group_create_request_spec.rb +52 -0
  396. data/spec/models/catalogs_product_group_currency_criteria_spec.rb +40 -0
  397. data/spec/models/catalogs_product_group_filter_keys_spec.rb +184 -0
  398. data/spec/models/catalogs_product_group_filters_all_of_spec.rb +34 -0
  399. data/spec/models/catalogs_product_group_filters_any_of_spec.rb +34 -0
  400. data/spec/models/catalogs_product_group_filters_spec.rb +40 -0
  401. data/spec/models/catalogs_product_group_multiple_string_criteria_spec.rb +40 -0
  402. data/spec/models/catalogs_product_group_multiple_string_list_criteria_spec.rb +40 -0
  403. data/spec/models/catalogs_product_group_pricing_criteria_spec.rb +46 -0
  404. data/spec/models/catalogs_product_group_spec.rb +82 -0
  405. data/spec/models/catalogs_product_group_status_spec.rb +28 -0
  406. data/spec/models/catalogs_product_group_type_spec.rb +28 -0
  407. data/spec/models/catalogs_product_group_update_request_spec.rb +52 -0
  408. data/spec/models/catalogs_status_spec.rb +28 -0
  409. data/spec/models/condition_filter_spec.rb +34 -0
  410. data/spec/models/conversion_attribution_window_days_spec.rb +28 -0
  411. data/spec/models/conversion_report_attribution_type_spec.rb +28 -0
  412. data/spec/models/conversion_report_time_type_spec.rb +28 -0
  413. data/spec/models/country_spec.rb +28 -0
  414. data/spec/models/currency_filter_spec.rb +34 -0
  415. data/spec/models/currency_spec.rb +28 -0
  416. data/spec/models/custom_label0_filter_spec.rb +34 -0
  417. data/spec/models/custom_label1_filter_spec.rb +34 -0
  418. data/spec/models/custom_label2_filter_spec.rb +34 -0
  419. data/spec/models/custom_label3_filter_spec.rb +34 -0
  420. data/spec/models/custom_label4_filter_spec.rb +34 -0
  421. data/spec/models/data_output_format_spec.rb +28 -0
  422. data/spec/models/entity_status_spec.rb +28 -0
  423. data/spec/models/error_spec.rb +40 -0
  424. data/spec/models/feed_fields_spec.rb +88 -0
  425. data/spec/models/gender_filter_spec.rb +34 -0
  426. data/spec/models/google_product_category0_filter_spec.rb +34 -0
  427. data/spec/models/google_product_category1_filter_spec.rb +34 -0
  428. data/spec/models/google_product_category2_filter_spec.rb +34 -0
  429. data/spec/models/google_product_category3_filter_spec.rb +34 -0
  430. data/spec/models/google_product_category4_filter_spec.rb +34 -0
  431. data/spec/models/google_product_category5_filter_spec.rb +34 -0
  432. data/spec/models/google_product_category6_filter_spec.rb +34 -0
  433. data/spec/models/granularity_spec.rb +28 -0
  434. data/spec/models/image_details_spec.rb +46 -0
  435. data/spec/models/item_attributes_spec.rb +292 -0
  436. data/spec/models/item_batch_record_spec.rb +40 -0
  437. data/spec/models/item_group_id_filter_spec.rb +34 -0
  438. data/spec/models/item_id_filter_spec.rb +34 -0
  439. data/spec/models/item_processing_record_spec.rb +52 -0
  440. data/spec/models/item_processing_status_spec.rb +28 -0
  441. data/spec/models/item_validation_event_spec.rb +46 -0
  442. data/spec/models/language_spec.rb +28 -0
  443. data/spec/models/max_price_filter_spec.rb +34 -0
  444. data/spec/models/media_upload_all_of_spec.rb +52 -0
  445. data/spec/models/media_upload_all_of_upload_parameters_spec.rb +76 -0
  446. data/spec/models/media_upload_details_spec.rb +46 -0
  447. data/spec/models/media_upload_request_spec.rb +34 -0
  448. data/spec/models/media_upload_spec.rb +52 -0
  449. data/spec/models/media_upload_status_spec.rb +28 -0
  450. data/spec/models/media_upload_type_spec.rb +28 -0
  451. data/spec/models/metrics_reporting_level_spec.rb +28 -0
  452. data/spec/models/min_price_filter_spec.rb +34 -0
  453. data/spec/models/non_nullable_catalogs_currency_spec.rb +28 -0
  454. data/spec/models/nullable_currency_spec.rb +28 -0
  455. data/spec/models/oauth_access_token_request_code_all_of_spec.rb +40 -0
  456. data/spec/models/oauth_access_token_request_code_spec.rb +40 -0
  457. data/spec/models/oauth_access_token_request_refresh_all_of_spec.rb +40 -0
  458. data/spec/models/oauth_access_token_request_refresh_spec.rb +40 -0
  459. data/spec/models/oauth_access_token_request_spec.rb +38 -0
  460. data/spec/models/oauth_access_token_response_code_all_of_spec.rb +40 -0
  461. data/spec/models/oauth_access_token_response_code_spec.rb +40 -0
  462. data/spec/models/oauth_access_token_response_refresh_spec.rb +28 -0
  463. data/spec/models/oauth_access_token_response_spec.rb +62 -0
  464. data/spec/models/objective_type_spec.rb +28 -0
  465. data/spec/models/pacing_delivery_type_spec.rb +28 -0
  466. data/spec/models/paginated_spec.rb +40 -0
  467. data/spec/models/pin_media_source_image_base64_spec.rb +54 -0
  468. data/spec/models/pin_media_source_image_url_spec.rb +44 -0
  469. data/spec/models/pin_media_source_spec.rb +43 -0
  470. data/spec/models/pin_media_source_video_id_spec.rb +50 -0
  471. data/spec/models/pin_media_spec.rb +34 -0
  472. data/spec/models/pin_media_with_image_all_of_spec.rb +34 -0
  473. data/spec/models/pin_media_with_image_spec.rb +34 -0
  474. data/spec/models/pin_promotion_summary_status_spec.rb +28 -0
  475. data/spec/models/pin_spec.rb +94 -0
  476. data/spec/models/placement_group_type_spec.rb +28 -0
  477. data/spec/models/product_availability_type_spec.rb +28 -0
  478. data/spec/models/product_group_summary_status_spec.rb +28 -0
  479. data/spec/models/product_type0_filter_spec.rb +34 -0
  480. data/spec/models/product_type1_filter_spec.rb +34 -0
  481. data/spec/models/product_type2_filter_spec.rb +34 -0
  482. data/spec/models/product_type3_filter_spec.rb +34 -0
  483. data/spec/models/product_type4_filter_spec.rb +34 -0
  484. data/spec/models/reporting_column_async_spec.rb +28 -0
  485. data/spec/models/targeting_type_filter_spec.rb +34 -0
  486. data/spec/models/tracking_urls_spec.rb +58 -0
  487. data/spec/spec_helper.rb +111 -0
  488. metadata +726 -0
@@ -0,0 +1,965 @@
1
+ =begin
2
+ #Pinterest REST API
3
+
4
+ #Pinterest's REST API
5
+
6
+ The version of the OpenAPI document: 5.3.0
7
+ Contact: pinterest-api@pinterest.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.4.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module PinterestSdkClient
16
+ class CatalogsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Create product group
23
+ # <strong>This endpoint is currently in beta and not available to all apps. <a href='/docs/api/v5/#tag/Understanding-catalog-management'>Learn more</a>.</strong> Create product group to use in Catalogs.
24
+ # @param catalogs_product_group_create_request [CatalogsProductGroupCreateRequest] Request object used to created a catalogs product group.
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [Object]
27
+ def catalogs_product_groups_create(catalogs_product_group_create_request, opts = {})
28
+ data, _status_code, _headers = catalogs_product_groups_create_with_http_info(catalogs_product_group_create_request, opts)
29
+ data
30
+ end
31
+
32
+ # Create product group
33
+ # &lt;strong&gt;This endpoint is currently in beta and not available to all apps. &lt;a href&#x3D;&#39;/docs/api/v5/#tag/Understanding-catalog-management&#39;&gt;Learn more&lt;/a&gt;.&lt;/strong&gt; Create product group to use in Catalogs.
34
+ # @param catalogs_product_group_create_request [CatalogsProductGroupCreateRequest] Request object used to created a catalogs product group.
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
37
+ def catalogs_product_groups_create_with_http_info(catalogs_product_group_create_request, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: CatalogsApi.catalogs_product_groups_create ...'
40
+ end
41
+ # verify the required parameter 'catalogs_product_group_create_request' is set
42
+ if @api_client.config.client_side_validation && catalogs_product_group_create_request.nil?
43
+ fail ArgumentError, "Missing the required parameter 'catalogs_product_group_create_request' when calling CatalogsApi.catalogs_product_groups_create"
44
+ end
45
+ # resource path
46
+ local_var_path = '/catalogs/product_groups'
47
+
48
+ # query parameters
49
+ query_params = opts[:query_params] || {}
50
+
51
+ # header parameters
52
+ header_params = opts[:header_params] || {}
53
+ # HTTP header 'Accept' (if needed)
54
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
55
+ # HTTP header 'Content-Type'
56
+ content_type = @api_client.select_header_content_type(['application/json'])
57
+ if !content_type.nil?
58
+ header_params['Content-Type'] = content_type
59
+ end
60
+
61
+ # form parameters
62
+ form_params = opts[:form_params] || {}
63
+
64
+ # http body (model)
65
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(catalogs_product_group_create_request)
66
+
67
+ # return_type
68
+ return_type = opts[:debug_return_type] || 'Object'
69
+
70
+ # auth_names
71
+ auth_names = opts[:debug_auth_names] || ['pinterest_oauth2']
72
+
73
+ new_options = opts.merge(
74
+ :operation => :"CatalogsApi.catalogs_product_groups_create",
75
+ :header_params => header_params,
76
+ :query_params => query_params,
77
+ :form_params => form_params,
78
+ :body => post_body,
79
+ :auth_names => auth_names,
80
+ :return_type => return_type
81
+ )
82
+
83
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
84
+ if @api_client.config.debugging
85
+ @api_client.config.logger.debug "API called: CatalogsApi#catalogs_product_groups_create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
86
+ end
87
+ return data, status_code, headers
88
+ end
89
+
90
+ # Delete product group
91
+ # <strong>This endpoint is currently in beta and not available to all apps. <a href='/docs/api/v5/#tag/Understanding-catalog-management'>Learn more</a>.</strong> Delete a product group from being in use in Catalogs.
92
+ # @param product_group_id [String] Unique identifier of a product group
93
+ # @param [Hash] opts the optional parameters
94
+ # @return [nil]
95
+ def catalogs_product_groups_delete(product_group_id, opts = {})
96
+ catalogs_product_groups_delete_with_http_info(product_group_id, opts)
97
+ nil
98
+ end
99
+
100
+ # Delete product group
101
+ # &lt;strong&gt;This endpoint is currently in beta and not available to all apps. &lt;a href&#x3D;&#39;/docs/api/v5/#tag/Understanding-catalog-management&#39;&gt;Learn more&lt;/a&gt;.&lt;/strong&gt; Delete a product group from being in use in Catalogs.
102
+ # @param product_group_id [String] Unique identifier of a product group
103
+ # @param [Hash] opts the optional parameters
104
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
105
+ def catalogs_product_groups_delete_with_http_info(product_group_id, opts = {})
106
+ if @api_client.config.debugging
107
+ @api_client.config.logger.debug 'Calling API: CatalogsApi.catalogs_product_groups_delete ...'
108
+ end
109
+ # verify the required parameter 'product_group_id' is set
110
+ if @api_client.config.client_side_validation && product_group_id.nil?
111
+ fail ArgumentError, "Missing the required parameter 'product_group_id' when calling CatalogsApi.catalogs_product_groups_delete"
112
+ end
113
+ pattern = Regexp.new(/^\d+$/)
114
+ if @api_client.config.client_side_validation && product_group_id !~ pattern
115
+ fail ArgumentError, "invalid value for 'product_group_id' when calling CatalogsApi.catalogs_product_groups_delete, must conform to the pattern #{pattern}."
116
+ end
117
+
118
+ # resource path
119
+ local_var_path = '/catalogs/product_groups/{product_group_id}'.sub('{' + 'product_group_id' + '}', CGI.escape(product_group_id.to_s))
120
+
121
+ # query parameters
122
+ query_params = opts[:query_params] || {}
123
+
124
+ # header parameters
125
+ header_params = opts[:header_params] || {}
126
+ # HTTP header 'Accept' (if needed)
127
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
128
+
129
+ # form parameters
130
+ form_params = opts[:form_params] || {}
131
+
132
+ # http body (model)
133
+ post_body = opts[:debug_body]
134
+
135
+ # return_type
136
+ return_type = opts[:debug_return_type]
137
+
138
+ # auth_names
139
+ auth_names = opts[:debug_auth_names] || ['pinterest_oauth2']
140
+
141
+ new_options = opts.merge(
142
+ :operation => :"CatalogsApi.catalogs_product_groups_delete",
143
+ :header_params => header_params,
144
+ :query_params => query_params,
145
+ :form_params => form_params,
146
+ :body => post_body,
147
+ :auth_names => auth_names,
148
+ :return_type => return_type
149
+ )
150
+
151
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
152
+ if @api_client.config.debugging
153
+ @api_client.config.logger.debug "API called: CatalogsApi#catalogs_product_groups_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
154
+ end
155
+ return data, status_code, headers
156
+ end
157
+
158
+ # Get product groups list
159
+ # <strong>This endpoint is currently in beta and not available to all apps. <a href='/docs/api/v5/#tag/Understanding-catalog-management'>Learn more</a>.</strong> Get a list of product groups for a given Catalogs Feed Id.
160
+ # @param feed_id [String] Unique identifier of a feed
161
+ # @param [Hash] opts the optional parameters
162
+ # @option opts [String] :bookmark Cursor used to fetch the next page of items
163
+ # @option opts [Integer] :page_size Maximum number of items to include in a single page of the response. See documentation on &lt;a href&#x3D;&#39;/docs/api/v5/#tag/Pagination&#39;&gt;Pagination&lt;/a&gt; for more information. (default to 25)
164
+ # @return [Paginated]
165
+ def catalogs_product_groups_list(feed_id, opts = {})
166
+ data, _status_code, _headers = catalogs_product_groups_list_with_http_info(feed_id, opts)
167
+ data
168
+ end
169
+
170
+ # Get product groups list
171
+ # &lt;strong&gt;This endpoint is currently in beta and not available to all apps. &lt;a href&#x3D;&#39;/docs/api/v5/#tag/Understanding-catalog-management&#39;&gt;Learn more&lt;/a&gt;.&lt;/strong&gt; Get a list of product groups for a given Catalogs Feed Id.
172
+ # @param feed_id [String] Unique identifier of a feed
173
+ # @param [Hash] opts the optional parameters
174
+ # @option opts [String] :bookmark Cursor used to fetch the next page of items
175
+ # @option opts [Integer] :page_size Maximum number of items to include in a single page of the response. See documentation on &lt;a href&#x3D;&#39;/docs/api/v5/#tag/Pagination&#39;&gt;Pagination&lt;/a&gt; for more information.
176
+ # @return [Array<(Paginated, Integer, Hash)>] Paginated data, response status code and response headers
177
+ def catalogs_product_groups_list_with_http_info(feed_id, opts = {})
178
+ if @api_client.config.debugging
179
+ @api_client.config.logger.debug 'Calling API: CatalogsApi.catalogs_product_groups_list ...'
180
+ end
181
+ # verify the required parameter 'feed_id' is set
182
+ if @api_client.config.client_side_validation && feed_id.nil?
183
+ fail ArgumentError, "Missing the required parameter 'feed_id' when calling CatalogsApi.catalogs_product_groups_list"
184
+ end
185
+ pattern = Regexp.new(/^\d+$/)
186
+ if @api_client.config.client_side_validation && feed_id !~ pattern
187
+ fail ArgumentError, "invalid value for 'feed_id' when calling CatalogsApi.catalogs_product_groups_list, must conform to the pattern #{pattern}."
188
+ end
189
+
190
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 100
191
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling CatalogsApi.catalogs_product_groups_list, must be smaller than or equal to 100.'
192
+ end
193
+
194
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
195
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling CatalogsApi.catalogs_product_groups_list, must be greater than or equal to 1.'
196
+ end
197
+
198
+ # resource path
199
+ local_var_path = '/catalogs/product_groups'
200
+
201
+ # query parameters
202
+ query_params = opts[:query_params] || {}
203
+ query_params[:'feed_id'] = feed_id
204
+ query_params[:'bookmark'] = opts[:'bookmark'] if !opts[:'bookmark'].nil?
205
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
206
+
207
+ # header parameters
208
+ header_params = opts[:header_params] || {}
209
+ # HTTP header 'Accept' (if needed)
210
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
211
+
212
+ # form parameters
213
+ form_params = opts[:form_params] || {}
214
+
215
+ # http body (model)
216
+ post_body = opts[:debug_body]
217
+
218
+ # return_type
219
+ return_type = opts[:debug_return_type] || 'Paginated'
220
+
221
+ # auth_names
222
+ auth_names = opts[:debug_auth_names] || ['pinterest_oauth2']
223
+
224
+ new_options = opts.merge(
225
+ :operation => :"CatalogsApi.catalogs_product_groups_list",
226
+ :header_params => header_params,
227
+ :query_params => query_params,
228
+ :form_params => form_params,
229
+ :body => post_body,
230
+ :auth_names => auth_names,
231
+ :return_type => return_type
232
+ )
233
+
234
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
235
+ if @api_client.config.debugging
236
+ @api_client.config.logger.debug "API called: CatalogsApi#catalogs_product_groups_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
237
+ end
238
+ return data, status_code, headers
239
+ end
240
+
241
+ # Update product group
242
+ # <strong>This endpoint is currently in beta and not available to all apps. <a href='/docs/api/v5/#tag/Understanding-catalog-management'>Learn more</a>.</strong> Update product group to use in Catalogs.
243
+ # @param product_group_id [String] Unique identifier of a product group
244
+ # @param catalogs_product_group_update_request [CatalogsProductGroupUpdateRequest] Request object used to Update a catalogs product group.
245
+ # @param [Hash] opts the optional parameters
246
+ # @return [CatalogsProductGroup]
247
+ def catalogs_product_groups_update(product_group_id, catalogs_product_group_update_request, opts = {})
248
+ data, _status_code, _headers = catalogs_product_groups_update_with_http_info(product_group_id, catalogs_product_group_update_request, opts)
249
+ data
250
+ end
251
+
252
+ # Update product group
253
+ # &lt;strong&gt;This endpoint is currently in beta and not available to all apps. &lt;a href&#x3D;&#39;/docs/api/v5/#tag/Understanding-catalog-management&#39;&gt;Learn more&lt;/a&gt;.&lt;/strong&gt; Update product group to use in Catalogs.
254
+ # @param product_group_id [String] Unique identifier of a product group
255
+ # @param catalogs_product_group_update_request [CatalogsProductGroupUpdateRequest] Request object used to Update a catalogs product group.
256
+ # @param [Hash] opts the optional parameters
257
+ # @return [Array<(CatalogsProductGroup, Integer, Hash)>] CatalogsProductGroup data, response status code and response headers
258
+ def catalogs_product_groups_update_with_http_info(product_group_id, catalogs_product_group_update_request, opts = {})
259
+ if @api_client.config.debugging
260
+ @api_client.config.logger.debug 'Calling API: CatalogsApi.catalogs_product_groups_update ...'
261
+ end
262
+ # verify the required parameter 'product_group_id' is set
263
+ if @api_client.config.client_side_validation && product_group_id.nil?
264
+ fail ArgumentError, "Missing the required parameter 'product_group_id' when calling CatalogsApi.catalogs_product_groups_update"
265
+ end
266
+ pattern = Regexp.new(/^\d+$/)
267
+ if @api_client.config.client_side_validation && product_group_id !~ pattern
268
+ fail ArgumentError, "invalid value for 'product_group_id' when calling CatalogsApi.catalogs_product_groups_update, must conform to the pattern #{pattern}."
269
+ end
270
+
271
+ # verify the required parameter 'catalogs_product_group_update_request' is set
272
+ if @api_client.config.client_side_validation && catalogs_product_group_update_request.nil?
273
+ fail ArgumentError, "Missing the required parameter 'catalogs_product_group_update_request' when calling CatalogsApi.catalogs_product_groups_update"
274
+ end
275
+ # resource path
276
+ local_var_path = '/catalogs/product_groups/{product_group_id}'.sub('{' + 'product_group_id' + '}', CGI.escape(product_group_id.to_s))
277
+
278
+ # query parameters
279
+ query_params = opts[:query_params] || {}
280
+
281
+ # header parameters
282
+ header_params = opts[:header_params] || {}
283
+ # HTTP header 'Accept' (if needed)
284
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
285
+ # HTTP header 'Content-Type'
286
+ content_type = @api_client.select_header_content_type(['application/json'])
287
+ if !content_type.nil?
288
+ header_params['Content-Type'] = content_type
289
+ end
290
+
291
+ # form parameters
292
+ form_params = opts[:form_params] || {}
293
+
294
+ # http body (model)
295
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(catalogs_product_group_update_request)
296
+
297
+ # return_type
298
+ return_type = opts[:debug_return_type] || 'CatalogsProductGroup'
299
+
300
+ # auth_names
301
+ auth_names = opts[:debug_auth_names] || ['pinterest_oauth2']
302
+
303
+ new_options = opts.merge(
304
+ :operation => :"CatalogsApi.catalogs_product_groups_update",
305
+ :header_params => header_params,
306
+ :query_params => query_params,
307
+ :form_params => form_params,
308
+ :body => post_body,
309
+ :auth_names => auth_names,
310
+ :return_type => return_type
311
+ )
312
+
313
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
314
+ if @api_client.config.debugging
315
+ @api_client.config.logger.debug "API called: CatalogsApi#catalogs_product_groups_update\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
316
+ end
317
+ return data, status_code, headers
318
+ end
319
+
320
+ # List processing results for a given feed
321
+ # <strong>This endpoint is currently in beta and not available to all apps. <a href='/docs/api/v5/#tag/Understanding-catalog-management'>Learn more</a>.</strong> Fetch a feed processing results owned by the owner user account.
322
+ # @param feed_id [String] Unique identifier of a feed
323
+ # @param [Hash] opts the optional parameters
324
+ # @option opts [String] :bookmark Cursor used to fetch the next page of items
325
+ # @option opts [Integer] :page_size Maximum number of items to include in a single page of the response. See documentation on &lt;a href&#x3D;&#39;/docs/api/v5/#tag/Pagination&#39;&gt;Pagination&lt;/a&gt; for more information. (default to 25)
326
+ # @return [Paginated]
327
+ def feed_processing_results_list(feed_id, opts = {})
328
+ data, _status_code, _headers = feed_processing_results_list_with_http_info(feed_id, opts)
329
+ data
330
+ end
331
+
332
+ # List processing results for a given feed
333
+ # &lt;strong&gt;This endpoint is currently in beta and not available to all apps. &lt;a href&#x3D;&#39;/docs/api/v5/#tag/Understanding-catalog-management&#39;&gt;Learn more&lt;/a&gt;.&lt;/strong&gt; Fetch a feed processing results owned by the owner user account.
334
+ # @param feed_id [String] Unique identifier of a feed
335
+ # @param [Hash] opts the optional parameters
336
+ # @option opts [String] :bookmark Cursor used to fetch the next page of items
337
+ # @option opts [Integer] :page_size Maximum number of items to include in a single page of the response. See documentation on &lt;a href&#x3D;&#39;/docs/api/v5/#tag/Pagination&#39;&gt;Pagination&lt;/a&gt; for more information.
338
+ # @return [Array<(Paginated, Integer, Hash)>] Paginated data, response status code and response headers
339
+ def feed_processing_results_list_with_http_info(feed_id, opts = {})
340
+ if @api_client.config.debugging
341
+ @api_client.config.logger.debug 'Calling API: CatalogsApi.feed_processing_results_list ...'
342
+ end
343
+ # verify the required parameter 'feed_id' is set
344
+ if @api_client.config.client_side_validation && feed_id.nil?
345
+ fail ArgumentError, "Missing the required parameter 'feed_id' when calling CatalogsApi.feed_processing_results_list"
346
+ end
347
+ pattern = Regexp.new(/^\d+$/)
348
+ if @api_client.config.client_side_validation && feed_id !~ pattern
349
+ fail ArgumentError, "invalid value for 'feed_id' when calling CatalogsApi.feed_processing_results_list, must conform to the pattern #{pattern}."
350
+ end
351
+
352
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 100
353
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling CatalogsApi.feed_processing_results_list, must be smaller than or equal to 100.'
354
+ end
355
+
356
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
357
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling CatalogsApi.feed_processing_results_list, must be greater than or equal to 1.'
358
+ end
359
+
360
+ # resource path
361
+ local_var_path = '/catalogs/feeds/{feed_id}/processing_results'.sub('{' + 'feed_id' + '}', CGI.escape(feed_id.to_s))
362
+
363
+ # query parameters
364
+ query_params = opts[:query_params] || {}
365
+ query_params[:'bookmark'] = opts[:'bookmark'] if !opts[:'bookmark'].nil?
366
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
367
+
368
+ # header parameters
369
+ header_params = opts[:header_params] || {}
370
+ # HTTP header 'Accept' (if needed)
371
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
372
+
373
+ # form parameters
374
+ form_params = opts[:form_params] || {}
375
+
376
+ # http body (model)
377
+ post_body = opts[:debug_body]
378
+
379
+ # return_type
380
+ return_type = opts[:debug_return_type] || 'Paginated'
381
+
382
+ # auth_names
383
+ auth_names = opts[:debug_auth_names] || ['pinterest_oauth2']
384
+
385
+ new_options = opts.merge(
386
+ :operation => :"CatalogsApi.feed_processing_results_list",
387
+ :header_params => header_params,
388
+ :query_params => query_params,
389
+ :form_params => form_params,
390
+ :body => post_body,
391
+ :auth_names => auth_names,
392
+ :return_type => return_type
393
+ )
394
+
395
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
396
+ if @api_client.config.debugging
397
+ @api_client.config.logger.debug "API called: CatalogsApi#feed_processing_results_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
398
+ end
399
+ return data, status_code, headers
400
+ end
401
+
402
+ # Create feed
403
+ # <strong>This endpoint is currently in beta and not available to all apps. <a href='/docs/api/v5/#tag/Understanding-catalog-management'>Learn more</a>.</strong> Create a new feed owned by the \"operating user_account\".
404
+ # @param catalogs_feeds_create_request [CatalogsFeedsCreateRequest] Request object used to created a feed.
405
+ # @param [Hash] opts the optional parameters
406
+ # @return [CatalogsFeed]
407
+ def feeds_create(catalogs_feeds_create_request, opts = {})
408
+ data, _status_code, _headers = feeds_create_with_http_info(catalogs_feeds_create_request, opts)
409
+ data
410
+ end
411
+
412
+ # Create feed
413
+ # &lt;strong&gt;This endpoint is currently in beta and not available to all apps. &lt;a href&#x3D;&#39;/docs/api/v5/#tag/Understanding-catalog-management&#39;&gt;Learn more&lt;/a&gt;.&lt;/strong&gt; Create a new feed owned by the \&quot;operating user_account\&quot;.
414
+ # @param catalogs_feeds_create_request [CatalogsFeedsCreateRequest] Request object used to created a feed.
415
+ # @param [Hash] opts the optional parameters
416
+ # @return [Array<(CatalogsFeed, Integer, Hash)>] CatalogsFeed data, response status code and response headers
417
+ def feeds_create_with_http_info(catalogs_feeds_create_request, opts = {})
418
+ if @api_client.config.debugging
419
+ @api_client.config.logger.debug 'Calling API: CatalogsApi.feeds_create ...'
420
+ end
421
+ # verify the required parameter 'catalogs_feeds_create_request' is set
422
+ if @api_client.config.client_side_validation && catalogs_feeds_create_request.nil?
423
+ fail ArgumentError, "Missing the required parameter 'catalogs_feeds_create_request' when calling CatalogsApi.feeds_create"
424
+ end
425
+ # resource path
426
+ local_var_path = '/catalogs/feeds'
427
+
428
+ # query parameters
429
+ query_params = opts[:query_params] || {}
430
+
431
+ # header parameters
432
+ header_params = opts[:header_params] || {}
433
+ # HTTP header 'Accept' (if needed)
434
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
435
+ # HTTP header 'Content-Type'
436
+ content_type = @api_client.select_header_content_type(['application/json'])
437
+ if !content_type.nil?
438
+ header_params['Content-Type'] = content_type
439
+ end
440
+
441
+ # form parameters
442
+ form_params = opts[:form_params] || {}
443
+
444
+ # http body (model)
445
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(catalogs_feeds_create_request)
446
+
447
+ # return_type
448
+ return_type = opts[:debug_return_type] || 'CatalogsFeed'
449
+
450
+ # auth_names
451
+ auth_names = opts[:debug_auth_names] || ['pinterest_oauth2']
452
+
453
+ new_options = opts.merge(
454
+ :operation => :"CatalogsApi.feeds_create",
455
+ :header_params => header_params,
456
+ :query_params => query_params,
457
+ :form_params => form_params,
458
+ :body => post_body,
459
+ :auth_names => auth_names,
460
+ :return_type => return_type
461
+ )
462
+
463
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
464
+ if @api_client.config.debugging
465
+ @api_client.config.logger.debug "API called: CatalogsApi#feeds_create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
466
+ end
467
+ return data, status_code, headers
468
+ end
469
+
470
+ # Delete feed
471
+ # <strong>This endpoint is currently in beta and not available to all apps. <a href='/docs/api/v5/#tag/Understanding-catalog-management'>Learn more</a>.</strong> Delete a feed owned by the \"operating user_account\".
472
+ # @param feed_id [String] Unique identifier of a feed
473
+ # @param [Hash] opts the optional parameters
474
+ # @return [nil]
475
+ def feeds_delete(feed_id, opts = {})
476
+ feeds_delete_with_http_info(feed_id, opts)
477
+ nil
478
+ end
479
+
480
+ # Delete feed
481
+ # &lt;strong&gt;This endpoint is currently in beta and not available to all apps. &lt;a href&#x3D;&#39;/docs/api/v5/#tag/Understanding-catalog-management&#39;&gt;Learn more&lt;/a&gt;.&lt;/strong&gt; Delete a feed owned by the \&quot;operating user_account\&quot;.
482
+ # @param feed_id [String] Unique identifier of a feed
483
+ # @param [Hash] opts the optional parameters
484
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
485
+ def feeds_delete_with_http_info(feed_id, opts = {})
486
+ if @api_client.config.debugging
487
+ @api_client.config.logger.debug 'Calling API: CatalogsApi.feeds_delete ...'
488
+ end
489
+ # verify the required parameter 'feed_id' is set
490
+ if @api_client.config.client_side_validation && feed_id.nil?
491
+ fail ArgumentError, "Missing the required parameter 'feed_id' when calling CatalogsApi.feeds_delete"
492
+ end
493
+ pattern = Regexp.new(/^\d+$/)
494
+ if @api_client.config.client_side_validation && feed_id !~ pattern
495
+ fail ArgumentError, "invalid value for 'feed_id' when calling CatalogsApi.feeds_delete, must conform to the pattern #{pattern}."
496
+ end
497
+
498
+ # resource path
499
+ local_var_path = '/catalogs/feeds/{feed_id}'.sub('{' + 'feed_id' + '}', CGI.escape(feed_id.to_s))
500
+
501
+ # query parameters
502
+ query_params = opts[:query_params] || {}
503
+
504
+ # header parameters
505
+ header_params = opts[:header_params] || {}
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]
517
+
518
+ # auth_names
519
+ auth_names = opts[:debug_auth_names] || ['pinterest_oauth2']
520
+
521
+ new_options = opts.merge(
522
+ :operation => :"CatalogsApi.feeds_delete",
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(:DELETE, local_var_path, new_options)
532
+ if @api_client.config.debugging
533
+ @api_client.config.logger.debug "API called: CatalogsApi#feeds_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
534
+ end
535
+ return data, status_code, headers
536
+ end
537
+
538
+ # Get feed
539
+ # <strong>This endpoint is currently in beta and not available to all apps. <a href='/docs/api/v5/#tag/Understanding-catalog-management'>Learn more</a>.</strong> Get a single feed owned by the \"operating user_account\".
540
+ # @param feed_id [String] Unique identifier of a feed
541
+ # @param [Hash] opts the optional parameters
542
+ # @return [CatalogsFeed]
543
+ def feeds_get(feed_id, opts = {})
544
+ data, _status_code, _headers = feeds_get_with_http_info(feed_id, opts)
545
+ data
546
+ end
547
+
548
+ # Get feed
549
+ # &lt;strong&gt;This endpoint is currently in beta and not available to all apps. &lt;a href&#x3D;&#39;/docs/api/v5/#tag/Understanding-catalog-management&#39;&gt;Learn more&lt;/a&gt;.&lt;/strong&gt; Get a single feed owned by the \&quot;operating user_account\&quot;.
550
+ # @param feed_id [String] Unique identifier of a feed
551
+ # @param [Hash] opts the optional parameters
552
+ # @return [Array<(CatalogsFeed, Integer, Hash)>] CatalogsFeed data, response status code and response headers
553
+ def feeds_get_with_http_info(feed_id, opts = {})
554
+ if @api_client.config.debugging
555
+ @api_client.config.logger.debug 'Calling API: CatalogsApi.feeds_get ...'
556
+ end
557
+ # verify the required parameter 'feed_id' is set
558
+ if @api_client.config.client_side_validation && feed_id.nil?
559
+ fail ArgumentError, "Missing the required parameter 'feed_id' when calling CatalogsApi.feeds_get"
560
+ end
561
+ pattern = Regexp.new(/^\d+$/)
562
+ if @api_client.config.client_side_validation && feed_id !~ pattern
563
+ fail ArgumentError, "invalid value for 'feed_id' when calling CatalogsApi.feeds_get, must conform to the pattern #{pattern}."
564
+ end
565
+
566
+ # resource path
567
+ local_var_path = '/catalogs/feeds/{feed_id}'.sub('{' + 'feed_id' + '}', CGI.escape(feed_id.to_s))
568
+
569
+ # query parameters
570
+ query_params = opts[:query_params] || {}
571
+
572
+ # header parameters
573
+ header_params = opts[:header_params] || {}
574
+ # HTTP header 'Accept' (if needed)
575
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
576
+
577
+ # form parameters
578
+ form_params = opts[:form_params] || {}
579
+
580
+ # http body (model)
581
+ post_body = opts[:debug_body]
582
+
583
+ # return_type
584
+ return_type = opts[:debug_return_type] || 'CatalogsFeed'
585
+
586
+ # auth_names
587
+ auth_names = opts[:debug_auth_names] || ['pinterest_oauth2']
588
+
589
+ new_options = opts.merge(
590
+ :operation => :"CatalogsApi.feeds_get",
591
+ :header_params => header_params,
592
+ :query_params => query_params,
593
+ :form_params => form_params,
594
+ :body => post_body,
595
+ :auth_names => auth_names,
596
+ :return_type => return_type
597
+ )
598
+
599
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
600
+ if @api_client.config.debugging
601
+ @api_client.config.logger.debug "API called: CatalogsApi#feeds_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
602
+ end
603
+ return data, status_code, headers
604
+ end
605
+
606
+ # List feeds
607
+ # <strong>This endpoint is currently in beta and not available to all apps. <a href='/docs/api/v5/#tag/Understanding-catalog-management'>Learn more</a>.</strong> Fetch feeds owned by the \"operating user_account\".
608
+ # @param [Hash] opts the optional parameters
609
+ # @option opts [String] :bookmark Cursor used to fetch the next page of items
610
+ # @option opts [Integer] :page_size Maximum number of items to include in a single page of the response. See documentation on &lt;a href&#x3D;&#39;/docs/api/v5/#tag/Pagination&#39;&gt;Pagination&lt;/a&gt; for more information. (default to 25)
611
+ # @return [Paginated]
612
+ def feeds_list(opts = {})
613
+ data, _status_code, _headers = feeds_list_with_http_info(opts)
614
+ data
615
+ end
616
+
617
+ # List feeds
618
+ # &lt;strong&gt;This endpoint is currently in beta and not available to all apps. &lt;a href&#x3D;&#39;/docs/api/v5/#tag/Understanding-catalog-management&#39;&gt;Learn more&lt;/a&gt;.&lt;/strong&gt; Fetch feeds owned by the \&quot;operating user_account\&quot;.
619
+ # @param [Hash] opts the optional parameters
620
+ # @option opts [String] :bookmark Cursor used to fetch the next page of items
621
+ # @option opts [Integer] :page_size Maximum number of items to include in a single page of the response. See documentation on &lt;a href&#x3D;&#39;/docs/api/v5/#tag/Pagination&#39;&gt;Pagination&lt;/a&gt; for more information.
622
+ # @return [Array<(Paginated, Integer, Hash)>] Paginated data, response status code and response headers
623
+ def feeds_list_with_http_info(opts = {})
624
+ if @api_client.config.debugging
625
+ @api_client.config.logger.debug 'Calling API: CatalogsApi.feeds_list ...'
626
+ end
627
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 100
628
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling CatalogsApi.feeds_list, must be smaller than or equal to 100.'
629
+ end
630
+
631
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
632
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling CatalogsApi.feeds_list, must be greater than or equal to 1.'
633
+ end
634
+
635
+ # resource path
636
+ local_var_path = '/catalogs/feeds'
637
+
638
+ # query parameters
639
+ query_params = opts[:query_params] || {}
640
+ query_params[:'bookmark'] = opts[:'bookmark'] if !opts[:'bookmark'].nil?
641
+ query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil?
642
+
643
+ # header parameters
644
+ header_params = opts[:header_params] || {}
645
+ # HTTP header 'Accept' (if needed)
646
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
647
+
648
+ # form parameters
649
+ form_params = opts[:form_params] || {}
650
+
651
+ # http body (model)
652
+ post_body = opts[:debug_body]
653
+
654
+ # return_type
655
+ return_type = opts[:debug_return_type] || 'Paginated'
656
+
657
+ # auth_names
658
+ auth_names = opts[:debug_auth_names] || ['pinterest_oauth2']
659
+
660
+ new_options = opts.merge(
661
+ :operation => :"CatalogsApi.feeds_list",
662
+ :header_params => header_params,
663
+ :query_params => query_params,
664
+ :form_params => form_params,
665
+ :body => post_body,
666
+ :auth_names => auth_names,
667
+ :return_type => return_type
668
+ )
669
+
670
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
671
+ if @api_client.config.debugging
672
+ @api_client.config.logger.debug "API called: CatalogsApi#feeds_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
673
+ end
674
+ return data, status_code, headers
675
+ end
676
+
677
+ # Update feed
678
+ # <strong>This endpoint is currently in beta and not available to all apps. <a href='/docs/api/v5/#tag/Understanding-catalog-management'>Learn more</a>.</strong> Update a feed owned by the \"operating user_account\".
679
+ # @param feed_id [String] Unique identifier of a feed
680
+ # @param catalogs_feeds_update_request [CatalogsFeedsUpdateRequest] Request object used to update a feed.
681
+ # @param [Hash] opts the optional parameters
682
+ # @return [CatalogsFeed]
683
+ def feeds_update(feed_id, catalogs_feeds_update_request, opts = {})
684
+ data, _status_code, _headers = feeds_update_with_http_info(feed_id, catalogs_feeds_update_request, opts)
685
+ data
686
+ end
687
+
688
+ # Update feed
689
+ # &lt;strong&gt;This endpoint is currently in beta and not available to all apps. &lt;a href&#x3D;&#39;/docs/api/v5/#tag/Understanding-catalog-management&#39;&gt;Learn more&lt;/a&gt;.&lt;/strong&gt; Update a feed owned by the \&quot;operating user_account\&quot;.
690
+ # @param feed_id [String] Unique identifier of a feed
691
+ # @param catalogs_feeds_update_request [CatalogsFeedsUpdateRequest] Request object used to update a feed.
692
+ # @param [Hash] opts the optional parameters
693
+ # @return [Array<(CatalogsFeed, Integer, Hash)>] CatalogsFeed data, response status code and response headers
694
+ def feeds_update_with_http_info(feed_id, catalogs_feeds_update_request, opts = {})
695
+ if @api_client.config.debugging
696
+ @api_client.config.logger.debug 'Calling API: CatalogsApi.feeds_update ...'
697
+ end
698
+ # verify the required parameter 'feed_id' is set
699
+ if @api_client.config.client_side_validation && feed_id.nil?
700
+ fail ArgumentError, "Missing the required parameter 'feed_id' when calling CatalogsApi.feeds_update"
701
+ end
702
+ pattern = Regexp.new(/^\d+$/)
703
+ if @api_client.config.client_side_validation && feed_id !~ pattern
704
+ fail ArgumentError, "invalid value for 'feed_id' when calling CatalogsApi.feeds_update, must conform to the pattern #{pattern}."
705
+ end
706
+
707
+ # verify the required parameter 'catalogs_feeds_update_request' is set
708
+ if @api_client.config.client_side_validation && catalogs_feeds_update_request.nil?
709
+ fail ArgumentError, "Missing the required parameter 'catalogs_feeds_update_request' when calling CatalogsApi.feeds_update"
710
+ end
711
+ # resource path
712
+ local_var_path = '/catalogs/feeds/{feed_id}'.sub('{' + 'feed_id' + '}', CGI.escape(feed_id.to_s))
713
+
714
+ # query parameters
715
+ query_params = opts[:query_params] || {}
716
+
717
+ # header parameters
718
+ header_params = opts[:header_params] || {}
719
+ # HTTP header 'Accept' (if needed)
720
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
721
+ # HTTP header 'Content-Type'
722
+ content_type = @api_client.select_header_content_type(['application/json'])
723
+ if !content_type.nil?
724
+ header_params['Content-Type'] = content_type
725
+ end
726
+
727
+ # form parameters
728
+ form_params = opts[:form_params] || {}
729
+
730
+ # http body (model)
731
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(catalogs_feeds_update_request)
732
+
733
+ # return_type
734
+ return_type = opts[:debug_return_type] || 'CatalogsFeed'
735
+
736
+ # auth_names
737
+ auth_names = opts[:debug_auth_names] || ['pinterest_oauth2']
738
+
739
+ new_options = opts.merge(
740
+ :operation => :"CatalogsApi.feeds_update",
741
+ :header_params => header_params,
742
+ :query_params => query_params,
743
+ :form_params => form_params,
744
+ :body => post_body,
745
+ :auth_names => auth_names,
746
+ :return_type => return_type
747
+ )
748
+
749
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
750
+ if @api_client.config.debugging
751
+ @api_client.config.logger.debug "API called: CatalogsApi#feeds_update\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
752
+ end
753
+ return data, status_code, headers
754
+ end
755
+
756
+ # Get catalogs items batch
757
+ # <strong>This endpoint is currently in beta and not available to all apps. <a href='/docs/api/v5/#tag/Understanding-catalog-management'>Learn more</a>.</strong> Get a single catalogs items batch created by the \"operating user_account\".
758
+ # @param batch_id [String] Id of a catalogs items batch to fetch
759
+ # @param [Hash] opts the optional parameters
760
+ # @return [CatalogsItemsBatch]
761
+ def items_batch_get(batch_id, opts = {})
762
+ data, _status_code, _headers = items_batch_get_with_http_info(batch_id, opts)
763
+ data
764
+ end
765
+
766
+ # Get catalogs items batch
767
+ # &lt;strong&gt;This endpoint is currently in beta and not available to all apps. &lt;a href&#x3D;&#39;/docs/api/v5/#tag/Understanding-catalog-management&#39;&gt;Learn more&lt;/a&gt;.&lt;/strong&gt; Get a single catalogs items batch created by the \&quot;operating user_account\&quot;.
768
+ # @param batch_id [String] Id of a catalogs items batch to fetch
769
+ # @param [Hash] opts the optional parameters
770
+ # @return [Array<(CatalogsItemsBatch, Integer, Hash)>] CatalogsItemsBatch data, response status code and response headers
771
+ def items_batch_get_with_http_info(batch_id, opts = {})
772
+ if @api_client.config.debugging
773
+ @api_client.config.logger.debug 'Calling API: CatalogsApi.items_batch_get ...'
774
+ end
775
+ # verify the required parameter 'batch_id' is set
776
+ if @api_client.config.client_side_validation && batch_id.nil?
777
+ fail ArgumentError, "Missing the required parameter 'batch_id' when calling CatalogsApi.items_batch_get"
778
+ end
779
+ # resource path
780
+ local_var_path = '/catalogs/items/batch/{batch_id}'.sub('{' + 'batch_id' + '}', CGI.escape(batch_id.to_s))
781
+
782
+ # query parameters
783
+ query_params = opts[:query_params] || {}
784
+
785
+ # header parameters
786
+ header_params = opts[:header_params] || {}
787
+ # HTTP header 'Accept' (if needed)
788
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
789
+
790
+ # form parameters
791
+ form_params = opts[:form_params] || {}
792
+
793
+ # http body (model)
794
+ post_body = opts[:debug_body]
795
+
796
+ # return_type
797
+ return_type = opts[:debug_return_type] || 'CatalogsItemsBatch'
798
+
799
+ # auth_names
800
+ auth_names = opts[:debug_auth_names] || ['pinterest_oauth2']
801
+
802
+ new_options = opts.merge(
803
+ :operation => :"CatalogsApi.items_batch_get",
804
+ :header_params => header_params,
805
+ :query_params => query_params,
806
+ :form_params => form_params,
807
+ :body => post_body,
808
+ :auth_names => auth_names,
809
+ :return_type => return_type
810
+ )
811
+
812
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
813
+ if @api_client.config.debugging
814
+ @api_client.config.logger.debug "API called: CatalogsApi#items_batch_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
815
+ end
816
+ return data, status_code, headers
817
+ end
818
+
819
+ # Perform an operation on an item batch
820
+ # <strong>This endpoint is currently in beta and not available to all apps. <a href='/docs/api/v5/#tag/Understanding-catalog-management'>Learn more</a>.</strong> This endpoint supports multiple operations on a set of one or more catalog items.
821
+ # @param catalogs_items_batch_request [CatalogsItemsBatchRequest] Request object used to create catalogs items in a batch
822
+ # @param [Hash] opts the optional parameters
823
+ # @return [CatalogsItemsBatch]
824
+ def items_batch_post(catalogs_items_batch_request, opts = {})
825
+ data, _status_code, _headers = items_batch_post_with_http_info(catalogs_items_batch_request, opts)
826
+ data
827
+ end
828
+
829
+ # Perform an operation on an item batch
830
+ # &lt;strong&gt;This endpoint is currently in beta and not available to all apps. &lt;a href&#x3D;&#39;/docs/api/v5/#tag/Understanding-catalog-management&#39;&gt;Learn more&lt;/a&gt;.&lt;/strong&gt; This endpoint supports multiple operations on a set of one or more catalog items.
831
+ # @param catalogs_items_batch_request [CatalogsItemsBatchRequest] Request object used to create catalogs items in a batch
832
+ # @param [Hash] opts the optional parameters
833
+ # @return [Array<(CatalogsItemsBatch, Integer, Hash)>] CatalogsItemsBatch data, response status code and response headers
834
+ def items_batch_post_with_http_info(catalogs_items_batch_request, opts = {})
835
+ if @api_client.config.debugging
836
+ @api_client.config.logger.debug 'Calling API: CatalogsApi.items_batch_post ...'
837
+ end
838
+ # verify the required parameter 'catalogs_items_batch_request' is set
839
+ if @api_client.config.client_side_validation && catalogs_items_batch_request.nil?
840
+ fail ArgumentError, "Missing the required parameter 'catalogs_items_batch_request' when calling CatalogsApi.items_batch_post"
841
+ end
842
+ # resource path
843
+ local_var_path = '/catalogs/items/batch'
844
+
845
+ # query parameters
846
+ query_params = opts[:query_params] || {}
847
+
848
+ # header parameters
849
+ header_params = opts[:header_params] || {}
850
+ # HTTP header 'Accept' (if needed)
851
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
852
+ # HTTP header 'Content-Type'
853
+ content_type = @api_client.select_header_content_type(['application/json'])
854
+ if !content_type.nil?
855
+ header_params['Content-Type'] = content_type
856
+ end
857
+
858
+ # form parameters
859
+ form_params = opts[:form_params] || {}
860
+
861
+ # http body (model)
862
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(catalogs_items_batch_request)
863
+
864
+ # return_type
865
+ return_type = opts[:debug_return_type] || 'CatalogsItemsBatch'
866
+
867
+ # auth_names
868
+ auth_names = opts[:debug_auth_names] || ['pinterest_oauth2']
869
+
870
+ new_options = opts.merge(
871
+ :operation => :"CatalogsApi.items_batch_post",
872
+ :header_params => header_params,
873
+ :query_params => query_params,
874
+ :form_params => form_params,
875
+ :body => post_body,
876
+ :auth_names => auth_names,
877
+ :return_type => return_type
878
+ )
879
+
880
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
881
+ if @api_client.config.debugging
882
+ @api_client.config.logger.debug "API called: CatalogsApi#items_batch_post\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
883
+ end
884
+ return data, status_code, headers
885
+ end
886
+
887
+ # Get catalogs items
888
+ # Get the items of the catalog created by the \"operating user_account\"
889
+ # @param country [String] Country for the Catalogs Items
890
+ # @param item_ids [Array<String>] Catalos Item ids
891
+ # @param language [String] Language for the Catalogs Items
892
+ # @param [Hash] opts the optional parameters
893
+ # @return [CatalogsItems]
894
+ def items_get(country, item_ids, language, opts = {})
895
+ data, _status_code, _headers = items_get_with_http_info(country, item_ids, language, opts)
896
+ data
897
+ end
898
+
899
+ # Get catalogs items
900
+ # Get the items of the catalog created by the \&quot;operating user_account\&quot;
901
+ # @param country [String] Country for the Catalogs Items
902
+ # @param item_ids [Array<String>] Catalos Item ids
903
+ # @param language [String] Language for the Catalogs Items
904
+ # @param [Hash] opts the optional parameters
905
+ # @return [Array<(CatalogsItems, Integer, Hash)>] CatalogsItems data, response status code and response headers
906
+ def items_get_with_http_info(country, item_ids, language, opts = {})
907
+ if @api_client.config.debugging
908
+ @api_client.config.logger.debug 'Calling API: CatalogsApi.items_get ...'
909
+ end
910
+ # verify the required parameter 'country' is set
911
+ if @api_client.config.client_side_validation && country.nil?
912
+ fail ArgumentError, "Missing the required parameter 'country' when calling CatalogsApi.items_get"
913
+ end
914
+ # verify the required parameter 'item_ids' is set
915
+ if @api_client.config.client_side_validation && item_ids.nil?
916
+ fail ArgumentError, "Missing the required parameter 'item_ids' when calling CatalogsApi.items_get"
917
+ end
918
+ # verify the required parameter 'language' is set
919
+ if @api_client.config.client_side_validation && language.nil?
920
+ fail ArgumentError, "Missing the required parameter 'language' when calling CatalogsApi.items_get"
921
+ end
922
+ # resource path
923
+ local_var_path = '/catalogs/items'
924
+
925
+ # query parameters
926
+ query_params = opts[:query_params] || {}
927
+ query_params[:'country'] = country
928
+ query_params[:'item_ids'] = @api_client.build_collection_param(item_ids, :multi)
929
+ query_params[:'language'] = language
930
+
931
+ # header parameters
932
+ header_params = opts[:header_params] || {}
933
+ # HTTP header 'Accept' (if needed)
934
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
935
+
936
+ # form parameters
937
+ form_params = opts[:form_params] || {}
938
+
939
+ # http body (model)
940
+ post_body = opts[:debug_body]
941
+
942
+ # return_type
943
+ return_type = opts[:debug_return_type] || 'CatalogsItems'
944
+
945
+ # auth_names
946
+ auth_names = opts[:debug_auth_names] || ['pinterest_oauth2']
947
+
948
+ new_options = opts.merge(
949
+ :operation => :"CatalogsApi.items_get",
950
+ :header_params => header_params,
951
+ :query_params => query_params,
952
+ :form_params => form_params,
953
+ :body => post_body,
954
+ :auth_names => auth_names,
955
+ :return_type => return_type
956
+ )
957
+
958
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
959
+ if @api_client.config.debugging
960
+ @api_client.config.logger.debug "API called: CatalogsApi#items_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
961
+ end
962
+ return data, status_code, headers
963
+ end
964
+ end
965
+ end