openapi: 3.0.3 info: version: 5.13.0 title: Pinterest Product 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: Product paths: /ad_accounts/{ad_account_id}/product_group_promotions: post: description: Add one or more product groups from your catalog to an existing ad group. (Product groups added to an ad group are a 'product group promotion.') operationId: product_group_promotions/create security: - pinterest_oauth2: - ads:write x-ratelimit-category: ads_write x-sandbox: disabled parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductGroupPromotionCreateRequest' description: List of Product Group Promotions to create, size limit [1, 30]. required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProductGroupPromotionResponse' description: Success default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Create product group promotions tags: - Product patch: description: Update multiple existing Product Group Promotions (by product_group_id) operationId: product_group_promotions/update security: - pinterest_oauth2: - ads:write x-ratelimit-category: ads_write x-sandbox: disabled parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: content: application/json: schema: $ref: '#/components/schemas/ProductGroupPromotionUpdateRequest' description: Parameters to update Product group promotions required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProductGroupPromotionResponse' description: Success default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Update product group promotions tags: - Product get: description: 'List existing product group promotions associated with an ad account. Include either ad_group_id or product_group_promotion_ids in your request. Note: ad_group_ids and product_group_promotion_ids are mutually exclusive parameters. Only provide one. If multiple options are provided, product_group_promotion_ids takes precedence over ad_group_ids. If none are provided, the endpoint returns an error.' operationId: product_group_promotions/list security: - pinterest_oauth2: - ads:read x-ratelimit-category: ads_read x-sandbox: disabled parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_product_group_promotion_ids' - $ref: '#/components/parameters/query_entity_statuses' - $ref: '#/components/parameters/query_ad_group_id' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_order' - $ref: '#/components/parameters/query_bookmark' responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/ProductGroupPromotionResponseItem' description: Success default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Get product group promotions tags: - Product /ad_accounts/{ad_account_id}/product_group_promotions/{product_group_promotion_id}: get: description: Get a product group promotion by id operationId: product_group_promotions/get security: - pinterest_oauth2: - ads:read x-ratelimit-category: ads_read x-sandbox: disabled parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/path_product_group_promotion_id' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProductGroupPromotionResponse' description: Success default: content: application/json: schema: $ref: '#/components/schemas/Error' description: Unexpected error summary: Get a product group promotion by id tags: - Product /ad_accounts/{ad_account_id}/product_groups/analytics: get: summary: Get product group analytics description: 'Get analytics for the specified product groups in the specified ad_account_id, filtered by the specified options. - The token''s user_account must either be the Owner of the specified ad account, or have one of the necessary roles granted to them via Business Access: Admin, Analyst, Campaign Manager. - If granularity is not HOUR, the furthest back you can are allowed to pull data is 90 days before the current date in UTC time and the max time range supported is 90 days. - If granularity is HOUR, the furthest back you can are allowed to pull data is 8 days before the current date in UTC time and the max time range supported is 3 days.' operationId: product_groups/analytics security: - pinterest_oauth2: - ads:read x-ratelimit-category: ads_analytics x-sandbox: disabled parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_start_date' - $ref: '#/components/parameters/query_end_date' - $ref: '#/components/parameters/query_product_group_ids_required' - $ref: '#/components/parameters/query_columns' - $ref: '#/components/parameters/query_granularity' - $ref: '#/components/parameters/query_conversion_attribution_click_window_days' - $ref: '#/components/parameters/query_conversion_attribution_engagement_window_days' - $ref: '#/components/parameters/query_conversion_attribution_view_window_days' - $ref: '#/components/parameters/query_conversion_attribution_conversion_report_time' responses: '200': content: application/json: schema: $ref: '#/components/schemas/ProductGroupAnalyticsResponse' description: Success '400': description: Invalid ad account ads analytics parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account ads analytics parameters. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' tags: - Product /ad_accounts/{ad_account_id}/product_groups/catalogs: get: deprecated: true description: This endpoint is completely deprecated. Please use List product groups from Catalogs API instead. operationId: ad_accounts_catalogs_product_groups/list security: - pinterest_oauth2: - ads:write x-ratelimit-category: ads_write x-sandbox: disabled parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_feed_profile_id' responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/CatalogProductGroup' description: Success '400': description: Invalid ad account ads parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account ads parameters. '401': description: Access Denied. This can happen if account is not yet approved to operate as Merchant on Pinterest. content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Merchant data not found. content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' summary: Get catalog product groups tags: - Product /catalogs/product_groups/multiple: delete: x-ratelimit-category: catalogs_write summary: Delete multiple product groups description: 'Delete product groups owned by the "operation user_account". - 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. Learn more' operationId: catalogs_product_groups/delete_many x-sandbox: enabled parameters: - $ref: '#/components/parameters/query_catalogs_product_group_ids_required' - $ref: '#/components/parameters/query_ad_account_id' security: - pinterest_oauth2: - catalogs:write responses: '204': description: Catalogs Product Groups deleted successfully. '401': description: Unauthorized access. content: application/json: schema: $ref: '#/components/schemas/Error' examples: UnauthorizedAccess: value: code: 29 message: You are not permitted to access that resource. '403': description: Forbidden. Account not approved for catalog product group mutations yet. content: application/json: schema: $ref: '#/components/schemas/Error' examples: MerchantDisapproved: value: code: 2625 message: Sorry, you cannot perform this action. Account is disapproved. MerchantUnderReview: value: code: 2626 message: Sorry, you cannot perform this action. Account is under review. '404': description: Catalogs product group not found. content: application/json: schema: $ref: '#/components/schemas/Error' examples: CatalogsProductGroupNotFound: value: code: 4180 message: Sorry! We could not find your catalogs product group. '409': description: Conflict. Can't delete this catalogs product group. content: application/json: schema: $ref: '#/components/schemas/Error' examples: CatalogsProductGroupHasActivePromotions: value: code: 4176 message: We can't delete a Catalogs Product Group with active promotions. CannotAlterAutoGeneratedCatalogsProductGroup: value: code: 4177 message: You cannot alter an auto generated catalogs product group. CatalogsMerchantNotCreated: value: code: 4182 message: Can't access this feature without an existing catalog. default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' tags: - Product post: x-ratelimit-category: catalogs_write summary: Create multiple product group description: 'Create product group to use in Catalogs owned by the "operation user_account". - 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. Learn more 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: catalogs_product_groups/create_many security: - pinterest_oauth2: - catalogs:write x-sandbox: enabled parameters: - $ref: '#/components/parameters/query_ad_account_id' requestBody: description: Request object used to create one or more catalogs product groups. required: true content: application/json: schema: type: array title: multiple product groups items: oneOf: - $ref: '#/components/schemas/CatalogsProductGroupCreateRequest' - $ref: '#/components/schemas/CatalogsVerticalProductGroupCreateRequest' examples: RetailFewFiltersUsingAllOf: summary: A simple retail example that applies "all of the following filters". description: 'The use of "all_of" creates a Product Group where all of the individual filters must be satisfied by a product to be included in the Product Group. ' value: - name: Few Filters using "all_of" feed_id: '2680059592705' featured: false filters: all_of: - MIN_PRICE: values: 999.99 inclusion: true - CURRENCY: values: USD - CUSTOM_LABEL_0: values: - Luxury Items RetailManyFiltersUsingAnyOf: summary: A more complete retail example that applies "any of the following filters". description: 'The use of "any_of" creates a Product Group where any of the individual filters can add products to the Product Group independently. ' value: - name: Many Filters using "any_of" featured: false feed_id: '2680059592705' filters: all_of: - MIN_PRICE: values: 111.55 inclusion: false negated: false - CURRENCY: values: USD negated: false - AVAILABILITY: values: - IN_STOCK - OUT_OF_STOCK - PREORDER negated: false - BRAND: values: - avanti - beautyrest negated: true - GOOGLE_PRODUCT_CATEGORY_0: values: - - furniture - tables - accent tables - end tables - - furniture - chairs - slipper chairs - - home & garden negated: false - CONDITION: values: - NEW - REFURBISHED - USED negated: false - CUSTOM_LABEL_0: values: - 004 - home furn leisure negated: false - CUSTOM_LABEL_1: values: - clearance - original price negated: false - CUSTOM_LABEL_2: values: - 789 - table linens - 794 - living room accents negated: false - GENDER: values: - FEMALE - MALE - UNISEX negated: false - ITEM_ID: values: - does not exists - this one neither - nope negated: true - ITEM_GROUP_ID: values: - nonexistant group - another one - last one negated: true - PRODUCT_TYPE_0: values: - - accent chairs - club chairs - - accent chairs - slipper chairs - - accent tables - end tables - - air mattresses - air mattresses - - table linens negated: false HotelFewFiltersUsingAllOf: summary: A simple hotel example that applies "all of the following filters". description: 'The use of "all_of" creates a Product Group where all of the individual filters must be satisfied by a hotel to be included in the Product Group. ' value: - catalog_type: HOTEL name: Few Filters using "all_of" catalog_id: '4866935934774' filters: all_of: - HOTEL_ID: values: - hotel1 - hotel2 - CUSTOM_LABEL_1: values: - big_hotels negated: false responses: '201': content: application/json: schema: type: array items: description: ID of a created catalog product group. example: '443727193917' type: string pattern: ^\d+$ description: Success '400': description: Invalid body. content: application/json: schema: $ref: '#/components/schemas/Error' examples: InvalidRequest: value: code: 1 message: '''feed_id'' value ''1511851494501_'' must match the pattern: ^\d+$"}' '401': description: Unauthorized access. content: application/json: schema: $ref: '#/components/schemas/Error' examples: UnauthorizedAccess: value: code: 29 message: You are not permitted to access that resource. '403': description: Forbidden. Account not approved for catalog product group mutations yet. content: application/json: schema: $ref: '#/components/schemas/Error' examples: MerchantDisapproved: value: code: 2625 message: Sorry, you cannot perform this action. Account is disapproved. MerchantUnderReview: value: code: 2626 message: Sorry, you cannot perform this action. Account is under review. '409': description: Conflict. Can't create this catalogs product group with this value. content: application/json: schema: $ref: '#/components/schemas/Error' examples: CatalogsProductGroupFiltersAlreadyExist: value: code: 4178 message: A catalogs product group with these filters already exists for this feed. CatalogsProductGroupNameAlreadyExist: value: code: 4179 message: A catalogs product group with this name already exists for this feed. CatalogsMerchantNotCreated: value: code: 4182 message: Can't access this feature without an existing catalog. CatalogsProductGroupFiltersInvalid: value: code: 4183 message: Catalog product group filters failed validation, please ensure all filters are set correctly. default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' tags: - Product /catalogs/product_groups: get: x-ratelimit-category: catalogs_read summary: List product groups description: 'Get a list of product groups for a given Catalogs Feed Id owned by the "operation user_account". - 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. Learn more' operationId: catalogs_product_groups/list security: - pinterest_oauth2: - catalogs:read x-sandbox: enabled parameters: - $ref: '#/components/parameters/query_catalogs_product_group_ids' - $ref: '#/components/parameters/query_catalogs_feed_id' - $ref: '#/components/parameters/query_catalogs_catalog_id' - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_ad_account_id' responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/CatalogsVerticalProductGroup' description: Success '400': description: Invalid feed parameters. content: application/json: schema: $ref: '#/components/schemas/Error' examples: InvalidRequest: value: code: 1 message: '''feed_id'' value ''1511851494501_'' must match the pattern: ^\d+$"}' '401': description: Unauthorized access. content: application/json: schema: $ref: '#/components/schemas/Error' examples: UnauthorizedAccess: value: code: 29 message: You are not permitted to access that resource. '403': description: Forbidden. Account not approved for catalog product group mutations yet. content: application/json: schema: $ref: '#/components/schemas/Error' examples: MerchantDisapproved: value: code: 2625 message: Sorry, you cannot perform this action. Account is disapproved. MerchantUnderReview: value: code: 2626 message: Sorry, you cannot perform this action. Account is under review. '404': description: Data feed not found. content: application/json: schema: $ref: '#/components/schemas/Error' examples: FeedNotFound: value: code: 4161 message: Sorry! We could not find your catalogs feed. '409': description: Conflict. Can't create this catalogs product group with this value. content: application/json: schema: $ref: '#/components/schemas/Error' examples: CatalogsMerchantNotCreated: value: code: 4182 message: Can't access this feature without an existing catalog. default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' tags: - Product post: x-ratelimit-category: catalogs_write summary: Create single product group description: 'Create product group to use in Catalogs owned by the "operation user_account". - 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. Learn more 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: catalogs_product_groups/create security: - pinterest_oauth2: - catalogs:write x-sandbox: enabled parameters: - $ref: '#/components/parameters/query_ad_account_id' requestBody: description: Request object used to create a single catalogs product groups. required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/CatalogsProductGroupCreateRequest' - $ref: '#/components/schemas/CatalogsVerticalProductGroupCreateRequest' examples: RetailFewFiltersUsingAllOf: summary: A simple retail example that applies "all of the following filters". description: 'The use of "all_of" creates a Product Group where all of the individual filters must be satisfied by a product to be included in the Product Group. ' value: name: Few Filters using "all_of" feed_id: '2680059592705' featured: false filters: all_of: - MIN_PRICE: values: 999.99 inclusion: true - CURRENCY: values: USD - CUSTOM_LABEL_0: values: - Luxury Items RetailManyFiltersUsingAnyOf: summary: A more complete retail example that applies "any of the following filters". description: 'The use of "any_of" creates a Product Group where any of the individual filters can add products to the Product Group independently. ' value: name: Many Filters using "any_of" featured: false feed_id: '2680059592705' filters: all_of: - MIN_PRICE: values: 111.55 inclusion: false negated: false - CURRENCY: values: USD negated: false - AVAILABILITY: values: - IN_STOCK - OUT_OF_STOCK - PREORDER negated: false - BRAND: values: - avanti - beautyrest negated: true - GOOGLE_PRODUCT_CATEGORY_0: values: - - furniture - tables - accent tables - end tables - - furniture - chairs - slipper chairs - - home & garden negated: false - CONDITION: values: - NEW - REFURBISHED - USED negated: false - CUSTOM_LABEL_0: values: - 004 - home furn leisure negated: false - CUSTOM_LABEL_1: values: - clearance - original price negated: false - CUSTOM_LABEL_2: values: - 789 - table linens - 794 - living room accents negated: false - GENDER: values: - FEMALE - MALE - UNISEX negated: false - ITEM_ID: values: - does not exists - this one neither - nope negated: true - ITEM_GROUP_ID: values: - nonexistant group - another one - last one negated: true - PRODUCT_TYPE_0: values: - - accent chairs - club chairs - - accent chairs - slipper chairs - - accent tables - end tables - - air mattresses - air mattresses - - table linens negated: false HotelFewFiltersUsingAllOf: summary: A simple hotel example that applies "all of the following filters". description: 'The use of "all_of" creates a Product Group where all of the individual filters must be satisfied by a hotel to be included in the Product Group. ' value: catalog_type: HOTEL name: Few Filters using "all_of" catalog_id: '4866935934774' filters: all_of: - HOTEL_ID: values: - hotel1 - hotel2 - CUSTOM_LABEL_1: values: - big_hotels negated: false responses: '201': content: application/json: schema: $ref: '#/components/schemas/CatalogsVerticalProductGroup' description: Success '400': description: Invalid body. content: application/json: schema: $ref: '#/components/schemas/Error' examples: InvalidRequest: value: code: 1 message: '''feed_id'' value ''1511851494501_'' must match the pattern: ^\d+$"}' '401': description: Unauthorized access. content: application/json: schema: $ref: '#/components/schemas/Error' examples: UnauthorizedAccess: value: code: 29 message: You are not permitted to access that resource. '403': description: Forbidden. Account not approved for catalog product group mutations yet. content: application/json: schema: $ref: '#/components/schemas/Error' examples: MerchantDisapproved: value: code: 2625 message: Sorry, you cannot perform this action. Account is disapproved. MerchantUnderReview: value: code: 2626 message: Sorry, you cannot perform this action. Account is under review. '409': description: Conflict. Can't create this catalogs product group with this value. content: application/json: schema: $ref: '#/components/schemas/Error' examples: CatalogsProductGroupFiltersAlreadyExist: value: code: 4178 message: A catalogs product group with these filters already exists for this feed. CatalogsProductGroupNameAlreadyExist: value: code: 4179 message: A catalogs product group with this name already exists for this feed. CatalogsMerchantNotCreated: value: code: 4182 message: Can't access this feature without an existing catalog. CatalogsProductGroupFiltersInvalid: value: code: 4183 message: Catalog product group filters failed validation, please ensure all filters are set correctly. default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' tags: - Product /catalogs/product_groups/{product_group_id}: get: x-ratelimit-category: catalogs_read summary: Get single product group description: 'Get a singe product group for a given Catalogs Product Group Id owned by the "operation user_account". - 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. Learn more' operationId: catalogs_product_groups/get x-sandbox: enabled parameters: - $ref: '#/components/parameters/path_catalogs_product_group_id' - $ref: '#/components/parameters/query_ad_account_id' security: - pinterest_oauth2: - catalogs:read responses: '200': content: application/json: schema: $ref: '#/components/schemas/CatalogsVerticalProductGroup' description: Success '400': description: Invalid catalogs product group id parameters. content: application/json: schema: $ref: '#/components/schemas/Error' examples: InvalidRequest: value: code: 1 message: '''product_group_id'' value ''11851494501_'' must match the pattern: ^\d+$"}' '401': description: Unauthorized access. content: application/json: schema: $ref: '#/components/schemas/Error' examples: UnauthorizedAccess: value: code: 29 message: You are not permitted to access that resource. '403': description: Forbidden. Account not approved for catalog product group mutations yet. content: application/json: schema: $ref: '#/components/schemas/Error' examples: MerchantDisapproved: value: code: 2625 message: Sorry, you cannot perform this action. Account is disapproved. MerchantUnderReview: value: code: 2626 message: Sorry, you cannot perform this action. Account is under review. '404': description: Catalogs product group not found. content: application/json: schema: $ref: '#/components/schemas/Error' examples: CatalogsProductGroupNotFound: value: code: 4180 message: Sorry! We could not find your catalogs product group. '409': description: Conflict. Can't get a catalogs product group without an existing catalog. content: application/json: schema: $ref: '#/components/schemas/Error' examples: CatalogsMerchantNotCreated: value: code: 4182 message: Can't acccess this feature without an existing catalog. default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' tags: - Product delete: x-ratelimit-category: catalogs_write summary: Delete single product group description: 'Delete a product group owned by the "operation user_account" from being in use in Catalogs. - 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. Learn more' operationId: catalogs_product_groups/delete x-sandbox: enabled parameters: - $ref: '#/components/parameters/path_catalogs_product_group_id' - $ref: '#/components/parameters/query_ad_account_id' security: - pinterest_oauth2: - catalogs:write responses: '204': description: Catalogs Product Group deleted successfully. '400': description: Invalid catalogs product group id parameters. content: application/json: schema: $ref: '#/components/schemas/Error' examples: InvalidRequest: value: code: 1 message: '''product_group_id'' value ''11851494501_'' must match the pattern: ^\d+$"}' '401': description: Unauthorized access. content: application/json: schema: $ref: '#/components/schemas/Error' examples: UnauthorizedAccess: value: code: 29 message: You are not permitted to access that resource. '403': description: Forbidden. Account not approved for catalog product group mutations yet. content: application/json: schema: $ref: '#/components/schemas/Error' examples: MerchantDisapproved: value: code: 2625 message: Sorry, you cannot perform this action. Account is disapproved. MerchantUnderReview: value: code: 2626 message: Sorry, you cannot perform this action. Account is under review. '404': description: Catalogs product group not found. content: application/json: schema: $ref: '#/components/schemas/Error' examples: CatalogsProductGroupNotFound: value: code: 4180 message: Sorry! We could not find your catalogs product group. '409': description: Conflict. Can't delete this catalogs product group. content: application/json: schema: $ref: '#/components/schemas/Error' examples: CatalogsProductGroupHasActivePromotions: value: code: 4176 message: We can't delete a Catalogs Product Group with active promotions. CannotAlterAutoGeneratedCatalogsProductGroup: value: code: 4177 message: You cannot alter an auto generated catalogs product group. CatalogsMerchantNotCreated: value: code: 4182 message: Can't access this feature without an existing catalog. default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' tags: - Product patch: x-ratelimit-category: catalogs_write summary: Update single product group description: 'Update product group owned by the "operation user_account" to use in Catalogs. - 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. Learn more 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: catalogs_product_groups/update x-sandbox: enabled parameters: - $ref: '#/components/parameters/path_catalogs_product_group_id' - $ref: '#/components/parameters/query_ad_account_id' security: - pinterest_oauth2: - catalogs:write requestBody: description: Request object used to Update a catalogs product group. required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/CatalogsProductGroupUpdateRequest' - $ref: '#/components/schemas/CatalogsVerticalProductGroupUpdateRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/CatalogsVerticalProductGroup' description: Success '400': description: Invalid parameters. content: application/json: schema: $ref: '#/components/schemas/Error' examples: InvalidRequest: value: code: 1 message: '''product_group_id'' value ''11851494501_'' must match the pattern: ^\d+$"}' '401': description: Unauthorized access. content: application/json: schema: $ref: '#/components/schemas/Error' examples: UnauthorizedAccess: value: code: 29 message: You are not permitted to access that resource. '403': description: Forbidden. Account not approved for catalog product group mutations yet. content: application/json: schema: $ref: '#/components/schemas/Error' examples: MerchantDisapproved: value: code: 2625 message: Sorry, you cannot perform this action. Account is disapproved. MerchantUnderReview: value: code: 2626 message: Sorry, you cannot perform this action. Account is under review. '404': description: Catalogs product group not found. content: application/json: schema: $ref: '#/components/schemas/Error' examples: CatalogsProductGroupNotFound: value: code: 4180 message: Sorry! We could not find your catalogs product group. '409': description: Conflict. Can't update this catalogs product group to this value. content: application/json: schema: $ref: '#/components/schemas/Error' examples: CannotAlterAutoGeneratedCatalogsProductGroup: value: code: 4177 message: You cannot alter an auto generated catalogs product group. CatalogsProductGroupFiltersAlreadyExist: value: code: 4178 message: A catalogs product group with these filters already exists for this feed. CatalogsProductGroupNameAlreadyExist: value: code: 4179 message: A catalogs product group with this name already exists for this feed. CatalogsMerchantNotCreated: value: code: 4182 message: Can't access this feature without an existing catalog. CatalogsProductGroupFiltersInvalid: value: code: 4183 message: Catalog product group filters failed validation, please ensure all filters are set correctly. default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' tags: - Product /catalogs/product_groups/{product_group_id}/product_counts: get: x-ratelimit-category: catalogs_read summary: Get product counts for a Product Group description: 'Get a product counts for a given Catalogs Product Group owned by the "operation user_account". - 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: This endpoint only supports RETAIL catalog at the moment. Learn more' operationId: catalogs_product_groups/product_counts_get security: - pinterest_oauth2: - catalogs:read x-sandbox: enabled parameters: - $ref: '#/components/parameters/path_catalogs_product_group_id' - $ref: '#/components/parameters/query_ad_account_id' responses: '200': content: application/json: schema: $ref: '#/components/schemas/CatalogsProductGroupProductCounts' description: Success '404': description: Product Group Not Found. content: application/json: schema: $ref: '#/components/schemas/Error' examples: CatalogsProductGroupNotFound: value: code: 4180 message: Sorry! We could not find your catalogs product group. '409': description: Can't access this feature without an existing catalog. content: application/json: schema: $ref: '#/components/schemas/Error' examples: CatalogsMerchantNotCreated: value: code: 4182 message: Can't access this feature without an existing catalog. default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' tags: - Product /catalogs/product_groups/{product_group_id}/products: get: x-ratelimit-category: catalogs_read summary: List products for a Product Group description: 'Get a list of product pins for a given Catalogs Product Group Id owned by the "operation user_account". - 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: This endpoint only supports RETAIL catalog at the moment. Learn more' operationId: catalogs_product_group_pins/list security: - pinterest_oauth2: - boards:read - catalogs:read - pins:read x-sandbox: enabled parameters: - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/path_catalogs_product_group_id' - $ref: '#/components/parameters/query_ad_account_id' responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: description: Pins items: $ref: '#/components/schemas/CatalogsProduct' description: Success '400': description: Invalid parameters. content: application/json: schema: $ref: '#/components/schemas/Error' examples: InvalidRequest: value: code: 1 message: '''product_group_id'' value ''11851494501_'' must match the pattern: ^\d+$"}' '401': description: Unauthorized access. content: application/json: schema: $ref: '#/components/schemas/Error' examples: UnauthorizedAccess: value: code: 29 message: You are not permitted to access that resource. '404': description: Catalogs product group not found. content: application/json: schema: $ref: '#/components/schemas/Error' examples: CatalogsProductGroupNotFound: value: code: 4180 message: Sorry! We could not find your catalogs product group. default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' tags: - Product /catalogs/products/get_by_product_group_filters: post: x-ratelimit-category: catalogs_read summary: List products for Product Group Filters description: 'List products Pins owned by the "operation user_account" that meet the criteria specified in the Catalogs Product Group Filter given in the request. - This endpoint has been implemented in POST to allow for complex filters. This specific POST endpoint is designed to be idempotent. - 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: This endpoint only supports RETAIL catalog at the moment. Learn more' operationId: products_by_product_group_filter/list security: - pinterest_oauth2: - boards:read - catalogs:read - pins:read x-sandbox: enabled parameters: - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_ad_account_id' requestBody: description: Object holding a group of filters for a catalog product group required: true content: application/json: schema: $ref: '#/components/schemas/CatalogsListProductsByFilterRequest' responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: description: Pins items: $ref: '#/components/schemas/CatalogsProduct' description: Success '401': description: Unauthorized access. content: application/json: schema: $ref: '#/components/schemas/Error' examples: UnauthorizedAccess: value: code: 29 message: You are not permitted to access that resource. '409': description: Conflict. Can't get products. content: application/json: schema: $ref: '#/components/schemas/Error' examples: CatalogsMerchantNotCreated: value: code: 4182 message: Can't acccess this feature without an existing catalog. CatalogsProductGroupFiltersInvalid: value: code: 4183 message: Catalog product group filters failed validation, please ensure all filters are set correctly. default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' tags: - Product components: schemas: CatalogsHotelProductGroupFiltersAllOf: type: object additionalProperties: false properties: all_of: type: array items: type: object $ref: '#/components/schemas/CatalogsHotelProductGroupFilterKeys' required: - all_of CatalogsProductGroupCreateRequest: type: object title: retail feed based description: Request object for creating a product group. properties: name: type: string description: type: string nullable: true is_featured: description: boolean indicator of whether the product group is being featured or not type: boolean default: false filters: $ref: '#/components/schemas/CatalogsProductGroupFiltersRequest' feed_id: description: Catalog Feed id pertaining to the catalog product group. example: '2680059592705' type: string pattern: ^\d+$ required: - name - filters - feed_id EntityStatus: type: string description: Entity status example: ACTIVE enum: - ACTIVE - PAUSED - ARCHIVED - DRAFT - DELETED_DRAFT CatalogsHotelProductGroupFiltersAnyOf: type: object additionalProperties: false properties: any_of: type: array items: type: object $ref: '#/components/schemas/CatalogsHotelProductGroupFilterKeys' required: - any_of ProductGroupPromotionCreateRequestElement: type: object title: ProductGroupPromotionCreateRequestElement allOf: - $ref: '#/components/schemas/ProductGroupPromotion' - type: object properties: creative_type: $ref: '#/components/schemas/CreativeType' CatalogsProductMetadata: type: object description: Product metadata entity properties: item_id: description: The user-created unique ID that represents the product. example: DS0294-L type: string item_group_id: description: The parent ID of the product. example: DS0294 type: string nullable: true availability: $ref: '#/components/schemas/NonNullableProductAvailabilityType' price: description: The price of the product. example: 24.99 type: number sale_price: description: The discounted price of the product. example: 14.99 type: number nullable: true currency: $ref: '#/components/schemas/NonNullableCatalogsCurrency' required: - item_id - item_group_id - availability - price - sale_price - currency CatalogsProductGroupMultipleStringCriteria: title: catalogs_product_group_multiple_string_criteria type: object additionalProperties: false properties: values: type: array items: type: string negated: type: boolean default: false required: - values ProductType1Filter: type: object additionalProperties: false properties: PRODUCT_TYPE_1: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringListCriteria' required: - PRODUCT_TYPE_1 CustomLabel3Filter: type: object additionalProperties: false properties: CUSTOM_LABEL_3: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringCriteria' required: - CUSTOM_LABEL_3 GenderFilter: type: object additionalProperties: false properties: GENDER: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleGenderCriteria' required: - GENDER CatalogsProductGroupCurrencyCriteria: title: catalogs_product_group_currency_criteria type: object description: A currency filter. This filter cannot be negated additionalProperties: false properties: values: $ref: '#/components/schemas/NonNullableCatalogsCurrency' negated: type: boolean default: false enum: - false required: - values GoogleProductCategory4Filter: type: object additionalProperties: false properties: GOOGLE_PRODUCT_CATEGORY_4: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringListCriteria' required: - GOOGLE_PRODUCT_CATEGORY_4 NonNullableCatalogsCurrency: type: string description: Currency Codes from ISO 4217. nullable: false example: USD enum: - AED - AFN - ALL - AMD - ANG - AOA - ARS - AUD - AWG - AZN - BAM - BBD - BDT - BGN - BHD - BIF - BMD - BND - BOB - BRL - BSD - BTN - BWP - BYN - BYR - BZD - CAD - CDF - CHF - CLP - CNY - COP - CRC - CUC - CUP - CVE - CZK - DJF - DKK - DOP - DZD - EGP - ERN - ETB - EUR - FJD - FKP - GBP - GEL - GGP - GHS - GIP - GMD - GNF - GTQ - GYD - HKD - HNL - HRK - HTG - HUF - IDR - ILS - IMP - INR - IQD - IRR - ISK - JEP - JMD - JOD - JPY - KES - KGS - KHR - KMF - KPW - KRW - KWD - KYD - KZT - LAK - LBP - LKR - LRD - LSL - LYD - MAD - MDL - MGA - MKD - MMK - MNT - MOP - MRO - MUR - MVR - MWK - MXN - MYR - MZN - NAD - NGN - NIO - NOK - NPR - NZD - OMR - PAB - PEN - PGK - PHP - PKR - PLN - PYG - QAR - RON - RSD - RUB - RWF - SAR - SBD - SCR - SDG - SEK - SGD - SHP - SLL - SOS - SPL - SRD - STD - SVC - SYP - SZL - THB - TJS - TMT - TND - TOP - TRY - TTD - TVD - TWD - TZS - UAH - UGX - USD - UYU - UZS - VEF - VND - VUV - WST - XAF - XCD - XDR - XOF - XPF - YER - ZAR - ZMW - ZWD CatalogsCreativeAssetsProductGroupCreateRequest: type: object title: creative_assets_product_groups_create_request additionalProperties: false description: Request object for creating a creative assets product group. properties: catalog_type: type: string enum: - CREATIVE_ASSETS name: type: string description: type: string nullable: true filters: $ref: '#/components/schemas/CatalogsCreativeAssetsProductGroupFilters' catalog_id: description: Catalog id pertaining to the creative assets product group. example: '2680059592705' type: string pattern: ^\d+$ required: - name - filters - catalog_id - catalog_type Board: title: Board description: Board type: object properties: id: type: string readOnly: true example: '549755885175' created_at: type: string description: Date and time of board creation. readOnly: true format: date-time example: '2020-01-01T20:10:40-00:00' board_pins_modified_at: type: string description: Date and time of last board pins modified. readOnly: true format: date-time example: '2020-01-01T20:10:40-00:00' name: type: string example: Summer Recipes description: type: string nullable: true example: My favorite summer recipes collaborator_count: type: integer description: Count of collaborators on the board. minimum: 0 readOnly: true example: 17 pin_count: type: integer description: Count of pins on the board. minimum: 0 readOnly: true example: 5 follower_count: type: integer description: Board follower count. readOnly: true minimum: 0 example: 13 media: type: object readOnly: true description: Board media. properties: image_cover_url: type: string nullable: true description: Board cover image. example: https://i.pinimg.com/400x300/fd/cd/d5/fdcdd5a6d8a80824add0d054125cd957.jpg pin_thumbnail_urls: type: array description: Board pin thumbnail urls. items: type: string example: - https://i.pinimg.com/150x150/b4/57/10/b45710f1ede96af55230f4b43935c4af.jpg - https://i.pinimg.com/150x150/dd/ff/46/ddff4616e39c1935cd05738794fa860e.jpg - https://i.pinimg.com/150x150/84/ac/59/84ac59b670ccb5b903dace480a98930c.jpg - https://i.pinimg.com/150x150/4c/54/6f/4c546f521be85e30838fb742bfff6936.jpg owner: allOf: - $ref: '#/components/schemas/BoardOwner' type: object readOnly: true privacy: type: string default: PUBLIC description: Privacy setting for a board. Learn more about secret boards and protected boards enum: - PUBLIC - PROTECTED - SECRET required: - name ProductType4Filter: type: object additionalProperties: false properties: PRODUCT_TYPE_4: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringListCriteria' required: - PRODUCT_TYPE_4 CatalogsProductGroupFilters: description: Object holding a group of filters for a catalog product group title: catalogs_product_group_filters type: object anyOf: - $ref: '#/components/schemas/CatalogsProductGroupFiltersAnyOf' - $ref: '#/components/schemas/CatalogsProductGroupFiltersAllOf' PinMediaSourceImagesBase64: title: Images Base64 description: Multiple Base64-encoded images media source additionalProperties: false properties: source_type: type: string enum: - multiple_image_base64 items: items: additionalProperties: false properties: title: type: string description: type: string link: type: string description: Destination link for the image. content_type: type: string enum: - image/jpeg - image/png data: type: string description: Image to upload as base64 string. pattern: '[a-zA-Z0-9+\/=]+' required: - data - content_type type: object minItems: 2 maxItems: 5 description: Array with image objects. type: array index: type: integer minimum: 0 required: - items type: object ProductGroupReferenceFilter: type: object additionalProperties: false properties: PRODUCT_GROUP: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringCriteria' required: - PRODUCT_GROUP CatalogsProductGroupFiltersAnyOf: type: object additionalProperties: false properties: any_of: type: array items: type: object $ref: '#/components/schemas/CatalogsProductGroupFilterKeys' required: - any_of GoogleProductCategory6Filter: type: object additionalProperties: false properties: GOOGLE_PRODUCT_CATEGORY_6: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringListCriteria' required: - GOOGLE_PRODUCT_CATEGORY_6 CatalogsProductGroupType: type: string title: product_group_type description: '

