openapi: 3.0.3 info: version: 5.13.0 title: Pinterest Batch API description: This is the description of your API. contact: name: Pinterest, Inc. url: https://developers.pinterest.com/ license: name: MIT url: https://spdx.org/licenses/MIT termsOfService: https://developers.pinterest.com/terms/ servers: - url: https://api.pinterest.com/v5 tags: - name: Batch paths: /catalogs/items/batch: post: summary: Operate on item batch description: 'This endpoint supports multiple operations on a set of one or more catalog items owned by the "operation user_account". See detailed documentation here. - By default, the "operation user_account" is the token user_account. Optional: Business Access: Specify an ad_account_id (obtained via List ad accounts) to use the owner of that ad_account as the "operation user_account". In order to do this, the token user_account must have one of the following Business Access roles on the ad_account: Owner, Admin, Catalogs Manager. Note: The catalog type of Creative Assets is only allowed in the Pinterest API Sandbox. If access is required, please contact your partner manager.' operationId: items_batch/post x-ratelimit-category: catalogs_write x-sandbox: enabled security: - pinterest_oauth2: - catalogs:read - catalogs:write parameters: - $ref: '#/components/parameters/query_ad_account_id' requestBody: description: Request object used to create catalogs items in a batch required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/CatalogsVerticalBatchRequest' - $ref: '#/components/schemas/CatalogsItemsBatchRequest' responses: '200': description: Response containing the requested catalogs items batch content: application/json: schema: $ref: '#/components/schemas/CatalogsItemsBatch' '400': description: Invalid request parameters. content: application/json: schema: $ref: '#/components/schemas/Error' examples: InvalidRequest: value: code: 1 message: 'Invalid request: {''country'': ''US'', ''language'': ''EN'', ''operation'': ''CREATE'', ''items'': [{''item_id'': ''RAY_01_'', ''attributes'': {''image_link'': ''https://www.example.com/'', ''title'': ''My Product''}}]} (''https://www.example.com/'' is not of type array)' '401': description: Not authenticated to post catalogs items content: application/json: schema: $ref: '#/components/schemas/Error' examples: UnauthenticatedAccess: value: code: 2 message: Authentication failed. '403': description: Not authorized to post catalogs items content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' tags: - Batch /catalogs/items/batch/{batch_id}: get: summary: Get catalogs item batch status description: 'Get a single catalogs items batch owned by the "operating user_account". See detailed documentation here. - By default, the "operation user_account" is the token user_account. Optional: Business Access: Specify an ad_account_id (obtained via List ad accounts) to use the owner of that ad_account as the "operation user_account". In order to do this, the token user_account must have one of the following Business Access roles on the ad_account: Owner, Admin, Catalogs Manager.' operationId: items_batch/get security: - pinterest_oauth2: - catalogs:read x-ratelimit-category: catalogs_read x-sandbox: enabled parameters: - $ref: '#/components/parameters/path_catalogs_items_batch_id' - $ref: '#/components/parameters/query_ad_account_id' responses: '200': description: Response containing the requested catalogs items batch content: application/json: schema: $ref: '#/components/schemas/CatalogsItemsBatch' '401': description: Not authenticated to access catalogs items batch content: application/json: schema: $ref: '#/components/schemas/Error' examples: UnauthenticatedAccess: value: code: 2 message: Authentication failed. '403': description: Not authorized to access catalogs items batch content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Catalogs items batch not found content: application/json: schema: $ref: '#/components/schemas/Error' examples: CannotFindBatch: value: code: 4331 message: Sorry! We could not find your batch ID. '405': description: Method Not Allowed. content: application/json: schema: $ref: '#/components/schemas/Error' examples: MethodNotAllowed: value: status: failure code: 5 data: '405 Method Not Allowed: The method is not allowed for the requested URL.' message: Method not allowed endpoint_name: null default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' tags: - Batch components: schemas: CatalogsCreateCreativeAssetsItem: type: object description: A creative assets item to be created. properties: creative_assets_id: description: The catalog creative assets id in the merchant namespace example: DS0294-M type: string operation: type: string enum: - CREATE attributes: $ref: '#/components/schemas/CatalogsCreativeAssetsAttributes' required: - creative_assets_id - operation - attributes CatalogsHotelAddress: type: object properties: addr1: description: Primary street address of hotel. type: string city: description: City where the hotel is located. type: string region: description: State, county, province, where the hotel is located. type: string country: description: Country where the hotel is located. type: string postal_code: description: Required for countries with a postal code system. Postal or zip code of the hotel. type: string CatalogsHotelGuestRatings: type: object description: If specified, you must provide all properties properties: score: description: Your hotel's rating. type: number number_of_reviewers: description: Total number of people who have rated this hotel. type: integer max_score: description: Max value for the hotel rating score. type: number rating_system: description: System you use for guest reviews. type: string CatalogsItemsBatchRequest: type: object title: legacy_retail_only description: Request object of catalogs items batch oneOf: - $ref: '#/components/schemas/CatalogsItemsUpdateBatchRequest' - $ref: '#/components/schemas/CatalogsItemsUpsertBatchRequest' - $ref: '#/components/schemas/CatalogsItemsCreateBatchRequest' - $ref: '#/components/schemas/CatalogsItemsDeleteDiscontinuedBatchRequest' - $ref: '#/components/schemas/CatalogsItemsDeleteBatchRequest' discriminator: propertyName: operation mapping: UPDATE: '#/components/schemas/CatalogsItemsUpdateBatchRequest' UPSERT: '#/components/schemas/CatalogsItemsUpsertBatchRequest' CREATE: '#/components/schemas/CatalogsItemsCreateBatchRequest' DELETE_DISCONTINUED: '#/components/schemas/CatalogsItemsDeleteDiscontinuedBatchRequest' DELETE: '#/components/schemas/CatalogsItemsDeleteBatchRequest' CatalogsCreativeAssetsAttributes: type: object allOf: - type: object properties: image_link: type: string description: The creative assets image. example: https://scene.example.com/image/image_v2.jpg video_link: type: string description: The creative assets video. example: https://scene.example.com/image/image_v2.mp4 - $ref: '#/components/schemas/CatalogsUpdatableCreativeAssetsAttributes' CatalogsHotelBatchItem: description: Hotel batch item type: object anyOf: - $ref: '#/components/schemas/CatalogsCreateHotelItem' - $ref: '#/components/schemas/CatalogsUpsertHotelItem' - $ref: '#/components/schemas/CatalogsUpdateHotelItem' - $ref: '#/components/schemas/CatalogsDeleteHotelItem' discriminator: propertyName: operation mapping: CREATE: '#/components/schemas/CatalogsCreateHotelItem' UPSERT: '#/components/schemas/CatalogsUpsertHotelItem' UPDATE: '#/components/schemas/CatalogsUpdateHotelItem' DELETE: '#/components/schemas/CatalogsDeleteHotelItem' CatalogsCreateHotelItem: type: object description: A hotel item to be created. properties: hotel_id: description: The catalog hotel id in the merchant namespace example: DS0294-M type: string operation: type: string enum: - CREATE attributes: $ref: '#/components/schemas/CatalogsHotelAttributes' required: - hotel_id - operation - attributes Error: title: Error type: object properties: code: type: integer message: type: string required: - code - message CatalogsRetailBatchRequest: type: object description: A request object that can have multiple operations on a single retail batch additionalProperties: false properties: catalog_type: $ref: '#/components/schemas/CatalogsType' country: $ref: '#/components/schemas/Country' language: $ref: '#/components/schemas/Language' items: minItems: 1 maxItems: 1000 type: array description: Array with catalogs item operations items: anyOf: - $ref: '#/components/schemas/CatalogsCreateRetailItem' - $ref: '#/components/schemas/CatalogsUpdateRetailItem' - $ref: '#/components/schemas/CatalogsUpsertRetailItem' - $ref: '#/components/schemas/CatalogsDeleteRetailItem' discriminator: propertyName: operation mapping: CREATE: '#/components/schemas/CatalogsCreateRetailItem' UPDATE: '#/components/schemas/CatalogsUpdateRetailItem' UPSERT: '#/components/schemas/CatalogsUpsertRetailItem' DELETE: '#/components/schemas/CatalogsDeleteRetailItem' required: - catalog_type - country - language - items UpdatableItemAttributes: type: object properties: ad_link: description: Allows advertisers to specify a separate URL that can be used to track traffic coming from Pinterest shopping ads. Must send full URL including trackingdo not send tracking parameters only. At this time we do not support impression tracking. Must begin with http:// or https://. example: https://www.example.com/cat/denim-shirt/item012?utm_source=Pinterest type: string nullable: true adult: description: Set this attribute to TRUE if you're submitting items that are considered adult. These will not be shown on Pinterest. example: true type: boolean nullable: true age_group: description: 'The age group to apply a demographic range to the product. Must be one of the following values (upper or lowercased): newborn , infant, toddler, kids, or adult.' example: newborn type: string nullable: true availability: description: 'The availability of the product. Must be one of the following values (upper or lowercased): in stock, out of stock , preorder.' example: in stock type: string average_review_rating: description: Average reviews for the item. Can be a number from 1-5. example: 5 type: number nullable: true brand: description: The brand of the product. example: Josies Denim type: string nullable: true checkout_enabled: description: This attribute is not supported anymore. example: false type: boolean nullable: true deprecated: true color: description: The primary color of the product. example: blue type: string nullable: true condition: description: 'The condition of the product. Must be one of the following values (upper or lowercased): new, used, or refurbished.' example: new type: string nullable: true custom_label_0: description: '

<= 1000 characters

Custom grouping of products.

' example: Best sellers type: string nullable: true custom_label_1: description: '

<= 1000 characters

Custom grouping of products.

' example: Summer promotion type: string nullable: true custom_label_2: description: '

<= 1000 characters

Custom grouping of products.

' example: Winter sales type: string nullable: true custom_label_3: description: '

<= 1000 characters

Custom grouping of products.

' example: Woman dress type: string nullable: true custom_label_4: description: '

<= 1000 characters

Custom grouping of products.

' example: Man hat type: string nullable: true description: description: '

<= 10000 characters

The description of the product.

' example: Casual fit denim shirt made with the finest quality Japanese denim. type: string free_shipping_label: description: The item is free to ship. example: true type: boolean nullable: true free_shipping_limit: description: The minimum order purchase necessary for the customer to get free shipping. Only relevant if free shipping is offered. example: 35 USD type: string nullable: true gender: description: 'The gender associated with the product. Must be one of the following values (upper or lowercased): male, female , or unisex.' example: unisex type: string nullable: true google_product_category: description: The categorization of the product based on the standardized Google Product Taxonomy. This is a set taxonomy. Both the text values and numeric codes are accepted. example: Apparel & Accessories > Clothing > Shirts & Tops type: string nullable: true gtin: description: The unique universal product identifier. example: 3234567890126 type: integer nullable: true id: description: '