Catalog product group type

MERCHANT_CREATED: Product groups created by merchants.
ALL_PRODUCTS: Consists of every product in your latest successful feed upload.
BEST_DEALS: Consists of products with the deepest drop in price.
PINNER_FAVORITES: Consists of products that are resonating most with people on Pinterest, based on engagement.
TOP_SELLERS: Consists of products with the highest conversion rate, if you have the conversion tag installed.
BACK_IN_STOCK: Consists of products that were previously out of stock and are now in stock.
NEW_ARRIVALS: Consists of products that are new to your Catalog.
SHOPIFY_COLLECTION: Product groups created based on Shopify Product Collections.
I2PC: Product groups created based on predicted product category.

' enum: - MERCHANT_CREATED - ALL_PRODUCTS - BEST_DEALS - PINNER_FAVORITES - TOP_SELLERS - BACK_IN_STOCK - NEW_ARRIVALS - SHOPIFY_COLLECTIONS - I2PC example: TOP_SELLERS Granularity: type: string description: Granularity enum: - TOTAL - DAY - HOUR - WEEK - MONTH BrandFilter: type: object additionalProperties: false properties: BRAND: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringCriteria' required: - BRAND CatalogsHotelProductGroup: type: object title: hotel_product_group properties: catalog_type: type: string enum: - HOTEL id: description: ID of the hotel product group. example: '443727193917' type: string pattern: ^\d+$ name: description: Name of hotel product group example: Most Popular type: string description: type: string nullable: true filters: $ref: '#/components/schemas/CatalogsHotelProductGroupFilters' created_at: description: Unix timestamp in seconds of when catalog product group was created. example: 1621350033000 type: integer updated_at: description: Unix timestamp in seconds of last time catalog product group was updated. example: 1622742155000 type: integer catalog_id: description: Catalog id pertaining to the hotel product group. type: string pattern: ^\d+$ required: - id - filters - catalog_type - catalog_id PinMediaSourceImagesURL: title: Images urls description: Multiple images urls-based media source additionalProperties: false properties: source_type: type: string enum: - multiple_image_urls items: items: additionalProperties: false properties: title: type: string description: type: string link: type: string description: Destination link for the image. url: description: URL of image to upload. type: string required: - url type: object minItems: 2 maxItems: 5 description: Array with image objects. type: array index: type: integer minimum: 0 required: - items type: object CatalogsProductGroupPricingCriteria: title: catalogs_product_group_pricing_criteria type: object additionalProperties: false properties: inclusion: type: boolean default: true values: type: number minimum: 0 negated: type: boolean default: false required: - values CustomLabel0Filter: type: object additionalProperties: false properties: CUSTOM_LABEL_0: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringCriteria' required: - CUSTOM_LABEL_0 GridClickType: type: string description: Where a user is taken after clicking on an ad in grid.