<= 127 characters

The user-created unique ID that represents the product. Only Unicode characters are accepted.

' example: DS0294-L type: string deprecated: true item_group_id: description: '

<= 127 characters

The parent ID of the product.

' example: DS0294 type: string nullable: true last_updated_time: description: The millisecond timestamp when the item was lastly modified by the merchant. example: 1641483432072 type: integer format: int64 nullable: true link: description: '

<= 511 characters

The landing page for the product.

' example: https://www.example.com/cat/womens-clothing/denim-shirt-0294 type: string material: description: The material used to make the product. example: cotton type: string nullable: true min_ad_price: description: The minimum advertised price of the product. It supports the following formats, "19.99 USD", "19.99USD" and "19.99". If the currency is not included, we default to US dollars. example: 19.99 USD type: string nullable: true mobile_link: description: The mobile-optimized version of your landing page. Must begin with http:// or https://. example: https://m.example.com/cat/womens-clothing/denim-shirt-0294 type: string nullable: true mpn: description: Manufacturer Part Number are alpha-numeric codes created by the manufacturer of a product to uniquely identify it among all products from the same manufacturer. example: PI12345NTEREST type: string nullable: true number_of_ratings: description: The number of ratings for the item. example: 10 type: integer nullable: true number_of_reviews: description: The number of reviews available for the item. example: 10 type: integer nullable: true pattern: description: The description of the pattern used for the product. example: plaid type: string nullable: true price: description: The price of the product. It supports the following formats, "24.99 USD", "24.99USD" and "24.99". If the currency is not included, we default to US dollars. example: 24.99 USD type: string product_type: description: '

<= 1000 characters

The categorization of your product based on your custom product taxonomy. Subcategories must be sent separated by > . The > must be wrapped by spaces. We do not recognize any other delimiters such as comma or pipe.

' example: Clothing > Womens > Shirts > Denim type: string nullable: true sale_price: description: The discounted price of the product. The sale_price must be lower than the price. It supports the following formats, "14.99 USD", "14.99USD" and "14.99". If the currency is not included, we default to US dollars. example: 14.99 USD type: string nullable: true shipping: description: Shipping consists of one group of up to four elements, country, region, service (all optional) and price (required). All colons, even for blank values, are required. example: US:CA:Ground:0 USD type: string nullable: true shipping_height: description: The height of the package needed to ship the product. Ensure there is a space between the numeric string and the metric. example: 12 in type: string nullable: true shipping_weight: description: The weight of the product. Ensure there is a space between the numeric string and the metric. example: 3 kg type: string nullable: true shipping_width: description: The width of the package needed to ship the product. Ensure there is a space between the numeric string and the metric. example: 16 in type: string nullable: true size: description: The size of the product. example: M type: string nullable: true size_system: description: 'Indicates the countrys sizing system in which you are submitting your product. Must be one of the following values (upper or lowercased): US, UK, EU, DE , FR, JP, CN, IT, BR, MEX, or AU.' example: US type: string nullable: true size_type: description: 'Additional description for the size. Must be one of the following values (upper or lowercased): regular, petite , plus, big_and_tall, or maternity.' example: regular type: string nullable: true tax: description: Tax consists of one group of up to four elements, country, region, rate (all required) and tax_ship (optional). All colons, even for blank values, are required. example: US:1025433:6.00:y type: string nullable: true title: description: '

<= 500 characters

The name of the product.

' example: Womens denim shirt, large type: string variant_names: description: Options for this variant. People will see these options next to your Pin and can select the one they want. List them in the order you want them displayed. example: - Color - Size type: array nullable: true items: type: string variant_values: description: Option values for this variant. People will see these options next to your Pin and can select the one they want. List them in the order you want them displayed. The order of the variant values must be consistent with the order of the variant names. example: - Red - Small type: array nullable: true items: type: string CatalogsRetailItemsBatch: type: object description: Object describing the catalogs retail items batch properties: batch_id: description: Id of the catalogs items batch example: 595953100599279259-66753b9bb65c46c49bd8503b27fecf9e type: string created_time: description: 'Time of the batch creation: YYYY-MM-DD''T''hh:mm:ssTZD' example: '2020-01-01T20:10:40-00:00' type: string format: date-time readOnly: true completed_time: description: 'Time of the batch completion: YYYY-MM-DD''T''hh:mm:ssTZD' example: '2022-03-10T15:37:10-00:00' type: string format: date-time readOnly: true nullable: true status: $ref: '#/components/schemas/BatchOperationStatus' catalog_type: $ref: '#/components/schemas/CatalogsType' items: description: Array with the catalogs items processing records part of the catalogs items batch items: $ref: '#/components/schemas/ItemProcessingRecord' type: array required: - catalog_type ItemUpdateBatchRecord: type: object description: Object describing an item batch record to update items properties: item_id: description: The catalog item id in the merchant namespace example: DS0294-M type: string attributes: $ref: '#/components/schemas/UpdatableItemAttributes' update_mask: description: The list of product attributes to be updated. Attributes specified in the update mask without a value specified in the body will be deleted from the product item. example: - ad_link - adult - age_group - availability - average_review_rating - brand - checkout_enabled - color - condition - custom_label_0 - custom_label_1 - custom_label_2 - custom_label_3 - custom_label_4 - description - free_shipping_label - free_shipping_limit - gender - google_product_category - gtin - item_group_id - last_updated_time - link - material - min_ad_price - mpn - number_of_ratings - number_of_reviews - pattern - price - product_type - sale_price - shipping - shipping_height - shipping_weight - shipping_width - size - size_system - size_type - tax - title - variant_names - variant_values type: array nullable: true items: $ref: '#/components/schemas/UpdateMaskFieldType' BatchOperation: description: The operation performed by the batch. The DELETE_DISCONTINUED operation only updates availablity to "Out of Stock". example: UPDATE type: string enum: - UPDATE - UPSERT - CREATE - DELETE_DISCONTINUED - DELETE CatalogsUpsertCreativeAssetsItem: type: object description: A creative assets item to be upserted. properties: creative_assets_id: description: The catalog creative assets id in the merchant namespace example: DS0294-M type: string operation: type: string enum: - UPSERT attributes: $ref: '#/components/schemas/CatalogsCreativeAssetsAttributes' required: - creative_assets_id - operation - attributes ItemValidationEvent: type: object description: Object describing an item validation event properties: attribute: description: The attribute that the item validation event references example: title type: string code: description: The event code that the item validation event references example: 106 type: integer message: description: Title message describing the item validation event example: Title is missing from product metadata. type: string HotelProcessingRecord: type: object description: Object describing an item processing record properties: hotel_id: description: The catalog hotel id in the merchant namespace example: DS0294-M type: string errors: description: 'Array with the validation errors for the item processing record. A non empty errors list causes the item processing to fail.' items: $ref: '#/components/schemas/ItemValidationEvent' type: array warnings: description: Array with the validation warnings for the item processing record items: $ref: '#/components/schemas/ItemValidationEvent' type: array status: $ref: '#/components/schemas/ItemProcessingStatus' BatchOperationStatus: description: The status of the operation performed by the batch example: PROCESSING type: string enum: - PROCESSING - COMPLETED - FAILED CreativeAssetsProcessingRecord: type: object description: Object describing an item processing record properties: creative_assets_id: description: The catalog creative assets id in the merchant namespace example: DS0294-M type: string errors: description: 'Array with the validation errors for the item processing record. A non empty errors list causes the item processing to fail.' items: $ref: '#/components/schemas/ItemValidationEvent' type: array warnings: description: Array with the validation warnings for the item processing record items: $ref: '#/components/schemas/ItemValidationEvent' type: array status: $ref: '#/components/schemas/ItemProcessingStatus' CatalogsHotelItemsBatch: type: object description: Object describing the catalogs hotel items batch properties: batch_id: description: Id of the catalogs items batch example: 595953100599279259-66753b9bb65c46c49bd8503b27fecf9e type: string created_time: description: 'Time of the batch creation: YYYY-MM-DD''T''hh:mm:ssTZD' example: '2020-01-01T20:10:40-00:00' type: string format: date-time readOnly: true completed_time: description: 'Time of the batch completion: YYYY-MM-DD''T''hh:mm:ssTZD' example: '2022-03-10T15:37:10-00:00' type: string format: date-time readOnly: true nullable: true status: $ref: '#/components/schemas/BatchOperationStatus' catalog_type: $ref: '#/components/schemas/CatalogsType' items: description: Array with the catalogs items processing records part of the catalogs items batch items: $ref: '#/components/schemas/HotelProcessingRecord' type: array required: - catalog_type ItemCreateBatchRecord: type: object description: Object describing an item batch record to create items properties: item_id: description: The catalog item id in the merchant namespace example: DS0294-M type: string attributes: $ref: '#/components/schemas/ItemAttributesRequest' ItemUpsertBatchRecord: type: object description: Object describing an item batch record to upsert items properties: item_id: description: The catalog item id in the merchant namespace example: DS0294-M type: string attributes: $ref: '#/components/schemas/ItemAttributesRequest' CatalogsCreativeAssetsBatchItem: description: Creative assets batch item type: object anyOf: - $ref: '#/components/schemas/CatalogsCreateCreativeAssetsItem' - $ref: '#/components/schemas/CatalogsUpsertCreativeAssetsItem' - $ref: '#/components/schemas/CatalogsUpdateCreativeAssetsItem' - $ref: '#/components/schemas/CatalogsDeleteCreativeAssetsItem' discriminator: propertyName: operation mapping: CREATE: '#/components/schemas/CatalogsCreateCreativeAssetsItem' UPSERT: '#/components/schemas/CatalogsUpsertCreativeAssetsItem' UPDATE: '#/components/schemas/CatalogsUpdateCreativeAssetsItem' DELETE: '#/components/schemas/CatalogsDeleteCreativeAssetsItem' CatalogsItemsUpsertBatchRequest: description: Request object to upsert catalogs items type: object properties: country: $ref: '#/components/schemas/Country' language: $ref: '#/components/schemas/Language' operation: $ref: '#/components/schemas/BatchOperation' items: type: array description: Array with catalogs items items: $ref: '#/components/schemas/ItemUpsertBatchRecord' minItems: 1 maxItems: 1000 required: - country - language - operation - items CatalogsUpsertRetailItem: type: object description: An item to be upserted properties: item_id: description: The catalog item id in the merchant namespace example: DS0294-M type: string operation: type: string enum: - CREATE - UPDATE - UPSERT - DELETE attributes: $ref: '#/components/schemas/ItemAttributesRequest' required: - item_id - operation - attributes CatalogsItemsCreateBatchRequest: description: Request object to create catalogs items type: object additionalProperties: false properties: country: $ref: '#/components/schemas/Country' language: $ref: '#/components/schemas/Language' operation: $ref: '#/components/schemas/BatchOperation' items: type: array description: Array with catalogs items items: $ref: '#/components/schemas/ItemCreateBatchRecord' minItems: 1 maxItems: 1000 required: - country - language - operation - items CatalogsUpsertHotelItem: type: object description: A hotel item to be upserted. properties: hotel_id: description: The catalog hotel id in the merchant namespace example: DS0294-M type: string operation: type: string enum: - UPSERT attributes: $ref: '#/components/schemas/CatalogsHotelAttributes' required: - hotel_id - operation - attributes CatalogsHotelAttributes: type: object allOf: - type: object properties: main_image: type: object description: The main hotel image properties: link: type: string description: '