Note: This parameter is read-only and is set to DIRECT_TO_DESTINATION by default for direct links supported ads. grid_click_type values provided will be ignored. example: CLOSEUP nullable: true enum: - CLOSEUP - DIRECT_TO_DESTINATION PinMediaSource: title: Pin media source description: Pin media source. oneOf: - $ref: '#/components/schemas/PinMediaSourceImageBase64' - $ref: '#/components/schemas/PinMediaSourceImageURL' - $ref: '#/components/schemas/PinMediaSourceVideoID' - $ref: '#/components/schemas/PinMediaSourceImagesBase64' - $ref: '#/components/schemas/PinMediaSourceImagesURL' - $ref: '#/components/schemas/PinMediaSourcePinURL' discriminator: propertyName: source_type mapping: multiple_image_base64: '#/components/schemas/PinMediaSourceImagesBase64' image_base64: '#/components/schemas/PinMediaSourceImageBase64' multiple_image_urls: '#/components/schemas/PinMediaSourceImagesURL' image_url: '#/components/schemas/PinMediaSourceImageURL' video_id: '#/components/schemas/PinMediaSourceVideoID' pin_url: '#/components/schemas/PinMediaSourcePinURL' HotelIdFilter: type: object additionalProperties: false properties: HOTEL_ID: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringCriteria' required: - HOTEL_ID CatalogsProductGroupStatus: type: string enum: - ACTIVE - INACTIVE CatalogsProductGroupMultipleMediaTypesCriteria: title: catalogs_product_group_multiple_media_type_criteria type: object additionalProperties: false properties: values: type: array items: $ref: '#/components/schemas/MediaType' negated: type: boolean default: false required: - values ProductType3Filter: type: object additionalProperties: false properties: PRODUCT_TYPE_3: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringListCriteria' required: - PRODUCT_TYPE_3 GoogleProductCategory0Filter: type: object additionalProperties: false properties: GOOGLE_PRODUCT_CATEGORY_0: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringListCriteria' required: - GOOGLE_PRODUCT_CATEGORY_0 ProductGroupPromotionResponseItem: type: object title: ProductGroupPromotionResponseItem properties: data: $ref: '#/components/schemas/ProductGroupPromotionResponseElement' exceptions: nullable: true items: nullable: true $ref: '#/components/schemas/Exception' CatalogsListProductsByFilterRequest: description: Request object to list products for a given product group filter. type: object oneOf: - description: Request object to list products for a given feed_id and product group filter. type: object additionalProperties: false properties: feed_id: description: Catalog Feed id pertaining to the catalog product group filter. example: '2680059592705' type: string pattern: ^\d+$ filters: $ref: '#/components/schemas/CatalogsProductGroupFilters' required: - feed_id - filters CatalogsHotelProductGroupFilterKeys: title: catalogs_product_group_keys anyOf: - $ref: '#/components/schemas/PriceFilter' - $ref: '#/components/schemas/HotelIdFilter' - $ref: '#/components/schemas/BrandFilter' - $ref: '#/components/schemas/CustomLabel0Filter' - $ref: '#/components/schemas/CustomLabel1Filter' - $ref: '#/components/schemas/CustomLabel2Filter' - $ref: '#/components/schemas/CustomLabel3Filter' - $ref: '#/components/schemas/CustomLabel4Filter' - $ref: '#/components/schemas/CountryFilter' MinPriceFilter: type: object additionalProperties: false properties: MIN_PRICE: type: object $ref: '#/components/schemas/CatalogsProductGroupPricingCriteria' required: - MIN_PRICE GoogleProductCategory1Filter: type: object additionalProperties: false properties: GOOGLE_PRODUCT_CATEGORY_1: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringListCriteria' required: - GOOGLE_PRODUCT_CATEGORY_1 CatalogsHotelProductGroupUpdateRequest: type: object title: hotel_product_groups_update_request additionalProperties: false description: Request object for updating a hotel product group. properties: catalog_type: type: string enum: - HOTEL name: type: string description: type: string nullable: true filters: $ref: '#/components/schemas/CatalogsHotelProductGroupFilters' AvailabilityFilter: type: object additionalProperties: false properties: AVAILABILITY: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringCriteria' required: - AVAILABILITY CatalogsRetailProductGroupCreateRequest: type: object title: retail_product_groups_create_request additionalProperties: false description: Request object for creating a product group. properties: catalog_type: type: string enum: - RETAIL description: Retail catalog based product group is available only for selected partners at the moment. If you are not eligible, please use feed based one. name: type: string description: type: string nullable: true filters: $ref: '#/components/schemas/CatalogsProductGroupFiltersRequest' catalog_id: description: Catalog id pertaining to the retail product group. example: '2680059592705' type: string pattern: ^\d+$ country: $ref: '#/components/schemas/Country' locale: $ref: '#/components/schemas/CatalogsLocale' required: - name - filters - catalog_id - catalog_type - country - locale CatalogsCreativeAssetsProductGroup: type: object title: creative_assets_product_group properties: catalog_type: type: string enum: - CREATIVE_ASSETS id: description: ID of the creative assets product group. example: '443727193917' type: string pattern: ^\d+$ name: description: Name of creative assets product group example: Most Popular type: string description: type: string nullable: true filters: $ref: '#/components/schemas/CatalogsCreativeAssetsProductGroupFilters' created_at: description: Unix timestamp in seconds of when catalog product group was created. example: 1621350033000 type: integer updated_at: description: Unix timestamp in seconds of last time catalog product group was updated. example: 1622742155000 type: integer catalog_id: description: Catalog id pertaining to the creative assets product group. type: string pattern: ^\d+$ required: - id - filters - catalog_type - catalog_id CatalogsHotelProductGroupCreateRequest: type: object title: hotel_product_groups_create_request additionalProperties: false description: Request object for creating a hotel product group. properties: catalog_type: type: string enum: - HOTEL name: type: string description: type: string nullable: true filters: $ref: '#/components/schemas/CatalogsHotelProductGroupFilters' catalog_id: description: Catalog id pertaining to the hotel product group. example: '2680059592705' type: string pattern: ^\d+$ required: - name - filters - catalog_id - catalog_type ProductGroupPromotionResponseElement: type: object title: ProductGroupPromotionResponseElement allOf: - $ref: '#/components/schemas/ProductGroupPromotion' - type: object properties: creative_type: $ref: '#/components/schemas/CreativeType' CatalogsProductGroupFiltersAllOf: type: object additionalProperties: false properties: all_of: type: array items: type: object $ref: '#/components/schemas/CatalogsProductGroupFilterKeys' required: - all_of ProductGroupPromotion: properties: id: description: ID of the product group promotion. example: '2680059592705' title: id type: string pattern: ^\d+$ ad_group_id: description: ID of the ad group the product group belongs to. example: '2680059592705' pattern: ^(AG)?\d+$ title: ad_group_id type: string bid_in_micro_currency: description: The bid in micro currency. example: 14000000 title: bid_in_micro_currency type: integer nullable: true included: description: True if the group is BIDDABLE, false if it should be EXCLUDED from serving ads. example: true nullable: true title: included type: boolean definition: description: The full product group definition path example: '*/product_type_0=''kitchen''/product_type_1=''beverage appliances''' nullable: true title: definition type: string relative_definition: description: The definition of the product group, relative to its parent - an attribute name/value pair example: product_type_1='beverage appliances' nullable: true title: relative_definition type: string parent_id: description: The parent Product Group ID of this Product Group example: '1231234' nullable: true title: parent_id type: string pattern: ^\d+$ slideshow_collections_title: description: Slideshow Collections Title example: slideshow title nullable: true title: slideshow_collections_title type: string slideshow_collections_description: description: Slideshow Collections Description example: slideshow description nullable: true title: slideshow_collections_description type: string is_mdl: description: If set to true products promoted in this product group will use the Mobile Deep Link specified in your catalog example: true nullable: true title: is_mdl type: boolean status: $ref: '#/components/schemas/EntityStatus' tracking_url: description: Tracking template for proudct group promotions. 4000 limit example: https://www.pinterest.com nullable: true title: tracking_url type: string catalog_product_group_id: description: ID of the catalogs product group that this product group promotion references example: '1231235' title: catalog_product_group_id type: string pattern: ^\d+$ nullable: true catalog_product_group_name: description: Catalogs product group name example: catalogProductGroupName title: product_group_promotion_name type: string nullable: true collections_hero_pin_id: description: Hero Pin ID if this PG is promoted as a Collection example: '123123' nullable: true title: collections_hero_pin_id type: string pattern: ^\d+$ collections_hero_destination_url: description: Collections Hero Destination Url example: http://www.pinterest.com nullable: true title: collections_hero_destination_url type: string grid_click_type: $ref: '#/components/schemas/GridClickType' type: object title: ProductGroupPromotion CatalogsCreativeAssetsProductGroupFilterKeys: title: catalogs_product_group_keys anyOf: - $ref: '#/components/schemas/CreativeAssetsIdFilter' - $ref: '#/components/schemas/CustomLabel0Filter' - $ref: '#/components/schemas/CustomLabel1Filter' - $ref: '#/components/schemas/CustomLabel2Filter' - $ref: '#/components/schemas/CustomLabel3Filter' - $ref: '#/components/schemas/CustomLabel4Filter' - $ref: '#/components/schemas/GoogleProductCategory6Filter' - $ref: '#/components/schemas/GoogleProductCategory5Filter' - $ref: '#/components/schemas/GoogleProductCategory4Filter' - $ref: '#/components/schemas/GoogleProductCategory3Filter' - $ref: '#/components/schemas/GoogleProductCategory2Filter' - $ref: '#/components/schemas/GoogleProductCategory1Filter' - $ref: '#/components/schemas/GoogleProductCategory0Filter' - $ref: '#/components/schemas/MediaTypeFilter' CountryFilter: type: object additionalProperties: false properties: COUNTRY: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleCountriesCriteria' required: - COUNTRY CatalogsCreativeAssetsProductGroupFiltersAllOf: type: object additionalProperties: false properties: all_of: type: array items: type: object $ref: '#/components/schemas/CatalogsCreativeAssetsProductGroupFilterKeys' required: - all_of Gender: type: string enum: - FEMALE - MALE - UNISEX PriceFilter: type: object additionalProperties: false properties: PRICE: type: object additionalProperties: false title: catalogs_product_group_pricing_currency_criteria properties: operator: type: string enum: - GREATER_THAN - GREATER_THAN_OR_EQUALS - LESS_THAN - LESS_THAN_OR_EQUALS value: type: number minimum: 0 currency: $ref: '#/components/schemas/NonNullableCatalogsCurrency' negated: type: boolean default: false required: - value - operator - currency required: - PRICE Error: title: Error type: object properties: code: type: integer message: type: string required: - code - message CatalogsRetailProductGroupUpdateRequest: type: object title: retail_product_groups_update_request additionalProperties: false description: Request object for updating a retail product group. properties: catalog_type: type: string enum: - RETAIL description: Retail catalog based product group is available only for selected partners at the moment. If you are not eligible, please use feed based one. name: type: string description: type: string nullable: true filters: $ref: '#/components/schemas/CatalogsProductGroupFiltersRequest' country: $ref: '#/components/schemas/Country' locale: $ref: '#/components/schemas/CatalogsLocale' ProductGroupPromotionResponse: type: object title: ProductGroupPromotionResponse properties: items: type: array items: $ref: '#/components/schemas/ProductGroupPromotionResponseItem' Exception: title: Generic exception class to be used within schemas type: object properties: code: type: integer example: 2 description: Exception error code. message: type: string example: Advertiser not found. description: Exception message. CatalogsProductGroupMultipleStringListCriteria: title: catalogs_product_group_multiple_string_list_criteria type: object additionalProperties: false properties: values: type: array items: type: array items: type: string negated: type: boolean default: false required: - values CustomLabel2Filter: type: object additionalProperties: false properties: CUSTOM_LABEL_2: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringCriteria' required: - CUSTOM_LABEL_2 ProductGroupAnalyticsResponse: type: array items: type: object properties: PRODUCT_GROUP_ID: description: The ID of the product group that this metrics belongs to. type: string pattern: ^\d+$ DATE: description: Current metrics date. Only returned when granularity is a time-based value (`DAY`, `HOUR`, `WEEK`, `MONTH`) type: string format: date required: - PRODUCT_GROUP_ID additionalProperties: true example: DATE: '2021-04-01' PRODUCT_GROUP_ID: '74629351736530' SPEND_IN_DOLLAR: 30 TOTAL_CLICKTHROUGH: 216 CatalogsProductGroupFiltersRequest: description: Object holding a group of filters for request on catalog product group. This is a distinct schema It is not possible to create or update a Product Group with empty filters. But some automatically generated Product Groups might have empty filters. title: catalogs_product_group_filters type: object anyOf: - type: object additionalProperties: false properties: any_of: type: array items: type: object $ref: '#/components/schemas/CatalogsProductGroupFilterKeys' minItems: 1 required: - any_of - type: object additionalProperties: false properties: all_of: type: array items: type: object $ref: '#/components/schemas/CatalogsProductGroupFilterKeys' minItems: 1 required: - all_of ProductType2Filter: type: object additionalProperties: false properties: PRODUCT_TYPE_2: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringListCriteria' required: - PRODUCT_TYPE_2 CatalogsCreativeAssetsProductGroupUpdateRequest: type: object title: creative_assets_product_groups_update_request additionalProperties: false description: Request object for updating a creative assets product group. properties: catalog_type: type: string enum: - CREATIVE_ASSETS name: type: string description: type: string nullable: true filters: $ref: '#/components/schemas/CatalogsCreativeAssetsProductGroupFilters' CatalogsProduct: type: object properties: metadata: $ref: '#/components/schemas/CatalogsProductMetadata' pin: $ref: '#/components/schemas/Pin' required: - metadata - pin PinMediaSourceImageURL: title: Image URL description: Image URL-based media source type: object properties: source_type: type: string enum: - image_url url: type: string is_standard: type: boolean description: Set the parameter to false to create the new simplified Pin instead of the standard pin. Currently the field is only available to a list of beta users. default: true required: - source_type - url CatalogsCreativeAssetsProductGroupFilters: description: Object holding a group of filters for a creative assets product group title: catalogs_product_group_filters type: object anyOf: - $ref: '#/components/schemas/CatalogsCreativeAssetsProductGroupFiltersAnyOf' - $ref: '#/components/schemas/CatalogsCreativeAssetsProductGroupFiltersAllOf' PinMediaSourceImageBase64: title: Image Base64 description: Base64-encoded image media source type: object properties: source_type: type: string enum: - image_base64 content_type: type: string enum: - image/jpeg - image/png data: type: string pattern: '[a-zA-Z0-9+\/=]+' is_standard: type: boolean description: Set the parameter to false to create the new simplified Pin instead of the standard pin. Currently the field is only available to a list of beta users. default: true required: - source_type - content_type - data BoardOwner: title: Board owner type: object properties: username: type: string readOnly: true PinMediaSourceVideoID: title: Video ID description: Video ID-based media source type: object properties: source_type: type: string enum: - video_id cover_image_url: type: string description: Cover image url. cover_image_content_type: type: string description: Content type for cover image Base64. enum: - image/jpeg - image/png cover_image_data: type: string description: Cover image Base64. media_id: type: string pattern: ^\d+$ is_standard: type: boolean description: Set the parameter to false to create the new simplified Pin instead of the standard pin. Currently the field is only available to a list of beta users. default: true required: - source_type - media_id ConditionFilter: type: object additionalProperties: false properties: CONDITION: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringCriteria' required: - CONDITION CatalogsLocale: type: string enum: - af-ZA - ar-SA - bg-BG - bn-IN - cs-CZ - da-DK - de - el-GR - en-AU - en-CA - en-GB - en-IN - en-US - es-419 - es-AR - es-ES - es-MX - fi-FI - fr - fr-CA - he-IL - hi-IN - hr-HR - hu-HU - id-ID - it - ja - ko-KR - ms-MY - nb-NO - nl - pl-PL - pt-BR - pt-PT - ro-RO - ru-RU - sk-SK - sv-SE - te-IN - th-TH - tl-PH - tr - uk-UA - vi-VN - zh-CN - zh-TW NonNullableProductAvailabilityType: description: Product availability. nullable: false type: string enum: - IN_STOCK - OUT_OF_STOCK - PREORDER CustomLabel1Filter: type: object additionalProperties: false properties: CUSTOM_LABEL_1: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringCriteria' required: - CUSTOM_LABEL_1 CatalogsCreativeAssetsProductGroupFiltersAnyOf: type: object additionalProperties: false properties: any_of: type: array items: type: object $ref: '#/components/schemas/CatalogsCreativeAssetsProductGroupFilterKeys' required: - any_of CatalogsProductGroupFilterKeys: title: catalogs_product_group_keys anyOf: - $ref: '#/components/schemas/MinPriceFilter' - $ref: '#/components/schemas/MaxPriceFilter' - $ref: '#/components/schemas/CurrencyFilter' - $ref: '#/components/schemas/ItemIdFilter' - $ref: '#/components/schemas/AvailabilityFilter' - $ref: '#/components/schemas/BrandFilter' - $ref: '#/components/schemas/ConditionFilter' - $ref: '#/components/schemas/CustomLabel0Filter' - $ref: '#/components/schemas/CustomLabel1Filter' - $ref: '#/components/schemas/CustomLabel2Filter' - $ref: '#/components/schemas/CustomLabel3Filter' - $ref: '#/components/schemas/CustomLabel4Filter' - $ref: '#/components/schemas/ItemGroupIdFilter' - $ref: '#/components/schemas/GenderFilter' - $ref: '#/components/schemas/ProductType4Filter' - $ref: '#/components/schemas/ProductType3Filter' - $ref: '#/components/schemas/ProductType2Filter' - $ref: '#/components/schemas/ProductType1Filter' - $ref: '#/components/schemas/ProductType0Filter' - $ref: '#/components/schemas/GoogleProductCategory6Filter' - $ref: '#/components/schemas/GoogleProductCategory5Filter' - $ref: '#/components/schemas/GoogleProductCategory4Filter' - $ref: '#/components/schemas/GoogleProductCategory3Filter' - $ref: '#/components/schemas/GoogleProductCategory2Filter' - $ref: '#/components/schemas/GoogleProductCategory1Filter' - $ref: '#/components/schemas/GoogleProductCategory0Filter' - $ref: '#/components/schemas/ProductGroupReferenceFilter' ProductGroupPromotionCreateRequest: example: product_group_promotion: - slideshow_collections_description: Description collections_hero_pin_id: '123123' catalog_product_group_name: catalogProductGroupName collections_hero_destination_url: http://www.pinterest.com tracking_url: https://www.pinterest.com slideshow_collections_title: Title is_mdl: true status: ACTIVE creative_type: REGULAR - slideshow_collections_description: Description collections_hero_pin_id: '123123' catalog_product_group_name: catalogProductGroupName collections_hero_destination_url: http://www.pinterest.com tracking_url: https://www.pinterest.com slideshow_collections_title: Title is_mdl: true status: ACTIVE creative_type: REGULAR ad_group_id: '2680059592705' properties: ad_group_id: description: ID of the Ad Group the Product Group Promotion belongs to. example: '2680059592705' pattern: ^(AG)?\d+$ title: ad_group_id type: string product_group_promotion: items: $ref: '#/components/schemas/ProductGroupPromotionCreateRequestElement' title: product_group_promotion type: array required: - ad_group_id - product_group_promotion title: ProductGroupPromotionCreateRequest type: object MediaTypeFilter: type: object additionalProperties: false properties: MEDIA_TYPE: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleMediaTypesCriteria' required: - MEDIA_TYPE CurrencyFilter: type: object additionalProperties: false properties: CURRENCY: type: object $ref: '#/components/schemas/CatalogsProductGroupCurrencyCriteria' required: - CURRENCY CatalogsProductGroupProductCounts: title: catalogs_product_group_product_counts description: Product counts for a CatalogsProductGroup type: object properties: in_stock: type: number minimum: 0 out_of_stock: type: number minimum: 0 preorder: type: number minimum: 0 total: type: number minimum: 0 required: - in_stock - out_of_stock - preorder - total PinMedia: title: Pin media type: object description: Pin media objects. discriminator: propertyName: media_type mapping: image: '#/components/schemas/PinMediaWithImage' video: '#/components/schemas/PinMediaWithVideo' multiple_images: '#/components/schemas/PinMediaWithImages' multiple_videos: '#/components/schemas/PinMediaWithVideos' multiple_mixed: '#/components/schemas/PinMediaWithImageAndVideo' properties: media_type: type: string ProductGroupPromotionUpdateRequest: example: product_group_promotion: - catalog_product_group_id: '1234123' slideshow_collections_description: Description collections_hero_pin_id: '123123' catalog_product_group_name: ProductGroupName collections_hero_destination_url: http://www.pinterest.com tracking_url: https://www.pinterest.com slideshow_collections_title: Title status: ACTIVE id: '2680059592705' - catalog_product_group_id: '1231231' slideshow_collections_description: Other description collections_hero_pin_id: '123124' catalog_product_group_name: ProductGroupName collections_hero_destination_url: http://www.pinterest.com tracking_url: https://www.pinterest.com slideshow_collections_title: Title status: ACTIVE id: '2680059592706' ad_group_id: '26823439592705' properties: ad_group_id: description: ID of the ad group the product group belongs to. example: '2680059592705' pattern: ^(AG)?\d+$ title: ad_group_id type: string product_group_promotion: items: $ref: '#/components/schemas/ProductGroupPromotion' title: product_group_promotion type: array required: - ad_group_id - product_group_promotion title: ProductGroupPromotionUpdateRequest type: object GoogleProductCategory2Filter: type: object additionalProperties: false properties: GOOGLE_PRODUCT_CATEGORY_2: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringListCriteria' required: - GOOGLE_PRODUCT_CATEGORY_2 ProductType0Filter: type: object additionalProperties: false properties: PRODUCT_TYPE_0: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringListCriteria' required: - PRODUCT_TYPE_0 CatalogsProductGroupMultipleCountriesCriteria: title: catalogs_product_group_multiple_country_criteria type: object additionalProperties: false properties: values: type: array items: $ref: '#/components/schemas/Country' negated: type: boolean default: false required: - values MediaType: type: string enum: - IMAGE - VIDEO MaxPriceFilter: type: object additionalProperties: false properties: MAX_PRICE: type: object $ref: '#/components/schemas/CatalogsProductGroupPricingCriteria' required: - MAX_PRICE CatalogsVerticalProductGroupCreateRequest: type: object title: catalog based description: Request object for creating a catalog based product group. oneOf: - $ref: '#/components/schemas/CatalogsRetailProductGroupCreateRequest' - $ref: '#/components/schemas/CatalogsHotelProductGroupCreateRequest' - $ref: '#/components/schemas/CatalogsCreativeAssetsProductGroupCreateRequest' discriminator: propertyName: catalog_type mapping: RETAIL: '#/components/schemas/CatalogsRetailProductGroupCreateRequest' HOTEL: '#/components/schemas/CatalogsHotelProductGroupCreateRequest' CREATIVE_ASSETS: '#/components/schemas/CatalogsCreativeAssetsProductGroupCreateRequest' GoogleProductCategory5Filter: type: object additionalProperties: false properties: GOOGLE_PRODUCT_CATEGORY_5: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringListCriteria' required: - GOOGLE_PRODUCT_CATEGORY_5 CustomLabel4Filter: type: object additionalProperties: false properties: CUSTOM_LABEL_4: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringCriteria' required: - CUSTOM_LABEL_4 CatalogProductGroup: description: non-promoted catalog product group entity properties: id: description: ID of the catalog product group. example: '2680059592705' title: id type: string merchant_id: description: Merchant ID pertaining to the owner of the catalog product group. example: '2680059592705' pattern: ^\d+$ title: merchant_id type: string name: description: Name of catalog product group example: Most Popular title: name type: string filters: description: Object holding a list of filters example: '1': - 123chars_title title: filters type: object filter_v2: description: Object holding a list of filters example: '1': - 123chars_title title: filters type: object type: $ref: '#/components/schemas/Board' status: $ref: '#/components/schemas/EntityStatus' feed_profile_id: description: id of the feed profile belonging to this catalog product group pattern: ^\d+$ title: feed_profile_id type: string created_at: description: Unix timestamp in seconds of when catalog product group was created. example: 1621350033000 title: created_at type: integer last_update: description: Unix timestamp in seconds of last time catalog product group was updated. example: 1622742155000 title: last_update type: integer product_count: description: Amount of products in the catalog product group example: 6 title: product_count type: integer featured_position: description: index of the featured position of the catalog product group example: 2 title: featured_position type: integer title: CatalogProductGroup type: object CatalogsProductGroupMultipleGenderCriteria: title: catalogs_product_group_multiple_gender_criteria type: object additionalProperties: false properties: values: type: array items: $ref: '#/components/schemas/Gender' negated: type: boolean default: false required: - values CatalogsHotelProductGroupFilters: description: Object holding a group of filters for a hotel product group title: catalogs_product_group_filters type: object anyOf: - $ref: '#/components/schemas/CatalogsHotelProductGroupFiltersAnyOf' - $ref: '#/components/schemas/CatalogsHotelProductGroupFiltersAllOf' Paginated: type: object properties: items: type: array items: type: object bookmark: type: string nullable: true required: - items CatalogsProductGroupUpdateRequest: type: object title: retail feed based additionalProperties: false description: Request object for updating a product group. properties: name: type: string description: type: string nullable: true is_featured: description: boolean indicator of whether the product group is being featured or not type: boolean filters: $ref: '#/components/schemas/CatalogsProductGroupFiltersRequest' PinMediaSourcePinURL: title: Pin URL description: Pin URL-based media source for product pin creation. Currently the field is only available to a list of beta users. type: object properties: source_type: type: string enum: - pin_url is_affiliate_link: type: boolean description: This is an affiliate link or sponsored product. The FTC requires disclosure for paid partnerships and affiliate products. default: false required: - source_type GoogleProductCategory3Filter: type: object additionalProperties: false properties: GOOGLE_PRODUCT_CATEGORY_3: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringListCriteria' required: - GOOGLE_PRODUCT_CATEGORY_3 CreativeType: type: string description: Ad creative type enum. For update, only draft ads may update creative type.

Note: SHOP_THE_PIN has been deprecated. Please use COLLECTION instead. enum: - REGULAR - VIDEO - SHOPPING - CAROUSEL - MAX_VIDEO - SHOP_THE_PIN - COLLECTION - IDEA - SHOWCASE - QUIZ example: REGULAR title: CreativeType CatalogsVerticalProductGroupUpdateRequest: type: object title: catalog based description: Request object for updating a catalog based product group. oneOf: - $ref: '#/components/schemas/CatalogsRetailProductGroupUpdateRequest' - $ref: '#/components/schemas/CatalogsHotelProductGroupUpdateRequest' - $ref: '#/components/schemas/CatalogsCreativeAssetsProductGroupUpdateRequest' discriminator: propertyName: catalog_type mapping: RETAIL: '#/components/schemas/CatalogsRetailProductGroupUpdateRequest' HOTEL: '#/components/schemas/CatalogsHotelProductGroupUpdateRequest' CREATIVE_ASSETS: '#/components/schemas/CatalogsCreativeAssetsProductGroupUpdateRequest' CreativeAssetsIdFilter: type: object additionalProperties: false properties: CREATIVE_ASSETS_ID: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringCriteria' required: - CREATIVE_ASSETS_ID ItemGroupIdFilter: type: object additionalProperties: false properties: ITEM_GROUP_ID: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringCriteria' required: - ITEM_GROUP_ID ItemIdFilter: type: object additionalProperties: false properties: ITEM_ID: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringCriteria' required: - ITEM_ID 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 CatalogsRetailProductGroup: type: object title: retail_product_group properties: catalog_type: type: string enum: - RETAIL id: description: ID of the catalog product group. example: '443727193917' type: string pattern: ^\d+$ name: description: Name of catalog product group example: Most Popular type: string description: type: string nullable: true filters: $ref: '#/components/schemas/CatalogsProductGroupFilters' is_featured: description: boolean indicator of whether the product group is being featured or not type: boolean type: $ref: '#/components/schemas/CatalogsProductGroupType' status: $ref: '#/components/schemas/CatalogsProductGroupStatus' created_at: description: Unix timestamp in seconds of when catalog product group was created. example: 1621350033000 type: integer updated_at: description: Unix timestamp in seconds of last time catalog product group was updated. example: 1622742155000 type: integer catalog_id: description: Catalog id pertaining to the retail product group. type: string pattern: ^\d+$ feed_id: description: id of the catalogs feed belonging to this catalog product group example: '2680059592705' type: string pattern: ^\d+$ nullable: true required: - filters - id - catalog_id - feed_id - catalog_type Pin: title: Pin description: Pin type: object nullable: true properties: id: type: string readOnly: true example: '813744226420795884' pattern: ^\d+$ created_at: type: string format: date-time readOnly: true example: '2020-01-01T20:10:40-00:00' link: type: string nullable: true example: https://www.pinterest.com/ maxLength: 2048 title: type: string nullable: true description: type: string nullable: true dominant_color: type: string nullable: true description: Dominant pin color. Hex number, e.g. \"#6E7874\". example: '#6E7874' alt_text: type: string nullable: true maxLength: 500 creative_type: readOnly: true nullable: true type: string allOf: - $ref: '#/components/schemas/CreativeType' board_id: description: The board to which this Pin belongs. type: string pattern: ^\d+$ board_section_id: description: The board section to which this Pin belongs. type: string pattern: ^\d+$ nullable: true board_owner: allOf: - $ref: '#/components/schemas/BoardOwner' type: object readOnly: true is_owner: description: Whether the "operation user_account" is the Pin owner. type: boolean readOnly: true media: allOf: - $ref: '#/components/schemas/PinMedia' type: object readOnly: true media_source: allOf: - $ref: '#/components/schemas/PinMediaSource' type: object writeOnly: true parent_pin_id: description: The source pin id if this pin was saved from another pin. Learn more. type: string pattern: ^\d+$ nullable: true is_standard: description: Whether the Pin is standard or not. See documentation on Changes to Pin creation for more information. type: boolean has_been_promoted: description: Whether the Pin has been promoted or not. type: boolean readOnly: true note: description: Private note for this Pin. Learn more. type: string nullable: true pin_metrics: description: Pin metrics with associated time intervals if any. type: object nullable: true example: pin_metrics: - 90d: pin_click: 7 impression: 2 clickthrough: 3 all_time: pin_click: 7 impression: 2 clickthrough: 3 reaction: 10 comment: 2 - null CatalogsVerticalProductGroup: type: object title: product_group oneOf: - $ref: '#/components/schemas/CatalogsRetailProductGroup' - $ref: '#/components/schemas/CatalogsHotelProductGroup' - $ref: '#/components/schemas/CatalogsCreativeAssetsProductGroup' discriminator: propertyName: catalog_type mapping: RETAIL: '#/components/schemas/CatalogsRetailProductGroup' HOTEL: '#/components/schemas/CatalogsHotelProductGroup' CREATIVE_ASSETS: '#/components/schemas/CatalogsCreativeAssetsProductGroup' parameters: query_conversion_attribution_click_window_days: name: click_window_days in: query schema: type: integer enum: - 0 - 1 - 7 - 14 - 30 - 60 default: 30 description: Number of days to use as the conversion attribution window for a pin click action. Applies to Pinterest Tag conversion metrics. Prior conversion tags use their defined attribution windows. If not specified, defaults to `30` days. example: 1 query_conversion_attribution_conversion_report_time: description: 'The date by which the conversion metrics returned from this endpoint will be reported. There are two dates associated with a conversion event: the date that the user interacted with the ad, and the date that the user completed a conversion event.' example: TIME_OF_AD_ACTION in: query name: conversion_report_time schema: type: string enum: - TIME_OF_AD_ACTION - TIME_OF_CONVERSION default: TIME_OF_AD_ACTION query_catalogs_product_group_ids_required: name: id in: query style: form explode: false description: Comma-separated list of product group ids required: true schema: type: array items: type: integer minItems: 1 maxItems: 1000 query_product_group_promotion_ids: description: List of Product group promotion Ids. in: query name: product_group_promotion_ids required: false schema: type: array items: type: string pattern: ^\d+$ minItems: 1 maxItems: 100 query_conversion_attribution_view_window_days: name: view_window_days in: query description: Number of days to use as the conversion attribution window for a view action. Applies to Pinterest Tag conversion metrics. Prior conversion tags use their defined attribution windows. If not specified, defaults to `1` day. schema: type: integer enum: - 0 - 1 - 7 - 14 - 30 - 60 default: 1 path_ad_account_id: name: ad_account_id description: Unique identifier of an ad account. in: path required: true schema: type: string pattern: ^\d+$ maxLength: 18 query_bookmark: name: bookmark description: Cursor used to fetch the next page of items in: query required: false schema: type: string query_feed_profile_id: in: query name: feed_profile_id description: The feed profile id whose catalog product groups we want to return. required: false schema: pattern: ^\d+$ maxLength: 18 type: string query_order: description: 'The order in which to sort the items returned: ASCENDING or DESCENDING by ID. Note that higher-value IDs are associated with more-recently added items.' in: query name: order required: false schema: type: string example: ASCENDING enum: - ASCENDING - DESCENDING path_product_group_promotion_id: name: product_group_promotion_id description: Unique identifier of a product group promotion in: path required: true schema: type: string pattern: ^\d+$ maxLength: 18 query_entity_statuses: in: query name: entity_statuses required: false description: Entity status schema: type: array items: type: string example: ACTIVE enum: - ACTIVE - PAUSED - ARCHIVED - DRAFT - DELETED_DRAFT default: - ACTIVE - PAUSED query_catalogs_catalog_id: description: Filter entities for a given catalog_id. If not given, all catalogs are considered. in: query required: false name: catalog_id schema: type: string pattern: ^\d+$ query_page_size: name: page_size description: Maximum number of items to include in a single page of the response. See documentation on Pagination for more information. in: query required: false schema: type: integer minimum: 1 maximum: 250 default: 25 query_granularity: description: TOTAL - metrics are aggregated over the specified date range.
DAY - metrics are broken down daily.
HOUR - metrics are broken down hourly.
WEEKLY - metrics are broken down weekly.
MONTHLY - metrics are broken down monthly example: DAY in: query name: granularity required: true schema: $ref: '#/components/schemas/Granularity' query_catalogs_feed_id: description: Filter entities for a given feed_id. If not given, all feeds are considered. in: query required: false name: feed_id schema: type: string pattern: ^\d+$ query_ad_group_id: description: Ad group Id. in: query name: ad_group_id example: '123123123' required: false schema: type: string pattern: ^\d+$ maxLength: 18 query_start_date: description: 'Metric report start date (UTC). Format: YYYY-MM-DD. Cannot be more than 90 days back from today.' in: query name: start_date required: true schema: type: string format: date path_catalogs_product_group_id: description: Unique identifier of a product group in: path required: true name: product_group_id schema: type: string pattern: ^\d+$ query_conversion_attribution_engagement_window_days: name: engagement_window_days in: query description: Number of days to use as the conversion attribution window for an engagement action. Engagements include saves, closeups, link clicks, and carousel card swipes. Applies to Pinterest Tag conversion metrics. Prior conversion tags use their defined attribution windows. If not specified, defaults to `30` days. schema: type: integer enum: - 0 - 1 - 7 - 14 - 30 - 60 default: 30 query_end_date: description: 'Metric report end date (UTC). Format: YYYY-MM-DD. Cannot be more than 90 days past start_date.' in: query name: end_date required: true schema: type: string format: date query_ad_account_id: name: ad_account_id description: Unique identifier of an ad account. in: query schema: type: string pattern: ^\d+$ maxLength: 18 query_product_group_ids_required: description: List of Product group Ids to use to filter the results. in: query name: product_group_ids required: true schema: type: array items: type: string pattern: ^\d+$ minItems: 1 maxItems: 100 query_columns: description: 'Columns to retrieve, encoded as a comma-separated string. **NOTE**: Any metrics defined as MICRO_DOLLARS returns a value based on the advertiser profile''s currency field. For USD,($1/1,000,000, or $0.000001 - one one-ten-thousandth of a cent). it''s microdollars. Otherwise, it''s in microunits of the advertiser''s currency.
For example, if the advertiser''s currency is GBP (British pound sterling), all MICRO_DOLLARS fields will be in GBP microunits (1/1,000,000 British pound).
If a column has no value, it may not be returned' explode: false in: query name: columns required: true schema: items: type: string description: Reporting columns for sync reporting endpoints example: TOTAL_CONVERSIONS enum: - SPEND_IN_MICRO_DOLLAR - PAID_IMPRESSION - SPEND_IN_DOLLAR - CPC_IN_MICRO_DOLLAR - ECPC_IN_MICRO_DOLLAR - ECPC_IN_DOLLAR - CTR - ECTR - CAMPAIGN_NAME - PIN_ID - TOTAL_ENGAGEMENT - ENGAGEMENT_1 - ENGAGEMENT_2 - ECPE_IN_DOLLAR - ENGAGEMENT_RATE - EENGAGEMENT_RATE - ECPM_IN_MICRO_DOLLAR - REPIN_RATE - CTR_2 - CAMPAIGN_ID - ADVERTISER_ID - AD_ACCOUNT_ID - PIN_PROMOTION_ID - AD_ID - AD_GROUP_ID - CAMPAIGN_ENTITY_STATUS - CAMPAIGN_OBJECTIVE_TYPE - CPM_IN_MICRO_DOLLAR - CPM_IN_DOLLAR - AD_GROUP_ENTITY_STATUS - ORDER_LINE_ID - ORDER_LINE_NAME - CLICKTHROUGH_1 - REPIN_1 - IMPRESSION_1 - IMPRESSION_1_GROSS - CLICKTHROUGH_1_GROSS - OUTBOUND_CLICK_1 - CLICKTHROUGH_2 - REPIN_2 - IMPRESSION_2 - OUTBOUND_CLICK_2 - TOTAL_CLICKTHROUGH - TOTAL_IMPRESSION - TOTAL_IMPRESSION_USER - TOTAL_IMPRESSION_FREQUENCY - COST_PER_OUTBOUND_CLICK_IN_DOLLAR - TOTAL_ENGAGEMENT_SIGNUP - TOTAL_ENGAGEMENT_CHECKOUT - TOTAL_ENGAGEMENT_LEAD - TOTAL_CLICK_SIGNUP - TOTAL_CLICK_CHECKOUT - TOTAL_CLICK_ADD_TO_CART - TOTAL_CLICK_LEAD - TOTAL_VIEW_SIGNUP - TOTAL_VIEW_CHECKOUT - TOTAL_VIEW_ADD_TO_CART - TOTAL_VIEW_LEAD - TOTAL_CONVERSIONS - TOTAL_ENGAGEMENT_SIGNUP_VALUE_IN_MICRO_DOLLAR - TOTAL_ENGAGEMENT_CHECKOUT_VALUE_IN_MICRO_DOLLAR - TOTAL_CLICK_SIGNUP_VALUE_IN_MICRO_DOLLAR - TOTAL_CLICK_CHECKOUT_VALUE_IN_MICRO_DOLLAR - TOTAL_VIEW_SIGNUP_VALUE_IN_MICRO_DOLLAR - TOTAL_VIEW_CHECKOUT_VALUE_IN_MICRO_DOLLAR - TOTAL_WEB_SESSIONS - WEB_SESSIONS_1 - WEB_SESSIONS_2 - CAMPAIGN_LIFETIME_SPEND_CAP - CAMPAIGN_DAILY_SPEND_CAP - TOTAL_PAGE_VISIT - TOTAL_SIGNUP - TOTAL_CHECKOUT - TOTAL_CUSTOM - TOTAL_LEAD - TOTAL_SIGNUP_VALUE_IN_MICRO_DOLLAR - TOTAL_CHECKOUT_VALUE_IN_MICRO_DOLLAR - TOTAL_CUSTOM_VALUE_IN_MICRO_DOLLAR - PAGE_VISIT_COST_PER_ACTION - PAGE_VISIT_ROAS - CHECKOUT_ROAS - CUSTOM_ROAS - VIDEO_MRC_VIEWS_1 - VIDEO_3SEC_VIEWS_2 - VIDEO_P100_COMPLETE_2 - VIDEO_P0_COMBINED_2 - VIDEO_P25_COMBINED_2 - VIDEO_P50_COMBINED_2 - VIDEO_P75_COMBINED_2 - VIDEO_P95_COMBINED_2 - VIDEO_MRC_VIEWS_2 - VIDEO_LENGTH - ECPV_IN_DOLLAR - ECPCV_IN_DOLLAR - ECPCV_P95_IN_DOLLAR - TOTAL_VIDEO_3SEC_VIEWS - TOTAL_VIDEO_P100_COMPLETE - TOTAL_VIDEO_P0_COMBINED - TOTAL_VIDEO_P25_COMBINED - TOTAL_VIDEO_P50_COMBINED - TOTAL_VIDEO_P75_COMBINED - TOTAL_VIDEO_P95_COMBINED - TOTAL_VIDEO_MRC_VIEWS - TOTAL_VIDEO_AVG_WATCHTIME_IN_SECOND - TOTAL_REPIN_RATE - WEB_CHECKOUT_COST_PER_ACTION - WEB_CHECKOUT_ROAS - TOTAL_WEB_CHECKOUT - TOTAL_WEB_CHECKOUT_VALUE_IN_MICRO_DOLLAR - TOTAL_WEB_CLICK_CHECKOUT - TOTAL_WEB_CLICK_CHECKOUT_VALUE_IN_MICRO_DOLLAR - TOTAL_WEB_ENGAGEMENT_CHECKOUT - TOTAL_WEB_ENGAGEMENT_CHECKOUT_VALUE_IN_MICRO_DOLLAR - TOTAL_WEB_VIEW_CHECKOUT - TOTAL_WEB_VIEW_CHECKOUT_VALUE_IN_MICRO_DOLLAR - INAPP_CHECKOUT_COST_PER_ACTION - TOTAL_OFFLINE_CHECKOUT - IDEA_PIN_PRODUCT_TAG_VISIT_1 - IDEA_PIN_PRODUCT_TAG_VISIT_2 - TOTAL_IDEA_PIN_PRODUCT_TAG_VISIT - LEADS - COST_PER_LEAD - QUIZ_COMPLETED - QUIZ_COMPLETION_RATE - SHOWCASE_PIN_CLICKTHROUGH - SHOWCASE_SUBPAGE_CLICKTHROUGH - SHOWCASE_SUBPIN_CLICKTHROUGH - SHOWCASE_SUBPAGE_IMPRESSION - SHOWCASE_SUBPIN_IMPRESSION - SHOWCASE_SUBPAGE_SWIPE_LEFT - SHOWCASE_SUBPAGE_SWIPE_RIGHT - SHOWCASE_SUBPIN_SWIPE_LEFT - SHOWCASE_SUBPIN_SWIPE_RIGHT - SHOWCASE_SUBPAGE_REPIN - SHOWCASE_SUBPIN_REPIN - SHOWCASE_SUBPAGE_CLOSEUP - SHOWCASE_CARD_THUMBNAIL_SWIPE_FORWARD - SHOWCASE_CARD_THUMBNAIL_SWIPE_BACKWARD - SHOWCASE_AVERAGE_SUBPAGE_CLOSEUP_PER_SESSION - TOTAL_CHECKOUT_CONVERSION_RATE - TOTAL_VIEW_CATEGORY_CONVERSION_RATE - TOTAL_ADD_TO_CART_CONVERSION_RATE - TOTAL_SIGNUP_CONVERSION_RATE - TOTAL_PAGE_VISIT_CONVERSION_RATE - TOTAL_LEAD_CONVERSION_RATE - TOTAL_SEARCH_CONVERSION_RATE - TOTAL_WATCH_VIDEO_CONVERSION_RATE - TOTAL_UNKNOWN_CONVERSION_RATE - TOTAL_CUSTOM_CONVERSION_RATE type: array query_catalogs_product_group_ids: name: id in: query style: form explode: false description: Comma-separated list of product group ids required: false schema: type: array items: type: integer minItems: 1 maxItems: 1000 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