<= 2000 characters

The link to the main hotel image. Image should be at least 75x75 pixels to avoid errors. Use the additional_image_link field to add more images of your hotel. The URL of your main_image.link must be accessible by the Pinterest user-agent, and send the accurate image. Please make sure there is no template or placeholder image at the link. Must start with http:// or https://.

' tag: type: array nullable: true description: Tag appended to the image that identifies image category or details. There can be multiple tags associated with an image items: type: string additional_image_link: type: array nullable: true items: type: string description: '

<= 2000 characters

The links to additional images for your hotel. Up to ten additional images can be used to show a hotel from different angles. Must begin with http:// or https://.

' example: - https://scene.example.com/image/image_v2.jpg - https://scene.example.com/image/image_v3.jpg - $ref: '#/components/schemas/CatalogsUpdatableHotelAttributes' CatalogsDeleteCreativeAssetsItem: type: object description: A creative assets item to be deleted properties: creative_assets_id: description: The catalog creative assets id in the merchant namespace example: DS0294-M type: string operation: type: string enum: - DELETE required: - creative_assets_id - operation CatalogsCreativeAssetsItemsBatch: type: object description: Object describing the catalogs creative assets items batch properties: batch_id: description: Id of the catalogs items batch example: 595953100599279259-66753b9bb65c46c49bd8503b27fecf9e type: string created_time: description: 'Time of the batch creation: YYYY-MM-DD''T''hh:mm:ssTZD' example: '2020-01-01T20:10:40-00:00' type: string format: date-time readOnly: true completed_time: description: 'Time of the batch completion: YYYY-MM-DD''T''hh:mm:ssTZD' example: '2022-03-10T15:37:10-00:00' type: string format: date-time readOnly: true nullable: true status: $ref: '#/components/schemas/BatchOperationStatus' catalog_type: $ref: '#/components/schemas/CatalogsType' items: description: Array with the catalogs items processing records part of the catalogs items batch items: $ref: '#/components/schemas/CreativeAssetsProcessingRecord' type: array required: - catalog_type Language: type: string description: Language code, which is among the offical ISO 639-1 language list. example: EN enum: - AM - AR - AZ - BG - BN - BS - CA - CS - DA - DV - DZ - DE - EL - EN - ES - ET - FA - FI - FR - HE - HI - HR - HU - HY - ID - IN - IS - IT - IW - JA - KA - KM - KO - LO - LT - LV - MK - MN - MS - MY - NB - NE - NL - 'NO' - PL - PT - RO - RU - SK - SL - SQ - SR - SV - TL - UK - VI - TE - TH - TR - XX - ZH CatalogsCreateRetailItem: type: object description: An item to be created properties: item_id: description: The catalog item id in the merchant namespace example: DS0294-M type: string operation: type: string enum: - CREATE - UPDATE - UPSERT - DELETE attributes: $ref: '#/components/schemas/ItemAttributesRequest' required: - item_id - operation - attributes CatalogsUpdateCreativeAssetsItem: type: object description: A creative assets item to be updated. properties: creative_assets_id: description: The catalog creative assets item id in the merchant namespace example: DS0294-M type: string operation: type: string enum: - UPDATE attributes: $ref: '#/components/schemas/CatalogsUpdatableCreativeAssetsAttributes' required: - creative_assets_id - operation - attributes CatalogsUpdatableCreativeAssetsAttributes: type: object properties: title: description: The name of the creative assets. type: string description: description: Brief description of the creative assets. type: string link: description: Link to the creative assets page. type: string ios_deep_link: description: IOS deep link to the creative assets page. type: string nullable: true android_deep_link: description: Link to the creative assets page. type: string nullable: true google_product_category: description: The categorization of the product based on the standardized Google Product Taxonomy. This is a set taxonomy. Both the text values and numeric codes are accepted. type: string nullable: true custom_label_0: description: Custom grouping of creative assets. type: string nullable: true custom_label_1: description: Custom grouping of creative assets. type: string nullable: true custom_label_2: description: Custom grouping of creative assets. type: string nullable: true custom_label_3: description: Custom grouping of creative assets. type: string nullable: true custom_label_4: description: Custom grouping of creative assets. type: string nullable: true visibility: description: 'Visibility of the creative assets. Must be one of the following values (upper or lowercase): visible, hidden.' type: string nullable: true CatalogsItemsBatch: type: object description: Object describing the catalogs items batch properties: catalog_type: $ref: '#/components/schemas/CatalogsType' required: - catalog_type oneOf: - $ref: '#/components/schemas/CatalogsRetailItemsBatch' - $ref: '#/components/schemas/CatalogsHotelItemsBatch' - $ref: '#/components/schemas/CatalogsCreativeAssetsItemsBatch' discriminator: propertyName: catalog_type mapping: RETAIL: '#/components/schemas/CatalogsRetailItemsBatch' HOTEL: '#/components/schemas/CatalogsHotelItemsBatch' CREATIVE_ASSETS: '#/components/schemas/CatalogsCreativeAssetsItemsBatch' ItemDeleteDiscontinuedBatchRecord: type: object description: Object describing an item batch record to discontinue items properties: item_id: description: The catalog item id in the merchant namespace example: DS0294-M type: string CatalogsUpdatableHotelAttributes: type: object properties: name: description: The hotel's name. type: string nullable: true link: description: Link to the product page type: string nullable: true description: description: Brief description of the hotel. type: string nullable: true brand: description: The brand to which this hotel belongs to. type: string nullable: true latitude: description: Latitude of the hotel. type: number longitude: description: Longitude of the hotel. type: number nullable: true neighborhood: description: A list of neighborhoods where the hotel is located type: array nullable: true items: type: string address: description: Hotel address $ref: '#/components/schemas/CatalogsHotelAddress' custom_label_0: description: Custom grouping of hotels type: string nullable: true custom_label_1: description: Custom grouping of hotels type: string nullable: true custom_label_2: description: Custom grouping of hotels type: string nullable: true custom_label_3: description: Custom grouping of hotels type: string nullable: true custom_label_4: description: Custom grouping of hotels type: string nullable: true category: description: The type of property. The category can be any type of internal description desired. type: string nullable: true base_price: description: Base price of the hotel room per night followed by the ISO currency code type: string nullable: true example: 100 USD sale_price: description: Sale price of a hotel room per night. Used to advertise discounts off the regular price of the hotel. type: string nullable: true example: 90 USD guest_ratings: description: If specified, you must provide all properties $ref: '#/components/schemas/CatalogsHotelGuestRatings' Country: type: string description: Country ID from ISO 3166-1 alpha-2. example: US enum: - AD - AE - AF - AG - AI - AL - AM - AO - AQ - AR - AS - AT - AU - AW - AX - AZ - BA - BB - BD - BE - BF - BG - BH - BI - BJ - BL - BM - BN - BO - BQ - BR - BS - BT - BV - BW - BY - BZ - CA - CC - CD - CF - CG - CH - CI - CK - CL - CM - CN - CO - CR - CU - CV - CW - CX - CY - CZ - DE - DJ - DK - DM - DO - DZ - EC - EE - EG - EH - ER - ES - ET - FI - FJ - FK - FM - FO - FR - GA - GB - GD - GE - GF - GG - GH - GI - GL - GM - GN - GP - GQ - GR - GS - GT - GU - GW - GY - HK - HM - HN - HR - HT - HU - ID - IE - IL - IM - IN - IO - IQ - IR - IS - IT - JE - JM - JO - JP - KE - KG - KH - KI - KM - KN - KR - KW - KY - KZ - LA - LB - LC - LI - LK - LR - LS - LT - LU - LV - LY - MA - MC - MD - ME - MF - MG - MH - MK - ML - MM - MN - MO - MP - MQ - MR - MS - MT - MU - MV - MW - MX - MY - MZ - NA - NC - NE - NF - NG - NI - NL - 'NO' - NP - NR - NU - NZ - OM - PA - PE - PF - PG - PH - PK - PL - PM - PN - PR - PS - PT - PW - PY - QA - RE - RO - RS - RU - RW - SA - SB - SC - SD - SE - SG - SH - SI - SJ - SK - SL - SM - SN - SO - SR - SS - ST - SV - SX - SY - SZ - TC - TD - TF - TG - TH - TJ - TK - TL - TM - TN - TO - TR - TT - TV - TW - TZ - UA - UG - UM - US - UY - UZ - VA - VC - VE - VG - VI - VN - VU - WF - WS - YE - YT - ZA - ZM - ZW CatalogsDeleteRetailItem: type: object description: An item to be deleted properties: item_id: description: The catalog item id in the merchant namespace example: DS0294-M type: string operation: type: string enum: - CREATE - UPDATE - UPSERT - DELETE required: - item_id - operation CatalogsItemsUpdateBatchRequest: description: Request object to update catalogs items type: object additionalProperties: false properties: country: $ref: '#/components/schemas/Country' language: $ref: '#/components/schemas/Language' operation: $ref: '#/components/schemas/BatchOperation' items: type: array description: Array with catalogs items items: $ref: '#/components/schemas/ItemUpdateBatchRecord' minItems: 1 maxItems: 1000 required: - country - language - operation - items CatalogsCreativeAssetsBatchRequest: description: Request object to update catalogs creative assets items type: object additionalProperties: false properties: catalog_type: $ref: '#/components/schemas/CatalogsType' country: $ref: '#/components/schemas/Country' language: $ref: '#/components/schemas/Language' items: minItems: 1 maxItems: 1000 type: array description: Array with creative assets item operations items: $ref: '#/components/schemas/CatalogsCreativeAssetsBatchItem' catalog_id: description: Catalog id pertaining to the creative assets item. If not provided, default to oldest creative assets catalog example: '2680059592705' type: string pattern: ^\d+$ required: - catalog_type - country - language - items ItemProcessingStatus: description: The status of the item processing record example: SUCCESS type: string enum: - SUCCESS - FAILURE - PROCESSING ItemDeleteBatchRecord: type: object description: Object describing an item batch record to delete items properties: item_id: description: The catalog item id in the merchant namespace example: DS0294-M type: string ItemAttributesRequest: type: object allOf: - type: object properties: additional_image_link: description: '

<= 2000 characters

The links to additional images for your product. Up to ten additional images can be used to show a product from different angles or to show different stages. Must begin with http:// or https://.

' example: - https://scene.example.com/image/image_v2.jpg - https://scene.example.com/image/image_v3.jpg type: array nullable: true items: type: string image_link: description: '

<= 2000 characters

The links to the main product images. Images should be at least 75x75 pixels to avoid errors. Use the additional_image_link field to add more images of your product. The URL of your image_link must be accessible by the Pinterest user-agent, and send the accurate images. Please make sure there are no template or placeholder images at the link. Must start with http:// or https://.

' example: - https://scene.example.com/image/image.jpg oneOf: - description: The list of links to the main product images type: array minItems: 1 items: type: string - description: The main product image link. type: string nullable: false - $ref: '#/components/schemas/UpdatableItemAttributes' CatalogsUpdateRetailItem: type: object description: An item to be updated properties: item_id: description: The catalog item id in the merchant namespace example: DS0294-M type: string operation: type: string enum: - CREATE - UPDATE - UPSERT - DELETE attributes: $ref: '#/components/schemas/UpdatableItemAttributes' update_mask: description: The list of product attributes to be updated. Attributes specified in the update mask without a value specified in the body will be deleted from the product item. example: - ad_link - adult - age_group - availability - average_review_rating - brand - checkout_enabled - color - condition - custom_label_0 - custom_label_1 - custom_label_2 - custom_label_3 - custom_label_4 - description - free_shipping_label - free_shipping_limit - gender - google_product_category - gtin - item_group_id - last_updated_time - link - material - min_ad_price - mpn - number_of_ratings - number_of_reviews - pattern - price - product_type - sale_price - shipping - shipping_height - shipping_weight - shipping_width - size - size_system - size_type - tax - title - variant_names - variant_values type: array nullable: true items: $ref: '#/components/schemas/UpdateMaskFieldType' required: - item_id - operation - attributes UpdateMaskFieldType: description: The field types supported by the update mask example: availability type: string enum: - ad_link - adult - age_group - availability - average_review_rating - brand - checkout_enabled - color - condition - custom_label_0 - custom_label_1 - custom_label_2 - custom_label_3 - custom_label_4 - description - free_shipping_label - free_shipping_limit - gender - google_product_category - gtin - item_group_id - last_updated_time - link - material - min_ad_price - mpn - number_of_ratings - number_of_reviews - pattern - price - product_type - sale_price - shipping - shipping_height - shipping_weight - shipping_width - size - size_system - size_type - tax - title - variant_names - variant_values CatalogsDeleteHotelItem: type: object description: A hotel item to be deleted properties: hotel_id: description: The catalog hotel id in the merchant namespace example: DS0294-M type: string operation: type: string enum: - DELETE required: - hotel_id - operation CatalogsVerticalBatchRequest: type: object title: operate on item batch description: A request object that can have multiple operations on a single batch oneOf: - $ref: '#/components/schemas/CatalogsRetailBatchRequest' - $ref: '#/components/schemas/CatalogsHotelBatchRequest' - $ref: '#/components/schemas/CatalogsCreativeAssetsBatchRequest' discriminator: propertyName: catalog_type mapping: RETAIL: '#/components/schemas/CatalogsRetailBatchRequest' HOTEL: '#/components/schemas/CatalogsHotelBatchRequest' CREATIVE_ASSETS: '#/components/schemas/CatalogsCreativeAssetsBatchRequest' CatalogsType: description: Type of the catalog entity. type: string enum: - RETAIL - HOTEL - CREATIVE_ASSETS CatalogsUpdateHotelItem: type: object description: Object describing an hotel item batch record properties: hotel_id: description: The catalog hotel item id in the merchant namespace example: DS0294-M type: string operation: type: string enum: - UPDATE attributes: $ref: '#/components/schemas/CatalogsUpdatableHotelAttributes' required: - hotel_id - operation - attributes CatalogsHotelBatchRequest: description: Request object to update catalogs hotel items type: object additionalProperties: false properties: catalog_type: $ref: '#/components/schemas/CatalogsType' country: $ref: '#/components/schemas/Country' language: $ref: '#/components/schemas/Language' items: minItems: 1 maxItems: 1000 type: array description: Array with catalogs item operations items: $ref: '#/components/schemas/CatalogsHotelBatchItem' catalog_id: description: Catalog id pertaining to the hotel item. If not provided, default to oldest hotel catalog example: '2680059592705' type: string pattern: ^\d+$ required: - catalog_type - country - language - items CatalogsItemsDeleteBatchRequest: description: Request object to delete catalogs items type: object additionalProperties: false properties: country: $ref: '#/components/schemas/Country' language: $ref: '#/components/schemas/Language' operation: $ref: '#/components/schemas/BatchOperation' items: type: array description: Array with catalogs items items: $ref: '#/components/schemas/ItemDeleteBatchRecord' required: - country - language - operation - items CatalogsItemsDeleteDiscontinuedBatchRequest: description: Request object to discontinue catalogs items type: object additionalProperties: false properties: country: $ref: '#/components/schemas/Country' language: $ref: '#/components/schemas/Language' operation: $ref: '#/components/schemas/BatchOperation' items: type: array description: Array with catalogs items items: $ref: '#/components/schemas/ItemDeleteDiscontinuedBatchRecord' required: - country - language - operation - items ItemProcessingRecord: type: object description: Object describing an item processing record properties: item_id: description: The catalog item id in the merchant namespace example: DS0294-M type: string errors: description: 'Array with the validation errors for the item processing record. A non empty errors list causes the item processing to fail.' items: $ref: '#/components/schemas/ItemValidationEvent' type: array warnings: description: Array with the validation warnings for the item processing record items: $ref: '#/components/schemas/ItemValidationEvent' type: array status: $ref: '#/components/schemas/ItemProcessingStatus' parameters: query_ad_account_id: name: ad_account_id description: Unique identifier of an ad account. in: query schema: type: string pattern: ^\d+$ maxLength: 18 path_catalogs_items_batch_id: name: batch_id in: path description: Id of a catalogs items batch to fetch example: 595953100599279259-66753b9bb65c46c49bd8503b27fecf9e required: true schema: type: string securitySchemes: pinterest_oauth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://www.pinterest.com/oauth/ tokenUrl: https://api.pinterest.com/v5/oauth/token scopes: ads:read: See all of your advertising data, including ads, ad groups, campaigns etc. ads:write: Create, update, or delete ads, ad groups, campaigns etc. billing:read: See all of your billing data, billing profile, etc. billing:write: Create, update, or delete billing data, billing profiles, etc. biz_access:read: See business access data biz_access:write: Create, update, or delete business access data boards:read: See your public boards, including group boards you join boards:read_secret: See your secret boards boards:write: Create, update, or delete your public boards boards:write_secret: Create, update, or delete your secret boards catalogs:read: See all of your catalogs data catalogs:write: Create, update, or delete your catalogs data pins:read: See your public Pins pins:read_secret: See your secret Pins pins:write: Create, update, or delete your public Pins pins:write_secret: Create, update, or delete your secret Pins user_accounts:read: See your user accounts and followers user_accounts:write: Update your user accounts and followers conversion_token: type: http scheme: bearer description: This security scheme only applies to the conversion events endpoint (POST /ad_accounts/{ad_account_id}/events). This endpoint requires a bearer token generated via Ads Manager (ads.pinterest.com). basic: type: http scheme: basic x-tagGroups: - name: Pin and Boards tags: - pins - boards - media - aggregated_comments - aggregated_pin_data - user_account - name: Campaign Management tags: - ad_accounts - campaigns - ad_groups - ads - product_group_promotions - bulk - name: Targeting tags: - audiences - customer_lists - keywords - targeting_template - audience_insights - audience_sharing - name: Ad Formats tags: - lead_forms - lead_ads - leads_export - name: Billing tags: - billing - order_lines - terms_of_service - name: Business Access tags: - business_access_assets - business_access_invite - business_access_relationships - name: Conversions tags: - conversion_events - conversion_tags - name: Others tags: - integrations - oauth - resources - search - terms - name: Shopping tags: - catalogs - name: Deprecated tags: - product_groups