openapi: 3.0.3 info: version: 5.20.0 title: Pinterest REST API description: Pinterest's REST 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' paths: /ad_accounts: get: operationId: ad_accounts/list summary: List ad accounts description: |- Get a list of the ad_accounts that the "operation user_account" has access to. - This includes ad_accounts they own and ad_accounts that are owned by others who have granted them Business Access. parameters: - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_include_shared_accounts' responses: '200': description: response content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: description: Ad accounts items: $ref: '#/components/schemas/AdAccount' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - ad_accounts x-ratelimit-category: ads_read x-sandbox: enabled post: operationId: ad_accounts/create summary: Create ad account description: |- Create a new ad account. Different ad accounts can support different currencies, payment methods, etc. An ad account is needed to create campaigns, ad groups, and ads; other accounts (your employees or partners) can be assigned business access and appropriate roles to access an ad account.

You can set up up to 50 ad accounts per user. (The user must have a business account to create an ad account.)

For more, see Create an advertiser account. requestBody: description: Ad account to create. required: true content: application/json: schema: $ref: '#/components/schemas/AdAccountCreateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AdAccount' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - ad_accounts x-ratelimit-category: ads_write x-sandbox: enabled '/ad_accounts/{ad_account_id}': get: operationId: ad_accounts/get summary: Get ad account description: Get an ad account parameters: - $ref: '#/components/parameters/path_ad_account_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AdAccount' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - ad_accounts x-ratelimit-category: ads_read x-sandbox: enabled '/ad_accounts/{ad_account_id}/ad_groups': get: operationId: ad_groups/list summary: List ad groups description: |- List ad groups based on provided campaign IDs or ad group IDs.(campaign_ids or ad_group_ids).

Note:

Provide only campaign_id or ad_group_id. Do not provide both. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_campaign_ids' - $ref: '#/components/parameters/query_ad_group_ids' - $ref: '#/components/parameters/query_entity_statuses' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_order' - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_translate_interests_to_names' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/AdGroupResponse' '400': description: Invalid ad account group parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account group parameters. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - ad_groups x-ratelimit-category: ads_read x-sandbox: enabled post: operationId: ad_groups/create summary: Create ad groups description: |- Create multiple new ad groups. All ads in a given ad group will have the same budget, bid, run dates, targeting, and placement (search, browse, other). For more information, click here. Notes: - `bid_in_micro_currency` and `budget_in_micro_currency` should be expressed in microcurrency amounts based on the currency field set in the advertiser's profile.

Microcurrency is used to track very small transactions, based on the currency set in the advertiser’s profile.

A microcurrency unit is 10^(-6) of the standard unit of currency selected in the advertiser’s profile.

Equivalency equations, using dollars as an example currency:

To convert between currency and microcurrency, using dollars as an example currency:

- Ad groups belong to ad campaigns. Some types of campaigns (e.g. budget optimization) have limits on the number of ad groups they can hold. If you exceed those limits, you will get an error message. - Certain organizations with closed beta access can set `start_time` and `end_time` at the ad group level for campaigns with Campaign Budget Optimization (CBO) objectives: `TRAFFIC`, `AWARENESS`, `WEB_CONVERSIONS`, and `CATALOG_SALES`. All other organizations can set these scheduling parameters for non-CBO campaigns only. - If the parent ad campaign has start and end times set, ad group start and end times must occur within the parent campaign schedule. parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: description: 'List of ad groups to create, size limit [1, 30].' required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/AdGroupCreateRequest' maxItems: 30 minItems: 1 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AdGroupArrayResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - ad_groups x-ratelimit-category: ads_write x-sandbox: enabled patch: operationId: ad_groups/update summary: Update ad groups description: Update multiple existing ad groups. parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: description: 'List of ad groups to update, size limit [1, 30].' required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/AdGroupUpdateRequest' maxItems: 30 minItems: 1 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AdGroupArrayResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - ad_groups x-ratelimit-category: ads_write x-sandbox: enabled '/ad_accounts/{ad_account_id}/ad_groups/analytics': get: operationId: ad_groups/analytics summary: Get ad group analytics description: |- Get analytics for the specified ad 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, you can pull data from up to 90 days before the current date in UTC time, with a maximum time range of 90 days. - If granularity is HOUR, you can pull data from up to 8 days before the current date in UTC time, with a maximum time range of 3 days. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_start_date' - $ref: '#/components/parameters/query_end_date' - $ref: '#/components/parameters/query_ad_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' - $ref: '#/components/parameters/aggregate_report_rows' - $ref: '#/components/parameters/query_reporting_timezone' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AdGroupsAnalyticsResponse' '400': description: Invalid ad account group analytics parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account group analytics parameters. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - ad_groups x-ratelimit-category: ads_analytics x-sandbox: enabled '/ad_accounts/{ad_account_id}/ad_groups/targeting_analytics': get: operationId: ad_groups_targeting_analytics/get summary: Get targeting analytics for ad groups description: |- Get targeting analytics for one or more ad groups. For the requested ad group(s) and metrics, the response will include the requested metric information (e.g. SPEND_IN_DOLLAR) for the requested target type (e.g. "age_bucket") for applicable values (e.g. "45-49").

- 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, you can pull data from up to 90 days before the current date in UTC time, with a maximum time range of 90 days. - If granularity is HOUR, you can pull data from up to 8 days before the current date in UTC time, with a maximum time range of 3 days. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_ad_group_ids_required' - $ref: '#/components/parameters/query_start_date' - $ref: '#/components/parameters/query_end_date' - $ref: '#/components/parameters/query_ad_group_targeting_types' - $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' - $ref: '#/components/parameters/query_attribution_types' - $ref: '#/components/parameters/query_reporting_timezone' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/MetricsResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - ad_groups x-ratelimit-category: ads_analytics x-sandbox: enabled '/ad_accounts/{ad_account_id}/ad_groups/audience_sizing': post: operationId: ad_groups/audience_sizing summary: Get audience sizing description: |- Get potential audience size for an ad group with given targeting criteria. Potential audience size estimates the number of people you may be able to reach per month with your campaign. It is based on historical advertising data and the targeting criteria you select. It does not guarantee results or take into account factors such as bid, budget, schedule, seasonality or product experiments. parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: content: application/json: schema: $ref: '#/components/schemas/AdGroupAudienceSizingRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AdGroupAudienceSizingResponse' '400': description: Invalid ad group audience sizing parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad group audience sizing parameters. '403': description: No access to requested audience list or product group. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 403 message: You don't have access to the requested audience list or product group. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - ad_groups x-ratelimit-category: ads_read x-sandbox: enabled '/ad_accounts/{ad_account_id}/ad_groups/{ad_group_id}': get: operationId: ad_groups/get summary: Get ad group description: Get a specific ad group given the ad group ID. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/path_ad_group_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AdGroupResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - ad_groups x-ratelimit-category: ads_read x-sandbox: enabled '/ad_accounts/{ad_account_id}/ad_previews': post: operationId: ad_previews/create summary: Create ad preview with pin or image description: |- Create an ad preview given an ad account ID and either an existing organic pin ID or the URL for an image to be used to create the Pin and the ad.

If you are creating a preview from an existing Pin, that Pin must be promotable: that is, it must have a clickthrough link and meet other requirements. (See Ads Overview.)

You can view the returned preview URL on a webpage or iframe for 7 days, after which the URL expires. Collection ads are not currently supported ad preview. Creating ad preview from catalog product group is currently in BETA and is not available to all users. parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: description: Create ad preview with pin or image. required: true content: application/json: schema: $ref: '#/components/schemas/AdPreviewRequest' responses: '200': description: Successful ad preview creation. content: application/json: schema: $ref: '#/components/schemas/AdPreviewURLResponse' '400': description: Invalid Pin parameters response content: application/json: schema: $ref: '#/components/schemas/Error' examples: InvalidPinUrl: value: code: 1 message: Whoops! It looks like you entered an invalid URL. Try creating a Pin again with a valid URL. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - ads x-ratelimit-category: ads_write x-sandbox: enabled '/ad_accounts/{ad_account_id}/ads': get: operationId: ads/list summary: List ads description: |- List ads that meet the filters provided: - Listed campaign ids or ad group ids or ad ids - Listed entity statuses

If no filter is provided, all ads in the ad account are returned.

Note:

Provide only campaign_id or ad_group_id or ad_id. Do not provide more than one type.

Review status is provided for each ad; if review_status is REJECTED, the rejected_reasons field will contain additional information. For more, see Pinterest advertising standards. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_campaign_ids' - $ref: '#/components/parameters/query_ad_group_ids' - $ref: '#/components/parameters/query_ad_ids' - $ref: '#/components/parameters/query_entity_statuses' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_order' - $ref: '#/components/parameters/query_bookmark' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/AdResponse' '400': description: Invalid ad account ads parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account ads parameters. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - ads x-ratelimit-category: ads_read x-sandbox: enabled post: operationId: ads/create summary: Create ads description: 'Create multiple new ads. Request must contain ad_group_id, creative_type, and the source Pin pin_id.' parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: description: 'List of ads to create, size limit [1, 30].' required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/AdCreateRequest' maxItems: 30 minItems: 1 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AdArrayResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - ads x-ratelimit-category: ads_write x-sandbox: enabled patch: operationId: ads/update summary: Update ads description: Update multiple existing ads parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: description: 'List of ads to update, size limit [1, 30]' required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/AdUpdateRequest' maxItems: 30 minItems: 1 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AdArrayResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - ads x-ratelimit-category: ads_write x-sandbox: enabled '/ad_accounts/{ad_account_id}/ads/analytics': get: operationId: ads/analytics summary: Get ad analytics description: |- Get analytics for the specified ads 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. - The request must contain either ad_ids or both campaign_ids and pin_ids. - If granularity is not HOUR, you can pull data from up to 90 days before the current date in UTC time, with a maximum time range of 90 days. - If granularity is HOUR, you can pull data from up to 8 days before the current date in UTC time, with a maximum time range of 3 days. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_start_date' - $ref: '#/components/parameters/query_end_date' - $ref: '#/components/parameters/query_ad_ids' - $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' - name: pin_ids in: query description: List of Pin IDs. required: false schema: type: array items: type: string pattern: ^\d+$ maxItems: 100 minItems: 1 - $ref: '#/components/parameters/query_campaign_ids' - $ref: '#/components/parameters/query_reporting_timezone' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AdsAnalyticsResponse' '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' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - ads x-ratelimit-category: ads_analytics x-sandbox: enabled '/ad_accounts/{ad_account_id}/ads_credit/discounts': get: operationId: ads_credits_discounts/get summary: Get ads credit discounts description: |- Returns the list of discounts applied to the account. This endpoint might not be available to all apps. Learn more. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/AdsCreditDiscountsResponse' default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - 'billing:read' tags: - billing x-ratelimit-category: ads_read x-sandbox: disabled '/ad_accounts/{ad_account_id}/ads_credit/redeem': post: operationId: ads_credit/redeem summary: Redeem ad credits description: |- Redeem ads credit on behalf of the ad account id and apply it towards billing. This endpoint might not be available to all apps. Learn more. parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: description: Redeem ad credits request. required: true content: application/json: schema: $ref: '#/components/schemas/AdsCreditRedeemRequest' responses: '200': description: Successfully redeemed ad credits. content: application/json: schema: $ref: '#/components/schemas/AdsCreditRedeemResponse' '400': description: Error thrown when unable to redeem offer code. content: application/json: schema: $ref: '#/components/schemas/Error' examples: ValidationError: value: code: 15 message: Unable to redeem offer code. Try again later. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' - 'billing:write' tags: - billing x-ratelimit-category: ads_write x-sandbox: disabled '/ad_accounts/{ad_account_id}/ads/targeting_analytics': get: operationId: ad_targeting_analytics/get summary: Get targeting analytics for ads description: |- Get targeting analytics for one or more ads. For the requested ad(s) and metrics, the response will include the requested metric information (e.g. SPEND_IN_DOLLAR) for the requested target type (e.g. "age_bucket") for applicable values (e.g. "45-49").

- 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, you can pull data from up to 90 days before the current date in UTC time, with a maximum time range of 90 days. - If granularity is HOUR, you can pull data from up to 8 days before the current date in UTC time, with a maximum time range of 3 days. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_ad_ids_required' - $ref: '#/components/parameters/query_start_date' - $ref: '#/components/parameters/query_end_date' - $ref: '#/components/parameters/query_ad_targeting_types' - $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' - $ref: '#/components/parameters/query_attribution_types' - $ref: '#/components/parameters/query_reporting_timezone' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/MetricsResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - ads x-ratelimit-category: ads_analytics x-sandbox: enabled '/ad_accounts/{ad_account_id}/ads/{ad_id}': get: operationId: ads/get summary: Get ad description: |- Get a specific ad given the ad ID. If your pin is rejected, rejected_reasons will contain additional information from the Ad Review process. For more information about our policies and rejection reasons see the Pinterest advertising standards. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/path_ad_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AdResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - ads x-ratelimit-category: ads_read x-sandbox: enabled '/ad_accounts/{ad_account_id}/advertiser_defined_events': get: operationId: advertiser_defined_events/get summary: Get advertiser defined events description:

Get advertiser defined events for the given ad account.

parameters: - $ref: '#/components/parameters/path_ad_account_id' responses: '200': description: Success content: application/json: schema: type: object properties: items: type: array items: type: object title: AdvertiserDefinedEvent properties: name: description: 'raw string name of the event, usually logged as raw_event_name in our dataset' type: string example: download_picture mapped_conversion_type: description: standard type mapped to ADE for optimization anyOf: - type: string description: conversion tag type example: PAGE_LOAD enum: - PAGE_LOAD - UNKNOWN - INITIALIZED - PAGE_VISIT - SIGNUP - CHECKOUT - CUSTOM - VIEW_CATEGORY - SEARCH - ADD_TO_CART - WATCH_VIDEO - LEAD - APP_INSTALL - WEB_SESSION - EXTERNAL_MEASUREMENT - ADD_PAYMENT_INFO - ADD_TO_WISHLIST - INITIATE_CHECKOUT - SUBSCRIBE - VIEW_CONTENT - ADVERTISER_DEFINED_EVENT - type: string nullable: true enum: - null nullable: true title: AdvertiserDefinedEventsResponse default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - conversions x-ratelimit-category: ads_read x-sandbox: disabled '/ad_accounts/{ad_account_id}/analytics': get: operationId: ad_account/analytics summary: Get ad account analytics description: |- Get analytics for 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, you can pull data from up to 90 days before the current date in UTC time, with a maximum time range of 90 days. - If granularity is HOUR, you can pull data from up to 8 days before the current date in UTC time. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_start_date' - $ref: '#/components/parameters/query_end_date' - $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' - $ref: '#/components/parameters/query_reporting_timezone' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AdAccountAnalyticsResponse' '400': description: Invalid ad account analytics parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account analytics parameters. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - ad_accounts x-ratelimit-category: ads_analytics x-sandbox: enabled '/ad_accounts/{ad_account_id}/audience_insights': get: operationId: audience_insights/get summary: Get audience insights description: |- Get Audience Insights for an ad account. The response will return insights for 3 types of audiences: the ad account's engaged audience on Pinterest, the ad account's total audience on Pinterest and Pinterest's total audience.

Learn more about Audience Insights. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_audience_insight_type' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AudienceInsightsResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - audience_insights x-ratelimit-category: ads_read x-sandbox: disabled '/ad_accounts/{ad_account_id}/audiences': get: operationId: audiences/list summary: List audiences description: Get list of audiences for the ad account. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_bookmark' - name: order in: query description: |- The order in which to sort the items returned: “ASCENDING” or “DESCENDING” by ID. For received audiences, it is sorted by sharing event time. Note that higher-value IDs are associated with more-recently added items. required: false schema: type: string example: ASCENDING enum: - ASCENDING - DESCENDING - $ref: '#/components/parameters/query_page_size' - name: ownership_type in: query description: Filter audiences by ownership type. required: false schema: type: string default: OWNED enum: - OWNED - RECEIVED example: OWNED responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/Audience' '400': description: Invalid ad account audience parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account audience parameters. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - audiences x-ratelimit-category: ads_read x-sandbox: disabled post: operationId: audiences/create summary: Create audience description: |- Create an audience you can use in targeting for specific ad groups. Targeting combines customer information with the ways users interact with Pinterest to help you reach specific groups of users; you can include or exclude specific audience_ids when you create an ad group.

For more, see Audience targeting. parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: description: 'List of ads to create, size limit [1, 30]' required: true content: application/json: schema: $ref: '#/components/schemas/AudienceCreateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Audience' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - audiences x-ratelimit-category: ads_write x-sandbox: disabled '/ad_accounts/{ad_account_id}/audiences/{audience_id}': get: operationId: audiences/get summary: Get audience description: Get a specific audience given the audience ID. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/path_audience_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Audience' '404': description: Audience not found. content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - audiences x-ratelimit-category: ads_read x-sandbox: disabled patch: operationId: audiences/update summary: Update audience description: Update (edit or remove) an existing targeting audience. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/path_audience_id' requestBody: description: The audience to be updated. content: application/json: schema: $ref: '#/components/schemas/AudienceUpdateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Audience' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - audiences x-ratelimit-category: ads_write x-sandbox: disabled '/ad_accounts/{ad_account_id}/audiences/shared/accounts': get: operationId: ad_accounts_audiences_shared_accounts/list summary: List accounts with access to an audience owned by an ad account description: List all ad accounts and/or businesses that have access to a specific audience. The audience must be owned by the requesting ad account. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_audience_id' - $ref: '#/components/parameters/query_account_type' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_bookmark' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/SharedAudienceAccount' '400': description: Invalid ad account audiences shared accounts parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account audiences shared accounts parameters. '404': description: Shared accounts not found. content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - audience_sharing x-ratelimit-category: ads_read x-sandbox: disabled '/ad_accounts/{ad_account_id}/audiences/ad_accounts/shared': patch: operationId: update_ad_account_to_ad_account_shared_audience summary: Update audience sharing between ad accounts description: 'From an ad account, share a specific audience with another ad account, or revoke access to a previously shared audience. Only the audience owner account can share the audience. The recipient ad account(s) must be in the same Pinterest Business Hierarchy as the business owner of the ad account.
This endpoint is not available to all apps.Learn more.' parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SharedAudience' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/SharedAudienceResponse' '400': description: Invalid ad account id. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account id default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - audience_sharing x-ratelimit-category: ads_write x-sandbox: disabled '/ad_accounts/{ad_account_id}/audiences/businesses/shared': patch: operationId: update_ad_account_to_business_shared_audience summary: Update audience sharing from an ad account to businesses description: 'From an ad account, share a specific audience with a business account, or revoke access to a previously shared audience. Only the audience owner account can share the audience. The recipient business account must be in the same business hierarchy as the business owner of the ad account.
This endpoint is not available to all apps.Learn more.' parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BusinessSharedAudience' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/BusinessSharedAudienceResponse' '400': description: Invalid ad account id. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account id default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - audience_sharing x-ratelimit-category: ads_write x-sandbox: disabled '/ad_accounts/{ad_account_id}/bid_floor': post: operationId: ad_groups_bid_floor/get summary: Get bid floors description: |- List bid floors for your campaign configuration. Bid floors are given in microcurrency values based on the currency in the bid floor specification.

Microcurrency is used to track very small transactions, based on the currency set in the advertiser’s profile.

A microcurrency unit is 10^(-6) of the standard unit of currency selected in the advertiser’s profile.

Equivalency equations, using dollars as an example currency:

To convert between currency and microcurrency, using dollars as an example currency:

For more on bid floors see Set your bid. parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: description: Parameters to get bid_floor info required: true content: application/json: schema: $ref: '#/components/schemas/BidFloorRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/BidFloor' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - ad_groups x-ratelimit-category: ads_read x-sandbox: enabled '/ad_accounts/{ad_account_id}/billing_profiles': get: operationId: billing_profiles/get summary: Get billing profiles description: |- Get billing profiles in the advertiser account. This endpoint might not be available to all apps. Learn more. parameters: - $ref: '#/components/parameters/path_ad_account_id' - name: is_active in: query description: 'Return active billing profiles, if false return all billing profiles.' required: true schema: type: boolean - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/BillingProfilesResponse' default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - 'billing:read' tags: - billing x-ratelimit-category: ads_read x-sandbox: disabled '/ad_accounts/{ad_account_id}/billing_invoices': get: operationId: billing_invoices/get summary: Get billing invoices description: Get billing invoices in the advertiser account. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_sort_billing_invoice' - $ref: '#/components/parameters/query_order' - $ref: '#/components/parameters/query_billing_invoice_status' - $ref: '#/components/parameters/query_billing_document_type' - $ref: '#/components/parameters/query_billing_start_due_date' - $ref: '#/components/parameters/query_billing_end_due_date' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/BillingInvoiceResponse' '400': description: Invalid request parameter. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid request parameter. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - 'billing:read' tags: - billing x-ratelimit-category: ads_read x-sandbox: disabled '/ad_accounts/{ad_account_id}/billing_invoice/{billing_invoice_id}/download': get: operationId: billing_invoice_download/get summary: Get download url for a billing invoice description: Get download url for a billing invoice. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/path_billing_invoice_id' responses: '200': description: Successfully fetched Billing invoice information for a given ad account content: application/json: schema: $ref: '#/components/schemas/BillingInvoiceDownloadResponse' '400': description: Invalid request parameter. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid request parameter. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - 'billing:read' tags: - billing x-ratelimit-category: ads_read x-sandbox: disabled '/ad_accounts/{ad_account_id}/bulk/download': post: operationId: bulk_download/create summary: Get advertiser entities in bulk description: |- Create an asynchronous report that may include information on campaigns, ad groups, product groups, ads, keywords, and/or labels; can filter by campaigns. Though the entities may be active, archived, or paused, only active entities will return data. parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: description: Parameters to get ad entities in bulk required: true content: application/json: schema: $ref: '#/components/schemas/BulkDownloadRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/BulkDownloadResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - bulk x-ratelimit-category: ads_read x-sandbox: disabled '/ad_accounts/{ad_account_id}/bulk/upsert': post: operationId: bulk_upsert/create summary: Create/update ad entities in bulk description: |- Either create or update any combination of campaigns, ad groups, product groups, ads, keywords, or labels. Note that this request will be processed asynchronously; the response will include a request_id that can be used to obtain the status of the request. parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: description: Parameters to get create/update ad entities in bulk required: true content: application/json: schema: $ref: '#/components/schemas/BulkUpsertRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/BulkUpsertResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - bulk x-ratelimit-category: ads_write x-sandbox: disabled '/ad_accounts/{ad_account_id}/bulk/{bulk_request_id}': get: operationId: bulk_request/get summary: Download advertiser entities in bulk description: |- Get the status of a bulk request by request_id, along with a download URL that will allow you to download the new or updated entity data (campaigns, ad groups, product groups, ads, or keywords). parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/path_bulk_request_id' - $ref: '#/components/parameters/include_details' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/BulkUpsertStatusResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - bulk x-ratelimit-category: ads_read x-sandbox: disabled '/ad_accounts/{ad_account_id}/campaigns': get: operationId: campaigns/list summary: List campaigns description: |- Get a list of the campaigns 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. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_campaign_ids' - $ref: '#/components/parameters/query_entity_statuses' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_order' - $ref: '#/components/parameters/query_bookmark' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/CampaignResponse' '400': description: Invalid ad account campaign parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account campaign parameters. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - campaigns x-ratelimit-category: ads_read x-sandbox: enabled post: operationId: campaigns/create summary: Create campaigns description: |- Create multiple new campaigns. Every campaign has its own campaign_id and houses one or more ad groups, which contain one or more ads. For more, see Set up your campaign.

Note: - The values for 'lifetime_spend_cap' and 'daily_spend_cap' are microcurrency amounts based on the currency field set in the advertiser's profile. (e.g. USD)

Microcurrency is used to track very small transactions, based on the currency set in the advertiser’s profile.

A microcurrency unit is 10^(-6) of the standard unit of currency selected in the advertiser’s profile.

Equivalency equations, using dollars as an example currency:

To convert between currency and microcurrency, using dollars as an example currency:

parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: description: Array of campaigns. required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/CampaignCreateRequest' maxItems: 30 minItems: 1 responses: '200': description: response content: application/json: schema: $ref: '#/components/schemas/CampaignCreateResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - campaigns x-ratelimit-category: ads_write x-sandbox: enabled patch: operationId: campaigns/update summary: Update campaigns description: |-

Update multiple ad campaigns based on campaign_ids.

Note:

-

The values for `lifetime_spend_cap` and `daily_spend_cap` are microcurrency amounts based on the currency field set in the advertiser's profile. (e.g. USD)

Microcurrency is used to track very small transactions, based on the currency set in the advertiser's profile.

A microcurrency unit is 10^(-6) of the standard unit of currency selected in the advertiser's profile.

Equivalency equations, using dollars as an example currency:

To convert between currency and microcurrency, using dollars as an example currency:

parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: description: Array of campaigns. required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/CampaignUpdateRequest' maxItems: 30 minItems: 1 responses: '200': description: response content: application/json: schema: $ref: '#/components/schemas/CampaignUpdateResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - campaigns x-ratelimit-category: ads_write x-sandbox: enabled '/ad_accounts/{ad_account_id}/campaigns/analytics': get: operationId: campaigns/analytics summary: Get campaign analytics description: |- Get analytics for the specified campaigns 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, you can pull data from up to 90 days before the current date in UTC time, with a maximum time range of 90 days. - If granularity is HOUR, you can pull data from up to 8 days before the current date in UTC time, with a maximum time range of 3 days. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_start_date' - $ref: '#/components/parameters/query_end_date' - $ref: '#/components/parameters/query_campaign_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' - $ref: '#/components/parameters/aggregate_report_rows' - $ref: '#/components/parameters/query_reporting_timezone' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CampaignsAnalyticsResponse' '400': description: Invalid ad account campaign analytics parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account campaign analytics parameters. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - campaigns x-ratelimit-category: ads_analytics x-sandbox: enabled '/ad_accounts/{ad_account_id}/campaigns/targeting_analytics': get: operationId: campaign_targeting_analytics/get summary: Get targeting analytics for campaigns description: |- Get targeting analytics for one or more campaigns. For the requested account and metrics, the response will include the requested metric information (e.g. SPEND_IN_DOLLAR) for the requested target type (e.g. "age_bucket") for applicable values (e.g. "45-49").

- 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, you can pull data from up to 90 days before the current date in UTC time, with a maximum time range of 90 days. - If granularity is HOUR, you can pull data from up to 8 days before the current date in UTC time, with a maximum time range of 3 days. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_campaign_ids_required' - $ref: '#/components/parameters/query_start_date' - $ref: '#/components/parameters/query_end_date' - $ref: '#/components/parameters/query_campaign_targeting_types' - $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' - $ref: '#/components/parameters/query_attribution_types' - $ref: '#/components/parameters/query_reporting_timezone' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/MetricsResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - campaigns x-ratelimit-category: ads_analytics x-sandbox: enabled '/ad_accounts/{ad_account_id}/campaigns/{campaign_id}': get: operationId: campaigns/get summary: Get campaign description: Get a specific campaign given the campaign ID. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/path_campaign_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CampaignResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - campaigns x-ratelimit-category: ads_read x-sandbox: enabled '/ad_accounts/{ad_account_id}/conversion_tags': get: operationId: conversion_tags/list summary: Get conversion tags description: List conversion tags associated with an ad account. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_filter_deleted' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ConversionTagListResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - conversion_tags x-ratelimit-category: ads_read x-sandbox: disabled post: operationId: conversion_tags/create summary: Create conversion tag description: |- Create a conversion tag, also known as Pinterest tag, with the option to enable enhanced match.

The Pinterest Tag tracks actions people take on the ad account’s website after they view the ad account's ad on Pinterest. The advertiser needs to customize this tag to track conversions.

For more information, see:

Set up the Pinterest tag

Pinterest Tag

Enhanced match parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: description: Conversion Tag to create required: true content: application/json: schema: $ref: '#/components/schemas/ConversionTagCreate' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ConversionTagResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - conversion_tags x-ratelimit-category: ads_write x-sandbox: disabled '/ad_accounts/{ad_account_id}/conversion_tags/ocpm_eligible': get: operationId: ocpm_eligible_conversion_tags/get summary: Get Ocpm eligible conversion tags description: Get Ocpm eligible conversion tag events for an ad account. parameters: - $ref: '#/components/parameters/path_ad_account_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ConversionTagsOcpmEligibleResponse' default: description: Unexpected errors content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - conversion_tags x-ratelimit-category: ads_read x-sandbox: disabled '/ad_accounts/{ad_account_id}/conversion_tags/page_visit': get: operationId: page_visit_conversion_tags/get summary: Get page visit conversion tags description: Get all page visit conversion tag events for an ad account. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_order' - $ref: '#/components/parameters/query_bookmark' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/ConversionEventResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - conversion_tags x-ratelimit-category: ads_read x-sandbox: disabled '/ad_accounts/{ad_account_id}/conversion_tags/{conversion_tag_id}': get: operationId: conversion_tags/get summary: Get conversion tag description: Get information about an existing conversion tag. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/path_conversion_tag_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ConversionTagResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - conversion_tags x-ratelimit-category: ads_read x-sandbox: disabled '/ad_accounts/{ad_account_id}/customer_lists': post: operationId: customer_lists/create summary: Create customer lists description: |-

Create a customer list from your records(hashed or plain-text email addresses, or hashed MAIDs or IDFAs).

A customer list is one of the four types of Pinterest audiences: for more information, see Audience targeting or the Audiences section of the ads management guide.

Please review our requirements for what type of information is allowed when uploading a customer list.

When you create a customer list, the system scans the list for existing Pinterest accounts; the list must include at least 100 Pinterest accounts. Your original list will be deleted when the matching process is complete. The filtered list – containing only the Pinterest accounts that were included in your starting list – is what will be used to create the audience.

Note that once you have created your customer list, you must convert it into an audience (of the “CUSTOMER_LIST” type) using the create audience endpoint before it can be used.

parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: description: Parameters to get Customer lists info required: true content: application/json: schema: $ref: '#/components/schemas/CustomerListRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CustomerList' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - customer_lists x-ratelimit-category: ads_write x-sandbox: disabled get: operationId: customer_lists/list summary: Get customer lists description: |-

Get a set of customer lists including id and name based on the filters provided.

(Customer lists are a type of audience.) For more information, see Audience targeting or the Audiences section of the ads management guide.

parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_order' - $ref: '#/components/parameters/query_bookmark' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/CustomerList' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - customer_lists x-ratelimit-category: ads_read x-sandbox: disabled '/ad_accounts/{ad_account_id}/customer_lists/{customer_list_id}': get: operationId: customer_lists/get summary: Get customer list description: Gets a specific customer list given the customer list ID. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/path_customer_list_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CustomerList' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - customer_lists x-ratelimit-category: ads_read x-sandbox: disabled patch: operationId: customer_lists/update summary: Update customer list description: |-

Append or remove records to/from an existing customer list. (A customer list is one of the four types of Pinterest audiences.)

When you add records to an existing customer list, the system scans the additions for existing Pinterest accounts; those are the records that will be added to your “CUSTOMER_LIST” audience. Your original list of records to add will be deleted when the matching process is complete.

For more information, see Audience targeting or the Audiences section of the ads management guide.

parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/path_customer_list_id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CustomerListUpdateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CustomerList' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - customer_lists x-ratelimit-category: ads_write x-sandbox: disabled '/ad_accounts/{ad_account_id}/events': post: operationId: events/create summary: Send conversions description: |- The Pinterest API offers advertisers a way to send Pinterest their conversion information (including web conversions, in-app conversions, or even offline conversions) based on their ad_account_id. The request body should be a JSON object. - This endpoint requires an access_token be generated through Ads Manager. Review the Conversions Guide for more details. (Note that the authorization header required is Authorization: Bearer <access_token>). - 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, Audience, Campaign. (Note that the token can be used across multiple ad accounts under an user ID.) - This endpoint has a rate limit of 5,000 calls per minute per ad account. - If the merchant is submitting this information using both Pinterest conversion tags and the Pinterest API, Pinterest will remove duplicate information before reporting. (Note that events that took place offline cannot be deduplicated.) parameters: - $ref: '#/components/parameters/path_ad_account_id' - name: test in: query description: |- Include query param ?test=true to mark the request as a test request. The events will not be recorded but the API will still return the same response messages. Use this mode to verify your requests are working and your events are constructed correctly. Warning: If you use this query parameter, be certain that it is off (set to false or deleted) before sending a legitimate (non-testing) request. required: false schema: type: boolean requestBody: description: Conversion events. required: true content: application/json: schema: $ref: '#/components/schemas/ConversionEvents' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ConversionApiResponse' '400': description: The request was invalid. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 4196 message: The request was invalid. '401': description: Not authorized to send conversion events content: application/json: schema: $ref: '#/components/schemas/Error' examples: UnauthorizedAccess: value: code: 2 message: Authentication failed. '403': 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. '422': description: Not all events were successfully processed. content: application/json: schema: $ref: '#/components/schemas/DetailedError' '429': description: |- This request exceeded a rate limit. This can happen if the client exceeds one of the published rate limits within a short time window. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 8 message: |- This request exceeded a rate limit. This can happen if the client exceeds one of the published rate limits within a short time window. '503': description: The endpoint has been ramped down and is currently not accepting any traffic. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 4197 message: The endpoint has been ramped down and is currently not accepting any traffic. default: description: Unexpected errors content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' - conversion_token: [] tags: - conversion_events x-ratelimit-category: ads_conversions x-sandbox: disabled '/ad_accounts/{ad_account_id}/msot/events': post: operationId: msot_events/create summary: Send Measurement Source Of Truth (MSOT) attributed conversion events description: |- This feature is currently in beta and not available to all apps, if you're interested in joining the beta, please reach out to your Pinterest account manager.

Advertisers or their measurement partners can send attributed MSOT conversion events to Pinterest based on their ad_account_id. The request body should be a JSON object.

- These events will NOT be used in Reporting. parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: description: Attributed MSOT conversion events required: true content: application/json: schema: $ref: '#/components/schemas/ConversionMSOTEvents' responses: '200': description: Success '400': description: The request was invalid content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 4196 message: The request was invalid '401': description: Not authorized to send MSOT conversion events content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 3 message: Your token does not have sufficient permissions to perform this operation. Please ensure your token is authorized with the correct set of scopes. '403': description: Unauthorized access content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 29 message: You are not permitted to access the resource '429': description: |- This request exceeded a rate limit. This can happen if the client exceeds one of the published rate limits within a short time window. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 8 message: |- This request exceeded a rate limit. This can happen if the client exceeds one of the published rate limits within a short time window. default: description: Unexpected errors content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'msot:write' tags: - msot_events x-ratelimit-category: msot_write x-sandbox: disabled '/ad_accounts/{ad_account_id}/insights/audiences': get: operationId: audience_insights_scope_and_type/get summary: Get audience insights scope and type description: 'Get the scope and type of available audiences, which along with a date, is an audience that has recently had an interaction (referred to here as a type) on pins. Interacted pins can belong to at least the most common **partner** or **Pinterest** scopes. This means that user interactions made on advertiser or partner pins will have the **partner** scope. You can also have user interactions performed in general on Pinterest with the **Pinterest** scope. In that case, you can then use the returned type and scope values together on requests to other endpoints to retrieve insight metrics for a desired audience.' parameters: - $ref: '#/components/parameters/path_ad_account_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AudienceDefinitionResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - audience_insights x-ratelimit-category: ads_read x-sandbox: disabled '/ad_accounts/{ad_account_id}/keywords': get: operationId: keywords/get summary: Get keywords description: |-

Get a list of keywords based on the filters provided. If no filter is provided, it will default to the ad_account_id filter, which means it will only return keywords that specifically have parent_id set to the ad_account_id. Note: Keywords can have ad_account_ids, campaign_ids, and ad_group_ids set as their parent_ids. Keywords created through Ads Manager will have their parent_id set to an ad_group_id, not ad_account_id.

For more information, see Keyword targeting.

Notes:

For more information on match types, see match type enums.

Returns:

parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_campaign_id' - $ref: '#/components/parameters/query_ad_group_id' - $ref: '#/components/parameters/keywords_query_ad_group_ids' - $ref: '#/components/parameters/query_match_types' - name: page_size in: query description: Maximum number of items to include in a single page of the response. Default maximum of 250. See documentation on Pagination for more information. required: false schema: type: integer default: 25 minimum: 1 - $ref: '#/components/parameters/query_bookmark' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/Keyword' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - keywords x-ratelimit-category: ads_read x-sandbox: enabled post: operationId: keywords/create summary: Create keywords description: |-

Create keywords for following entity types(advertiser, campaign, ad group or ad).

For more information, see Keyword targeting.

Notes:

For more information on match types, see match type enums.

Returns:

Rate limit: WRITE.

parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/KeywordsRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/KeywordsResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - keywords x-ratelimit-category: ads_write x-sandbox: enabled patch: operationId: keywords/update summary: Update keywords description:

Update one or more keywords' bid and archived fields.

Archiving a keyword effectively deletes it - keywords no longer receive metrics and no longer visible within the parent entity's keywords list.

parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/KeywordUpdateBody' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/KeywordsResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - keywords x-ratelimit-category: ads_write x-sandbox: enabled '/ad_accounts/{ad_account_id}/keywords/metrics': get: operationId: country_keywords_metrics/get summary: Get country's keyword metrics description: |- See keyword metrics for a specified country, aggregated across all of Pinterest. (Definitions are available from the "Get delivery metrics definitions" API endpoint). parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_country_code' - $ref: '#/components/parameters/query_keywords' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/KeywordsMetricsArrayResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - keywords x-ratelimit-category: ads_read x-sandbox: enabled '/ad_accounts/{ad_account_id}/labels': post: operationId: labels/create summary: Create labels description: |-

Closed beta This endpoint is not available to all users.

Apply one or more labels to a campaign. Currently, you can apply brand and custom labels. Future releases will provide more options. Note: You can only apply one brand label to a campaign. You can apply 30 custom labels to a campaign.

parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/LabelCreateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/LabelsResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - labels x-ratelimit-category: ads_write x-sandbox: enabled get: operationId: labels/list summary: List labels description: |-

Closed beta This endpoint is not available to all users.

See a list of labels for assets that your account owns, and filter the list by different criteria.

parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_campaign_ids' - $ref: '#/components/parameters/query_label_ids' - $ref: '#/components/parameters/query_label_entity_statuses' - $ref: '#/components/parameters/query_label_types' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_bookmark' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/LabelsResponse' '400': description: Invalid ad account ads parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account ads parameters. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - labels x-ratelimit-category: ads_read x-sandbox: enabled patch: operationId: labels/update summary: Update labels description: |-

Closed beta This endpoint is not available to all users.

Change the properties of one or more labels.

parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/LabelUpdateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/LabelsResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - labels x-ratelimit-category: ads_write x-sandbox: enabled '/ad_accounts/{ad_account_id}/lead_forms': get: operationId: lead_forms/list summary: List lead forms description: |- This feature is currently in beta and not available to all apps, if you're interested in joining the beta, please reach out to your Pinterest account manager. List lead forms associated with an ad account ID. For more, see Lead ads. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_order' - $ref: '#/components/parameters/query_bookmark' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/LeadFormResponse' '400': description: Invalid ad account lead forms parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account lead forms parameters. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - lead_forms x-ratelimit-category: ads_read x-sandbox: enabled post: operationId: lead_forms/create summary: Create lead forms description: |- This feature is currently in beta and not available to all apps, if you're interested in joining the beta, please reach out to your Pinterest account manager. Create lead forms. Lead forms are used in lead ads and allow you to control what text appears on the lead form’s description, questions and confirmation sections. For more, see Lead ads. parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: description: 'List of lead forms to create, size limit [1, 30].' required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/LeadFormCreateRequest' maxItems: 30 minItems: 1 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/LeadFormArrayResponse' '400': description: Invalid ad account lead forms parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account lead forms parameters. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - lead_forms x-ratelimit-category: ads_write x-sandbox: disabled patch: operationId: lead_forms/update summary: Update lead forms description: |- This feature is currently in beta and not available to all apps, if you're interested in joining the beta, please reach out to your Pinterest account manager. Update lead forms. Lead ads help you reach people who are actively looking for, and interested in, your goods and services. The lead form can be associated with an ad to allow people to fill out the form. For more, see Lead ads. parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: description: 'List of lead forms to update, size limit [1, 30].' required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/LeadFormUpdateRequest' maxItems: 30 minItems: 1 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/LeadFormArrayResponse' '400': description: Invalid ad account lead forms parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account lead forms parameters. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - lead_forms x-ratelimit-category: ads_write x-sandbox: disabled '/ad_accounts/{ad_account_id}/lead_forms/{lead_form_id}': get: operationId: lead_form/get summary: Get lead form by id description: |- This feature is currently in beta and not available to all apps, if you're interested in joining the beta, please reach out to your Pinterest account manager. Gets a lead form given it's ID. It must also be associated with the provided ad account ID. For more, see Lead ads. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/path_lead_form_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/LeadFormResponse' '400': description: Invalid ad account lead forms parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 1 message: Invalid ad account lead forms parameters. '404': description: The lead form ID for the given ad account ID does not exist. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 4842 message: Lead form is not found. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - lead_forms x-ratelimit-category: ads_read x-sandbox: enabled '/ad_accounts/{ad_account_id}/lead_forms/{lead_form_id}/test': post: operationId: lead_form_test/create summary: Create lead form test data description: |- Create lead form test data based on the list of answers provided as part of the body. - List of answers should follow the questions creation order. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/path_lead_form_id' requestBody: description: Subscription to create. required: true content: application/json: schema: $ref: '#/components/schemas/LeadFormTestRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/LeadFormTestResponse' '400': description: Invalid parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 1 message: Invalid parameters. '404': description: Lead not found. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 4842 message: Lead not found. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - lead_forms x-ratelimit-category: ads_write x-sandbox: disabled '/ad_accounts/{ad_account_id}/leads/subscriptions': get: operationId: ad_accounts_subscriptions/get_list summary: Get lead ads subscriptions description: Get the advertiser's list of lead ads subscriptions. Only requests for the OWNER or ADMIN of the ad_account will be allowed. parameters: - $ref: '#/components/parameters/Pinterest.Lib.AdAccountId' - $ref: '#/components/parameters/Pinterest.Lib.BookmarkParams.bookmark' - $ref: '#/components/parameters/Pinterest.Lib.BookmarkParams.page_size' responses: '200': description: The request has succeeded. content: application/json: schema: type: object properties: bookmark: type: string nullable: true items: type: array items: $ref: '#/components/schemas/LeadSubscription' required: - items '400': description: The request could not be understood by the server due to unexpected data. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '401': description: Authentication is required and has either failed or not been provided. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '403': description: 'The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource.' content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '404': description: The requested resource could not be found on this server. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '429': description: The user has sent too many requests in a given amount of time and is being rate limited. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' security: - pinterest_oauth2: - 'ads:read' tags: - lead_ads x-ratelimit-category: ads_read x-sandbox: disabled post: operationId: ad_accounts_subscriptions/post summary: Create lead ads subscription description: |- Create a lead ads webhook subscription. Subscriptions allow Pinterest to deliver lead data from Ads Manager directly to the subscriber. Subscriptions can exist for a specific lead form or at ad account level. - Only requests for the OWNER or ADMIN of the ad_account will be allowed. - Advertisers can set up multiple integrations using ad_account_id + lead_form_id but only one integration per unique records. - For data security, egress lead data is encrypted with AES-256-GCM. parameters: - $ref: '#/components/parameters/Pinterest.Lib.AdAccountId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/LeadSubscriptionPostParamsCreate' responses: '200': description: The request has succeeded. content: application/json: schema: $ref: '#/components/schemas/LeadSubscription' '400': description: The request could not be understood by the server due to unexpected data. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '403': description: 'The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource.' content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' security: - pinterest_oauth2: - 'ads:write' tags: - lead_ads x-ratelimit-category: ads_write x-sandbox: enabled '/ad_accounts/{ad_account_id}/leads/subscriptions/{subscription_id}': get: operationId: ad_accounts_subscriptions/get_by_id summary: Get lead ads subscription by ID description: |- Get an existing lead ads webhook subscription by ID. - Only requests for the OWNER or ADMIN of the ad_account will be allowed.' parameters: - $ref: '#/components/parameters/Pinterest.Lib.AdAccountId' - $ref: '#/components/parameters/SubscriptionIdPathParam' responses: '200': description: The request has succeeded. content: application/json: schema: $ref: '#/components/schemas/LeadSubscription' '400': description: The request could not be understood by the server due to unexpected data. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '401': description: Authentication is required and has either failed or not been provided. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '403': description: 'The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource.' content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '404': description: The requested resource could not be found on this server. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '429': description: The user has sent too many requests in a given amount of time and is being rate limited. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - lead_ads x-ratelimit-category: ads_read x-sandbox: disabled delete: operationId: ad_accounts_subscriptions/del_by_id summary: Delete lead ads subscription description: |- Delete an existing lead ads webhook subscription by ID. - Only requests for the OWNER or ADMIN of the ad_account will be allowed.' parameters: - $ref: '#/components/parameters/Pinterest.Lib.AdAccountId' - $ref: '#/components/parameters/SubscriptionIdPathParam' responses: '204': description: Resource deleted successfully. '400': description: The request could not be understood by the server due to unexpected data. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '401': description: Authentication is required and has either failed or not been provided. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '403': description: 'The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource.' content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '404': description: The requested resource could not be found on this server. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '429': description: The user has sent too many requests in a given amount of time and is being rate limited. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' security: - pinterest_oauth2: - 'ads:write' tags: - lead_ads x-ratelimit-category: ads_write x-sandbox: disabled '/ad_accounts/{ad_account_id}/leads_export': post: operationId: leads_export/create summary: Create a request to export leads collected from a lead ad description: |- This feature is currently in beta and not available to all apps, if you're interested in joining the beta, please reach out to your Pinterest account manager. Create an export of leads collected from a lead ad. This returns a lead_export_id token that you can use to download the export when it is ready. Note: Lead ad data will be available up to 30 days after the lead has been submitted. For more, see Lead ads. parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/LeadsExportCreateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/LeadsExportCreateResponse' '400': description: Invalid ad account parameter. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account parameter. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - leads_export x-ratelimit-category: ads_write x-sandbox: disabled '/ad_accounts/{ad_account_id}/leads_export/{leads_export_id}': get: operationId: leads_export/get summary: Get the lead export from the lead export create call description: |- This feature is currently in beta and not available to all apps, if you're interested in joining the beta, please reach out to your Pinterest account manager. Get the export of leads collected from a lead ad. This returns a URL to a list of lead export given a lead_export_id token returned from the create a lead export call. You can use the URL to download the report. Note: Lead ad data will be available up to 30 days after the lead has been submitted. For more, see Lead ads. parameters: - $ref: '#/components/parameters/path_ad_account_id' - name: leads_export_id in: path description: lead_export_id token returned from the create a lead export endpoint required: true schema: type: string pattern: ^\d+$ example: '123755885175' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/LeadsExportResponseData' '400': description: Invalid ad account parameter. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account parameter. '404': description: Invalid leads export id parameter. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 404 message: Invalid leads export id parameter. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - leads_export x-ratelimit-category: ads_read x-sandbox: disabled '/ad_accounts/{ad_account_id}/mmm_reports': get: operationId: analytics/get_mmm_report summary: Get advertiser Marketing Mix Modeling (MMM) report. description: |- Get an mmm report for an ad account. This returns a URL to an mmm metrics report given a token returned from the create mmm report endpoint. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_token_required' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/GetMMMReportResponse' '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' security: - pinterest_oauth2: - 'ads:read' tags: - ad_accounts x-ratelimit-category: ads_read x-sandbox: disabled post: operationId: analytics/create_mmm_report summary: Create a request for a Marketing Mix Modeling (MMM) report description: |- This creates an asynchronous mmm report based on the given request. It returns a token that you can use to download the report when it is ready. NOTE: An additional limit of 5 queries per minute per advertiser applies to this endpoint while it's in beta release. parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateMMMReportRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CreateMMMReportResponse' '400': description: Invalid ad account ads analytics mmm parameters content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account ads analytics mmm parameters default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - ad_accounts x-ratelimit-category: ads_analytics x-sandbox: disabled '/ad_accounts/{ad_account_id}/order_lines': get: operationId: order_lines/list summary: Get order lines description: List existing order lines associated with an ad account. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_order' - $ref: '#/components/parameters/query_bookmark' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/OrderLine' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - order_lines x-ratelimit-category: ads_read x-sandbox: enabled '/ad_accounts/{ad_account_id}/order_lines/{order_line_id}': get: operationId: order_lines/get summary: Get order line description: Get a specific existing order line associated with an ad account. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/path_order_line_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OrderLine' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - order_lines x-ratelimit-category: ads_read x-sandbox: enabled '/ad_accounts/{ad_account_id}/pins/analytics': get: operationId: ad_pins/analytics summary: Get pins analytics description: |- Get analytics for the pins given a campaign and pins 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. Data will not be provided for conversion metrics but will be available for non-conversion metrics. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_campaign_id_required' - $ref: '#/components/parameters/query_required_pin_ids' - $ref: '#/components/parameters/query_start_date' - $ref: '#/components/parameters/query_end_date' - $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': description: Success content: application/json: schema: $ref: '#/components/schemas/AdPinsAnalyticsResponse' '400': description: Invalid ad account pins analytics parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account pins analytics parameters. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - campaigns x-ratelimit-category: ads_analytics x-sandbox: disabled '/ad_accounts/{ad_account_id}/product_group_promotions': post: operationId: product_group_promotions/create summary: Create product group promotions 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.') parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: description: 'List of Product Group Promotions to create, size limit [1, 30].' required: true content: application/json: schema: $ref: '#/components/schemas/ProductGroupPromotionCreateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ProductGroupPromotionResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - product_group_promotions x-ratelimit-category: ads_write x-sandbox: disabled patch: operationId: product_group_promotions/update summary: Update product group promotions description: Update multiple existing Product Group Promotions (by product_group_id) parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: description: Parameters to update Product group promotions required: true content: application/json: schema: $ref: '#/components/schemas/ProductGroupPromotionUpdateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ProductGroupPromotionResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - product_group_promotions x-ratelimit-category: ads_write x-sandbox: disabled get: operationId: product_group_promotions/list summary: Get product group promotions 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. 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': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/ProductGroupPromotion' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - product_group_promotions x-ratelimit-category: ads_read x-sandbox: disabled '/ad_accounts/{ad_account_id}/product_group_promotions/{product_group_promotion_id}': get: operationId: product_group_promotions/get summary: Get a product group promotion by id description: Get a product group promotion by id parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/path_product_group_promotion_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ProductGroupPromotion' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - product_group_promotions x-ratelimit-category: ads_read x-sandbox: disabled '/ad_accounts/{ad_account_id}/product_groups/analytics': get: operationId: product_groups/analytics 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, you can pull data from up to 90 days before the current date in UTC time, with a maximum time range of 90 days. - If granularity is HOUR, you can pull data from up to 8 days before the current date in UTC time, with a maximum time range of 3 days. 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' - $ref: '#/components/parameters/query_reporting_timezone' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ProductGroupAnalyticsResponse' '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' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - product_group_promotions x-ratelimit-category: ads_analytics x-sandbox: disabled '/ad_accounts/{ad_account_id}/promotions': get: operationId: promotions/list summary: Get promotions description: Gets all promotions associated with an ad account ID that can be applied to an ad group. Can be either internally-saved promotions or external promotions imported from a commerce integration. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_order' - $ref: '#/components/parameters/query_bookmark' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - properties: items: type: array items: $ref: '#/components/schemas/PromotionResponse' '400': description: Invalid ad account promotions parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account promotions parameters. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - promotions x-ratelimit-category: ads_read x-sandbox: disabled post: operationId: promotions/create summary: Create promotions description: Create multiple new promotions. parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: description: 'List of promotions to create, size limit [1, 30].' required: true content: application/json: schema: description: List of promotions to create. type: array items: $ref: '#/components/schemas/PromotionCreateRequest' maxItems: 30 minItems: 1 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/PromotionsResponse' '400': description: Invalid create promotions request parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Platform type not supported for promotions. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - promotions x-ratelimit-category: ads_write x-sandbox: disabled patch: operationId: promotions/update summary: Update promotions description: Update multiple promotions. parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: description: 'List of promotions to create, size limit [1, 30].' required: true content: application/json: schema: description: List of promotion data updates keyed on promotion id. type: array items: $ref: '#/components/schemas/PromotionUpdateRequest' maxItems: 30 minItems: 1 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/PromotionsResponse' '400': description: Invalid create promotions request parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Platform type not supported for promotions. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - promotions x-ratelimit-category: ads_write x-sandbox: disabled '/ad_accounts/{ad_account_id}/promotions/{promotion_id}': get: operationId: promotions/get summary: Get promotion by id description: Get a promotion by its Pinterest-specific id. It must be associated with the provided ad account id. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/path_promotion_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/PromotionResponse' '404': description: The promotion ID for the given ad account ID was not found. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 4997 message: Promotion for that ID was not found default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - promotions x-ratelimit-category: ads_read x-sandbox: disabled delete: operationId: promotions/delete summary: Delete promotion by id description: Delete a promotion within Pinterest. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/path_promotion_id' responses: '204': description: Promotion deleted successfully default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - promotions x-ratelimit-category: ads_write x-sandbox: disabled '/ad_accounts/{ad_account_id}/reports': get: operationId: analytics/get_report summary: Get the account analytics report created by the async call description: |- This returns a URL to an analytics report given a token returned from the post request report creation call. You can use the URL to download the report. The link is valid for five minutes and the report is valid for one hour. - 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. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_token_required' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AdsAnalyticsGetAsyncResponse' '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' security: - pinterest_oauth2: - 'ads:read' tags: - ad_accounts x-ratelimit-category: ads_analytics x-sandbox: disabled post: operationId: analytics/create_report summary: Create async request for an account analytics report description: |- This returns a token that you can use to download the report when it is ready. Note that this endpoint requires the parameters to be passed as JSON-formatted in the request body. This endpoint does not support URL query parameters. - 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, you can pull data from up to 914 days before the current date in UTC time, with a maximum time range of 186 days. - If granularity is HOUR, you can pull data from up to 8 days before the current date in UTC time, with a maximum time range of 3 days. - If level is PRODUCT_ITEM, you can pull data from up to 92 days before the current date in UTC time, with a maximum time range of 31 days. - If level is PRODUCT_ITEM, ad_ids and ad_statuses parameters are not allowed. Any columns related to pin promotion and ad is not allowed either. parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AdsAnalyticsCreateAsyncRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AdsAnalyticsCreateAsyncResponse' '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' security: - pinterest_oauth2: - 'ads:read' tags: - ad_accounts x-ratelimit-category: ads_analytics x-sandbox: disabled '/ad_accounts/{ad_account_id}/reports/brand_category_sku': get: operationId: analytics/get_conversion_product_report summary: 'Get advertiser brand, category, SKU report' description: |- Restricted Get a brand, category, SKU report for an ad account. This call returns the URL for the report that matches the token returned in the request to the Create brand, category, SKU report endpoint. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_token_required' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AdsAnalyticsGetAsyncResponse' '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' security: - pinterest_oauth2: - 'ads:read' tags: - ad_accounts x-ratelimit-category: ads_read x-sandbox: disabled post: operationId: analytics/create_conversion_product_report summary: 'Create a request for a brand, category, SKU report' description: |- Restricted This creates an asynchronous brand, category, SKU report based on the given request. This request returns a token that you can use to download the report when it is ready. parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ConversionProductReportRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AdsAnalyticsCreateAsyncResponse' '400': description: 'Invalid ad account ads analytics brand, category, SKU parameters' content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: 'Invalid ad account ads analytics brand, category, SKU parameters' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - ad_accounts x-ratelimit-category: ads_analytics x-sandbox: disabled '/ad_accounts/{ad_account_id}/sandbox': delete: operationId: sandbox/delete summary: Delete ads data for ad account in API Sandbox description: |- Delete an ad account and all the ads data associated with that account. A string message is returned indicating the status of the delete operation. Note: This endpoint is only allowed in the Pinterest API Sandbox (https://api-sandbox.pinterest.com/v5). Go to /docs/developer-tools/sandbox/ for more information. parameters: - $ref: '#/components/parameters/path_ad_account_id' responses: '200': description: OK content: application/json: schema: type: string example: Delete Success '400': description: Invalid ad account id. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account id default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - ad_accounts x-ratelimit-category: ads_write x-sandbox: enabled '/ad_accounts/{ad_account_id}/ssio/accounts': get: operationId: ssio_accounts/get summary: Get Salesforce account details including bill-to information. description: |- Get Salesforce account details including bill-to information to be used in insertion orders process for ad_account_id. - 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, Finance, Campaign. parameters: - $ref: '#/components/parameters/path_ad_account_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/SSIOAccountResponse' '400': description: Invalid request parameter. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid request parameter. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - billing x-ratelimit-category: ads_read x-sandbox: enabled '/ad_accounts/{ad_account_id}/ssio/insertion_orders': post: operationId: ssio_insertion_order/create summary: Create insertion order through SSIO. description: |- Create insertion order through SSIO for ad_account_id. - 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, Finance, Campaign. parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: description: Order line to create. required: true content: application/json: schema: $ref: '#/components/schemas/SSIOCreateInsertionOrderRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/SSIOCreateInsertionOrderResponse' '400': description: Invalid request. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid request. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - billing x-ratelimit-category: ads_write x-sandbox: enabled patch: operationId: ssio_insertion_order/edit summary: Edit insertion order through SSIO. description: |- Edit insertion order through SSIO for ad_account_id. - 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, Finance, Campaign. parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: description: Order line to create. required: true content: application/json: schema: $ref: '#/components/schemas/SSIOEditInsertionOrderRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/SSIOEditInsertionOrderResponse' '400': description: Invalid request. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid request. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - billing x-ratelimit-category: ads_write x-sandbox: enabled '/ad_accounts/{ad_account_id}/ssio/insertion_orders/status': get: operationId: ssio_insertion_orders_status/get_by_ad_account summary: Get insertion order status by ad account id. description: |- Get insertion order status for account id ad_account_id. - 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, Finance, Campaign. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: description: Insertion orders status by ad acount id items: $ref: '#/components/schemas/SSIOInsertionOrderStatus' '400': description: Invalid request parameter. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid request parameter. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - billing x-ratelimit-category: ads_read x-sandbox: enabled '/ad_accounts/{ad_account_id}/ssio/insertion_orders/{pin_order_id}/status': get: operationId: ssio_insertion_orders_status/get_by_pin_order_id summary: Get insertion order status by pin order id. description: |- Get insertion order status for pin order id pin_order_id. - 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, Finance, Campaign. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/path_pin_order_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/SSIOInsertionOrderStatusResponse' '400': description: Invalid request parameter. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid request parameter. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - billing x-ratelimit-category: ads_read x-sandbox: enabled '/ad_accounts/{ad_account_id}/ssio/order_lines': get: operationId: ssio_order_lines/get_by_ad_account summary: Get Salesforce order lines by ad account id. description: |- Get Salesforce order lines for account id ad_account_id. - 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, Finance, Campaign. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_pin_order_id' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: description: SSIO order lines by ad acount id items: $ref: '#/components/schemas/SSIOOrderLine' '400': description: Invalid request parameter. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid request parameter. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - billing x-ratelimit-category: ads_read x-sandbox: enabled '/ad_accounts/{ad_account_id}/targeting_analytics': get: operationId: ad_account_targeting_analytics/get summary: Get targeting analytics for an ad account description: |- Get targeting analytics for an ad account. For the requested account and metrics, the response will include the requested metric information (e.g. SPEND_IN_DOLLAR) for the requested target type (e.g. "age_bucket") for applicable values (e.g. "45-49").

- 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, you can pull data from up to 90 days before the current date in UTC time, with a maximum time range of 90 days. - If granularity is HOUR, you can pull data from up to 8 days before the current date in UTC time, with a maximum time range of 3 days. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_start_date' - $ref: '#/components/parameters/query_end_date' - $ref: '#/components/parameters/query_targeting_types' - $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' - $ref: '#/components/parameters/query_attribution_types' - $ref: '#/components/parameters/query_reporting_timezone' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/MetricsResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - ad_accounts x-ratelimit-category: ads_analytics x-sandbox: enabled '/ad_accounts/{ad_account_id}/targeting_templates': get: operationId: targeting_template/list summary: List targeting templates description: Get a list of the targeting templates in the specified ad_account_id parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_order' - name: include_sizing in: query description: Include audience sizing in result or not required: false schema: type: boolean default: false - name: search_query in: query description: Search keyword for targeting templates required: false schema: type: string example: gaming - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_bookmark' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/TargetingTemplateGetResponseData' '400': description: Invalid ad account id. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account id default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - targeting_template x-ratelimit-category: ads_read x-sandbox: disabled post: operationId: targeting_template/create summary: Create targeting templates description: |-

Targeting templates allow advertisers to save a set of targeting details including audience lists, keywords & interest, demographics, and placements to use more than once during the campaign creation process.

Templates can be used to build out basic targeting criteria that you plan to use across campaigns and to reuse performance targeting from prior campaigns for new campaigns.

parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: description: targeting template creation entity required: true content: application/json: schema: $ref: '#/components/schemas/TargetingTemplateCreate' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TargetingTemplateGetResponseData' '400': description: Invalid ad account id. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account id default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - targeting_template x-ratelimit-category: ads_write x-sandbox: disabled patch: operationId: targeting_template/update summary: Update targeting templates description:

Update the targeting template given advertiser ID and targeting template ID

parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: description: Operation type and targeting template ID required: true content: application/json: schema: $ref: '#/components/schemas/TargetingTemplateUpdateRequest' responses: '200': description: Success '400': description: Invalid ad account id. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account id default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - targeting_template x-ratelimit-category: ads_write x-sandbox: enabled '/ad_accounts/{ad_account_id}/templates': get: operationId: templates/list summary: List templates description: Gets all Templates associated with an ad account ID. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_order' - $ref: '#/components/parameters/query_bookmark' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/TemplateResponse' '400': description: Invalid ad account template parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account template parameters default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - ad_accounts x-ratelimit-category: ads_read x-sandbox: enabled '/ad_accounts/{ad_account_id}/templates/{template_id}/reports': post: operationId: analytics/create_template_report summary: Create async request for an analytics report using a template description: |- This takes a template ID and an optional custom timeframe and constructs an asynchronous report based on the template. It returns a token that you can use to download the report when it is ready. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/path_template_id' - $ref: '#/components/parameters/query_start_date_async' - $ref: '#/components/parameters/query_end_date_async' - $ref: '#/components/parameters/query_granularity_async' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AdsAnalyticsCreateAsyncResponse' '400': description: Invalid ad account ads analytics template parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account analytics template parameters. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - ad_accounts x-ratelimit-category: ads_analytics x-sandbox: disabled '/ad_accounts/{ad_account_id}/terms_of_service': get: operationId: terms_of_service/get summary: Get terms of service description: Get the text of the terms of service and see whether the advertiser has accepted the terms of service. parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_include_html' - $ref: '#/components/parameters/query_tos_type' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TermsOfService' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - terms_of_service x-ratelimit-category: ads_read x-sandbox: enabled /advanced_auction/items/get: post: operationId: advanced_auction_items_get/post summary: Get item bid options (POST) description: |- Get the bid options for a batch of retail catalog items. The catalog must be owned by the "operation user_account". See detailed documentation here. By default, the "operation user_account" is the token user_account. Optional: Business Access: Specify an ad_account_id (obtained via List ad accounts) to use the owner of that ad_account as the "operation user_account". In order to do this, the token user_account must have one of the following Business Access roles on the ad_account: `Owner`, `Admin`. This endpoint is not available to all users. parameters: - $ref: '#/components/parameters/query_ad_account_id' requestBody: description: Request object used to get bid options values for a batch of retail catalog items required: true content: application/json: schema: $ref: '#/components/schemas/AdvancedAuctionItemsGetRequest' responses: '200': description: Response containing the bid option values for the requested retail catalog items. Items that don't exist or do not have bid options set won't be present in the response. content: application/json: schema: $ref: '#/components/schemas/AdvancedAuctionItems' '400': description: Invalid request parameters. content: application/json: schema: $ref: '#/components/schemas/Error' examples: InvalidRequest: value: code: 1 message: 'Invalid request: {''catalog_id'': ''1234''} list of retail catalog items not provided' '401': description: Not authenticated to get item bid options content: application/json: schema: $ref: '#/components/schemas/Error' examples: UnauthenticatedAccess: value: code: 2 message: Authentication failed. '403': description: Not authorized to get item bid options content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - 'catalogs:read' tags: - advanced_auction x-ratelimit-category: advanced_auction_read x-sandbox: enabled /advanced_auction/items/submit: post: operationId: advanced_auction_items_submit/post summary: Operate on item level bid options description: |- This endpoint supports multiple operations on a set of one or more bid options (bid price and bid adjustments for targeting categories) for retail catalog items. These advanced auction settings are applied in campaigns using objective_type `CATALOG_SALES` and ad groups using bid_strategy_type `MAX_BID`. The catalog must be owned by the "operation user_account". See detailed documentation here. By default, the "operation user_account" is the token user_account. Optional: Business Access: Specify an ad_account_id (obtained via List ad accounts) to use the owner of that ad_account as the "operation user_account". In order to do this, the token user_account must have one of the following Business Access roles on the ad_account: `Owner`, `Admin`. This endpoint is not available to all users. parameters: - $ref: '#/components/parameters/query_ad_account_id' requestBody: description: Request object used to upsert or delete bid options for a batch of retail catalog items required: true content: application/json: schema: $ref: '#/components/schemas/AdvancedAuctionItemsSubmitRequest' responses: '200': description: Response containing the results of the item bid options operations content: application/json: schema: $ref: '#/components/schemas/AdvancedAuctionProcessedItems' '206': description: Response containing the results of the item bid options operations (where some/all operation results have errors) content: application/json: schema: $ref: '#/components/schemas/AdvancedAuctionProcessedItems' '400': description: Invalid request parameters. content: application/json: schema: $ref: '#/components/schemas/Error' examples: InvalidRequest: value: code: 1 message: 'Invalid request: {''catalog_id'': ''1234''} list of item bid option operations not provided' '401': description: Not authenticated to post item bid options content: application/json: schema: $ref: '#/components/schemas/Error' examples: UnauthenticatedAccess: value: code: 2 message: Authentication failed. '403': description: Not authorized to post item bid options content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal error content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' - 'catalogs:read' tags: - advanced_auction x-ratelimit-category: advanced_auction_write x-sandbox: enabled /boards: post: operationId: boards/create summary: Create board description: |2- Create a board owned by the "operation user_account". Optional: Business Access: Specify an ad_account_id to use the owner of that ad_account as the "operation user_account". * By default, the "operation user_account" is the token user_account. parameters: - $ref: '#/components/parameters/QueryParams.query_ad_account_id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BoardCreate' responses: '200': description: The request has succeeded. content: application/json: schema: $ref: '#/components/schemas/Board' '201': description: Resource create operation completed successfully. content: application/json: schema: $ref: '#/components/schemas/Board' '400': description: The request could not be understood by the server due to unexpected data. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '401': description: Authentication is required and has either failed or not been provided. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '403': description: 'The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource.' content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '404': description: The requested resource could not be found on this server. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '429': description: The user has sent too many requests in a given amount of time and is being rate limited. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' security: - pinterest_oauth2: - 'boards:read' - 'boards:write' - client_credentials: - 'boards:read' - 'boards:write' tags: - boards x-ratelimit-category: org_write x-sandbox: enabled get: operationId: boards/list summary: List boards description: |2- Get a list of the boards owned by the "operation user_account" + group boards where this account is a collaborator Optional: Business Access: Specify an ad_account_id to use the owner of that ad_account as the "operation user_account". Optional: Specify a privacy type (public, protected, or secret) to indicate which boards to return. * If no privacy is specified, all boards that can be returned (based on the scopes of the token and ad_account role if applicable) will be returned. parameters: - $ref: '#/components/parameters/QueryParams.query_ad_account_id' - $ref: '#/components/parameters/QueryParams.query_board_privacy' - $ref: '#/components/parameters/Pinterest.Lib.BookmarkParams.bookmark' - $ref: '#/components/parameters/Pinterest.Lib.BookmarkParams.page_size' responses: '200': description: The request has succeeded. content: application/json: schema: type: object properties: bookmark: type: string nullable: true items: type: array items: $ref: '#/components/schemas/Board' required: - items '400': description: The request could not be understood by the server due to unexpected data. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '401': description: Authentication is required and has either failed or not been provided. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '403': description: 'The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource.' content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '404': description: The requested resource could not be found on this server. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '429': description: The user has sent too many requests in a given amount of time and is being rate limited. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' security: - pinterest_oauth2: - 'boards:read' - client_credentials: - 'boards:read' tags: - boards x-ratelimit-category: org_read x-sandbox: enabled '/boards/{board_id}': get: operationId: boards/get summary: Get board description: |2- Get a board owned by the operation user_account - or a group board that has been shared with this account. * Optional: Business Access: Specify an ad_account_id to use the owner of that ad_account as the "operation user_account". * By default, the "operation user_account" is the token user_account. parameters: - $ref: '#/components/parameters/BoardKey' - $ref: '#/components/parameters/QueryParams.query_ad_account_id' responses: '200': description: The request has succeeded. content: application/json: schema: $ref: '#/components/schemas/Board' '400': description: The request could not be understood by the server due to unexpected data. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '401': description: Authentication is required and has either failed or not been provided. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '403': description: 'The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource.' content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '404': description: The requested resource could not be found on this server. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '429': description: The user has sent too many requests in a given amount of time and is being rate limited. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' security: - pinterest_oauth2: - 'boards:read' - client_credentials: - 'boards:read' tags: - boards x-ratelimit-category: org_read x-sandbox: enabled delete: operationId: boards/delete summary: Delete board description: |2- Delete a board owned by the "operation user_account". * Optional: Business Access: Specify an ad_account_id to use the owner of that ad_account as the "operation user_account". * By default, the "operation user_account" is the token user_account. parameters: - $ref: '#/components/parameters/BoardKey' - $ref: '#/components/parameters/QueryParams.query_ad_account_id' responses: '204': description: Resource deleted successfully. '400': description: The request could not be understood by the server due to unexpected data. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '401': description: Authentication is required and has either failed or not been provided. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '403': description: 'The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource.' content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '404': description: The requested resource could not be found on this server. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '429': description: The user has sent too many requests in a given amount of time and is being rate limited. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' security: - pinterest_oauth2: - 'boards:read' - 'boards:write' tags: - boards x-ratelimit-category: org_write x-sandbox: enabled patch: operationId: boards/update summary: Update board description: |2- Update a board owned by the "operating user_account". * Optional: Business Access: Specify an ad_account_id to use the owner of that ad_account as the "operation user_account". * By default, the "operation user_account" is the token user_account. parameters: - $ref: '#/components/parameters/BoardWithUpdatePrivacyKey' - $ref: '#/components/parameters/QueryParams.query_ad_account_id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BoardWithUpdatePrivacyUpdate' responses: '200': description: The request has succeeded. content: application/json: schema: $ref: '#/components/schemas/BoardWithUpdatePrivacy' '400': description: The request could not be understood by the server due to unexpected data. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '401': description: Authentication is required and has either failed or not been provided. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '403': description: 'The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource.' content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '404': description: The requested resource could not be found on this server. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '429': description: The user has sent too many requests in a given amount of time and is being rate limited. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' security: - pinterest_oauth2: - 'boards:read' - 'boards:write' - client_credentials: - 'boards:read' - 'boards:write' tags: - boards x-ratelimit-category: org_write x-sandbox: enabled '/boards/{board_id}/pins': get: operationId: boards/list_pins summary: List Pins on board description: |- Get a list of the Pins on a board owned by the "operation user_account" - or on a group board that has been shared with this account. - Optional: Business Access: Specify an ad_account_id to use the owner of that ad_account as the "operation user_account". - By default, the "operation user_account" is the token user_account. parameters: - $ref: '#/components/parameters/path_board_id' - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_creative_types' - $ref: '#/components/parameters/query_ad_account_id' - $ref: '#/components/parameters/query_pin_metrics' responses: '200': description: response content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: description: Pins items: $ref: '#/components/schemas/Pin' '404': description: Board not found. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 404 message: Board not found. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'boards:read' - 'pins:read' - client_credentials: - 'boards:read' - 'pins:read' tags: - boards x-ratelimit-category: org_read x-sandbox: enabled '/boards/{board_id}/sections': get: operationId: board_sections/list summary: List board sections description: |- Get a list of all board sections from a board owned by the "operation user_account" - or a group board that has been shared with this account. Optional: Business Access: Specify an ad_account_id to use the owner of that ad_account as the "operation user_account". - By default, the "operation user_account" is the token user_account. parameters: - $ref: '#/components/parameters/path_board_id' - $ref: '#/components/parameters/query_ad_account_id' - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' responses: '200': description: response content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: description: Board sections items: $ref: '#/components/schemas/BoardSection' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'boards:read' - client_credentials: - 'boards:read' tags: - boards x-ratelimit-category: org_read x-sandbox: enabled post: operationId: board_sections/create summary: Create board section description: |- Create a board section on a board owned by the "operation user_account" - or on a group board that has been shared with this account. Optional: Business Access: Specify an ad_account_id to use the owner of that ad_account as the "operation user_account". - By default, the "operation user_account" is the token user_account. parameters: - $ref: '#/components/parameters/path_board_id' - $ref: '#/components/parameters/query_ad_account_id' requestBody: description: Create a board section. required: true content: application/json: schema: $ref: '#/components/schemas/BoardSection' responses: '201': description: response content: application/json: schema: $ref: '#/components/schemas/BoardSection' '400': description: Invalid board section parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid board section parameters. '403': description: Not authorized to create board sections. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 403 message: Not authorized to create board sections. '409': description: Could not get exclusive access to the board to create a new section. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 409 message: Could not get exclusive access to the board to create a new section. '500': description: Could not create a new board section. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 500 message: Could not create a new board section. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'boards:read' - 'boards:write' tags: - boards x-ratelimit-category: org_write x-sandbox: enabled '/boards/{board_id}/sections/{section_id}': patch: operationId: board_sections/update summary: Update board section description: |- Update a board section on a board owned by the "operation user_account" - or on a group board that has been shared with this account. Optional: Business Access: Specify an ad_account_id to use the owner of that ad_account as the "operation user_account". - By default, the "operation user_account" is the token user_account. parameters: - $ref: '#/components/parameters/path_board_id' - $ref: '#/components/parameters/path_board_section_id' - $ref: '#/components/parameters/query_ad_account_id' requestBody: description: Update a board section. required: true content: application/json: schema: $ref: '#/components/schemas/BoardSection' responses: '200': description: response content: application/json: schema: $ref: '#/components/schemas/BoardSection' '400': description: Invalid board section parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid board section parameters. '403': description: Not authorized to update board section. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 403 message: Not authorized to update board section. '409': description: Board section conflict. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 409 message: Board section conflict. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'boards:read' - 'boards:write' tags: - boards x-ratelimit-category: org_write x-sandbox: enabled delete: operationId: board_sections/delete summary: Delete board section description: |- Delete a board section on a board owned by the "operation user_account" - or on a group board that has been shared with this account. Optional: Business Access: Specify an ad_account_id to use the owner of that ad_account as the "operation user_account". - By default, the "operation user_account" is the token user_account. parameters: - $ref: '#/components/parameters/path_board_id' - $ref: '#/components/parameters/path_board_section_id' - $ref: '#/components/parameters/query_ad_account_id' responses: '204': description: Board section deleted successfully '403': description: Not authorized to delete board section. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 403 message: Not authorized to delete board section. '404': description: Board section not found. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 404 message: Board section not found. '409': description: Board section conflict. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 409 message: Board section conflict. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'boards:read' - 'boards:write' tags: - boards x-ratelimit-category: org_write x-sandbox: enabled '/boards/{board_id}/sections/{section_id}/pins': get: operationId: board_sections/list_pins summary: List Pins on board section description: |- Get a list of the Pins on a board section of a board owned by the "operation user_account" - or on a group board that has been shared with this account. Optional: Business Access: Specify an ad_account_id to use the owner of that ad_account as the "operation user_account". - By default, the "operation user_account" is the token user_account. parameters: - $ref: '#/components/parameters/path_board_id' - $ref: '#/components/parameters/path_board_section_id' - $ref: '#/components/parameters/query_ad_account_id' - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' responses: '200': description: response content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: description: Pins items: $ref: '#/components/schemas/Pin' '403': description: Not authorized to access Pins on board section. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 403 message: Not authorized to access Pins on board section. '404': description: Board or section not found. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 404 message: Board or section not found. '409': description: Board section conflict. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 409 message: Board section conflict. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'boards:read' - 'pins:read' - client_credentials: - 'boards:read' - 'pins:read' tags: - boards x-ratelimit-category: org_read x-sandbox: enabled /businesses/employers: get: operationId: get/business_employers summary: List business employers for user description: Get all of the viewing user's business employers. parameters: - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_bookmark' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: description: List of employers. type: array items: $ref: '#/components/schemas/UserBusinessRoleBinding' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:read' tags: - business_access_relationships x-ratelimit-category: ads_read x-sandbox: enabled /businesses/invites: patch: operationId: respond_business_access_invites summary: Accept or decline an invite/request description: Accept or decline invites or requests. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AuthRespondInvitesBody' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/RespondToInvitesResponseArray' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:read' - 'biz_access:write' tags: - business_access_invite x-ratelimit-category: ads_write x-sandbox: enabled '/businesses/{business_id}/system_users/{system_user_id}': patch: operationId: system_user/update summary: Update a system user information. description: Update a system user information such as name. parameters: - $ref: '#/components/parameters/path_business_user' - name: system_user_id in: path description: Unique identifier of a system user. required: true schema: type: string maxLength: 20 minLength: 1 pattern: ^\d+$ example: '729090764583391194' requestBody: required: true content: application/json: schema: type: object properties: name: description: New system user name type: string example: Billing API required: - name responses: '200': description: System user updated successfully. '400': description: Invalid parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid parameters. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:read' - 'biz_access:write' tags: - business_access_relationships x-ratelimit-category: ads_write x-sandbox: disabled '/businesses/{business_id}/assets/{asset_id}/members': get: operationId: business_asset_members/get summary: Get members with access to asset description: Get all the members the requesting business has granted access to on the given asset. parameters: - $ref: '#/components/parameters/path_business_user' - $ref: '#/components/parameters/path_asset_id' - $ref: '#/components/parameters/fetch_system_users' - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_business_access_start_index' responses: '200': description: Sucess content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: description: List of members with permissions to the asset. type: array items: $ref: '#/components/schemas/UserSingleAssetBinding' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:read' tags: - business_access_assets x-ratelimit-category: ads_read x-sandbox: disabled '/businesses/{business_id}/assets/{asset_id}/partners': get: operationId: business_asset_partners/get summary: Get partners with access to asset description: |- Get all the partners the requesting business has granted access to on the given asset. Note: If the asset has been shared with you, an empty array will be returned. This is because an asset shared with you cannot be shared with a different partner. parameters: - $ref: '#/components/parameters/path_business_user' - $ref: '#/components/parameters/path_asset_id' - $ref: '#/components/parameters/query_business_access_start_index' - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' responses: '200': description: Sucess content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: description: List of partners with permissions to the asset. type: array items: $ref: '#/components/schemas/UserSingleAssetBinding' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:read' tags: - business_access_assets x-ratelimit-category: ads_read x-sandbox: disabled '/businesses/{business_id}/invites/assets/access': post: operationId: create_asset_invites summary: Update invite/request with an asset permission description: |- Assign asset permissions information to an existing invite/request. Can be used to: - Request access to a partner's asset. Note: This is only for when no existing partnership exists. If an existing partnership exists, use "Create a request to access an existing partner's assets" to request access to your partner's assets. - invite_type="PARTNER_REQUEST" - Invite a partner to access your business assets. Note: This is only for when there is no existing partnership. If there is an existing partnership, use "Assign/Update partner asset permissions" to assign a partner access to new assets. - invite_type="PARTNER_INVITE" - Invite a member to access your business assets. Note: This is only for when there is no existing membership. If there is an existing membership, use "Assign/Update member asset permissions" to assign a member access to new assets. - invite_type="MEMBER_INVITE" To learn more about permission levels, visit https://help.pinterest.com/en/business/article/business-manager-overview. parameters: - $ref: '#/components/parameters/path_business_user' requestBody: description: | A list of invites/requests together with the asset permissions to be assigned to the invite/request. required: true content: application/json: schema: $ref: '#/components/schemas/CreateAssetInvitesRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/UpdateInvitesResultsResponseArray' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:read' - 'biz_access:write' tags: - business_access_invite x-ratelimit-category: ads_write x-sandbox: disabled '/businesses/{business_id}/requests/assets/access': post: operationId: asset_access_requests/create summary: Create a request to access an existing partner's assets. description: Create a request to access an existing partner's assets with the specified permissions. The request will be sent to the partner for approval. The assets that can be requested are ad accounts and profiles. parameters: - $ref: '#/components/parameters/path_business_user' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAssetAccessRequestBody' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CreateAssetAccessRequestResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:read' - 'biz_access:write' tags: - business_access_invite x-ratelimit-category: ads_write x-sandbox: disabled '/businesses/{business_id}/members': get: operationId: get/business_members summary: Get business members description: |- Get all members of the specified business. The return response will include the member's business_role and assets they have access to if assets_summary=TRUE parameters: - $ref: '#/components/parameters/path_business_user' - $ref: '#/components/parameters/fetch_system_users' - $ref: '#/components/parameters/query_assets_summary' - name: business_roles in: query description: A list of business roles to filter the members by. Only members whose roles are in the specified roles will be returned. required: false schema: type: array items: $ref: '#/components/schemas/MemberBusinessRole' - name: member_ids in: query description: A list of business members ids separated by comma. required: false schema: type: string maxLength: 500 example: '00101010101,2222220101' - $ref: '#/components/parameters/query_business_access_start_index' - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: description: List of business members. type: array items: $ref: '#/components/schemas/UserBusinessRoleBinding' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:read' tags: - business_access_relationships x-ratelimit-category: ads_read x-sandbox: disabled patch: operationId: update/business_memberships summary: Update member's business role description: Update a member's business role within the business. parameters: - $ref: '#/components/parameters/path_business_id' requestBody: description: List of objects with the member id and the business_role. required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/UpdateMemberBusinessRoleBody' minItems: 1 responses: '200': description: response content: application/json: schema: $ref: '#/components/schemas/UpdateMemberResultsResponseArray' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:write' tags: - business_access_relationships x-ratelimit-category: ads_write x-sandbox: disabled delete: operationId: delete_business_membership summary: Terminate business memberships description: Terminate memberships between the specified members and your business. parameters: - $ref: '#/components/parameters/path_business_id' requestBody: description: List of members with role to delete. required: true content: application/json: schema: $ref: '#/components/schemas/MembersToDeleteBody' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DeletedMembersResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:read' - 'biz_access:write' tags: - business_access_relationships x-ratelimit-category: ads_write x-sandbox: enabled '/businesses/{business_id}/assets': get: operationId: business_assets/get summary: List business assets description: Get all the assets the requesting business has access to. This includes assets the business owns and assets the business has access to through partnerships. parameters: - $ref: '#/components/parameters/path_business_user' - name: permissions in: query description: A list of asset permissions used to filter the assets. Only assets where the requesting business has at least one of the specified permissions will be returned. required: false schema: type: array items: $ref: '#/components/schemas/PermissionsWithOwner' - name: child_asset_id in: query description: A child asset unique identifier. Used to fetch asset groups that contain the asset id as a child. required: false schema: type: string example: '549764894835' maxLength: 20 minLength: 1 pattern: ^\d+$ - name: asset_group_id in: query description: An asset group unique identifier. Used to fetch assets contained within the specified asset group. required: false schema: type: string example: '7078106104032' maxLength: 20 minLength: 1 pattern: ^\d+$ - $ref: '#/components/parameters/query_resource_type' - $ref: '#/components/parameters/query_business_access_start_index' - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: description: List of assets the requesting business has access to. type: array items: $ref: '#/components/schemas/GetBusinessAssetsResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:read' tags: - business_access_assets x-ratelimit-category: ads_read x-sandbox: disabled '/businesses/{business_id}/members/{member_id}/assets': get: operationId: business_member_assets/get summary: Get assets assigned to a member description: |- Get assets on which you assigned asset permissions to the given member. Can be used to: - get all assets, regardless of asset type or - get assets of one asset type by using the asset_type query. The return response will include the permissions the member has to that asset and the asset type. parameters: - $ref: '#/components/parameters/path_business_user' - $ref: '#/components/parameters/path_business_member_user' - $ref: '#/components/parameters/query_resource_type' - $ref: '#/components/parameters/query_business_access_start_index' - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: description: List asset permissions the given member was granted. type: array items: $ref: '#/components/schemas/AssetIdPermissions' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:read' tags: - business_access_assets x-ratelimit-category: ads_read x-sandbox: disabled '/businesses/{business_id}/members/assets/access': patch: operationId: business_members_asset_access/update summary: Assign/Update member asset permissions description: | Grant multiple members access to assets and/or update multiple member's exisiting permissions to an asset. Note: Not all listed permissions are applicable to each asset type. For example, PROFILE_PUBLISHER would not be applicable to an asset of type AD_ACCOUNT. The permission level PROFILE_PUBLISHER is only available to an asset of the type PROFILE. parameters: - $ref: '#/components/parameters/path_business_user' requestBody: description: List of member asset permissions to create or update. required: true content: application/json: schema: $ref: '#/components/schemas/UpdateMemberAssetAccessBody' responses: '200': description: response content: application/json: schema: $ref: '#/components/schemas/UpdateMemberAssetsResultsResponseArray' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:write' tags: - business_access_assets x-ratelimit-category: ads_write x-sandbox: disabled delete: operationId: business_members_asset_access/delete summary: Delete member access to asset description: Terminate multiple members' access to an asset. parameters: - $ref: '#/components/parameters/path_business_user' requestBody: description: List member assset permissions to delete. required: true content: application/json: schema: type: object properties: accesses: description: List of members asset access to be deleted type: array items: type: object required: - asset_id - member_id properties: asset_id: description: Id of the asset on which to remove member permissions. type: string example: '549755885175' maxLength: 25 pattern: ^\d+$ member_id: description: Unique identifier of the member on which to perform the asset permission removal type: string example: '140943737684417' maxLength: 25 pattern: ^\d+$ maxItems: 100 minItems: 1 required: - accesses responses: '200': description: response content: application/json: schema: $ref: '#/components/schemas/DeleteMemberAccessResultsResponseArray' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:write' tags: - business_access_assets x-ratelimit-category: ads_write x-sandbox: disabled '/businesses/{business_id}/invites': get: operationId: get/invites summary: Get invites/requests description: Get the membership/partnership invites and/or requests for the authorized user. parameters: - $ref: '#/components/parameters/path_non_system_business_user' - $ref: '#/components/parameters/query_is_member' - $ref: '#/components/parameters/query_invite_status' - $ref: '#/components/parameters/query_invite_type' - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: description: List of invite and request data. type: array items: $ref: '#/components/schemas/InviteResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:read' tags: - business_access_invite x-ratelimit-category: ads_read x-sandbox: disabled post: operationId: create_membership_or_partnership_invites summary: Create invites or requests description: |- Create batch invites or requests. Can create batch invites or requests as described below. - Invite members to join the business. This would required specifying the following: - invite_type="MEMBER_INVITE" - business_role="EMPLOYEE" OR business_role="BIZ_ADMIN" (To learn more about business roles, visit https://help.pinterest.com/en/business/article/profile-permissions-in-business-access.) - members - Invite partners to access your business assets. This would require specifying the following: - invite_type="PARTNER_INVITE" - business_role="PARTNER" - partners - Request to be a partner so you can access their assets. This would require specifying the following: - invite_type="PARTNER_REQUEST" - business_role="PARTNER" - partners parameters: - $ref: '#/components/parameters/path_non_system_business_user' requestBody: description: 'An object with the properties: invite_type, partners, members, business_role' required: true content: application/json: schema: $ref: '#/components/schemas/CreateMembershipOrPartnershipInvitesBody' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CreateInvitesResultsResponseArray' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:write' tags: - business_access_invite x-ratelimit-category: ads_write x-sandbox: disabled delete: operationId: cancel_invites_or_requests summary: Cancel invites/requests description: Cancel membership/partnership invites and/or requests. parameters: - $ref: '#/components/parameters/path_non_system_business_user' requestBody: description: A list with invite ids required: true content: application/json: schema: $ref: '#/components/schemas/CancelInvitesBody' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DeleteInvitesResultsResponseArray' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:write' tags: - business_access_invite x-ratelimit-category: ads_write x-sandbox: disabled '/businesses/{business_id}/partners/assets': patch: operationId: update_partner_asset_access_handler_impl summary: Assign/Update partner asset permissions description: |- Grant multiple partners access to assets and/or update multiple partner's exisiting permissions to an asset. If your partner already had permissions on the asset, they will be overriden with the new permissions you assign to them. To learn more about permission levels, visit https://help.pinterest.com/en/business/article/business-manager-overview Note: Not all listed permissions are applicable to each asset type. For example, PROFILE_PUBLISHER would not be applicable to an asset of type AD_ACCOUNT. The permission level PROFILE_PUBLISHER is only available to an asset of the type PROFILE. parameters: - $ref: '#/components/parameters/path_business_user' requestBody: description: A list of assets and permissions to assign to your partners. required: true content: application/json: schema: $ref: '#/components/schemas/UpdatePartnerAssetAccessBody' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/UpdatePartnerAssetsResultsResponseArray' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:write' tags: - business_access_assets x-ratelimit-category: ads_write x-sandbox: disabled delete: operationId: delete_partner_asset_access_handler_impl summary: Delete partner access to asset description: |- Terminate multiple partners' access to an asset. If - partner_type=INTERNAL: You will terminate a partner's asset access to your business assets. - partner_type=EXTERNAL: You will terminate your own access to your partner's business assets. parameters: - $ref: '#/components/parameters/path_business_user' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DeletePartnerAssetAccessBody' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DeletePartnerAssetsResultsResponseArray' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:write' tags: - business_access_assets x-ratelimit-category: ads_write x-sandbox: disabled '/businesses/{business_id}/partners/{partner_id}/assets': get: operationId: business_partner_asset_access/get summary: Get assets assigned to a partner or assets assigned by a partner description: |- Can be used to get the business assets your partner has granted you access to or the business assets you have granted your partner access to. If you specify: - partner_type=INTERNAL, you will retrieve your business assets that the partner has access to. - partner_type=EXTERNAL, you will retrieve the partner's business assets that the partner has granted you access to. parameters: - $ref: '#/components/parameters/path_business_user' - $ref: '#/components/parameters/path_business_partner_user' - name: partner_type in: query description: |- Specifies whether to fetch internal or external (shared) partners. If partner_type=INTERNAL, the asset being queried is for accesses the partner has to your business assets.
If partner_type=EXTERNAL, the asset being queried is for the accesses you have to the partner's business asset. required: false schema: allOf: - $ref: '#/components/schemas/PartnerType' - default: INTERNAL example: INTERNAL - $ref: '#/components/parameters/query_resource_type' - $ref: '#/components/parameters/query_business_access_start_index' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_bookmark' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: description: List assets on which you granted access to your partner or assets on which your partner has granted you access. type: array items: $ref: '#/components/schemas/GetPartnerAssetsResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:read' tags: - business_access_assets x-ratelimit-category: ads_read x-sandbox: disabled '/businesses/{business_id}/partners': get: operationId: get/business_partners summary: Get business partners description: |- Get all partners of the specified business. If the assets_summary=TRUE and: - partner_type=INTERNAL, the business assets returned are your business assets the partner has access to. - partner_type=EXTERNAL, the business assets returned are your partner's business assets the partner has granted you access to. parameters: - $ref: '#/components/parameters/path_business_user' - $ref: '#/components/parameters/query_assets_summary' - $ref: '#/components/parameters/query_business_partner_type' - name: partner_ids in: query description: A list of business partner ids separated by commas used to filter the results. Only partners with the specified ids will be returned. required: false schema: type: string maxLength: 500 example: '00101010101,2222220101' - $ref: '#/components/parameters/query_business_access_start_index' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_bookmark' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: description: List of business partners. type: array items: $ref: '#/components/schemas/UserBusinessRoleBinding' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:read' tags: - business_access_relationships x-ratelimit-category: ads_read x-sandbox: disabled delete: operationId: delete_business_partners summary: Terminate business partnerships description: |- Terminate partnerships between the specified partners and your business. Note: You may only batch terminate partners of the same partner type. parameters: - $ref: '#/components/parameters/path_business_user' requestBody: description: | An object containing a "partner_ids" property composed of a list of partner IDs and a "partners_type" property specifying the type of partners to delete. required: true content: application/json: schema: $ref: '#/components/schemas/DeletePartnersRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DeletePartnersResponse' '404': description: A supplied partner id doesn't exist content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:write' tags: - business_access_relationships x-ratelimit-category: ads_write x-sandbox: disabled '/businesses/{business_id}/audiences': get: operationId: shared_audiences_for_business/list summary: List received audiences for a business description: Get a list of received audiences for the given business. parameters: - $ref: '#/components/parameters/path_business_user' - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_order' - $ref: '#/components/parameters/query_page_size' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/Audience' '400': description: Invalid parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid parameters. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:read' tags: - audience_sharing x-ratelimit-category: ads_read x-sandbox: disabled '/businesses/{business_id}/audiences/shared/accounts': get: operationId: business_account_audiences_shared_accounts/list summary: List accounts with access to an audience owned by a business description: |- List all ad accounts and/or businesses that have access to a specific audience. The audience must either be owned by an ad account in the requesting business, or it must have been shared with the requesting business. If the requesting business is not the owner of the audience, only ad accounts owned by the requesting business will be returned. parameters: - $ref: '#/components/parameters/path_business_user' - $ref: '#/components/parameters/query_audience_id' - $ref: '#/components/parameters/query_account_type' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_bookmark' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/SharedAudienceAccount' '400': description: Invalid business audiences shared accounts parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid business audiences shared accounts parameters. '404': description: Shared accounts not found. content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:read' tags: - audience_sharing x-ratelimit-category: ads_read x-sandbox: disabled '/businesses/{business_id}/audiences/ad_accounts/shared': patch: operationId: update_business_to_ad_account_shared_audience summary: Update audience sharing from a business to ad accounts description: 'From a business, share a specific audience with other ad account(s), or revoke access to a previously shared audience. This endpoint is not available to all apps.Learn more.' parameters: - $ref: '#/components/parameters/path_business_user' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SharedAudience' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/SharedAudienceResponse' '400': description: Invalid parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid ad account id default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:write' tags: - audience_sharing x-ratelimit-category: ads_write x-sandbox: disabled '/businesses/{business_id}/audiences/businesses/shared': patch: operationId: update_business_to_business_shared_audience summary: Update audience sharing between businesses description: 'From a business, share a specific audience with another business account, or revoke access to a previously shared audience. Only the audience owner can share the audience with other businesses, and the recipient business must be within the same business hierarchy.
This endpoint is not available to all apps.Learn more.' parameters: - $ref: '#/components/parameters/path_business_user' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BusinessSharedAudience' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/BusinessSharedAudienceResponse' '400': description: Invalid parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid business id default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:write' tags: - audience_sharing x-ratelimit-category: ads_write x-sandbox: disabled '/businesses/{business_id}/asset_groups': post: operationId: asset_group/create summary: Create a new asset group. description: |- Create a new asset group with the specified parameters. - An asset group is a custom group of assets based on how you’d like to manage your accounts. parameters: - $ref: '#/components/parameters/path_business_user' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAssetGroupBody' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CreateAssetGroupResponse' '400': description: Invalid parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid parameters. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:read' - 'biz_access:write' tags: - business_access_assets x-ratelimit-category: ads_write x-sandbox: disabled patch: operationId: asset_group/update summary: Update asset groups. description: Update a batch of asset groups with the specified parameters. parameters: - $ref: '#/components/parameters/path_business_user' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateAssetGroupBody' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/UpdateAssetGroupResponse' '400': description: Invalid parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid parameters. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:read' - 'biz_access:write' tags: - business_access_assets x-ratelimit-category: ads_write x-sandbox: disabled delete: operationId: asset_group/delete summary: Delete asset groups. description: Delete a batch of asset groups. parameters: - $ref: '#/components/parameters/path_business_user' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DeleteAssetGroupBody' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DeleteAssetGroupResponse' '400': description: Invalid parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid parameters. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:read' - 'biz_access:write' tags: - business_access_assets x-ratelimit-category: ads_write x-sandbox: disabled '/business_access/business_hierarchy/{business_hierarchy_id}/brand_accounts': post: operationId: brand_accounts/create summary: Create a Brand Account description: 'Create a Brand Account that will be a child business of a business hierarchy. Request must contain name, username, and country.' parameters: - $ref: '#/components/parameters/path_business_hierarchy_id' requestBody: required: true content: application/json: schema: type: object properties: name: description: Brand Account name type: string example: Canada Stores username: description: Brand Account username type: string example: canada_stores country: $ref: '#/components/schemas/Country' about: description: Brand Account about information type: string example: Stores in Canada website: description: Brand Account website type: string example: 'https://www.example.com' profile_image: description: Base64-encoded image media source type: object properties: content_type: type: string enum: - image/jpeg - image/png data: type: string pattern: '[a-zA-Z0-9+\/=]+' required: - content_type - data title: Image Base64 required: - name - username - country responses: '200': description: Success content: application/json: schema: type: object properties: brand_account_id: description: id of the newly created brand account type: string example: '666791336903426391' '400': description: Invalid parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid parameters. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:read' - 'biz_access:write' tags: - business_access_relationships x-ratelimit-category: ads_write x-sandbox: disabled '/business_access/business_hierarchy/{business_hierarchy_id}/brand_accounts/{brand_account_id}': patch: operationId: brand_accounts/update summary: Update a Brand Account description: Update an existing Brand Account parameters: - $ref: '#/components/parameters/path_business_hierarchy_id' - name: brand_account_id in: path description: Unique identifier of a brand account. required: true schema: type: string maxLength: 20 minLength: 1 pattern: ^\d+$ example: '729090764583391194' requestBody: required: true content: application/json: schema: type: object properties: name: description: Brand Account name type: string example: Canada Stores username: description: Brand Account username type: string example: canada_stores country: $ref: '#/components/schemas/Country' about: description: Brand Account about information type: string example: Stores in Canada website: description: Brand Account website type: string example: 'https://www.example.com' profile_image: description: Base64-encoded image media source type: object properties: content_type: type: string enum: - image/jpeg - image/png data: type: string pattern: '[a-zA-Z0-9+\/=]+' required: - content_type - data title: Image Base64 responses: '200': description: Success content: application/json: schema: type: object properties: brand_account_id: description: id of the newly created brand account type: string example: '666791336903426391' '400': description: Invalid parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid parameters. '401': description: Not authenticated to update Brand Account content: application/json: schema: $ref: '#/components/schemas/Error' examples: UnauthenticatedAccess: value: code: 2 message: Authentication failed. '403': description: Not authorized to update Brand Account content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Brand account not found content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 404 message: User not found. '409': description: This account is not a brand account. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 409 message: This account is not a brand account. '429': description: |- This request exceeded a rate limit. This can happen if the client exceeds one of the published rate limits within a short time window. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 30 message: |- This request exceeded a rate limit. This can happen if the client exceeds one of the published rate limits within a short time window. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'biz_access:read' - 'biz_access:write' tags: - business_access_relationships x-ratelimit-category: ads_write x-sandbox: disabled /catalogs: get: operationId: catalogs/list summary: List catalogs description: |- Fetch 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 parameters: - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_ad_account_id' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/Catalog' '400': description: Invalid parameters. content: application/json: schema: $ref: '#/components/schemas/Error' examples: InvalidRequest: value: code: 1 message: Parameter 'page_size' was not numeric (was 3e)" '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. default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'catalogs:read' tags: - catalogs x-ratelimit-category: catalogs_read x-sandbox: enabled post: operationId: catalogs/create summary: Create catalog description: |- Create a new catalog 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: Access to the Product and Creative Assets catalog type is restricted to a specific group of users. If you require access, please reach out to your partner manager. parameters: - $ref: '#/components/parameters/query_ad_account_id' requestBody: description: Request object used to created a feed. required: true content: application/json: schema: $ref: '#/components/schemas/CatalogsCreateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Catalog' '400': description: Invalid parameters. content: application/json: schema: $ref: '#/components/schemas/Error' examples: InvalidRequest: value: code: 1 message: 'Invalid request: ...' '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. default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'catalogs:write' tags: - catalogs x-ratelimit-category: catalogs_write x-sandbox: enabled /catalogs/available_filter_values: get: operationId: catalogs/available_filter_values summary: List available filter values description: |- Get the available filter attributes and values associated with a given feed or catalog owned by the "operation user_account". - By default, the "operation user_account" is the token user_account. - country, language, and feed_id are only used in retail catalogs. - Note: It is not guaranteed that all available filter values will be returned. Instead this endpoint will return values from a sample of up to 1000 items. 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 parameters: - name: catalog_id in: query description: Filter entities for a given catalog_id. required: true schema: type: string pattern: ^\d+$ - $ref: '#/components/parameters/query_catalogs_feed_id' - name: country in: query description: Country for the Catalogs Items required: false schema: $ref: '#/components/schemas/Country' example: US - name: language in: query description: Language for the Catalogs Items required: false schema: $ref: '#/components/schemas/CatalogsLocale' example: en-US - $ref: '#/components/parameters/query_ad_account_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CatalogsAvailableFilterValues' '400': description: Invalid parameters. content: application/json: schema: $ref: '#/components/schemas/Error' '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 authorized to access available filter values. content: application/json: schema: $ref: '#/components/schemas/Error' examples: MerchantDisapproved: value: code: 2625 message: 'Sorry, you cannot perform this action as your account has been disapproved. Please see business hub for more details. https://www.pinterest.com/business/hub/' MerchantUnderReview: value: code: 2626 message: 'We are reviewing your account. Please see business hub for more details. https://www.pinterest.com/business/hub/' '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: 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' security: - pinterest_oauth2: - 'catalogs:read' tags: - catalogs x-ratelimit-category: catalogs_read x-sandbox: enabled /catalogs/feeds: get: operationId: feeds/list summary: List feeds description: |- Fetch feeds 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. For Retail partners, refer to Before you get started with Catalogs. For Hotel parterns, refer to Pinterest API for shopping. parameters: - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_catalogs_catalog_id' - $ref: '#/components/parameters/query_ad_account_id' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/CatalogsFeed' '400': description: Invalid parameters. content: application/json: schema: $ref: '#/components/schemas/Error' examples: InvalidRequest: value: code: 1 message: Parameter 'page_size' was not numeric (was 3e)" '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. default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'catalogs:read' - client_credentials: - 'catalogs:read' tags: - catalog_feeds x-ratelimit-category: catalogs_read x-sandbox: enabled post: operationId: feeds/create summary: Create feed description: |- Create a new feed owned by the "operation user_account". - By default, the "operation user_account" is the token user_account. Please, be aware that "default_country" and "default_locale" are not required in the spec for forward compatibility but for now the API will not accept requests without those fields. 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. For Retail partners, refer to Before you get started with Catalogs. For Hotel parterns, refer to Pinterest API for shopping. Note: Access to the Creative Assets catalog type is restricted to a specific group of users. If you require access, please reach out to your partner manager. parameters: - $ref: '#/components/parameters/query_ad_account_id' requestBody: description: Request object used to created a feed. required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/CatalogsVerticalFeedsCreateRequest' - $ref: '#/components/schemas/CatalogsFeedsCreateRequest' responses: '201': description: Success content: application/json: schema: $ref: '#/components/schemas/CatalogsFeed' '400': description: Invalid feed parameters. content: application/json: schema: $ref: '#/components/schemas/Error' examples: InvalidRequest: value: code: 1 message: 'Invalid request: ...' '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: Business account required. content: application/json: schema: $ref: '#/components/schemas/Error' examples: BusinessAccountRequired: value: code: 654 message: You must have a business account to operate as merchant. MerchantDisapproved: value: code: 2625 message: 'Sorry, you cannot perform this action as your account has been disapproved. Please see business hub for more details. https://www.pinterest.com/business/hub/' '409': description: User website required. content: application/json: schema: $ref: '#/components/schemas/Error' examples: UserWebsiteRequired: value: code: 4168 message: User does not have a website. UserWebsiteNotVerified: value: code: 4169 message: User does not have a verified website. '422': description: Unique feed name is required. content: application/json: schema: $ref: '#/components/schemas/Error' examples: FeedDuplicatedName: value: code: 4170 message: The feed name already exists. '501': description: Not implemented (absent "default_country" or "default_locale"). content: application/json: schema: $ref: '#/components/schemas/Error' examples: NotImplemented: value: code: 4181 message: 'Not implemented at the moment. Please, see documentation' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'catalogs:read' - 'catalogs:write' - client_credentials: - 'catalogs:read' - 'catalogs:write' tags: - catalog_feeds x-ratelimit-category: catalogs_write x-sandbox: enabled '/catalogs/feeds/{feed_id}': get: operationId: feeds/get summary: Get feed description: |- Get a single feed 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. For Retail partners, refer to Before you get started with Catalogs. For Hotel parterns, refer to Pinterest API for shopping. parameters: - $ref: '#/components/parameters/path_catalogs_feed_id' - $ref: '#/components/parameters/query_ad_account_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CatalogsFeed' '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. '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. default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'catalogs:read' - client_credentials: - 'catalogs:read' tags: - catalog_feeds x-ratelimit-category: catalogs_read x-sandbox: enabled patch: operationId: feeds/update summary: Update feed description: |- Update a feed 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. For Retail partners, refer to Before you get started with Catalogs. For Hotel parterns, refer to Pinterest API for shopping. Note: Access to the Creative Assets catalog type is restricted to a specific group of users. If you require access, please reach out to your partner manager. parameters: - $ref: '#/components/parameters/path_catalogs_feed_id' - $ref: '#/components/parameters/query_ad_account_id' requestBody: description: Request object used to update a feed. required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/CatalogsVerticalFeedsUpdateRequest' - $ref: '#/components/schemas/CatalogsFeedsUpdateRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CatalogsFeed' '400': description: Invalid feed parameters. content: application/json: schema: $ref: '#/components/schemas/Error' examples: InvalidRequest: value: code: 1 message: 'Invalid request: ...' '403': description: Forbidden. Account not approved for feed mutations yet. content: application/json: schema: $ref: '#/components/schemas/Error' examples: MerchantDisapproved: value: code: 2625 message: 'Sorry, you cannot perform this action as your account has been disapproved. Please see business hub for more details. https://www.pinterest.com/business/hub/' MerchantUnderReview: value: code: 2626 message: 'We are reviewing your account. Please see business hub for more details. https://www.pinterest.com/business/hub/' '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. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'catalogs:read' - 'catalogs:write' - client_credentials: - 'catalogs:read' - 'catalogs:write' tags: - catalog_feeds x-ratelimit-category: catalogs_write x-sandbox: enabled delete: operationId: feeds/delete summary: Delete feed description: |- Delete a feed owned by the "operating 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. For Retail partners, refer to Before you get started with Catalogs. For Hotel parterns, refer to Pinterest API for shopping. parameters: - $ref: '#/components/parameters/path_catalogs_feed_id' - $ref: '#/components/parameters/query_ad_account_id' responses: '204': description: Feed deleted successfully. '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+$"}' '403': description: Forbidden. Account not approved for feed mutations yet. content: application/json: schema: $ref: '#/components/schemas/Error' examples: MerchantDisapproved: value: code: 2625 message: 'Sorry, you cannot perform this action as your account has been disapproved. Please see business hub for more details. https://www.pinterest.com/business/hub/' MerchantUnderReview: value: code: 2626 message: 'We are reviewing your account. Please see business hub for more details. https://www.pinterest.com/business/hub/' '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 delete a feed with active promotions. content: application/json: schema: $ref: '#/components/schemas/Error' examples: FeedHasActivePromotions: value: code: 4162 message: We can't disable a Product Group with active promotions. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'catalogs:read' - 'catalogs:write' - client_credentials: - 'catalogs:read' - 'catalogs:write' tags: - catalog_feeds x-ratelimit-category: catalogs_write x-sandbox: enabled '/catalogs/feeds/{feed_id}/ingest': post: operationId: feeds/ingest summary: Ingest feed items description: |- Ingest items for a given feed owned by the "operation 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: This endpoint is restricted to a specific group of users. If you require access, please reach out to your partner manager. parameters: - $ref: '#/components/parameters/path_catalogs_feed_id' - $ref: '#/components/parameters/query_ad_account_id' responses: '200': description: The ingestion process was successfully started. content: application/json: schema: $ref: '#/components/schemas/CatalogsFeedIngestion' '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+$"}' '403': description: Forbidden. Account not approved for feed mutations yet. content: application/json: schema: $ref: '#/components/schemas/Error' examples: MerchantDisapproved: value: code: 2625 message: 'Sorry, you cannot perform this action as your account has been disapproved. Please see business hub for more details. https://www.pinterest.com/business/hub/' MerchantUnderReview: value: code: 2626 message: 'We are reviewing your account. Please see business hub for more details. https://www.pinterest.com/business/hub/' '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. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'catalogs:write' tags: - catalog_feeds x-ratelimit-category: catalogs_write x-sandbox: enabled '/catalogs/feeds/{feed_id}/processing_results': get: operationId: feed_processing_results/list summary: List feed processing results description: |- Fetch a feed processing results owned by the "operation user_account". Please note that for now the bookmark parameter is not functional and only the first page will be available until it is implemented in some release in the near future. - 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 parameters: - $ref: '#/components/parameters/path_catalogs_feed_id' - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_ad_account_id' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/CatalogsFeedProcessingResult' '400': description: Invalid parameters. content: application/json: schema: $ref: '#/components/schemas/Error' examples: InvalidRequest: value: code: 1 message: Parameter 'page_size' was not numeric (was 3e)" '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: 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. default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'catalogs:read' tags: - catalog_feeds x-ratelimit-category: catalogs_read x-sandbox: enabled '/catalogs/processing_results/{processing_result_id}/item_issues': get: operationId: items_issues/list summary: List item issues description: |- List item validation issues for a given feed processing result owned by the "operation user_account". Up to 20 random samples of affected items are returned for each error and warning code. Please note that for now query parameters 'item_numbers' and 'item_validation_issue' cannot be used simultaneously until it is implemented in some release in the future. - 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: To get a list of all affected items instead of sampled issues, please refer to Build catalogs report and Get catalogs report endpoints. Moreover, they support multiple types of catalogs. Learn more parameters: - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/path_catalogs_processing_result_id' - $ref: '#/components/parameters/query_catalogs_item_numbers' - $ref: '#/components/parameters/query_catalogs_item_validation_issue' - $ref: '#/components/parameters/query_ad_account_id' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/CatalogsItemValidationIssues' '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: Processing Result not found. content: application/json: schema: $ref: '#/components/schemas/Error' examples: ProcessingResultFound: value: code: 4184 message: Sorry! We could not find your processing result. '501': description: Not implemented. content: application/json: schema: $ref: '#/components/schemas/Error' examples: NotImplemented: value: code: 4181 message: 'Not implemented at the moment. Please, see documentation.' default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'catalogs:read' tags: - catalog_feeds x-ratelimit-category: catalogs_read x-sandbox: enabled /catalogs/items: post: operationId: items/post summary: Get catalogs items (POST) description: |- Get the items of the catalog owned by the "operation user_account". See detailed documentation here. - By default, the "operation user_account" is the token user_account. Optional: Business Access: Specify an ad_account_id (obtained via List ad accounts) to use the owner of that ad_account as the "operation user_account". In order to do this, the token user_account must have one of the following Business Access roles on the ad_account: Owner, Admin, Catalogs Manager. Note: Access to the Creative Assets catalog type is restricted to a specific group of users. If you require access, please reach out to your partner manager. parameters: - $ref: '#/components/parameters/query_ad_account_id' requestBody: description: Request object used to get catalogs items required: true content: application/json: schema: $ref: '#/components/schemas/CatalogsItemsRequest' responses: '200': description: Response containing the requested catalogs items content: application/json: schema: $ref: '#/components/schemas/CatalogsItems' '400': description: Invalid request content: application/json: schema: $ref: '#/components/schemas/Error' examples: InvalidRequest: value: code: 1 message: 'Invalid request: {''country'': ''US'', ''language'': ''EN'', ''filters'': {''catalog_type'': ''RETAIL'', ''item_ids'': ''test0''}} (''test0'' is not of type array)' '401': description: Not authorized to access catalogs items content: application/json: schema: $ref: '#/components/schemas/Error' examples: UnauthorizedAccess: value: code: 2 message: Authentication failed. '403': description: Not authorized to access catalogs items content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'catalogs:read' tags: - catalog_items x-ratelimit-category: catalogs_read x-sandbox: enabled /catalogs/items/batch: post: operationId: items_batch/post summary: Operate on item batch description: |- This endpoint supports multiple operations on a set of one or more catalog items owned by the "operation user_account". See detailed documentation here. - By default, the "operation user_account" is the token user_account. Optional: Business Access: Specify an ad_account_id (obtained via List ad accounts) to use the owner of that ad_account as the "operation user_account". In order to do this, the token user_account must have one of the following Business Access roles on the ad_account: Owner, Admin, Catalogs Manager. Note: - Access to the Creative Assets catalog type is restricted to a specific group of users. If you require access, please reach out to your partner manager. - The item UPSERT operation is restricted to users without a feed data source. If you plan to migrate item ingestion from feeds to the API, please reach out to your partner manager or via the Help Center to get assistance. parameters: - $ref: '#/components/parameters/query_ad_account_id' requestBody: description: Request object used to create catalogs items in a batch required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/CatalogsVerticalBatchRequest' - $ref: '#/components/schemas/CatalogsItemsBatchRequest' responses: '200': description: Response containing the requested catalogs items batch content: application/json: schema: $ref: '#/components/schemas/CatalogsItemsBatch' '400': description: Invalid request parameters. content: application/json: schema: $ref: '#/components/schemas/Error' examples: InvalidRequest: value: code: 1 message: 'Invalid request: {''country'': ''US'', ''language'': ''EN'', ''operation'': ''CREATE'', ''items'': [{''item_id'': ''RAY_01_'', ''attributes'': {''image_link'': ''https://www.example.com/'', ''title'': ''My Product''}}]} (''https://www.example.com/ is not of type array)' '401': description: Not authenticated to post catalogs items content: application/json: schema: $ref: '#/components/schemas/Error' examples: UnauthenticatedAccess: value: code: 2 message: Authentication failed. '403': description: Not authorized to post catalogs items content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'catalogs:read' - 'catalogs:write' - client_credentials: - 'catalogs:read' - 'catalogs:write' tags: - catalog_items x-ratelimit-category: catalogs_write x-sandbox: enabled '/catalogs/items/batch/{batch_id}': get: operationId: items_batch/get summary: Get item batch status description: |- Get a single catalogs items batch owned by the "operating user_account". See detailed documentation here. - By default, the "operation user_account" is the token user_account. Optional: Business Access: Specify an ad_account_id (obtained via List ad accounts) to use the owner of that ad_account as the "operation user_account". In order to do this, the token user_account must have one of the following Business Access roles on the ad_account: Owner, Admin, Catalogs Manager. parameters: - $ref: '#/components/parameters/path_catalogs_items_batch_id' - $ref: '#/components/parameters/query_ad_account_id' responses: '200': description: Response containing the requested catalogs items batch content: application/json: schema: $ref: '#/components/schemas/CatalogsItemsBatch' '401': description: Not authenticated to access catalogs items batch content: application/json: schema: $ref: '#/components/schemas/Error' examples: UnauthenticatedAccess: value: code: 2 message: Authentication failed. '403': description: Not authorized to access catalogs items batch content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Catalogs items batch not found content: application/json: schema: $ref: '#/components/schemas/Error' examples: CannotFindBatch: value: code: 4331 message: Sorry! We could not find your batch ID. '405': description: Method Not Allowed. content: application/json: schema: $ref: '#/components/schemas/Error' examples: MethodNotAllowed: value: status: failure code: 5 data: '405 Method Not Allowed: The method is not allowed for the requested URL.' message: Method not allowed endpoint_name: null default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'catalogs:read' - client_credentials: - 'catalogs:read' tags: - catalog_items x-ratelimit-category: catalogs_read x-sandbox: enabled /catalogs/product_groups/multiple: delete: operationId: catalogs_product_groups/delete_many summary: Delete 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 parameters: - $ref: '#/components/parameters/query_catalogs_product_group_ids_required' - $ref: '#/components/parameters/query_ad_account_id' 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 as your account has been disapproved. Please see business hub for more details. https://www.pinterest.com/business/hub/' MerchantUnderReview: value: code: 2626 message: 'We are reviewing your account. Please see business hub for more details. https://www.pinterest.com/business/hub/' '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' security: - pinterest_oauth2: - 'catalogs:write' tags: - catalog_product_groups x-ratelimit-category: catalogs_write x-sandbox: enabled post: operationId: catalogs_product_groups/create_many summary: Create product groups 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: Access to the Creative Assets catalog type is restricted to a specific group of users. If you require access, please reach out to your partner manager. 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 items: oneOf: - $ref: '#/components/schemas/CatalogsProductGroupCreateRequest' - $ref: '#/components/schemas/CatalogsVerticalProductGroupCreateRequest' maxItems: 1000 minItems: 1 title: multiple product groups 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' 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" 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 CatalogBasedRetailFewFiltersUsingAllOf: summary: A simple catalog based 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 retail to be included in the Product Group. value: - catalog_type: RETAIL name: Few Filters using "all_of" catalog_id: '4866935934774' country: US locale: en-US filters: all_of: - ITEM_ID: values: - item1 - item2 - CUSTOM_LABEL_1: values: - shoes 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': description: Success content: application/json: schema: type: array items: description: ID of a created catalog product group. example: '443727193917' type: string pattern: ^\d+$ '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+$"}' CatalogsProductGroupMissingCountryAndLocale: value: code: 6136 message: A catalog product group must have a country and locale specified. CatalogsIntlProductGroupCountryOrLocaleSpecified: value: code: 6137 message: An international product group cannot have a country or locale specified. '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 as your account has been disapproved. Please see business hub for more details. https://www.pinterest.com/business/hub/' MerchantUnderReview: value: code: 2626 message: 'We are reviewing your account. Please see business hub for more details. https://www.pinterest.com/business/hub/' '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' security: - pinterest_oauth2: - 'catalogs:write' tags: - catalog_product_groups x-ratelimit-category: catalogs_write x-sandbox: enabled /catalogs/product_groups: get: operationId: catalogs_product_groups/list 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 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': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/CatalogsVerticalProductGroup' '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 as your account has been disapproved. Please see business hub for more details. https://www.pinterest.com/business/hub/' MerchantUnderReview: value: code: 2626 message: 'We are reviewing your account. Please see business hub for more details. https://www.pinterest.com/business/hub/' '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' security: - pinterest_oauth2: - 'catalogs:read' tags: - catalog_product_groups x-ratelimit-category: catalogs_read x-sandbox: enabled post: operationId: catalogs_product_groups/create summary: Create 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. "Catalog-based product groups" can include items from all data sources (feeds and API) and are available to both non-retail catalogs with any data sources and retail catalogs with API-created items. If your catalog only contains retail items created via feeds, you should use the "retail feed-based" option. Learn more Note: Access to the Creative Assets catalog type is restricted to a specific group of users. If you require access, please reach out to your partner manager. 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' 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" 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 CatalogBasedRetailFewFiltersUsingAllOf: summary: A simple catalog based 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 retail to be included in the Product Group. value: catalog_type: RETAIL name: Few Filters using "all_of" catalog_id: '4866935934774' country: US locale: en-US filters: all_of: - ITEM_ID: values: - item1 - item2 - CUSTOM_LABEL_1: values: - shoes negated: false responses: '201': description: Success content: application/json: schema: $ref: '#/components/schemas/CatalogsVerticalProductGroup' '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+$"}' CatalogsProductGroupMissingCountryAndLocale: value: code: 6136 message: A catalog product group must have a country and locale specified. CatalogsIntlProductGroupCountryOrLocaleSpecified: value: code: 6137 message: An international product group cannot have a country or locale specified. '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 as your account has been disapproved. Please see business hub for more details. https://www.pinterest.com/business/hub/' MerchantUnderReview: value: code: 2626 message: 'We are reviewing your account. Please see business hub for more details. https://www.pinterest.com/business/hub/' '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' security: - pinterest_oauth2: - 'catalogs:write' tags: - catalog_product_groups x-ratelimit-category: catalogs_write x-sandbox: enabled '/catalogs/product_groups/{product_group_id}': get: operationId: catalogs_product_groups/get summary: Get 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 parameters: - $ref: '#/components/parameters/path_catalogs_product_group_id' - $ref: '#/components/parameters/query_ad_account_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CatalogsVerticalProductGroup' '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 as your account has been disapproved. Please see business hub for more details. https://www.pinterest.com/business/hub/' MerchantUnderReview: value: code: 2626 message: 'We are reviewing your account. Please see business hub for more details. https://www.pinterest.com/business/hub/' '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' security: - pinterest_oauth2: - 'catalogs:read' tags: - catalog_product_groups x-ratelimit-category: catalogs_read x-sandbox: enabled delete: operationId: catalogs_product_groups/delete summary: Delete 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 parameters: - $ref: '#/components/parameters/path_catalogs_product_group_id' - $ref: '#/components/parameters/query_ad_account_id' 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 as your account has been disapproved. Please see business hub for more details. https://www.pinterest.com/business/hub/' MerchantUnderReview: value: code: 2626 message: 'We are reviewing your account. Please see business hub for more details. https://www.pinterest.com/business/hub/' '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' security: - pinterest_oauth2: - 'catalogs:write' tags: - catalog_product_groups x-ratelimit-category: catalogs_write x-sandbox: enabled patch: operationId: catalogs_product_groups/update 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. "Catalog-based product groups" can include items from all data sources (feeds and API) and are available to both non-retail catalogs with any data sources and retail catalogs with API-created items. If your catalog only contains retail items created via feeds, you should use the "retail feed-based" option. Learn more Note: Access to the Creative Assets catalog type is restricted to a specific group of users. If you require access, please reach out to your partner manager. parameters: - $ref: '#/components/parameters/path_catalogs_product_group_id' - $ref: '#/components/parameters/query_ad_account_id' 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': description: Success content: application/json: schema: $ref: '#/components/schemas/CatalogsVerticalProductGroup' '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+$"}' CatalogsIntlProductGroupCountryOrLocaleSpecified: value: code: 6137 message: An international product group cannot have a country or locale specified. '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 as your account has been disapproved. Please see business hub for more details. https://www.pinterest.com/business/hub/' MerchantUnderReview: value: code: 2626 message: 'We are reviewing your account. Please see business hub for more details. https://www.pinterest.com/business/hub/' '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' security: - pinterest_oauth2: - 'catalogs:write' tags: - catalog_product_groups x-ratelimit-category: catalogs_write x-sandbox: enabled '/catalogs/product_groups/{product_group_id}/product_counts': get: operationId: catalogs_product_groups/product_counts_get summary: Get product counts 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. Learn more parameters: - $ref: '#/components/parameters/path_catalogs_product_group_id' - $ref: '#/components/parameters/query_ad_account_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CatalogsProductGroupProductCountsVertical' '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' security: - pinterest_oauth2: - 'catalogs:read' tags: - catalog_product_groups x-ratelimit-category: catalogs_read x-sandbox: enabled '/catalogs/product_groups/{product_group_id}/products': get: operationId: catalogs_product_group_pins/list summary: List products by 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. Learn more 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' - $ref: '#/components/parameters/query_pin_metrics' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: description: Pins items: $ref: '#/components/schemas/CatalogsProduct' '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' security: - pinterest_oauth2: - 'boards:read' - 'catalogs:read' - 'pins:read' tags: - catalog_product_groups x-ratelimit-category: catalogs_read x-sandbox: enabled /catalogs/products/get_by_product_group_filters: post: operationId: products_by_product_group_filter/list summary: List products by filter 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 parameters: - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_ad_account_id' - $ref: '#/components/parameters/query_pin_metrics' 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': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: description: Pins items: $ref: '#/components/schemas/CatalogsProduct' '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' security: - pinterest_oauth2: - 'boards:read' - 'catalogs:read' - 'pins:read' tags: - catalog_product_groups x-ratelimit-category: catalogs_read x-sandbox: enabled /catalogs/reports: post: operationId: reports/create summary: Build catalogs report description: |- Async request to create a report of the catalog owned by the "operation user_account". This endpoint generates a report upon receiving the first approved request of the day. Any following requests with identical parameters will yield the same report even if data has changed. - 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: Access to the All Items report type is restricted to a specific group of users. If you require access, please reach out to your partner manager. parameters: - $ref: '#/components/parameters/query_ad_account_id' requestBody: description: Request object to asynchronously create a report. required: true content: application/json: schema: $ref: '#/components/schemas/CatalogsReportParameters' responses: '200': description: Response containing the report token content: application/json: schema: $ref: '#/components/schemas/CatalogsCreateReportResponse' '404': description: 'Entity (e.g., catalog, feed or processing_result) not found' content: application/json: schema: $ref: '#/components/schemas/Error' examples: CatalogNotFound: value: code: 678 message: Sorry! We couldn't find that catalog. Please ensure you have access to a valid catalog id. FeedNotFound: value: code: 4161 message: Sorry! We could not find your catalogs feed. CatalogsProcessingResultNotFound: value: code: 4184 message: Sorry! We could not find your processing result '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' security: - pinterest_oauth2: - 'catalogs:read' tags: - catalog_reports x-ratelimit-category: catalogs_read x-sandbox: disabled get: operationId: reports/get summary: Get catalogs report description: |- This returns a URL to a report given a token returned from Build catalogs report. You can use the URL to download the report. - 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. parameters: - $ref: '#/components/parameters/query_ad_account_id' - $ref: '#/components/parameters/query_catalogs_report_token' responses: '200': description: Response that contains a link to download the report content: application/json: schema: $ref: '#/components/schemas/CatalogsReport' '400': description: The token you provided is not valid or has expired. content: application/json: schema: $ref: '#/components/schemas/Error' examples: InvalidReportingToken: value: code: 1104 message: The token you provided is not valid or has expired. '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' security: - pinterest_oauth2: - 'catalogs:read' tags: - catalog_reports x-ratelimit-category: catalogs_read x-sandbox: disabled /catalogs/reports/stats: get: operationId: reports/stats summary: List report stats description: |- List aggregated numbers of issues for a catalog 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. parameters: - $ref: '#/components/parameters/query_ad_account_id' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_catalogs_report_stats_parameters' responses: '200': description: Response containing the diagnostics aggregated counters content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/CatalogsReportStats' '401': description: Not authorized to access catalogs content: application/json: schema: $ref: '#/components/schemas/Error' examples: UnauthorizedAccess: value: code: 2 message: Authentication failed. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'catalogs:read' tags: - catalog_reports x-ratelimit-category: catalogs_read x-sandbox: disabled /integrations/commerce: post: operationId: integrations_commerce/post summary: Create commerce integration description: |- Create commerce integration metadata to link an external business ID with a Pinterest merchant & ad account. Note: If you're interested in joining the beta, please reach out to your Pinterest account manager. requestBody: description: Parameters to get create/update the Integration Metadata content: application/json: schema: $ref: '#/components/schemas/IntegrationRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/IntegrationMetadata' '404': description: Integration not found. content: application/json: schema: $ref: '#/components/schemas/Error' examples: IntegrationNotFound: value: code: 4180 message: Sorry! We could not find your integration. '409': description: Can't access this integration metadata. content: application/json: schema: $ref: '#/components/schemas/Error' examples: NotIntegrationOwner: value: code: 4182 message: Can't access this integration metadata. default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - integrations x-ratelimit-category: ads_write x-sandbox: disabled '/integrations/commerce/{external_business_id}': get: operationId: integrations_commerce/get summary: Get commerce integration description: |- Get commerce integration metadata associated with the given external business ID. Note: If you're interested in joining the beta, please reach out to your Pinterest account manager. parameters: - $ref: '#/components/parameters/path_external_business_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/IntegrationMetadata' '404': description: Integration not found. content: application/json: schema: $ref: '#/components/schemas/Error' examples: IntegrationNotFound: value: code: 4180 message: Sorry! We could not find your integration. '409': description: Can't access this integration metadata. content: application/json: schema: $ref: '#/components/schemas/Error' examples: NotIntegrationOwner: value: code: 4182 message: Can't access this integration metadata. default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - integrations x-ratelimit-category: ads_read x-sandbox: disabled patch: operationId: integrations_commerce/patch summary: Update commerce integration description: |- Update commerce integration metadata for the given external business ID. Note: If you're interested in joining the beta, please reach out to your Pinterest account manager. parameters: - $ref: '#/components/parameters/path_external_business_id' requestBody: description: Parameters to get create/update the Integration Metadata content: application/json: schema: $ref: '#/components/schemas/IntegrationRequestPatch' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/IntegrationMetadata' '404': description: Integration not found. content: application/json: schema: $ref: '#/components/schemas/Error' examples: IntegrationNotFound: value: code: 4180 message: Sorry! We could not find your integration. '409': description: Can't access this integration metadata. content: application/json: schema: $ref: '#/components/schemas/Error' examples: NotIntegrationOwner: value: code: 4182 message: Can't access this integration metadata. default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - integrations x-ratelimit-category: ads_write x-sandbox: disabled delete: operationId: integrations_commerce/del summary: Delete commerce integration description: |- Delete commerce integration metadata for the given external business ID. Note: If you're interested in joining the beta, please reach out to your Pinterest account manager. parameters: - $ref: '#/components/parameters/path_external_business_id' responses: '204': description: Commerce Integration deleted successfully default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - integrations x-ratelimit-category: ads_write x-sandbox: disabled /integrations/logs: post: operationId: integrations_logs/post summary: Receives batched logs from integration applications. description: |- This endpoint receives batched logs from integration applications on partner platforms. Note: If you're interested in joining the beta, please reach out to your Pinterest account manager. requestBody: description: Ingest log information from external integration application. required: true content: application/json: schema: $ref: '#/components/schemas/IntegrationLogsRequest' responses: '200': description: Success. content: application/json: schema: $ref: '#/components/schemas/IntegrationLogsSuccessResponse' '400': description: Bad request. content: application/json: schema: anyOf: - $ref: '#/components/schemas/Error' - $ref: '#/components/schemas/DetailedError' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:write' tags: - integrations x-ratelimit-category: ads_write x-sandbox: enabled /integrations: get: operationId: integrations/get_list summary: Get integration metadata list description: |- Get integration metadata list. Note: If you're interested in joining the beta, please reach out to your Pinterest account manager. parameters: - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/IntegrationRecord' default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - integrations x-ratelimit-category: ads_read x-sandbox: disabled '/integrations/{id}': get: operationId: integrations/get_by_id summary: Get integration metadata description: |- Get integration metadata by ID. Note: If you're interested in joining the beta, please reach out to your Pinterest account manager. parameters: - name: id in: path description: Integration ID. required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/IntegrationRecord' '404': description: Integration not found. content: application/json: schema: $ref: '#/components/schemas/Error' examples: IntegrationNotFound: value: code: 4517 message: Sorry! We could not find your integration. default: description: Unexpected error. content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - integrations x-ratelimit-category: ads_read x-sandbox: disabled /media: get: operationId: media/list summary: List media uploads description: |- List media uploads filtered by given parameters. **[Learn more](/docs/api-features/creating-boards-and-pins/#creating-video-pins)** about video Pin creation. parameters: - $ref: '#/components/parameters/Pinterest.Lib.BookmarkParams.bookmark' - $ref: '#/components/parameters/Pinterest.Lib.BookmarkParams.page_size' responses: '200': description: The request has succeeded. content: application/json: schema: type: object properties: bookmark: type: string nullable: true items: type: array items: $ref: '#/components/schemas/Media' required: - items '400': description: The request could not be understood by the server due to unexpected data. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '401': description: Authentication is required and has either failed or not been provided. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '403': description: 'The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource.' content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '404': description: The requested resource could not be found on this server. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '429': description: The user has sent too many requests in a given amount of time and is being rate limited. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' security: - pinterest_oauth2: - 'pins:read' tags: - media x-ratelimit-category: org_read x-sandbox: enabled post: operationId: media/create summary: Register media upload description: |- Register your intent to upload media. The response includes all of the information needed to upload the media to Pinterest. To upload the media, make an HTTP POST request (using `curl`, for example) to `upload_url` using the `Content-Type` header value. Send the media file's contents as the request's `file` parameter and also include all of the parameters from `upload_parameters`. **[Learn more](/docs/api-features/creating-boards-and-pins/#creating-video-pins)** about video Pin creation. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MediaUploadCreate' responses: '200': description: The request has succeeded. content: application/json: schema: $ref: '#/components/schemas/MediaUpload' '201': description: Resource create operation completed successfully. content: application/json: schema: $ref: '#/components/schemas/MediaUpload' '400': description: The request could not be understood by the server due to unexpected data. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '401': description: Authentication is required and has either failed or not been provided. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '403': description: 'The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource.' content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '404': description: The requested resource could not be found on this server. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '429': description: The user has sent too many requests in a given amount of time and is being rate limited. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' security: - pinterest_oauth2: - 'pins:read' - 'pins:write' tags: - media x-ratelimit-category: org_write x-sandbox: enabled '/media/{media_id}': get: operationId: media/get summary: Get media upload details description: |- Get details for a registered media upload, including its current status. **[Learn more](/docs/api-features/creating-boards-and-pins/#creating-video-pins)** about video Pin creation. parameters: - $ref: '#/components/parameters/MediaKey' responses: '200': description: The request has succeeded. content: application/json: schema: $ref: '#/components/schemas/Media' '400': description: The request could not be understood by the server due to unexpected data. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '401': description: Authentication is required and has either failed or not been provided. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '403': description: 'The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource.' content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '404': description: The requested resource could not be found on this server. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '429': description: The user has sent too many requests in a given amount of time and is being rate limited. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' security: - pinterest_oauth2: - 'pins:read' tags: - media x-ratelimit-category: org_read x-sandbox: enabled /notifications: post: operationId: notification/post summary: Receive notifications from external partners. description: Used by third-party partners to send notifications to Pinterest. These notifications could be specific for your use-case or generic notification that are accepted by Pinterests' systems. This API is gated and you need to request access to this feature. requestBody: description: notification event. required: true content: application/json: schema: description: Any valid JSON object additionalProperties: true oneOf: - type: array minItems: 1 maxItems: 100 items: type: object additionalProperties: true description: Any valid JSON object - type: object responses: '200': description: Successfully received notification content: application/json: schema: type: object properties: success: description: Returns true if the notification accepted. type: boolean example: false received_at: description: Received time. Unix timestamp in seconds. type: integer example: 1677003860 error_msg: description: error message when success is false type: string title: NotificationResponse '400': description: Invalid request parameter. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 6126 message: Invalid request parameter. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'user_accounts:read' - client_credentials: - 'user_accounts:read' tags: - notification x-ratelimit-category: ads_read x-sandbox: enabled /oauth/token: post: operationId: oauth/token summary: Generate OAuth access token description: |- Generate a new OAuth access token using an authorization code; or refresh an existing one using a continuous refresh token. Follow the complete steps for requesting and refreshing tokens. Note: If your app was created before September 25, 2025, make sure to set the continuous_refresh parameter to true to use the continuous refresh token (60-day expiration, refreshable indefinitely). Pinterest no longer supports the legacy refresh token (365-day expiration, hard limit). Disregard this note if your app was activated on or after September 25, 2025. You are automatically using the continuous refresh token. Use Token Debugger to validate and inspect your access token. requestBody: description: Generate an OAuth access token. required: true content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OauthAccessTokenRequest' responses: '200': description: response content: application/json: schema: $ref: '#/components/schemas/OauthAccessTokenResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - basic: [] tags: - oauth x-ratelimit-category: org_read x-sandbox: enabled /oauth/token/revoke: post: operationId: token/revoke summary: Revoke a token description: Revokes an access or refresh token. Only tokens issued for system users are currently supported. Revoked tokens become immediately invalid and unusable. requestBody: description: Body containing the token to revoke. required: true content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/TokenRevocationRequest' responses: '200': description: Successful token revocation. No content is returned. '401': description: Client authentication error. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 2 message: Authentication failed. '403': description: Client is not allowed to revoke token. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 29 message: You are not permitted to access that resource. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - basic: [] tags: - oauth x-ratelimit-category: org_write x-sandbox: enabled /pins: post: operationId: pins/create summary: Create Pin description: |2- Create a Pin on a board or board section owned by the "operation user_account". Note: If the current "operation user_account" (defined by the access token) has access to another user's Ad Accounts via Pinterest Business Access, you can modify your request to make use of the current operation_user_account's permissions to those Ad Accounts by including the ad_account_id in the path parameters for the request (e.g. .../?ad_account_id=12345&...). - This function is intended solely for publishing new content created by the user. If you are interested in saving content created by others to your Pinterest boards, sometimes called 'curated content', please use our [Save button](/docs/web-features/add-ons-overview/) instead. For more tips on creating fresh content for Pinterest, review our [Content App Solutions Guide](/docs/api-features/content-overview/). **[Learn more](/docs/api-features/creating-boards-and-pins/#creating-video-pins)** about video Pin creation. **[Learn more](/docs/api-features/creating-boards-and-pins/#creating-image-pins)** about image Pin creation. parameters: - $ref: '#/components/parameters/QueryParams.query_ad_account_id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PinCreate' responses: '200': description: The request has succeeded. content: application/json: schema: $ref: '#/components/schemas/Pin' '201': description: Resource create operation completed successfully. content: application/json: schema: $ref: '#/components/schemas/Pin' '400': description: The request could not be understood by the server due to unexpected data. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '401': description: Authentication is required and has either failed or not been provided. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '403': description: 'The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource.' content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '404': description: The requested resource could not be found on this server. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '429': description: The user has sent too many requests in a given amount of time and is being rate limited. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' security: - pinterest_oauth2: - 'boards:read' - 'boards:write' - 'pins:read' - 'pins:write' - client_credentials: - 'boards:read' - 'boards:write' - 'pins:read' - 'pins:write' tags: - pins x-ratelimit-category: org_write x-sandbox: enabled get: operationId: pins/list summary: List Pins description: |2- Get a list of the Pins owned by the "operation user_account". - By default, the "operation user_account" is the token user_account. - All Pins owned by the "operation user_account" are included, regardless of who owns the board they are on. Optional: Business Access: Specify an `ad_account_id` to use the owner of that ad_account as the "operation user_account". Disclaimer: There are known performance issues when filtering by field `creative_type` and including protected pins. If your request is timing out in this scenario, we encourage you to use [GET List Pins on Board](/docs/api/v5/#operation/boards/list_pins). parameters: - $ref: '#/components/parameters/QueryParams.query_pin_filter' - $ref: '#/components/parameters/QueryParams.query_pin_metrics' - $ref: '#/components/parameters/QueryParams.query_include_protected_pins' - $ref: '#/components/parameters/QueryParams.query_pin_type' - $ref: '#/components/parameters/QueryParams.query_creative_types' - $ref: '#/components/parameters/QueryParams.query_ad_account_id' - $ref: '#/components/parameters/Pinterest.Lib.BookmarkParams.bookmark' - $ref: '#/components/parameters/Pinterest.Lib.BookmarkParams.page_size' responses: '200': description: The request has succeeded. content: application/json: schema: type: object properties: bookmark: type: string nullable: true items: type: array items: $ref: '#/components/schemas/Pin' required: - items '400': description: The request could not be understood by the server due to unexpected data. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '401': description: Authentication is required and has either failed or not been provided. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '403': description: 'The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource.' content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '404': description: The requested resource could not be found on this server. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '429': description: The user has sent too many requests in a given amount of time and is being rate limited. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' security: - pinterest_oauth2: - 'boards:read' - 'pins:read' - client_credentials: - 'boards:read' - 'pins:read' tags: - pins x-ratelimit-category: org_read x-sandbox: enabled '/pins/{pin_id}': get: operationId: pins/get summary: Get Pin description: |2- Get a Pin owned by the "operation user_account" - or on a group board that has been shared with this 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](/docs/api/v5/#operation/ad_accounts/list)) 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](https://help.pinterest.com/en/business/article/share-and-manage-access-to-your-ad-accounts) roles on the ad_account: - For Pins on public or protected boards: Owner, Admin, Analyst, Campaign Manager. - For Pins on secret boards: Owner, Admin. parameters: - $ref: '#/components/parameters/PinKey' - $ref: '#/components/parameters/QueryParams.query_ad_account_id' - $ref: '#/components/parameters/QueryParams.query_pin_metrics' responses: '200': description: The request has succeeded. content: application/json: schema: $ref: '#/components/schemas/Pin' '400': description: The request could not be understood by the server due to unexpected data. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '401': description: Authentication is required and has either failed or not been provided. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '403': description: 'The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource.' content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '404': description: The requested resource could not be found on this server. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '429': description: The user has sent too many requests in a given amount of time and is being rate limited. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' security: - pinterest_oauth2: - 'boards:read' - 'pins:read' - client_credentials: - 'boards:read' - 'pins:read' tags: - pins x-ratelimit-category: org_read x-sandbox: enabled patch: operationId: pins/update summary: Update Pin description: |- Update a pin owned by the "operating 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](/docs/api/v5/#operation/ad_accounts/list)) 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](https://help.pinterest.com/en/business/article/share-and-manage-access-to-your-ad-accounts) roles on the ad_account: - For Pins on public or protected boards: Owner, Admin, Analyst, Campaign Manager. - For Pins on secret boards: Owner, Admin. **This endpoint is currently in beta and not available to all apps. [Learn more](/docs/getting-started/using-beta-and-restricted-features/).** parameters: - $ref: '#/components/parameters/PinKey' - $ref: '#/components/parameters/QueryParams.query_ad_account_id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PinUpdate' responses: '200': description: The request has succeeded. content: application/json: schema: $ref: '#/components/schemas/Pin' '400': description: The request could not be understood by the server due to unexpected data. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '401': description: Authentication is required and has either failed or not been provided. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '403': description: 'The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource.' content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '404': description: The requested resource could not be found on this server. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '429': description: The user has sent too many requests in a given amount of time and is being rate limited. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' security: - pinterest_oauth2: - 'boards:read' - 'boards:write' - 'pins:read' - 'pins:write' - client_credentials: - 'boards:read' - 'boards:write' - 'pins:read' - 'pins:write' tags: - pins x-ratelimit-category: org_write x-sandbox: enabled delete: operationId: pins/delete summary: Delete Pin description: |2- Delete a Pins owned by the "operation user_account" - or on a group board that has been shared with this 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](/docs/api/v5/#operation/ad_accounts/list)) 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](https://help.pinterest.com/en/business/article/share-and-manage-access-to-your-ad-accounts) roles on the ad_account: - For Pins on public or protected boards: Owner, Admin, Analyst, Campaign Manager. - For Pins on secret boards: Owner, Admin. parameters: - $ref: '#/components/parameters/PinKey' - $ref: '#/components/parameters/QueryParams.query_ad_account_id' responses: '204': description: Resource deleted successfully. '400': description: The request could not be understood by the server due to unexpected data. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '401': description: Authentication is required and has either failed or not been provided. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '403': description: 'The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource.' content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '404': description: The requested resource could not be found on this server. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' '429': description: The user has sent too many requests in a given amount of time and is being rate limited. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' default: description: An unexpected error response. content: application/json: schema: $ref: '#/components/schemas/Pinterest.Lib.Error' security: - pinterest_oauth2: - 'boards:read' - 'boards:write' - 'pins:read' - 'pins:write' - client_credentials: - 'boards:read' - 'boards:write' - 'pins:read' - 'pins:write' tags: - pins x-ratelimit-category: org_write x-sandbox: enabled '/pins/{pin_id}/analytics': get: operationId: pins/analytics summary: Get Pin analytics description: |- Get analytics for a Pin owned by the "operation user_account" - or on a group board that has been shared with this 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: - For Pins on public or protected boards: Admin, Analyst. - For Pins on secret boards: Admin. If Pin was created before 2023-03-20 lifetime metrics will only be available for Video and Idea Pin formats. Lifetime metrics are available for all Pin formats since then. parameters: - $ref: '#/components/parameters/path_pin_id' - $ref: '#/components/parameters/query_start_date' - $ref: '#/components/parameters/query_end_date' - $ref: '#/components/parameters/query_app_types' - $ref: '#/components/parameters/query_pin_analytics_metric_types' - $ref: '#/components/parameters/query_split_field_pins' - $ref: '#/components/parameters/query_ad_account_id' responses: '200': description: response content: application/json: schema: $ref: '#/components/schemas/PinAnalyticsResponse' '400': description: Invalid pins analytics parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid pins analytics parameters. '403': description: Not authorized to access board or Pin. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 403 message: Not authorized to access board or Pin. '404': description: Pin not found. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 404 message: Pin not found. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'boards:read' - 'pins:read' - client_credentials: - 'boards:read' - 'pins:read' tags: - pins x-ratelimit-category: org_analytics x-sandbox: disabled /pins/analytics: get: operationId: multi_pins/analytics summary: Get multiple Pin analytics description: |- This endpoint is currently in beta and not available to all apps. Learn more. Get analytics for multiple pins owned by the "operation user_account" - or on a group board that has been shared with this account. - The maximum number of pins supported in a single request is 100. - 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: - For Pins on public or protected boards: Admin, Analyst. - For Pins on secret boards: Admin. If Pin was created before 2023-03-20 lifetime metrics will only be available for Video and Idea Pin formats. Lifetime metrics are available for all Pin formats since then. parameters: - $ref: '#/components/parameters/query_required_pin_ids' - $ref: '#/components/parameters/query_start_date' - $ref: '#/components/parameters/query_end_date' - $ref: '#/components/parameters/query_app_types' - name: metric_types in: query description: Pin metric types to get data for. required: true schema: type: array items: oneOf: - description: Standard Pin metric types type: string enum: - IMPRESSION - OUTBOUND_CLICK - PIN_CLICK - SAVE - SAVE_RATE - TOTAL_COMMENTS - TOTAL_REACTIONS - USER_FOLLOW - PROFILE_VISIT - description: Video Pin metric types type: string enum: - IMPRESSION - OUTBOUND_CLICK - PIN_CLICK - SAVE - SAVE_RATE - VIDEO_MRC_VIEW - VIDEO_10S_VIEW - QUARTILE_95_PERCENT_VIEW - VIDEO_V50_WATCH_TIME - VIDEO_START - VIDEO_AVG_WATCH_TIME - TOTAL_COMMENTS - TOTAL_REACTIONS explode: false style: form - $ref: '#/components/parameters/query_ad_account_id' responses: '200': description: response content: application/json: schema: $ref: '#/components/schemas/BulkPinAnalyticsResponse' '400': description: Invalid pins analytics parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 1 message: Invalid multi_pins analytics parameters. '401': description: Not authorized to access board or Pin. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 7 message: Not authorized to access board or Pin. '404': description: Pin not found. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 50 message: Pin not found. '429': description: |- This request exceeded a rate limit. This can happen if the client exceeds one of the published rate limits or if multiple write operations are applied to an object within a short time window. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 8 message: |- This request exceeded a rate limit. This can happen if the client exceeds one of the published rate limits or if multiple write operations are applied to an object within a short time window. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'boards:read' - 'pins:read' - client_credentials: - 'boards:read' - 'pins:read' tags: - pins x-ratelimit-category: org_analytics x-sandbox: disabled '/pins/{pin_id}/save': post: operationId: pins/save summary: Save Pin description: |- Save a Pin on a board or board section 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: - For Pins on public or protected boards: Owner, Admin, Analyst, Campaign Manager. - For Pins on secret boards: Owner, Admin. - Any Pin type can be saved: image Pin, video Pin, Idea Pin, product Pin, etc. - Any public Pin can be saved given a pin ID. parameters: - $ref: '#/components/parameters/path_pin_id' - $ref: '#/components/parameters/query_ad_account_id' requestBody: description: Request object used to save an existing pin required: true content: application/json: schema: type: object properties: board_id: description: Unique identifier of the board to which the pin will be saved. type: string nullable: true pattern: ^\d+$ board_section_id: description: Unique identifier of the board section to which the pin will be saved. type: string nullable: true pattern: ^\d+$ responses: '201': description: Successfully saved pin. content: application/json: schema: $ref: '#/components/schemas/Pin' '403': description: Not authorized to access Board or Pin. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 29 message: You are not permitted to access that resource. '404': description: Board or Pin not found. content: application/json: schema: $ref: '#/components/schemas/Error' examples: BoardNotFound: value: code: 40 message: Board not found. PinNotFound: value: code: 50 message: Pin not found. BoardSectionNotFound: value: code: 2031 message: Sorry! We couldn't find this board section. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'boards:read' - 'boards:write' - 'pins:read' - 'pins:write' tags: - pins x-codeSamples: - lang: python label: Python SDK source: | # Follow this link for initial setup: https://github.com/pinterest/pinterest-python-sdk#getting-started from pinterest.organic.pins import Pin # Pin information can be fetched from profile page or from create/list pin method here: # /docs/api/v5/#operation/pins/list PIN_ID="" # Board information can be fetched from profile page or from list board method here: # /docs/api/v5/#operation/boards/list NEW_BOARD_ID="" pin_save = Pin(pin_id=PIN_ID) pin_save.save(board_id=NEW_BOARD_ID) print("Pin Id: %s, Board Id:%s" %(pin_save.id, pin_save.board_id)) - lang: cURL label: curl source: | # Pin and Board information can be fetched from profile page or from create/list pin method here: # /docs/api/v5/#operation/pins/list # /docs/api/v5/#operation/boards/list curl --request DELETE 'https://api.pinterest.com/v5/pins//save' \ --header 'Authorization: Bearer ' \ --header 'Content-Type: application/json' \ --data-raw '{ "board_id": }' - lang: cURL label: curl (Sandbox) source: | # Pin and Board information can be fetched from profile page or from create/list pin method here: # /docs/api/v5/#operation/pins/list # /docs/api/v5/#operation/boards/list curl --request DELETE 'https://api-sandbox.pinterest.com/v5/pins//save' \ --header 'Authorization: Bearer ' \ --header 'Content-Type: application/json' \ --data-raw '{ "board_id": }' x-ratelimit-category: org_write x-sandbox: enabled /resources/ad_account_countries: get: operationId: ad_account_countries/get summary: Get ad accounts countries description: Get Ad Accounts countries responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AdAccountsCountryResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - resources x-ratelimit-category: ads_read x-sandbox: enabled /resources/delivery_metrics: get: operationId: delivery_metrics/get summary: Get available metrics' definitions description: |- Get the definitions for ads and organic metrics available across both synchronous and asynchronous report endpoints. The `display_name` attribute will match how the metric is named in our native tools like Ads Manager. See Organic Analytics and Ads Analytics for more information. parameters: - $ref: '#/components/parameters/query_report_type' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DeliveryMetricsResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - 'pins:read' - 'user_accounts:read' - client_credentials: - 'ads:read' - 'pins:read' - 'user_accounts:read' tags: - resources x-ratelimit-category: ads_read x-sandbox: enabled /resources/lead_form_questions: get: operationId: lead_form_questions/get summary: Get lead form questions description: |- Get a list of all lead form question type names. Some questions might not be used. This endpoint is currently in beta and not available to all apps. Learn more. responses: '200': description: Success default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - resources x-ratelimit-category: ads_read x-sandbox: enabled /resources/metrics_ready_state: get: operationId: metrics_ready_state/get summary: Get metrics ready state description: Learn whether conversion or non-conversion metrics are finalized and ready to query. parameters: - name: date in: query description: 'Analytics reports request date (UTC). Format: YYYY-MM-DD' required: true schema: type: string example: '2022-07-13' pattern: '^(\d{4})-(\d{2})-(\d{2})$' style: form responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/BookClosedResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - resources x-ratelimit-category: ads_analytics x-sandbox: enabled '/resources/targeting/interests/{interest_id}': get: operationId: interest_targeting_options/get summary: Get interest details description: '

Get details of a specific interest given interest ID.

Click here for a spreadsheet listing interests and their IDs.

' parameters: - $ref: '#/components/parameters/path_interest_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/SingleInterestTargetingOptionResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - resources x-ratelimit-category: ads_read x-sandbox: enabled '/resources/targeting/{targeting_type}': get: operationId: targeting_options/get summary: Get targeting options description: |-

You can use targeting values in ads placement to define your intended audience.

Targeting metrics are organized around targeting specifications.

For more information on ads targeting, see Audience targeting.

Sample return:

 [{"36313": "Australia: Moreton Bay - North", "124735": "Canada: North Battleford", "36109": "Australia: Murray", "36108": "Australia: Mid North Coast", "36101": "Australia: Capital Region", "811": "U.S.: Reno", "36103": "Australia: Central West", "36102": "Australia: Central Coast", "36105": "Australia: Far West and Orana", "36104": "Australia: Coffs Harbour - Grafton", "36107": "Australia: Illawarra", "36106": "Australia: Hunter Valley Exc Newcastle", "554017": "New Zealand: Wanganui", "554016": "New Zealand: Marlborough", "554015": "New Zealand: Gisborne", "554014": "New Zealand: Tararua", "554013": "New Zealand: Invercargill", "GR": "Greece", "554011": "New Zealand: Whangarei", "554010": "New Zealand: Far North", "717": "U.S.: Quincy-Hannibal-Keokuk", "716": "U.S.: Baton Rouge",...}] 
parameters: - $ref: '#/components/parameters/path_targeting_type' - $ref: '#/components/parameters/query_client_id' - $ref: '#/components/parameters/query_oauth_signature' - $ref: '#/components/parameters/query_timestamp' - $ref: '#/components/parameters/query_ad_account_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TargetingOptionResponse' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' - client_credentials: - 'ads:read' tags: - resources x-ratelimit-category: ads_read x-sandbox: enabled /search/boards: get: operationId: search_user_boards/get summary: Search user's boards description: |- Search for boards for the "operation user_account". This includes boards of all board types. - By default, the "operation user_account" is the token user_account. If using Business Access: Specify an ad_account_id to use the owner of that ad_account as the "operation user_account". See Understanding Business Access for more information. parameters: - $ref: '#/components/parameters/query_ad_account_id' - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_query' responses: '200': description: response content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: description: items items: $ref: '#/components/schemas/Board' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'boards:read' - 'boards:read_secret' - client_credentials: - 'boards:read' - 'boards:read_secret' tags: - search x-ratelimit-category: org_read x-sandbox: disabled /search/pins: get: operationId: search_user_pins/list summary: Search user's Pins description: |- Search for pins for the "operation user_account". - By default, the "operation user_account" is the token user_account. If using Business Access: Specify an ad_account_id to use the owner of that ad_account as the "operation user_account". See Understanding Business Access for more information. parameters: - $ref: '#/components/parameters/query_ad_account_id' - $ref: '#/components/parameters/query_required_search_query' - $ref: '#/components/parameters/query_bookmark' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/Pin' '404': description: User not found content: application/json: schema: $ref: '#/components/schemas/Error' examples: UserNotFound: value: code: 30 message: User not found. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'boards:read' - 'boards:read_secret' - 'pins:read' - 'pins:read_secret' tags: - search x-ratelimit-category: org_read x-sandbox: disabled /search/partner/pins: get: operationId: search_partner_pins summary: Search pins by a given search term description: |- This endpoint is currently in beta and not available to all apps. Learn more. Get the top 10 Pins by a given search term. parameters: - name: term in: query description: Search term to look up pins. required: true schema: type: string - $ref: '#/components/parameters/query_country_code' - $ref: '#/components/parameters/query_bookmark' - name: locale in: query description: Search locale. required: false schema: type: string - $ref: '#/components/parameters/result_limit' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/SummaryPin' '400': description: Invalid pins content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid pin filter value default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'boards:read' - 'pins:read' tags: - search x-codeSamples: - lang: cURL label: curl source: | curl --location --request GET 'https://api.pinterest.com/v5/search/partner/pins' \ --header 'Authorization: Bearer ' \ --header 'Content-Type: application/json' x-ratelimit-category: org_read x-sandbox: disabled /terms/related: get: operationId: terms_related/list summary: List related terms description: |- Get a list of terms logically related to each input term.

Example: the term 'workout' would list related terms like 'one song workout', 'yoga workout', 'workout motivation', etc. parameters: - $ref: '#/components/parameters/query_list_input_terms' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/RelatedTerms' '400': description: Invalid terms related parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid terms related parameters. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - terms x-ratelimit-category: ads_read x-sandbox: enabled /terms/suggested: get: operationId: terms_suggested/list summary: List suggested terms description: |- Get popular search terms that begin with your input term.

Example: 'sport' would return popular terms like 'sports bar' and 'sportswear', but not 'motor sports' since the phrase does not begin with the given term. parameters: - $ref: '#/components/parameters/query_input_term' - $ref: '#/components/parameters/query_term_limit' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TermsSuggestedResponse' '400': description: Invalid terms suggested parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid terms suggested parameters. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'ads:read' tags: - terms x-ratelimit-category: ads_read x-sandbox: enabled '/trends/keywords/{region}/top/{trend_type}': get: operationId: trending_keywords/list summary: List trending keywords description: |

Get the top trending search keywords among the Pinterest user audience.

Trending keywords can be used to inform ad targeting, budget strategy, and creative decisions about which products and Pins will resonate with your audience.

Geographic, demographic and interest-based filters are available to narrow down to the top trends among a specific audience. Multiple trend types are supported that can be used to identify newly-popular, evergreen or seasonal keywords.

For an interactive way to explore this data, please visit trends.pinterest.com. parameters: - $ref: '#/components/parameters/path_trend_region' - $ref: '#/components/parameters/path_trend_type' - $ref: '#/components/parameters/query_interest_list' - $ref: '#/components/parameters/query_gender_list' - $ref: '#/components/parameters/query_age_bucket_list' - name: include_keywords in: query description: |- If set, filters the results to top trends which include at least one of the specified keywords.
If unset, no keyword filtering logic is applied. required: false schema: $ref: '#/components/schemas/KeywordList' example: - recipes - dessert - $ref: '#/components/parameters/query_normalize_against_group' - $ref: '#/components/parameters/query_trending_keyword_limit' - name: include_prediction in: query description: |- Closed beta Including predicted weekly search volume data for the next 90 days. By default (`false`), the response will not include predicted data. required: false schema: type: boolean example: true default: false - name: include_demographics in: query description: |- Closed beta Including the age and gender distribution for each keyword. By default (`false`), the response will not include demographics data. required: false schema: type: boolean example: true default: false responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TrendingKeywordsResponse' '400': description: Invalid trending keywords request parameters content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid trending keywords request parameters default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'user_accounts:read' tags: - keywords x-ratelimit-category: trends_read x-sandbox: enabled /user_account: get: operationId: user_account/get summary: Get user account description: |- Get account information for the "operation user_account" - By default, the "operation user_account" is the token user_account. If using Business Access: Specify an ad_account_id to use the owner of that ad_account as the "operation user_account". See Understanding Business Access for more information. parameters: - $ref: '#/components/parameters/query_ad_account_id' responses: '200': description: response content: application/json: schema: $ref: '#/components/schemas/Account' '403': description: Not authorized to access the user account. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 403 message: Not authorized to access the user account. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'user_accounts:read' - client_credentials: - 'user_accounts:read' tags: - user_account x-ratelimit-category: org_read x-sandbox: enabled /user_account/analytics: get: operationId: user_account/analytics summary: Get user account analytics description: |- Get analytics for the "operation user_account" - By default, the "operation user_account" is the token user_account. Optional: Business Access: Specify an ad_account_id to use the owner of that ad_account as the "operation user_account". parameters: - $ref: '#/components/parameters/query_start_date' - $ref: '#/components/parameters/query_end_date' - $ref: '#/components/parameters/query_from_claimed_content' - $ref: '#/components/parameters/query_pin_format' - $ref: '#/components/parameters/query_app_types' - $ref: '#/components/parameters/query_content_type' - $ref: '#/components/parameters/query_source' - $ref: '#/components/parameters/query_metric_types' - $ref: '#/components/parameters/query_split_field_user_account' - $ref: '#/components/parameters/query_ad_account_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AnalyticsResponse' '400': description: Invalid user accounts analytics parameters. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid user accounts analytics parameters. '403': description: Not authorized to access the user account analytics. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 403 message: Not authorized to access the user account analytics. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'user_accounts:read' tags: - user_account x-ratelimit-category: org_analytics x-sandbox: disabled /user_account/analytics/top_pins: get: operationId: user_account/analytics/top_pins summary: Get user account top pins analytics description: |- Gets analytics data about a user's top pins (limited to the top 50). - By default, the "operation user_account" is the token user_account. Optional: Business Access: Specify an ad_account_id to use the owner of that ad_account as the "operation user_account". parameters: - $ref: '#/components/parameters/query_start_date' - $ref: '#/components/parameters/query_end_date' - $ref: '#/components/parameters/query_sort_by' - $ref: '#/components/parameters/query_from_claimed_content' - $ref: '#/components/parameters/query_pin_format' - $ref: '#/components/parameters/query_app_types' - $ref: '#/components/parameters/query_content_type' - $ref: '#/components/parameters/query_source' - $ref: '#/components/parameters/query_metric_types' - $ref: '#/components/parameters/query_num_of_pins' - $ref: '#/components/parameters/query_created_in_last_n_days' - $ref: '#/components/parameters/query_ad_account_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TopPinsAnalyticsResponse' '403': description: Not authorized to access the user account analytics. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 403 message: Not authorized to access the user account analytics. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'pins:read' - 'user_accounts:read' - client_credentials: - 'pins:read' - 'user_accounts:read' tags: - user_account x-ratelimit-category: org_analytics x-sandbox: disabled /user_account/analytics/top_video_pins: get: operationId: user_account/analytics/top_video_pins summary: Get user account top video pins analytics description: |- Gets analytics data about a user's top video pins (limited to the top 50). - By default, the "operation user_account" is the token user_account. Optional: Business Access: Specify an ad_account_id to use the owner of that ad_account as the "operation user_account". parameters: - $ref: '#/components/parameters/query_start_date' - $ref: '#/components/parameters/query_end_date' - $ref: '#/components/parameters/query_video_pin_sort_by' - $ref: '#/components/parameters/query_from_claimed_content' - $ref: '#/components/parameters/query_pin_format' - $ref: '#/components/parameters/query_app_types' - $ref: '#/components/parameters/query_content_type' - $ref: '#/components/parameters/query_source' - $ref: '#/components/parameters/query_video_pin_metric_types' - $ref: '#/components/parameters/query_num_of_pins' - $ref: '#/components/parameters/query_created_in_last_n_days' - $ref: '#/components/parameters/query_ad_account_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TopVideoPinsAnalyticsResponse' '403': description: Not authorized to access the user account analytics. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 403 message: Not authorized to access the user account analytics. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'pins:read' - 'user_accounts:read' - client_credentials: - 'pins:read' - 'user_accounts:read' tags: - user_account x-ratelimit-category: org_analytics x-sandbox: disabled /user_account/businesses: get: operationId: linked_business_accounts/get summary: List linked businesses description: Get a list of your linked business accounts. responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/LinkedBusiness' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'user_accounts:read' - client_credentials: - 'user_accounts:read' tags: - user_account x-ratelimit-category: org_read x-sandbox: enabled /user_account/followers: get: operationId: followers/list summary: List followers description: Get a list of your followers. parameters: - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/UserSummary' '400': description: Invalid user id content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid user id default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'user_accounts:read' - client_credentials: - 'user_accounts:read' tags: - user_account x-ratelimit-category: ads_read x-sandbox: enabled /user_account/following: get: operationId: user_following/get summary: List following description: Get a list of who a certain user follows. parameters: - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_user_following_feed_type' - $ref: '#/components/parameters/query_explicit_following' - $ref: '#/components/parameters/query_ad_account_id' responses: '200': description: response content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: description: Users items: $ref: '#/components/schemas/UserSummary' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'user_accounts:read' - client_credentials: - 'user_accounts:read' tags: - user_account x-ratelimit-category: org_read x-sandbox: disabled /user_account/following/boards: get: operationId: boards_user_follows/list summary: List following boards description: Get a list of the boards a user follows. The request returns a board summary object array. parameters: - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' - $ref: '#/components/parameters/query_explicit_following' - $ref: '#/components/parameters/query_ad_account_id' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/Board' '400': description: Invalid user id content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid user id default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'user_accounts:read' - client_credentials: - 'user_accounts:read' tags: - user_account x-ratelimit-category: org_read x-sandbox: enabled '/user_account/following/{username}': post: operationId: follow_user/update summary: Follow user description: |- This endpoint is currently in beta and not available to all apps. Learn more. Use this request, as a signed-in user, to follow another user. parameters: - $ref: '#/components/parameters/path_username' requestBody: description: Follow a user. required: true content: application/json: schema: $ref: '#/components/schemas/FollowUserRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/UserSummary' '404': description: User not found content: application/json: schema: $ref: '#/components/schemas/Error' examples: UserNotFound: value: code: 30 message: User not found. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'user_accounts:write' tags: - user_account x-ratelimit-category: org_write x-sandbox: enabled /user_account/websites: post: operationId: verify_website/update summary: Verify website description: Verify a website as a signed-in user. parameters: - $ref: '#/components/parameters/query_ad_account_id' requestBody: description: Verify a website. required: true content: application/json: schema: $ref: '#/components/schemas/UserWebsiteVerifyRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/UserWebsiteSummary' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'user_accounts:write' tags: - user_account x-ratelimit-category: org_write x-sandbox: disabled get: operationId: user_websites/get summary: Get user websites description: 'Get user websites, claimed or not' parameters: - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/UserWebsiteSummary' '403': description: Not authorized to access the user website list. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 403 message: Not authorized to access the user website list. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'user_accounts:read' tags: - user_account x-ratelimit-category: org_read x-sandbox: disabled delete: operationId: unverify_website/delete summary: Unverify website description: Unverifu a website verified by the signed-in user. parameters: - $ref: '#/components/parameters/query_website' responses: '204': description: Successfully unverified website '404': description: Website not in user list. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 404 message: Website not in user list. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'user_accounts:write' tags: - user_account x-ratelimit-category: org_write x-sandbox: disabled /user_account/websites/verification: get: operationId: website_verification/get summary: Get user verification code for website claiming description: Get verification code for user to install on the website to claim it. parameters: - $ref: '#/components/parameters/query_ad_account_id' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/UserWebsiteVerificationCode' '403': description: Not authorized to access the user verification code for website claiming. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 403 message: Not authorized to access the user verification code for website claiming. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'user_accounts:read' - client_credentials: - 'user_accounts:read' tags: - user_account x-ratelimit-category: org_read x-sandbox: disabled '/users/{username}/interests/follow': get: operationId: user_account/followed_interests summary: List following interests description: Get a list of a user's following interests in one place. parameters: - $ref: '#/components/parameters/path_username' - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' responses: '200': description: Success content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: type: array items: $ref: '#/components/schemas/Interest' '400': description: Invalid parameters content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization failed content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: User not found content: application/json: schema: $ref: '#/components/schemas/Error' default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' security: - pinterest_oauth2: - 'user_accounts:read' - client_credentials: - 'user_accounts:read' tags: - user_account x-ratelimit-category: org_read x-sandbox: enabled components: parameters: aggregate_report_rows: in: query description: Determines if report rows should be aggregated across all requested entities. This feature is currently in BETA and is not available to all users. name: aggregate_report_rows required: false schema: type: boolean default: false BoardKey: name: board_id in: path required: true schema: type: string pattern: ^\d+$ BoardWithUpdatePrivacyKey: name: board_id in: path required: true schema: type: string pattern: ^\d+$ fetch_system_users: name: fetch_system_users in: query description: Fetches system users if True. Fetches regular user employees if False. required: false schema: type: boolean default: false include_details: name: include_details description: if set to True then attach the errors/details to all the requests in: query schema: type: boolean default: false keywords_query_ad_group_ids: name: ad_group_ids description: List of Ad group Ids to retrieve keywords from. This feature is currently in BETA and is not available to all users. in: query required: false schema: type: array items: type: string maxLength: 18 pattern: ^\d+$ maxItems: 250 minItems: 1 MediaKey: name: media_id in: path required: true description: |- Unique identifier for this media upload. Used to track status and for attaching during Pin creation. schema: type: string pattern: ^\d+$ path_ad_account_id: name: ad_account_id description: Unique identifier of an ad account. in: path required: true schema: type: string maxLength: 18 pattern: ^\d+$ path_ad_group_id: name: ad_group_id description: Unique identifier of an ad group. in: path required: true schema: type: string maxLength: 18 pattern: ^\d+$ path_ad_id: name: ad_id description: Unique identifier of an ad. in: path required: true schema: type: string maxLength: 18 pattern: ^\d+$ path_aggregated_pin_data: name: aggregated_pin_data description: Id of aggregated pin data in: path required: true schema: type: string pattern: ^\d+$ path_asset_id: name: asset_id in: path description: Unique identifier of a business asset. example: '729090764583391194' required: true schema: type: string maxLength: 20 minLength: 1 pattern: ^\d+$ path_audience_id: name: audience_id description: Unique identifier of an audience in: path required: true schema: type: string maxLength: 18 pattern: ^\d+$ path_billing_invoice_id: name: billing_invoice_id description: Unique identifier of a billing invoice. in: path required: true schema: type: string maxLength: 18 pattern: ^\d+$ path_board_id: name: board_id description: Unique identifier of a board. in: path required: true schema: type: string pattern: ^\d+$ path_board_section_id: name: section_id description: Unique identifier of a board section. in: path required: true schema: type: string pattern: ^\d+$ path_bulk_request_id: name: bulk_request_id description: Unique identifier of a bulk upsert request. in: path required: true schema: type: string path_business_hierarchy_id: name: business_hierarchy_id in: path description: business hierarchy node id example: '7009386637860' required: true schema: type: string maxLength: 20 minLength: 1 pattern: ^\d+$ path_business_id: name: business_id in: path description: Business id example: '729090764583391194' required: true schema: type: string maxLength: 20 minLength: 1 pattern: ^\d+$ path_business_member_user: name: member_id in: path description: The member id to fetch assets for. example: '729090764583391194' required: true schema: type: string maxLength: 20 minLength: 1 pattern: ^\d+$ path_business_partner_user: name: partner_id in: path description: The partner id to be bound to the Business example: '729090764583391194' required: true schema: type: string maxLength: 20 minLength: 1 pattern: ^\d+$ path_business_user: name: business_id in: path description: Unique identifier of the requesting business. example: '729090764583391194' required: true schema: type: string maxLength: 20 minLength: 1 pattern: ^\d+$ path_campaign_id: name: campaign_id description: 'Campaign ID, must be associated with the ad account ID provided in the path.' in: path required: true schema: type: string maxLength: 18 pattern: ^\d+$ path_catalogs_feed_id: description: Unique identifier of a feed in: path required: true name: feed_id schema: type: string pattern: ^\d+$ path_catalogs_items_batch_id: name: batch_id in: path description: Id of a catalogs items batch to fetch example: 66753b9bb65c46c49bd8503b27fecf9e required: true schema: type: string pattern: '^[a-zA-Z0-9]+$' path_catalogs_processing_result_id: description: 'Unique identifier of a feed processing result. It can be acquired from the "id" field of the "items" array within the response of the [List processing results for a given feed](/docs/api/v5/#operation/feed_processing_results/list).' name: processing_result_id in: path example: '5224831246441439241' required: true schema: type: string pattern: ^\d+$ 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+$ path_category_id: name: category_id description: Category (L1 interest) numeric ID. in: path required: true style: simple schema: type: string maxLength: 18 pattern: ^\d+$ path_conversion_tag_id: description: Id of the conversion tag. in: path example: '2617998078212' explode: false name: conversion_tag_id required: true schema: type: string maxLength: 18 pattern: ^\d+$ style: simple path_customer_list_id: name: customer_list_id description: Unique identifier of a customer list in: path required: true schema: type: string maxLength: 18 pattern: ^\d+$ path_external_business_id: name: external_business_id description: External business ID for the integration. in: path required: true schema: type: string path_interest_id: name: interest_id description: Unique identifier of an interest. in: path required: true schema: type: string maxLength: 18 pattern: ^\d+$ path_lead_form_id: name: lead_form_id in: path description: Unique identifier of a lead form. example: '1234567890123' required: true schema: type: string pattern: ^\d+$ path_media_id: name: media_id description: Media identifier in: path required: true schema: type: string pattern: ^\d+$ path_member_id: name: member_id in: path description: The member id to be bound to the Business example: '729090764583391194' required: true schema: type: string maxLength: 20 minLength: 1 pattern: ^\d+$ path_non_system_business_user: name: business_id in: path description: Unique identifier of the requesting business. example: '729090764583391194' required: true schema: type: string minLength: 1 pattern: ^\d+$ path_order_line_id: name: order_line_id description: Unique identifier of an order line. in: path required: true schema: type: string maxLength: 18 pattern: ^\d+$ path_pin_id: name: pin_id description: Unique identifier of a Pin. in: path required: true schema: type: string path_pin_order_id: description: The pin order id associated with the ssio insertion order in: path name: pin_order_id required: true schema: type: string example: 0Q01N0000015hekSVDFDC 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 maxLength: 18 pattern: ^\d+$ path_promotion_id: name: promotion_id description: Unique identifier of a promotion in: path required: true schema: type: string maxLength: 18 pattern: ^\d+$ path_scope: name: scope description: Generated audience scope to request. in: path required: true style: simple schema: $ref: '#/components/schemas/AudienceDefinitionScope' path_subscription_id: name: subscription_id description: Unique identifier of a subscription. in: path required: true schema: type: string pattern: ^\d+$ path_targeting_type: name: targeting_type description: Public targeting type. in: path required: true style: simple schema: description: Public ad targeting type with external names type: string example: APPTYPE enum: - APPTYPE - GENDER - LOCALE - AGE_BUCKET - LOCATION - GEO - INTEREST - KEYWORD - AUDIENCE_INCLUDE - AUDIENCE_EXCLUDE title: PublicTargetingType path_template_id: name: template_id description: Unique identifier of a template. in: path required: true schema: type: string maxLength: 18 pattern: ^\d+$ path_trend_region: name: region description: |- The geographic region of interest. Only top trends within the specified region will be returned.
The `region` parameter is formatted as ISO 3166-2 country codes delimited by `+`, corresponding to the following geographic areas: - `US` - United States - `CA` - Canada - `DE` - Germany - `FR` - France - `ES` - Spain - `IT` - Italy - `DE+AT+CH` - Germanic countries - `GB+IE` - Great Britain & Ireland - `IT+ES+PT+GR+MT` - Southern Europe - `PL+RO+HU+SK+CZ` - Eastern Europe - `SE+DK+FI+NO` - Nordic countries - `NL+BE+LU` - Benelux - `AR` - Argentina - `BR` - Brazil - `CO` - Colombia - `MX` - Mexico - `MX+AR+CO+CL` - Hispanic LatAm - `AU+NZ` - Australasia in: path required: true schema: $ref: '#/components/schemas/TrendsSupportedRegion' path_trend_type: name: trend_type description: |- The methodology used to rank how trendy a keyword is. - `growing` trends have high upward growth in search volume over the last quarter - `monthly` trends have high search volume in the last month - `yearly` trends have high search volume in the last year - `seasonal` trends have high upward growth in search volume over the last month and exhibit a seasonal recurring pattern (typically annual) in: path required: true schema: $ref: '#/components/schemas/TrendType' path_type: name: type description: Generated audience type to request. in: path required: true style: simple schema: $ref: '#/components/schemas/AudienceDefinitionType' path_username: name: username description: A valid username in: path required: true schema: type: string example: username pattern: (?!^\d+$)^.+$ PinKey: name: pin_id in: path required: true schema: type: string pattern: ^\d+$ Pinterest.Lib.AdAccountId: name: ad_account_id in: path required: true description: Unique identifier of an ad account. schema: type: string maxLength: 18 pattern: ^\d+$ Pinterest.Lib.BookmarkParams.bookmark: name: bookmark in: query required: false description: Cursor used to fetch the next page of items schema: type: string Pinterest.Lib.BookmarkParams.page_size: name: page_size in: query required: false description: |- Maximum number of items to include in a single page. See documentation on [Pagination](/docs/reference/pagination/) for more information. schema: type: integer default: 25 maximum: 250 minimum: 1 Pinterest.Lib.OrderingParams: name: order in: query required: false 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. schema: default: ASCENDING $ref: '#/components/schemas/Pinterest.Lib.PaginationOrder' Pinterest.Lib.OrderingParams.order: $ref: '#/components/parameters/Pinterest.Lib.OrderingParams' query_account_type: description: Filter accounts by account type. in: query name: account_type required: true schema: $ref: '#/components/schemas/AudienceAccountType' query_ad_account_id: name: ad_account_id description: Unique identifier of an ad account. in: query schema: type: string maxLength: 18 pattern: ^\d+$ query_ad_group_id: description: Ad group Id. in: query name: ad_group_id example: '123123123' required: false schema: type: string maxLength: 18 pattern: ^\d+$ query_ad_group_ids: description: List of Ad group Ids to use to filter the results. in: query name: ad_group_ids required: false schema: type: array items: type: string pattern: ^\d+$ maxItems: 250 minItems: 1 query_ad_group_ids_required: description: List of Ad group Ids to use to filter the results. in: query name: ad_group_ids required: true schema: type: array items: type: string pattern: ^\d+$ maxLength: 18 maxItems: 250 minItems: 1 query_ad_group_targeting_types: name: targeting_types description: 'Targeting type breakdowns for the report. The reporting per targeting type
is independent from each other. ["AGE_BUCKET_AND_GENDER", "CREATIVE_ENHANCEMENTS"] are in BETA and not yet available to all users.' required: true explode: false in: query schema: type: array items: $ref: '#/components/schemas/AdsAnalyticsAdGroupTargetingType' maxItems: 14 minItems: 1 query_ad_ids: description: List of Ad Ids to use to filter the results. in: query name: ad_ids required: false schema: type: array items: type: string pattern: ^\d+$ maxItems: 250 minItems: 1 query_ad_ids_required: description: List of Ad Ids to use to filter the results. in: query name: ad_ids required: true schema: type: array items: type: string pattern: ^\d+$ maxItems: 250 minItems: 1 query_ad_targeting_types: name: targeting_types description: 'Targeting type breakdowns for the report. The reporting per targeting type
is independent from each other. ["AGE_BUCKET_AND_GENDER"] is in BETA and not yet available to all users.' required: true explode: false in: query schema: type: array items: $ref: '#/components/schemas/AdsAnalyticsAdTargetingType' maxItems: 14 minItems: 1 query_age_bucket_list: name: ages description: |- If set, filters the results to trends among users in the specified age range(s).
If unset, trends among all age groups will be returned. example: - 35-44 - 50-54 in: query required: false schema: $ref: '#/components/schemas/AgeBucketList' query_app_types: description: 'Apps or devices to get data for, default is all.' in: query name: app_types required: false schema: type: string default: ALL enum: - ALL - MOBILE - TABLET - WEB query_assets_summary: name: assets_summary description: |- Include assets summary in the response if this is true. The assets summary returns a dictionary representing a summary of the assets for the business user ID, with information like the ad accounts and profiles the user has permissions for and what those permissions are in: query required: false schema: type: boolean default: false query_attribution_types: name: attribution_types description: List of types of attribution for the conversion report required: false explode: false in: query schema: type: array items: $ref: '#/components/schemas/ConversionReportAttributionType' maxItems: 2 query_audience_id: description: Unique identifier of the audience to use to filter the results. in: query name: audience_id required: true schema: type: string maxLength: 18 pattern: ^\d+$ query_audience_ids: description: List of audience ids to use to filter the results. in: query name: audience_ids required: false schema: type: array items: type: string pattern: ^\d+$ maxItems: 100 minItems: 1 query_audience_insight_type: description: Type of audience insights. explode: false in: query name: audience_insight_type required: true schema: $ref: '#/components/schemas/AudienceInsightType' query_audience_type: description: The type of audience to filter for. in: query name: audience_type required: false schema: type: string pattern: ^\d+$ query_audience_types: description: The types of audience to filter for. in: query name: audience_types required: false schema: type: array items: $ref: '#/components/schemas/AudienceType' maxItems: 100 minItems: 1 query_billing_document_type: name: document_type in: query description: Document type of billing invoices to filter by required: false schema: type: string example: INVOICE enum: - INVOICE - CREDIT_MEMO query_billing_end_due_date: name: end_due_date in: query description: 'Ending point for due dates when searching for invoices. Format: YYYY-MM-DD' required: false schema: type: string format: date example: '2024-01-01' pattern: '^(\d{4})-(\d{2})-(\d{2})$' query_billing_invoice_status: name: status in: query description: Status of billing invoices to filter by required: false schema: type: string example: OPEN enum: - OPEN - CLOSED query_billing_start_due_date: name: start_due_date in: query description: 'Starting point for due dates when searching for invoices. Format: YYYY-MM-DD' required: false schema: type: string format: date example: '2023-01-01' pattern: '^(\d{4})-(\d{2})-(\d{2})$' query_bookmark: name: bookmark description: Cursor used to fetch the next page of items in: query required: false schema: type: string query_business_access_start_index: name: start_index in: query description: An index to start fetching the results from. Only the results starting from this index will be returned. example: 0 required: false schema: type: integer default: 0 minimum: 0 query_business_partner_type: name: partner_type in: query description: |- Specifies whether to fetch internal or external (shared) partners. If partner_type=INTERNAL, the asset being queried is for accesses the partner has to your business assets.
If partner_type=EXTERNAL, the asset being queried is for the accesses you have to the partner's business asset. example: INTERNAL required: false schema: $ref: '#/components/schemas/PartnerType' query_campaign_id: description: Campaign Id to use to filter the results. in: query name: campaign_id required: false schema: type: string maxLength: 18 pattern: ^\d+$ query_campaign_id_required: description: Campaign Id to use to filter the results. in: query name: campaign_id required: true schema: type: string maxLength: 18 pattern: ^\d+$ query_campaign_ids: description: List of Campaign Ids to use to filter the results. in: query name: campaign_ids required: false schema: type: array items: type: string pattern: ^\d+$ maxLength: 18 maxItems: 250 minItems: 1 query_campaign_ids_required: description: List of Campaign Ids to use to filter the results. in: query name: campaign_ids required: true schema: type: array items: type: string pattern: ^\d+$ maxLength: 18 maxItems: 250 minItems: 1 query_campaign_targeting_types: name: targeting_types description: 'Targeting type breakdowns for the report. The reporting per targeting type
is independent from each other. ["AGE_BUCKET_AND_GENDER"] is in BETA and not yet available to all users.' required: true explode: false in: query schema: type: array items: $ref: '#/components/schemas/AdsAnalyticsCampaignTargetingType' maxItems: 14 minItems: 1 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_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_catalogs_item_numbers: name: item_numbers in: query description: 'Item number based on order of appearance in the Catalogs Feed. For example, ''0'' refers to first item found in a feed that was downloaded from a ''location'' specified during feed creation.' example: - 1 - 5 required: false schema: type: array items: type: integer query_catalogs_item_validation_issue: name: item_validation_issue in: query description: Filter item validation issues that have a given type of item validation issue. example: TITLE_MISSING required: false schema: $ref: '#/components/schemas/CatalogsItemValidationIssue' query_catalogs_items_country: name: country in: query description: Country for the Catalogs Items example: US required: true schema: type: string query_catalogs_items_filters: name: filters in: query description: Identifies items to be retrieved. This is a required parameter. required: false style: deepObject schema: $ref: '#/components/schemas/CatalogsItemsFilters' query_catalogs_items_language: name: language in: query description: Language for the Catalogs Items example: EN required: true schema: type: string 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 maxItems: 1000 minItems: 1 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 maxItems: 1000 minItems: 1 query_catalogs_report_stats_parameters: name: parameters in: query description: Contains the parameters for report identification. required: true style: deepObject schema: description: Report stats parameters type: object properties: catalog_type: $ref: '#/components/schemas/CatalogsType' discriminator: propertyName: catalog_type mapping: RETAIL: '#/components/schemas/CatalogsRetailReportStatsParameters' HOTEL: '#/components/schemas/CatalogsHotelReportStatsParameters' oneOf: - $ref: '#/components/schemas/CatalogsRetailReportStatsParameters' - $ref: '#/components/schemas/CatalogsHotelReportStatsParameters' required: - catalog_type query_catalogs_report_token: name: token description: Token returned from async build report call in: query required: true schema: type: string query_client_id: name: client_id description: Client ID. in: query required: false schema: type: string example: '1094834' maxLength: 18 pattern: ^\d+$ style: form 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: type: array 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 - OUTBOUND_CTR_1 - CAMPAIGN_NAME - CAMPAIGN_BRAND_LABEL - 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_NAME - AD_GROUP_BUDGET_TYPE - AD_GROUP_BUDGET_IN_LOCAL_CURRENCY - AD_GROUP_ENTITY_STATUS - AD_GROUP_BID_MULTIPLIER - PROMO_ID - PROMO_NAME - 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 - COST_PER_OUTBOUND_CLICK_IN_DOLLAR_1 - 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 - AD_NAME - CAMPAIGN_LIFETIME_SPEND_CAP - AD_GROUP_OPTIMIZATION - CAMPAIGN_DAILY_SPEND_CAP - CAMPAIGN_BUDGET_OPTIMIZATION - IS_PREMIERE_CAMPAIGN - TOTAL_PAGE_VISIT - TOTAL_SIGNUP - TOTAL_CHECKOUT - TOTAL_CUSTOM - TOTAL_LEAD - TOTAL_ADD_TO_WISHLIST - TOTAL_SUBSCRIBE - 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 - PRODUCT_GROUP_AD_IMAGE_TAG - PRODUCT_GROUP_AD_VIDEO_TAG - VIDEO_3SEC_VIEWS_1 - VIDEO_15SEC_UNIQUE_VIEWS_1 - VIDEO_MRC_VIEWS_1 - VIDEO_3SEC_VIEWS_2 - VIDEO_15SEC_UNIQUE_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 - PAID_VIDEO_VIEWABLE_RATE - VIDEO_LENGTH - VIDEO_SPEND_IN_DOLLAR - ECPV_IN_DOLLAR - ECPCV_IN_DOLLAR - ECPCV_P95_IN_DOLLAR - TOTAL_VIDEO_3SEC_VIEWS - TOTAL_VIDEO_15SEC_UNIQUE_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_PIN_RESULT_OPEN - 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 query_comment_feed_type: name: feed_type description: Comment feed type. in: query schema: type: string default: recent enum: - ranked - recent query_content_type: description: Filter to paid or organic data. Default is all. in: query name: content_type required: false schema: type: string default: ALL enum: - ALL - PAID - ORGANIC query_conversion_attribution_click_window_days: name: click_window_days in: query schema: type: integer default: 30 enum: - 0 - 1 - 7 - 14 - 30 - 60 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 default: TIME_OF_AD_ACTION enum: - TIME_OF_AD_ACTION - TIME_OF_CONVERSION 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.
Note: This parameter no longer returns new data. However, you can still access historic data through Sept 30, 2027.' schema: type: integer default: 30 enum: - 0 - 1 - 7 - 14 - 30 - 60 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 default: 1 enum: - 0 - 1 - 7 - 14 - 30 - 60 query_country_code: name: country_code description: Two letter country code (ISO 3166-1 alpha-2) in: query example: US required: true explode: true schema: type: string style: form query_created_in_last_n_days: name: created_in_last_n_days in: query schema: type: integer enum: - 30 description: Get metrics for pins created in the last "n" days. example: 30 query_creative_types: in: query name: creative_types required: false description: 'Pin creative types filter.

Note: SHOP_THE_PIN has been deprecated. Please use COLLECTION instead.' schema: type: array items: type: string example: REGULAR enum: - REGULAR - VIDEO - SHOPPING - CAROUSEL - MAX_VIDEO - SHOP_THE_PIN - COLLECTION - IDEA 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_end_date_async: description: 'Metric report end date (UTC). Format: YYYY-MM-DD. Cannot be more than 2.5 years past start date.' in: query name: end_date required: false schema: type: string format: date query_entity_ids: description: List of entity Ids to use to filter the results. in: query name: entity_ids required: false schema: type: array items: type: string pattern: ^\d+$ maxLength: 18 maxItems: 250 minItems: 1 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_explicit_following: description: 'Whether or not to include implicit user follows, which means followees with board follows. When explicit_following is True, it means we only want explicit user follows.' in: query name: explicit_following required: false schema: type: boolean default: false query_filter_deleted: name: filter_deleted description: Filter out deleted tags. in: query required: false schema: type: boolean example: true default: false query_flatten_rule: description: Uniform the format of Audiences rules for presentation on Web UI. in: query name: flatten_rule required: false schema: type: boolean query_from_claimed_content: description: Filter on Pins that match your claimed domain. in: query name: from_claimed_content required: false schema: type: string default: BOTH enum: - OTHER - CLAIMED - BOTH query_gender_list: name: genders description: |- If set, filters the results to trends among users who identify with the specified gender(s).
If unset, trends among all genders will be returned.
The `unknown` group includes users with unspecified or customized gender profile settings. example: - female - unknown in: query required: false schema: $ref: '#/components/schemas/GenderList' 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_granularity_async: 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: false schema: $ref: '#/components/schemas/Granularity' query_include_html: description: Return HTML in TOS text. explode: true in: query name: include_html required: false schema: type: boolean default: false style: form query_include_shared_accounts: in: query description: Include shared ad accounts name: include_shared_accounts required: false schema: type: boolean default: true query_input_term: description: Input term. in: query name: term example: sports required: true schema: type: string query_interest_list: name: interests description: |- If set, filters the results to trends associated with the specified interests.
If unset, trends for all interests will be returned.
The list of supported interests is: - `animals` - Animals - `architecture` - Architecture - `art` - Art - `beauty` - Beauty - `childrens_fashion` - Children's Fashion - `design` - Design - `diy_and_crafts` - DIY & Crafts - `education` - Education - `electronics` - Electronics - `entertainment` - Entertainment - `event_planning` - Event Planning - `finance` - Finance - `food_and_drinks` - Food & Drink - `gardening` - Gardening - `health` - Health - `home_decor` - Home Decor - `mens_fashion` - Men's Fashion - `parenting` - Parenting - `quotes` - Quotes - `sport` - Sports - `travel` - Travel - `vehicles` - Vehicles - `wedding` - Wedding - `womens_fashion` - Women's Fashion example: - beauty - womens_fashion in: query required: false schema: $ref: '#/components/schemas/L1InterestList' query_invite_status: name: invite_status in: query description: A list of invite statuses to filter invites by. Only invites whose status is in the provided statuses will be returned. required: false schema: type: array items: description: Invite statuses used for filters enum: - PENDING - EXPIRED example: PENDING type: string maxLength: 2 minItems: 1 query_invite_type: name: invite_type in: query description: Invite type to filter invites by. Only invites of the specified type will be returned. required: false schema: $ref: '#/components/schemas/InviteType' query_is_member: name: is_member description: A boolean field to indicate whether the invite is to create a partnership or a membership. in: query required: false schema: type: boolean default: true query_keywords: name: keywords description: Comma-separated keywords in: query required: true explode: false schema: type: array items: type: string maxItems: 2000 minItems: 1 style: form query_label_entity_statuses: in: query name: entity_statuses required: false description: Label entity status schema: type: array items: type: string example: ACTIVE enum: - ACTIVE - ARCHIVED default: - ACTIVE query_label_ids: description: List of Label Ids to use to filter the results. in: query name: label_ids required: false schema: type: array items: type: string pattern: ^\d+$ maxLength: 18 maxItems: 250 minItems: 1 query_label_types: in: query name: label_types required: false description: Label type. schema: type: array items: type: string example: BRAND enum: - BRAND - CUSTOM example: - BRAND - CUSTOM default: - BRAND - CUSTOM query_list_input_terms: description: List of input terms. in: query name: terms required: true schema: type: array items: type: string example: workout query_match_types: explode: true description: Keyword match type in: query name: match_types required: false schema: type: array items: $ref: '#/components/schemas/MatchType' maxItems: 5 minItems: 1 query_members: name: members in: query description: A list of business members ids separated by comma to filter the results. Only members with the specified ids will be returned. example: '00101010101,2222220101' required: false schema: type: string query_metric_types: description: 'Metric types to get data for, default is all. ' explode: false in: query name: metric_types required: false schema: type: array items: enum: - ENGAGEMENT - ENGAGEMENT_RATE - IMPRESSION - OUTBOUND_CLICK - OUTBOUND_CLICK_RATE - PIN_CLICK - PIN_CLICK_RATE - SAVE - SAVE_RATE type: string style: form query_normalize_against_group: name: normalize_against_group description: |- Governs how the resulting time series data will be normalized to a [0-100] scale.
By default (`false`), the data will be normalized independently for each keyword. The peak search volume observation in *each* keyword's time series will be represented by the value 100. This is ideal for analyzing when an individual keyword is expected to peak in interest.
If set to `true`, the data will be normalized as a group. The peak search volume observation across *all* keywords in the response will be represented by the value 100, and all other values scaled accordingly. Use this option when you wish to compare relative search volume between multiple keywords. in: query required: false schema: type: boolean example: true default: false query_num_of_pins: name: num_of_pins in: query schema: type: integer default: 10 maximum: 50 minimum: 1 description: 'Number of pins to include, default is 10. Max is 50.' example: 25 query_oauth_signature: name: oauth_signature description: Oauth signature in: query required: false schema: type: string example: 8209f style: form 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 query_order_by: description: The audience field to order results by. in: query name: order_by required: false schema: $ref: '#/components/schemas/GetAudiencesOrderBy' 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 default: 25 maximum: 250 minimum: 1 query_partners: name: partners in: query description: A list of business partners ids separated by comma. example: '00101010101,2222220101' required: false schema: type: string query_pin_analytics_metric_types: description: 'Pin metric types to get data for. VIDEO_MRC_VIEW are Video views, VIDEO_V50_WATCH_TIME is Total play time. If Pin was created before 2023-03-20, Profile visits and Follows will only be available for Idea Pins. These metrics are available for all Pin formats since then. Keep in mind this cannot have ALL if split_field is set to any value other than NO_SPLIT.' explode: false in: query name: metric_types required: true schema: type: array items: oneOf: - description: Standard Pin metric types type: string enum: - IMPRESSION - OUTBOUND_CLICK - PIN_CLICK - SAVE - SAVE_RATE - TOTAL_COMMENTS - TOTAL_REACTIONS - USER_FOLLOW - PROFILE_VISIT - description: Video Pin metric types type: string enum: - IMPRESSION - OUTBOUND_CLICK - PIN_CLICK - SAVE - SAVE_RATE - VIDEO_MRC_VIEW - VIDEO_10S_VIEW - QUARTILE_95_PERCENT_VIEW - VIDEO_V50_WATCH_TIME - VIDEO_START - VIDEO_AVG_WATCH_TIME - TOTAL_COMMENTS - TOTAL_REACTIONS style: form query_pin_format: description: 'Pin formats to get data for, default is all.' in: query name: pin_format required: false schema: type: string default: ALL enum: - ALL - ORGANIC_IMAGE - ORGANIC_PRODUCT - ORGANIC_VIDEO - ADS_STANDARD - ADS_PRODUCT - ADS_VIDEO - ADS_IDEA query_pin_metrics: name: pin_metrics description: Specify whether to return 90d and lifetime Pin metrics. Total comments and total reactions are only available with lifetime Pin metrics. If Pin was created before 2023-03-20 lifetime metrics will only be available for Video and Idea Pin formats. Lifetime metrics are available for all Pin formats since then. in: query required: false schema: type: boolean default: false query_pin_order_id: description: The pin order id associated with the ssio insertino order in: query name: pin_order_id required: false schema: type: string example: 0Q01N0000015hekSVDFDC 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+$ maxItems: 250 minItems: 1 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+$ maxItems: 250 minItems: 1 query_query: description: Search query. Can contain pin description keywords or comma-separated pin IDs. in: query name: query required: false schema: type: string query_report_type: name: report_type description: Report type. in: query required: false schema: type: string enum: - SYNC - ASYNC query_reporting_timezone: in: query description: Specify the timezone to be applied for the reporting. This feature is currently in BETA and is not available to all users. name: reporting_timezone required: false schema: $ref: '#/components/schemas/ReportingTimeZone' query_required_pin_ids: name: pin_ids description: List of Pin IDs. in: query required: true schema: type: array items: type: string pattern: ^\d+$ maxItems: 100 minItems: 1 query_required_search_query: description: Search query. Can contain pin description keywords or comma-separated pin IDs. in: query example: Plants name: query required: true schema: type: string query_resource_type: name: asset_type in: query required: false description: A resource type to filter the assets by. Only assets of the specified type will be returned. schema: type: string example: AD_ACCOUNT default: AD_ACCOUNT enum: - AD_ACCOUNT - PROFILE - ASSET_GROUP - CATALOG - CONSUMER query_schedule_statuses: name: schedule_statuses in: query required: false description: Specifies which schedules to return based on their status. schema: type: array items: type: string example: ACTIVE enum: - DRAFT - CREATED - SCHEDULED - ACTIVE - COMPLETED - FAILED - CANCELED query_schedule_types: name: schedule_type in: query required: false description: Specifies which schedules to return based on their type. schema: type: array items: type: string example: CAMPAIGN_BUDGET enum: - CAMPAIGN_BUDGET - CAMPAIGN_BID_MULTIPLIERS query_search_query: description: String keywords to search for audiences by. in: query name: search_query required: false schema: type: string query_sort: description: Sort method. Only RATIO is supported. explode: false in: query name: sort required: false schema: type: string example: RATIO default: RATIO enum: - RATIO query_sort_billing_invoice: name: sort in: query description: Field of which to sort billing invoices required: false schema: type: string example: DUE_DATE default: DUE_DATE enum: - DUE_DATE - BILLING_PERIOD - DOCUMENT_TYPE - TOTAL_AMOUNT - INVOICE_NUMBER query_sort_by: description: Specify sorting order for metrics explode: false in: query name: sort_by required: true schema: type: string enum: - ENGAGEMENT - IMPRESSION - OUTBOUND_CLICK - PIN_CLICK - SAVE query_source: description: 'Filter to activity from Pins created and saved by your, or activity created and saved by others from your claimed accounts' in: query name: source required: false schema: type: string default: ALL enum: - ALL - YOUR_PINS - OTHER_PINS query_split_field_pins: description: How to split the data into groups. Not including this param means data won't be split. required: false in: query explode: false name: split_field schema: type: string default: NO_SPLIT enum: - NO_SPLIT - APP_TYPE query_split_field_user_account: description: How to split the data into groups. Not including this param means data won't be split. required: false in: query explode: false name: split_field schema: type: string default: NO_SPLIT enum: - NO_SPLIT - APP_TYPE - OWNED_CONTENT - SOURCE - PIN_FORMAT 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 query_start_date_async: description: 'Metric report start date (UTC). Format: YYYY-MM-DD. Cannot be more than 2.5 years back from today.' in: query name: start_date required: false schema: type: string format: date query_start_index: description: The starting index for returned list. in: query name: start_index required: false schema: type: string pattern: ^\d+$ query_targeting_types: name: targeting_types description: 'Targeting type breakdowns for the report. The reporting per targeting type
is independent from each other. ["AGE_BUCKET_AND_GENDER"] is in BETA and not yet available to all users.' required: true explode: false in: query schema: type: array items: $ref: '#/components/schemas/AdsAnalyticsTargetingType' maxItems: 15 minItems: 1 query_term_limit: description: Max suggested terms to return. in: query name: limit example: 4 required: false schema: type: integer default: 4 maximum: 10 minimum: 1 query_timestamp: name: timestamp description: Timestamp in: query required: false schema: type: string example: '1618338184277' pattern: \d+ style: form query_token_required: name: token description: Token returned from the post request creation call in: query required: true schema: type: string query_tos_type: description: Request type. explode: true in: query name: tos_type required: false schema: type: string style: form query_translate_interests_to_names: description: Return interests as text names (if value is true) rather than topic IDs. in: query name: translate_interests_to_names required: false schema: type: boolean default: false query_trending_keyword_limit: name: limit description: 'The maximum number of trending keywords that will be returned. Keywords are returned in trend-ranked order, so a `limit` of 50 will return the top 50 trends.' example: 25 in: query required: false schema: type: integer default: 50 maximum: 50 minimum: 1 query_user_following_feed_type: description: Thrift param specifying what type of followees will be kept. Default to include all followees. in: query name: feed_type required: false schema: type: string default: ALL $ref: '#/components/schemas/UserFollowingFeedType' query_username: name: username description: Name of the user to be looked up. in: query required: false schema: type: string default: me pattern: (?!^\d+$)^.+$ query_video_pin_metric_types: description: 'Metric types to get video data for, default is all. ' explode: false in: query name: metric_types required: false schema: type: array items: enum: - IMPRESSION - SAVE - VIDEO_MRC_VIEW - VIDEO_AVG_WATCH_TIME - VIDEO_V50_WATCH_TIME - QUARTILE_95_PERCENT_VIEW - VIDEO_10S_VIEW - VIDEO_START - OUTBOUND_CLICK type: string style: form query_video_pin_sort_by: description: Specify sorting order for video metrics explode: false in: query name: sort_by required: true schema: type: string enum: - IMPRESSION - SAVE - OUTBOUND_CLICK - VIDEO_MRC_VIEW - VIDEO_AVG_WATCH_TIME - VIDEO_V50_WATCH_TIME - QUARTILE_95_PERCENT_VIEW - VIDEO_10S_VIEW - VIDEO_START query_website: description: Website with path or domain only in: query name: website required: true schema: type: string example: mysite.test QueryParams.query_ad_account_id: name: ad_account_id in: query required: false description: Unique identifier of an ad account. schema: type: string maxLength: 18 pattern: ^\d+$ QueryParams.query_board_privacy: name: privacy in: query required: false schema: $ref: '#/components/schemas/QueryParams.BoardPrivacyFilter' QueryParams.query_creative_types: name: creative_types in: query required: false description: 'Pin creative types filter. **Note:** SHOP_THE_PIN has been deprecated. Please use COLLECTION instead.' schema: type: array items: $ref: '#/components/schemas/CreativeType' QueryParams.query_include_protected_pins: name: include_protected_pins in: query required: false schema: type: boolean default: false QueryParams.query_pin_filter: name: pin_filter in: query required: false schema: type: string enum: - exclude_native - exclude_repins - has_been_promoted QueryParams.query_pin_metrics: name: pin_metrics in: query required: false schema: type: boolean default: false QueryParams.query_pin_type: name: pin_type in: query required: false schema: type: string enum: - PRIVATE result_limit: description: Max search result size in: query name: limit example: 4 required: false schema: type: integer default: 10 maximum: 50 minimum: 1 SubscriptionIdPathParam: name: subscription_id in: path required: true description: Unique identifier of a subscription. schema: type: string pattern: ^\d+$ schemas: Account: type: object properties: about: description: Profile about description. type: string account_type: description: Type of account type: string enum: - PINNER - BUSINESS board_count: description: 'User account board count.
**Note**: Board count on user account level may differ from counts found elsewhere due to attribution of collaborative Boards.' type: integer example: 14 nullable: true readOnly: true business_name: type: string nullable: true follower_count: description: User account follower count. type: integer example: 10 nullable: true readOnly: true following_count: description: User account following count. type: integer example: 347 nullable: true readOnly: true id: description: User account ID. type: string example: '2783136121146311751' pattern: ^\d+$ monthly_views: description: User account monthly views. type: integer example: 163 nullable: true readOnly: true pin_count: description: User account pin count. This includes both created and saved pins. type: integer example: 339 nullable: true readOnly: true profile_image: type: string username: type: string website_url: type: string readOnly: true ActionType: description: 'Ad group billable event type. For update, only draft ad groups may update billable event.' type: string example: CLICKTHROUGH enum: - CLICKTHROUGH - IMPRESSION - VIDEO_V_50_MRC AdAccount: type: object properties: country: $ref: '#/components/schemas/Country' created_time: description: Creation time. Unix timestamp in seconds. type: integer example: 1451431341 nullable: true title: created_time currency: $ref: '#/components/schemas/Currency' id: type: string name: type: string owner: type: object properties: id: description: The owning account's user ID. type: string username: description: Public username for the user account type: string title: Ad account owner permissions: type: array items: $ref: '#/components/schemas/BusinessAccessRole' nullable: true title: permissions updated_time: description: Last update time. Unix timestamp in seconds. type: integer example: 1451431341 nullable: true title: updated_time readOnly: true AdAccountAnalyticsResponse: type: array items: type: object properties: AD_ACCOUNT_ID: description: The ID of the advertiser 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: - AD_ACCOUNT_ID additionalProperties: true example: DATE: '2021-04-01' AD_ACCOUNT_ID: '547602124502' SPEND_IN_DOLLAR: 30 TOTAL_CLICKTHROUGH: 216 AdAccountCreateRequest: type: object properties: country: $ref: '#/components/schemas/Country' currency: $ref: '#/components/schemas/Currency' name: description: Ad Account name. type: string example: ACME Tools maxLength: 256 title: name owner_user_id: description: Advertiser's owning user ID. type: string example: '383791336903426391' pattern: ^\d+$ title: owner_user_id example: country: US currency: USD owner_user_id: '383791336903426391' name: ACME Tools title: AdAccountCreate AdAccountCreateSubscriptionRequest: type: object properties: lead_form_id: description: Lead form ID. type: string example: '383791336903426390' pattern: ^\d+$ title: Lead form ID partner_access_token: description: Partner access token. Only for clients that requires authentication. We recommend to avoid this param. type: string partner_metadata: description: Partner metadata. Only for clients that requires special handling. We recommend to avoid this param. type: object properties: subscriber_key: description: Text field value that uniquely identifies a subscriber. type: string partner_refresh_token: description: Partner refresh token. Only for clients that requires authentication. We recommend to avoid this param. type: string webhook_url: description: Standard HTTPS webhook URL. type: string example: 'https://webhook.example.com/xyz' title: webhook_url example: webhook_url: 'https://webhook.example.com/xyz' lead_form_id: '383791336903426390' required: - webhook_url title: AdAccountCreateSubscriptionRequest AdAccountCreateSubscriptionResponse: type: object properties: ad_account_id: description: The Ad Account ID that this lead form belongs to. type: string example: '549755885176' pattern: ^\d+$ api_version: description: API version. type: string example: v5 created_time: description: Subscription creation time. Unix timestamp in milliseconds. type: integer example: 1699209842000 cryptographic_algorithm: description: Lead data encryption algorithm. type: string example: AES-256-GCM nullable: true cryptographic_key: description: Base64 encoded key for client to decrypt lead data. type: string example: ucvxbV2Tdss0vNeYsdh4Qfa/1Khm2b0PqXvXeTTZh54 nullable: true id: description: Subscription ID. type: string example: '8078432025948590686' pattern: ^\d+$ lead_form_id: description: Lead form ID. type: string example: '383791336903426390' nullable: true pattern: ^\d+$ user_account_id: description: User account used to subscribe lead data. type: string example: '549755885175' pattern: ^\d+$ webhook_url: description: Standard HTTPS webhook URL. type: string example: 'https://webhook.example.com/xyz' title: AdAccountCreateSubscriptionResponse AdAccountGetSubscriptionResponse: type: object allOf: - type: object description: Lead ads subscription response common fields. properties: lead_form_id: description: Lead form ID. type: string example: '383791336903426390' nullable: true pattern: ^\d+$ webhook_url: description: Standard HTTPS webhook URL. type: string example: 'https://webhook.example.com/xyz' - type: object properties: ad_account_id: description: The Ad Account ID that this lead form belongs to. type: string example: '549755885176' pattern: ^\d+$ api_version: description: API version. type: string example: v5 created_time: description: Lead subscription creation time. Unix timestamp in milliseconds. type: integer example: 1699209842000 cryptographic_algorithm: description: Lead data encryption algorithm. type: string example: AES-256-GCM nullable: true cryptographic_key: description: Base64 encoded key for client to decrypt lead data. type: string example: ucvxbV2Tdss0vNeYsdh4Qfa/1Khm2b0PqXvXeTTZh54 nullable: true id: description: Subscription ID. type: string example: '8078432025948590686' pattern: ^\d+$ user_account_id: description: User account used to subscribe lead data. type: string example: '549755885175' pattern: ^\d+$ title: AdAccountGetSubscriptionsResponse AdAccountsCountryResponse: type: object properties: items: type: array items: $ref: '#/components/schemas/AdAccountsCountryResponseData' AdAccountsCountryResponseData: type: object properties: code: type: string $ref: '#/components/schemas/AdCountry' currency: description: Country currency. type: string example: Dollars index: description: Country index type: number example: 1 name: description: Country name type: string example: United States of America AdArrayResponse: type: object properties: items: type: array items: $ref: '#/components/schemas/AdArrayResponseElement' title: AdArrayResponse AdArrayResponseElement: type: object properties: data: $ref: '#/components/schemas/AdResponse' exceptions: $ref: '#/components/schemas/Exception' CustomizableCTAType: description: 'Select a call to action (CTA) to display below your ad. Available only for ads with direct links enabled. CTA options for consideration and conversion campaigns are LEARN_MORE, SHOP_NOW, BOOK_NOW, SIGN_UP, VISIT_SITE, BUY_NOW, GET_OFFER, ORDER_NOW, ADD_TO_CART (for conversion campaigns with add to cart conversion events only)' type: string example: LEARN_MORE enum: - GET_OFFER - LEARN_MORE - ORDER_NOW - SHOP_NOW - SIGN_UP - SUBSCRIBE - BUY_NOW - CONTACT_US - GET_QUOTE - VISIT_SITE - APPLY_NOW - BOOK_NOW - REQUEST_DEMO - REGISTER_NOW - FIND_A_DEALER - ADD_TO_CART - WATCH_NOW - READ_MORE - BUY_TICKETS - DONATE_NOW - DOWNLOAD - EXPLORE_MORE - FIND_A_LOCATION - GET_DEAL - GET_RECIPE - GET_SHOWTIMES - ON_SALE - PLAY_GAME - TRY_IT - null nullable: true AdCommon: description: Creation fields type: object properties: ad_group_id: description: ID of the ad group that contains the ad. type: string example: '2680059592705' pattern: ^(AG)?\d+$ android_deep_link: description: Deep link URL for Android devices. type: string nullable: true carousel_android_deep_links: description: Comma-separated deep links for the carousel pin on Android. type: array items: type: string nullable: true carousel_destination_urls: description: Comma-separated destination URLs for the carousel pin to promote. type: array items: type: string nullable: true carousel_ios_deep_links: description: Comma-separated deep links for the carousel pin on iOS. type: array items: type: string nullable: true click_tracking_url: description: Tracking url for the ad clicks. type: string nullable: true creative_type: $ref: '#/components/schemas/CreativeType' customizable_cta_type: $ref: '#/components/schemas/CustomizableCTAType' destination_url: description: Destination URL. type: string nullable: true grid_click_type: $ref: '#/components/schemas/GridClickType' ios_deep_link: description: Deep link URL for iOS devices. type: string nullable: true is_pin_deleted: description: Is original pin deleted? type: boolean example: false is_removable: description: Is pin repinnable? type: boolean example: false lead_form_id: description: Lead form ID for lead ad generation. type: string nullable: true pattern: ^(AG)?\d+$ name: description: Name of the ad - 255 chars max. type: string nullable: true quiz_pin_data: description: 'Before creating a quiz ad, you must create an organic Pin using POST/Create Pin for each result in the quiz. Quiz ads cannot be saved by a Pinner. Quiz ad results can be saved.' type: object allOf: - $ref: '#/components/schemas/QuizPinData' nullable: true status: $ref: '#/components/schemas/EntityStatus' tracking_urls: type: object allOf: - $ref: '#/components/schemas/TrackingUrls' nullable: true view_tracking_url: description: Tracking URL for ad impressions. type: string nullable: true AdCountry: description: Country ID from ISO 3166-1 alpha-2. type: string 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 AdCreateRequest: type: object allOf: - $ref: '#/components/schemas/AdCommon' - $ref: '#/components/schemas/AdPinId' - type: object title: Request schema for creating ads required: - ad_group_id - pin_id - creative_type AdPinAnalytics: type: object properties: DATE: description: 'Current metrics date. Only returned when granularity is a time-based value (`DAY`, `HOUR`, `WEEK`, `MONTH`)' type: string format: date PIN_ID: description: The ID of the pin that the metric belongs to. type: string pattern: ^\d+$ example: DATE: '2021-04-01' PIN_ID: '217861700718936379' SPEND_IN_DOLLAR: 30 TOTAL_CLICKTHROUGH: 216 additionalProperties: true required: - PIN_ID AdPinsAnalyticsResponse: type: array items: $ref: '#/components/schemas/AdPinAnalytics' AdvancedAuctionItemsGetRequest: description: Request object used to get bid options values for a batch of retail catalog items type: object properties: catalog_id: description: Catalog id pertaining to the retail item type: string example: '2680059592705' pattern: ^\d+$ items: description: A list of retail catalog items to fetch bid options for type: array items: $ref: '#/components/schemas/AdvancedAuctionItemsGetRecord' maxItems: 10000 minItems: 1 additionalProperties: false required: - catalog_id - items AdvancedAuctionItemsGetRecord: description: Object uniquely identifying a retail catalog item allOf: - $ref: '#/components/schemas/AdvancedAuctionKey' AdvancedAuctionItems: description: Response object containing item bid options type: object properties: catalog_id: description: Response object of item bid options type: string example: '2680059592705' pattern: ^\d+$ items: description: Array with item bid options type: array items: $ref: '#/components/schemas/AdvancedAuctionItem' AdvancedAuctionItemsSubmitRequest: description: Request containing operations to perform on bid prices and bid multipliers for a batch of retail catalog items type: object properties: catalog_id: description: Catalog id pertaining to all items type: string example: '2680059592705' pattern: ^\d+$ items: description: Array of item bid option operations type: array items: $ref: '#/components/schemas/AdvancedAuctionItemsSubmitRecord' maxItems: 10000 minItems: 1 additionalProperties: false required: - catalog_id - items AdvancedAuctionItemsSubmitRecord: description: Object describing an item bid option operation type: object properties: operation: $ref: '#/components/schemas/AdvancedAuctionOperation' discriminator: propertyName: operation mapping: UPSERT: '#/components/schemas/AdvancedAuctionItemsSubmitUpsertRecord' DELETE: '#/components/schemas/AdvancedAuctionItemsSubmitDeleteRecord' oneOf: - $ref: '#/components/schemas/AdvancedAuctionItemsSubmitUpsertRecord' - $ref: '#/components/schemas/AdvancedAuctionItemsSubmitDeleteRecord' required: - operation AdvancedAuctionItemsSubmitUpsertRecord: description: Object describing an item bid option upsert operation example: item_id: DS0294-M country: US language: EN operation: UPSERT bid_options: bid_in_micro_currency: 5000000 app_type_multipliers: android_mobile: 1.1 android_tablet: 1.1 ipad: 1.2 iphone: 1.2 web: 0.9 web_mobile: 0.8 update_mask: - BID - APP_TYPE_BID_MULTIPLIER_SET errors: - code: 6 message: Bid in micro currency should be non-negative allOf: - $ref: '#/components/schemas/AdvancedAuctionItem' - type: object properties: errors: description: |- Array with validation errors for the supplied item bid option modification operation. A non empty errors list means this single item operation was not applied. type: array items: $ref: '#/components/schemas/AdvancedAuctionOperationError' update_mask: description: 'The list of item bid option fields to be set or updated. Fields specified in the updated mask without a value specified in the `bid_options` object in the body will be set to `null`. If an item bid option record is being created, fields not specified in the update mask will be initialized to `null`.' type: array items: $ref: '#/components/schemas/UpdateMaskBidOptionField' example: - BID - APP_TYPE_BID_MULTIPLIER_SET nullable: true required: - update_mask AdvancedAuctionItemsSubmitDeleteRecord: description: Object describing an item bid option deletion operation example: item_id: DS0294-M country: US language: EN operation: DELETE errors: - code: 6 message: Bid in micro currency should be non-negative allOf: - $ref: '#/components/schemas/AdvancedAuctionKey' - type: object properties: errors: description: |- Array with validation errors for the supplied item bid option modification operation. A non empty errors list means this single item operation was not applied. type: array items: $ref: '#/components/schemas/AdvancedAuctionOperationError' AdvancedAuctionProcessedItems: description: Response object containing the results of an operation on an item bid option type: object properties: catalog_id: description: Catalog id pertaining to all items type: string example: '2680059592705' pattern: ^\d+$ items: description: Array of advanced auction processed items type: array items: $ref: '#/components/schemas/AdvancedAuctionItemsSubmitRecord' AdvancedAuctionItem: allOf: - $ref: '#/components/schemas/AdvancedAuctionKey' - type: object properties: bid_options: $ref: '#/components/schemas/AdvancedAuctionBidOptions' required: - bid_options title: Advanced Auction Item AdvancedAuctionKey: description: Object uniquely identifying a retail catalog item type: object properties: country: $ref: '#/components/schemas/Country' item_id: description: The catalog retail item id in the merchant namespace type: string example: DS0294-M language: $ref: '#/components/schemas/Language' required: - item_id - country - language AdvancedAuctionOperation: type: string enum: - UPSERT - DELETE AdvancedAuctionBidOptions: description: Object describing a retail catalog item's bid options (bid price and bid multipliers). type: object properties: app_type_multipliers: $ref: '#/components/schemas/AppTypeMultipliers' bid_in_micro_currency: $ref: '#/components/schemas/BidInMicroCurrency' placement_multipliers: $ref: '#/components/schemas/PlacementMultipliers' AdvancedAuctionOperationError: description: Error which occurred when applying a bid options operation to a specific item. type: object properties: code: description: The error code for the item bid option operation validation error type: integer example: 6 message: description: Message describing the item bid option operation validation error type: string example: Bid in micro currency should be non-negative BidInMicroCurrency: description: Bid price in micro currency. A value of 0 will stop distribution for this item in `MAX_BID` ad groups in `CATALOG_SALES` campaigns. A value of `null` will fallback to the ad group's `bid_in_micro_currency`. type: integer format: int64 example: 5000000 nullable: true AppTypeMultipliers: description: |- This represents a mapping from app type targeting criteria to a bid price adjustment. Multiplier values must be between 0 and 10. A value of 10 represents a 900% increase in bid price (from $1 to $10 for example). A value of 0 will stop distribution for this item on the specified app type in `MAX_BID` ad groups in `CATALOG_SALES` campaigns. All app type multipliers must be set at the same time. If a multiplier is not provided it is assumed to be 1 (no bid adjustment). type: object properties: APP_TYPE: $ref: '#/components/schemas/TargetingSpecAppType' example: android_mobile: 1.1 android_tablet: 1.1 ipad: 1.2 iphone: 1.2 web: 0.9 web_mobile: 0.8 additionalProperties: type: number format: double nullable: true TargetingSpecAppType: type: string enum: - android_mobile - android_tablet - ipad - iphone - web - web_mobile PlacementMultipliers: description: |- This represents a mapping from placement to a bid price adjustment. Multiplier values must be between 0 and 10. A value of 10 represents a 900% increase in bid price (from $1 to $10 for example). A value of 0 will stop distribution for this item on the specified placement in `MAX_BID` ad groups in `CATALOG_SALES` campaigns. All placement multipliers must be set at the same time. If a multiplier is not provided it is assumed to be 1 (no bid adjustment). type: object properties: PLACEMENT: type: string enum: - SEARCH - BROWSE - RELATED_PINS example: browse: 0.9 search: 1.2 related_pins: 1.1 additionalProperties: type: number format: double nullable: true UpdateMaskBidOptionField: description: bid option field to apply operation updates to type: string example: BID enum: - BID - APP_TYPE_BID_MULTIPLIER_SET - PLACEMENT_BID_MULTIPLIER_SET AdGroupArrayResponse: type: object properties: items: type: array items: $ref: '#/components/schemas/AdGroupArrayResponseElement' AdGroupArrayResponseElement: type: object properties: data: $ref: '#/components/schemas/AdGroupResponse' exceptions: type: array items: $ref: '#/components/schemas/Exception' AdGroupCommon: type: object properties: auto_targeting_enabled: description: 'Enable auto-targeting for ad group. Default value is True. Also known as "Pinterest Performance+ targeting".' type: boolean example: true nullable: true bid_in_micro_currency: description: 'Bid price in micro currency. This field is **REQUIRED** for the following campaign objective_type/billable_event combinations: AWARENESS/IMPRESSION, CONSIDERATION/CLICKTHROUGH, CATALOG_SALES/CLICKTHROUGH.' type: integer example: 5000000 nullable: true bid_strategy_type: description: 'Bid strategy type. For Campaigns with Video Completion objectives, the only supported bid strategy type is AUTOMATIC_BID, also known as "Pinterest Performance+ bidding".' type: string example: MAX_BID enum: - AUTOMATIC_BID - MAX_BID - TARGET_AVG - null nullable: true title: BidStrategyType billable_event: $ref: '#/components/schemas/ActionType' budget_in_micro_currency: description: Budget in micro currency. This field is **REQUIRED** for non-CBO (campaign budget optimization) campaigns. A CBO campaign automatically generates ad group budgets from its campaign budget to maximize campaign outcome. A CBO campaign is limited to 70 or less ad groups. type: integer example: 5000000 nullable: true budget_type: type: string allOf: - $ref: '#/components/schemas/BudgetType' campaign_id: description: Campaign ID of the ad group. type: string example: '626736533506' pattern: '^[C]?\d+$' end_time: description: |- Timestamp in Unix format for scheduling when ads in the ad group stop appearing. If not specified, ads run indefinitely unless you update the ad group by changing their status to `paused`. Cannot occur after `end_time` for parent campaign (if specified). Learn about scheduling ads. For certain organizations (Closed beta): Supported for campaigns with Campaign Budget Optimization (CBO). For all organizations: Supported for campaigns without CBO. type: integer example: 5705424000 nullable: true is_creative_optimization: description: 'Enable creative optimization for the ad group, default value is FALSE. When enabled, you allow Pinterest to automatically turn your product Pins into ads in different formats (collections and shopping) and deliver those ads to users at scale.' type: boolean example: true nullable: true lifetime_frequency_cap: description: Set a limit to the number of times a promoted pin from this campaign can be impressed by a pinner within the past rolling 30 days. Only available for CPM (cost per mille (1000 impressions)) ad groups. A CPM ad group has an IMPRESSION billable_event value. This field **REQUIRES** the `end_time` field. type: integer example: 100 name: description: Ad group name. type: string example: 'Ad Group For Pin: 687195905986' optimization_goal_metadata: description: Optimization goals for objective-based performance campaigns. **REQUIRED** when campaign's `objective_type` is set to `"WEB_CONVERSION"`. type: object allOf: - $ref: '#/components/schemas/OptimizationGoalMetadata' nullable: true pacing_delivery_type: type: string allOf: - $ref: '#/components/schemas/PacingDeliveryType' placement_group: description: Placement group. type: string allOf: - $ref: '#/components/schemas/PlacementGroupType' promotion_application_level: description: Specify if the promotion is applied at ad group or item level type: string example: ITEM enum: - NONE - ITEM - AD_GROUP - null nullable: true promotion_id: description: 'Promotion ID. To clear this field, set to null.' type: string example: '7834020347906' default: '0' nullable: true pattern: ^\d+$ start_time: description: |- Timestamp in Unix format for scheduling when ads in the ad group start to appear. If not specified, ads appear during parent campaign's `start_time`. Cannot precede `start_time` for parent campaign (if specified). Learn about scheduling ads. For certain organizations (Closed beta): Supported for campaigns with Campaign Budget Optimization (CBO). For all organizations: Supported for campaigns without CBO. type: integer example: 5686848000 nullable: true status: description: Ad group/entity status. type: string allOf: - $ref: '#/components/schemas/EntityStatus' targeting_spec: $ref: '#/components/schemas/TargetingSpec' targeting_template_ids: description: 'Targeting template IDs applied to the ad group. We currently only support 1 targeting template per ad group. To use targeting templates, do not set any other targeting fields: targeting_spec, tracking_urls, auto_targeting_enabled, placement_group. To clear all targeting template IDs, set this field to [''0''].' type: array items: description: Targeting template ID. type: string pattern: ^\d+$ example: '643' maxItems: 1 nullable: true tracking_urls: description: 'Third-party tracking URLs.
JSON object with the format: {"Tracking event enum":[URL string array],...}
For example: {"impression": ["URL1", "URL2"], "click": ["URL1", "URL2", "URL3"]}.
Up to three tracking URLs are supported for each event type. Tracking URLs set at the ad group or ad level can override those set at the campaign level. May be null. Pass in an empty object - {} - to remove tracking URLs.

For more information, see Third-party and dynamic tracking.' type: object allOf: - $ref: '#/components/schemas/TrackingUrls' nullable: true AdGroupCreateRequest: type: object allOf: - $ref: '#/components/schemas/AdGroupCommon' - type: object properties: auto_targeting_enabled: type: boolean allOf: - type: boolean description: 'Enable auto-targeting for ad group. Default value is True. Also known as "Pinterest Performance+ targeting".' example: true bid_multiplier: description: |- Pinterest Performance+ campaigns. type: number example: 1 maximum: 10 minimum: 0 budget_type: type: string default: DAILY allOf: - $ref: '#/components/schemas/BudgetType' pacing_delivery_type: type: string default: STANDARD allOf: - $ref: '#/components/schemas/PacingDeliveryType' required: - billable_event - campaign_id - name AdGroupResponse: type: object allOf: - $ref: '#/components/schemas/AdGroupCommon' - type: object properties: ad_account_id: description: Advertiser ID. type: string example: '549755885175' pattern: ^\d+$ bid_multiplier: description: |- Pinterest Performance+ campaigns. type: number example: 1 maximum: 10 minimum: 0 nullable: true conversion_learning_mode_type: description: oCPM learn mode type: string example: ACTIVE enum: - NOT_ACTIVE - ACTIVE - null nullable: true created_time: description: Ad group creation time. Unix timestamp in seconds. type: integer example: 1476477189 dca_assets: description: '[DCA] The Dynamic creative assets to use for DCA. Dynamic Creative Assembly (DCA) accepts basic creative assets of an ad (image, video, title, call to action, logo etc). Then it automatically generates optimized ad combinations based on these assets.' feed_profile_id: description: Feed Profile ID associated to the adgroup. type: string example: '626736533506' id: description: Ad group ID. type: string example: '2680060704746' pattern: ^\d+$ summary_status: description: Ad group summary status. type: string allOf: - $ref: '#/components/schemas/AdGroupSummaryStatus' type: description: Always "adgroup". type: string default: adgroup updated_time: description: Ad group last update time. Unix timestamp in seconds. type: integer example: 1476477189 AdGroupSummaryStatus: description: Summary status for ad group type: string example: RUNNING enum: - RUNNING - PAUSED - NOT_STARTED - COMPLETED - ADVERTISER_DISABLED - ARCHIVED - DRAFT - DELETED_DRAFT AdGroupUpdateRequest: type: object allOf: - $ref: '#/components/schemas/AdGroupCommon' - type: object properties: bid_multiplier: description: |- Pinterest Performance+ campaigns. type: number example: 1 maximum: 10 minimum: 0 id: description: Ad group ID. type: string example: '2680060704746' pattern: ^\d+$ required: - id AdGroupsAnalyticsResponse: type: array items: type: object properties: AD_GROUP_ID: description: The ID of the ad group that this metrics belongs to. Returned as long as aggregate_report_rows is not true. 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 additionalProperties: true example: DATE: '2021-04-01' AD_GROUP_ID: '547602124502' SPEND_IN_DOLLAR: 30 TOTAL_CLICKTHROUGH: 216 AdGroupAudienceSizingRequest: type: object properties: auto_targeting_enabled: description: 'Enable auto-targeting for ad group. Default value is True. Also known as "Pinterest Performance+ targeting".' type: boolean example: true default: true creative_types: description: 'Pin creative types filter.

Note: SHOP_THE_PIN has been deprecated. Please use COLLECTION instead.' type: array items: type: string example: REGULAR enum: - REGULAR - VIDEO - SHOPPING - CAROUSEL - MAX_VIDEO - SHOP_THE_PIN - COLLECTION - IDEA nullable: true keywords: description: 'Array of keyword objects. If the keywords field is missing, all keywords will be targeted.' type: array items: type: object properties: match_type: $ref: '#/components/schemas/MatchTypeResponse' value: description: Keyword value (120 chars max). type: string required: - match_type - value nullable: true placement_group: description: Placement group. type: string default: ALL allOf: - $ref: '#/components/schemas/PlacementGroupType' product_group_ids: description: 'Targeted product group IDs.

Note: This can only be combined with shopping/catalog sales campaigns. For more information, click here. SHOPPING_RETARGETING must be included in targeting_spec object or this field will be ignored.' type: array items: type: string pattern: ^\d+$ example: '23423422123' nullable: true targeting_spec: $ref: '#/components/schemas/TargetingSpec' AdGroupAudienceSizingResponse: type: object properties: audience_size_lower_bound: description: 'The lower confidence bound of the estimated potential audience size. "Potential audience size" estimates the number of people you may be able to reach per month with your campaign. It is based on historical advertising data and the targeting criteria you select. It does not guarantee results or take into account factors such as bid, budget, schedule, seasonality or product experiments.' type: number example: 100000 audience_size_upper_bound: description: 'The upper confidence bound of the estimated potential audience size. "Potential audience size" estimates the number of people you may be able to reach per month with your campaign. It is based on historical advertising data and the targeting criteria you select. It does not guarantee results or take into account factors such as bid, budget, schedule, seasonality or product experiments.' type: number example: 150000 AdPinId: type: object properties: pin_id: description: Pin ID. type: string example: '394205773611545468' pattern: ^\d+$ AdPreviewRequest: oneOf: - example: image_url: 'https://somewebsite.com/someimage.jpg' title: My Preview Image properties: image_url: description: Image URL. type: string example: 'https://somewebsite.com/someimage.jpg' title: image_url title: description: Title displayed below ad. type: string example: My Preview Image title: title required: - image_url - title title: AdPreviewCreateFromImage type: object - example: pin_id: '7389479023' properties: pin_id: description: Pin ID. type: string example: '7389479023' title: pin_id required: - pin_id title: AdPreviewCreateFromPin type: object - example: catalog_product_group_id: '123456789' image_tag: Christmas Sale creative_type: COLLECTION hero_pin_id: '987654321' properties: catalog_product_group_id: description: Catalog Product Group Id. type: string example: '123456789' pattern: ^\d+$ title: catalog_product_group_id creative_type: description: Ad format of the shopping ad preview. type: string example: SHOPPING enum: - SHOPPING - CAROUSEL - COLLECTION - REGULAR customizable_cta_type: allOf: - $ref: '#/components/schemas/CustomizableCTAType' - description: 'Select a call to action (CTA) to display below your ad. CTA options for catalog sales campaigns are SHOP_NOW, BOOK_NOW, ON_SALE, GET_DEAL, BUY_ONLINE_PICKUP_IN_STORE' hero_image_title: description: Title displayed below ad. type: string example: My Preview Image title: hero_image_title hero_image_url: description: Hero image URL. type: string example: 'https://somewebsite.com/someimage.jpg' title: hero_image_url hero_pin_id: description: 'Pin id for the hero image. When creative type is COLLECTION, either hero_pin_id or (hero_image_url, hero_image_title) is required.' type: string example: '987654321' pattern: ^\d+$ title: hero_pin_id image_tag: description: Multi image template tag. type: string example: Christmas Sale title: image_tag item_id: description: 'Item id for product to preview standard shopping ads, optional and only applicable when creative type is SHOPPING.' type: string example: '111111111' title: item_id preferred_media_type: description: Preferred media type. type: string example: IMAGE enum: - VIDEO - IMAGE video_tag: description: 'Multi video template tag, image_tag and video_tag are mutual exclusive.' type: string example: Black Friday Sale title: video_tag required: - catalog_product_group_id - creative_type title: AdPreviewShopping type: object AdPreviewURLResponse: type: object properties: url: description: |- 'Preview URL, expires in 7 days. Can be used in an iframe. For example: https://ads.pinterest.com/ad-preview/74667c814dd2b19/ The preview object ID/key is the last param - 74667c814dd2b19' type: string example: 'https://ads.pinterest.com/ad-preview/58f1a0e9ab0bd0f99462a0e4c5dd7e8297888c8a36331e88f757abe8f0295d31/' title: url example: url: 'https://ads.pinterest.com/ad-preview/58f1a0e9ab0bd0f99462a0e4c5dd7e8297888c8a36331e88f757abe8f0295d31/' title: AdPreviewURLResponse AdResponse: type: object allOf: - $ref: '#/components/schemas/AdCommon' - $ref: '#/components/schemas/AdPinId' - type: object properties: ad_account_id: description: The ID of the advertiser that this ad belongs to. type: string example: '549755885175' pattern: ^\d+$ campaign_id: description: ID of the ad campaign that contains this ad. type: string example: '626735565838' pattern: ^\d+$ collection_items_destination_url_template: description: Destination URL template for all items within a collections drawer. type: string nullable: true created_time: description: Pin creation time. Unix timestamp in seconds. type: integer example: 1451431341 id: description: The ID of this ad. type: string example: '687195134316' pattern: ^\d+$ rejected_reasons: description: Enum reason why the pin was rejected. Returned if review_status is "REJECTED". type: array items: type: string description: ad disapproval reasons enum: - HASHTAGS - PROMOTIONS_AND_PRICES - TARGETING - LANDING_PAGE - CAPS_AND_SYMBOLS - SHOCKING - WEIGHT_LOSS - PROHIBITED_PRODUCT - AUTHENTICITY - NUDITY - CONFUSING_DESIGN - URGENCY - RATINGS - APP - ALCOHOL - CONTESTS - POLITICAL - OTHER - IMAGE - NAR - INCONSISTENT - CLICKBAIT - NO_DESCRIPTION - LOW_QUALITY - EXAGGERATED_CLAIMS - PINTEREST_BRAND - ALCOHOL_NO_SALE - LANDING_PAGE_SPEED - LANDING_PAGE_HARDWALL - LANDING_PAGE_BROKEN - LANDING_PAGE_QUALITY - OUT_OF_STOCK - IMAGE_LOW_QUALITY - IMAGE_BUSY - IMAGE_POORLY_EDITED - IMAGE_BEFORE_AFTER - UGC - FAKE_BUTTONS - WEAPONS - SENSITIVE - UNACCEPTABLE_BUSINESS - SUSPICIOUS_CLAIMS - PHARMA - SUSPICIOUS_SUPPLEMENTS - ILLEGAL_RECREATIONAL_DRUG - LOW_QUALITY_LANDING_PAGE - RESTRICTED_HEALTHCARE - INCONSISTENT_LANG_FR rejection_labels: description: Text reason why the pin was rejected. Returned if review_status is "REJECTED". type: array items: type: string review_status: description: Ad review status type: string example: PENDING enum: - OTHER - PENDING - REJECTED - APPROVED summary_status: description: Ad summary status type: string allOf: - $ref: '#/components/schemas/PinPromotionSummaryStatus' type: description: Always "ad". type: string example: pinpromotion updated_time: description: Last update time. Unix timestamp in seconds. type: integer example: 1451431341 AdUpdateRequest: type: object allOf: - $ref: '#/components/schemas/AdCommon' - type: object title: AdUpdateRequest properties: id: description: The ID of this ad. type: string example: '687195134316' pattern: ^\d+$ title: id pin_id: description: Pin ID. This field may only be updated for draft ads. type: string example: '394205773611545468' nullable: true pattern: ^\d+$ required: - id AdsAnalyticsAdGroupTargetingType: description: Reporting targeting type for ad groups type: string example: APPTYPE enum: - KEYWORD - APPTYPE - GENDER - LOCATION - PLACEMENT - COUNTRY - TARGETED_INTEREST - PINNER_INTEREST - AUDIENCE_INCLUDE - GEO - AGE_BUCKET - REGION - AGE_BUCKET_AND_GENDER - CREATIVE_ENHANCEMENTS AdsAnalyticsAdTargetingType: description: Reporting targeting type for ads type: string example: APPTYPE enum: - KEYWORD - APPTYPE - GENDER - LOCATION - PLACEMENT - COUNTRY - TARGETED_INTEREST - PINNER_INTEREST - AUDIENCE_INCLUDE - GEO - AGE_BUCKET - REGION - QUIZ_RESULT - AGE_BUCKET_AND_GENDER AdsAnalyticsCampaignTargetingType: description: Reporting targeting type for campaigns type: string example: APPTYPE enum: - KEYWORD - APPTYPE - GENDER - LOCATION - PLACEMENT - COUNTRY - TARGETED_INTEREST - PINNER_INTEREST - AUDIENCE_INCLUDE - GEO - AGE_BUCKET - REGION - CREATIVE_TYPE - AGE_BUCKET_AND_GENDER - AUDIENCE_MULTIPLIER AdsAnalyticsCreateAsyncRequest: type: object allOf: - type: object properties: attribution_types: description: List of types of attribution for the conversion report type: array items: $ref: '#/components/schemas/ConversionReportAttributionType' click_window_days: 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.' type: integer default: 30 allOf: - $ref: '#/components/schemas/ConversionAttributionWindowDays' 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.' type: string default: TIME_OF_AD_ACTION allOf: - $ref: '#/components/schemas/ConversionReportTimeType' end_date: description: 'Metric report end date (UTC). Format: YYYY-MM-DD' type: string example: '2020-12-20' pattern: '^(\d{4})-(\d{2})-(\d{2})$' engagement_window_days: 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.' type: integer default: 30 allOf: - $ref: '#/components/schemas/ConversionAttributionWindowDays' 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 type: string allOf: - $ref: '#/components/schemas/Granularity' start_date: description: 'Metric report start date (UTC). Format: YYYY-MM-DD' type: string example: '2020-12-20' pattern: '^(\d{4})-(\d{2})-(\d{2})$' view_window_days: 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.' type: integer default: 1 allOf: - $ref: '#/components/schemas/ConversionAttributionWindowDays' required: - start_date - end_date - granularity - type: object allOf: - $ref: '#/components/schemas/CampaignIdFilter' - type: object properties: campaign_statuses: description: List of status values for filtering type: array items: $ref: '#/components/schemas/CampaignSummaryStatus' example: - RUNNING - PAUSED maxItems: 6 minItems: 1 - $ref: '#/components/schemas/CampaignObjectivesFilter' - type: object properties: campaign_brand_label: description: Campaign brand label for filtering. type: string example: Brand - $ref: '#/components/schemas/AdGroupIdFilter' - type: object properties: ad_group_statuses: description: List of values for filtering type: array items: $ref: '#/components/schemas/AdGroupSummaryStatus' example: - RUNNING - PAUSED maxItems: 6 minItems: 1 - type: object properties: ad_ids: description: 'List of ad ids [This parameter is no supported for Product Item Level Reports]' type: array items: type: string pattern: ^\d+$ example: - '12345678' maxItems: 500 minItems: 1 - type: object properties: ad_statuses: description: 'List of values for filtering [This parameter is not supported for Product Item Level Reports]' type: array items: $ref: '#/components/schemas/PinPromotionSummaryStatus' example: - APPROVED - PAUSED maxItems: 6 minItems: 1 - type: object properties: product_group_ids: description: List of product group ids type: array items: type: string pattern: ^\d+$ example: - '12345678' maxItems: 500 minItems: 1 - type: object properties: product_group_statuses: description: List of values for filtering type: array items: $ref: '#/components/schemas/ProductGroupSummaryStatus' example: - RUNNING - PAUSED maxItems: 6 minItems: 1 - type: object properties: product_item_ids: description: List of product item ids type: array items: type: string pattern: ^\d+$ example: - '12345678' maxItems: 500 minItems: 1 - $ref: '#/components/schemas/TargetingTypeFilter' - type: object properties: metrics_filters: description: List of metrics filters type: array items: $ref: '#/components/schemas/AdsAnalyticsMetricsFilter' minItems: 1 - type: object required: - level - columns properties: columns: description: Metric and entity columns. Pin promotion and ad related columns are not supported for the Product Item level reports. type: array items: $ref: '#/components/schemas/ReportingColumnAsync' combine_targeting_types: description: 'Determines if the targeting types included in the request should be consolidated into a single breakdown. For example, when combine_targeting_types is set to true, if GENDER and COUNTRY are targeting types in the request, the response will have a targeting type of GENDER_AND_COUNTRY and targeting values such as female&US. This feature is currently in BETA and is not available to all users.' type: boolean example: false default: false custom_conversion_event_metrics: description: List of advertiser-defined custom conversion event metrics to include in the report type: array items: type: object properties: custom_event_metrics_type: description: Metrics for custom defined conversion event. type: string example: ADE_COST_PER_ACTION enum: - ADE_COST_PER_ACTION - ADE_ROAS - ADE_TOTAL_CONVERSIONS - ADE_TOTAL_VALUE_IN_MICRO_DOLLAR - ADE_AVERAGE_VALUE_IN_MICRO_DOLLAR - ADE_TOTAL_CLICK - ADE_TOTAL_CLICK_VALUE_IN_MICRO_DOLLAR - ADE_TOTAL_VIEW - ADE_TOTAL_VIEW_VALUE_IN_MICRO_DOLLAR - ADE_TOTAL_CONVERSION_RATE - ADE_WEB_COST_PER_ACTION - ADE_WEB_ROAS - ADE_TOTAL_WEB_CONVERSIONS - ADE_TOTAL_WEB_VALUE_IN_MICRO_DOLLAR - ADE_TOTAL_WEB_CLICK - ADE_TOTAL_WEB_CLICK_VALUE_IN_MICRO_DOLLAR - ADE_TOTAL_WEB_VIEW - ADE_TOTAL_WEB_VIEW_VALUE_IN_MICRO_DOLLAR - ADE_INAPP_COST_PER_ACTION - ADE_INAPP_ROAS - ADE_TOTAL_INAPP_CONVERSIONS - ADE_TOTAL_INAPP_VALUE_IN_MICRO_DOLLAR - ADE_TOTAL_INAPP_CLICK - ADE_TOTAL_INAPP_CLICK_VALUE_IN_MICRO_DOLLAR - ADE_TOTAL_INAPP_VIEW - ADE_TOTAL_INAPP_VIEW_VALUE_IN_MICRO_DOLLAR - ADE_OFFLINE_COST_PER_ACTION - ADE_OFFLINE_ROAS - ADE_TOTAL_OFFLINE_CONVERSIONS - ADE_TOTAL_OFFLINE_VALUE_IN_MICRO_DOLLAR - ADE_TOTAL_OFFLINE_CLICK - ADE_TOTAL_OFFLINE_CLICK_VALUE_IN_MICRO_DOLLAR - ADE_TOTAL_OFFLINE_VIEW - ADE_TOTAL_OFFLINE_VIEW_VALUE_IN_MICRO_DOLLAR - ADE_TOTAL_CONVERSION_PRODUCT_QUANTITY - ADE_TOTAL_CONVERSION_PRODUCT_VALUE - ADE_TOTAL_CONVERSION_PRODUCT_VALUE_IN_MICRO_UNITS - ADE_TOTAL_CONVERSION_PRODUCT_VALUE_IN_USD - ADE_TOTAL_CONVERSION_PRODUCT_VALUE_IN_MICRO_USD - ADE_TOTAL_WEB_CONVERSION_PRODUCT_QUANTITY - ADE_TOTAL_WEB_CONVERSION_PRODUCT_VALUE - ADE_TOTAL_WEB_CONVERSION_PRODUCT_VALUE_IN_MICRO_UNITS - ADE_TOTAL_WEB_CONVERSION_PRODUCT_VALUE_IN_USD - ADE_TOTAL_WEB_CONVERSION_PRODUCT_VALUE_IN_MICRO_USD - ADE_TOTAL_INAPP_CONVERSION_PRODUCT_QUANTITY - ADE_TOTAL_INAPP_CONVERSION_PRODUCT_VALUE - ADE_TOTAL_INAPP_CONVERSION_PRODUCT_VALUE_IN_MICRO_UNITS - ADE_TOTAL_INAPP_CONVERSION_PRODUCT_VALUE_IN_USD - ADE_TOTAL_INAPP_CONVERSION_PRODUCT_VALUE_IN_MICRO_USD - ADE_TOTAL_OFFLINE_CONVERSION_PRODUCT_QUANTITY - ADE_TOTAL_OFFLINE_CONVERSION_PRODUCT_VALUE - ADE_TOTAL_OFFLINE_CONVERSION_PRODUCT_VALUE_IN_MICRO_UNITS - ADE_TOTAL_OFFLINE_CONVERSION_PRODUCT_VALUE_IN_USD - ADE_TOTAL_OFFLINE_CONVERSION_PRODUCT_VALUE_IN_MICRO_USD custom_event_name: description: Name of the advertiser-defined custom conversion event type: string required: - custom_event_metrics_type - custom_event_name end_hour: description: 'Which hour of the end date to stop the report (inclusive). For example, with an end_date of ''2020-01-01'' and end_hour of ''15'', the report will contain metrics up to ''2020-01-01 14:59:59''. The entire day will be included if no end hour is provided. Only allowed for hourly reports.' type: integer maximum: 23 minimum: 0 level: description: Level of the report type: string example: CAMPAIGN allOf: - $ref: '#/components/schemas/MetricsReportingLevel' primary_sort: type: string default: BY_ID allOf: - type: string description: Whether to first sort the report by date or by entity ID of the reporting entity level. Date will be used as the first level key for JSON reports that use BY_DATE. BY_DATE is recommended for large requests. example: BY_ID enum: - BY_ID - BY_DATE report_format: description: 'Specification for formatting the report data. Reports in JSON will not zero-fill metrics, whereas reports in CSV will. Both report formats will omit rows where all the columns are equal to 0.' type: string default: JSON allOf: - $ref: '#/components/schemas/DataOutputFormat' reporting_timezone: description: Specify the timezone to be applied for the reporting. This feature is currently in BETA and is not available to all users. allOf: - $ref: '#/components/schemas/ReportingTimeZone' start_hour: description: Which hour of the start date to begin the report. The entire day will be included if no start hour is provided. Only allowed for hourly reports. type: integer maximum: 23 minimum: 0 AdsAnalyticsCreateAsyncResponse: type: object properties: message: type: string nullable: true report_status: type: string allOf: - $ref: '#/components/schemas/BulkReportingJobStatus' token: type: string AdsAnalyticsFilterColumn: description: Reporting columns for sync reporting data filter type: string example: SPEND_IN_DOLLAR enum: - SPEND_IN_DOLLAR - TOTAL_IMPRESSION AdsAnalyticsFilterOperator: description: Filter operator for sync reporting type: string example: LESS_THAN enum: - LESS_THAN - GREATER_THAN AdsAnalyticsGetAsyncResponse: type: object properties: report_status: type: string allOf: - $ref: '#/components/schemas/BulkReportingJobStatus' size: type: number nullable: true url: type: string nullable: true AdsAnalyticsMetricsFilter: type: object properties: field: $ref: '#/components/schemas/AdsAnalyticsFilterColumn' operator: $ref: '#/components/schemas/AdsAnalyticsFilterOperator' values: description: List of values for filtering type: array items: type: number minItems: 1 required: - field - operator - values AdsAnalyticsResponse: type: array items: type: object properties: AD_ID: description: The ID of the ad 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: - AD_ID additionalProperties: true example: DATE: '2021-04-01' AD_ID: '547602124502' SPEND_IN_DOLLAR: 30 TOTAL_CLICKTHROUGH: 216 AdsAnalyticsTargetingType: description: Reporting targeting type type: string example: APPTYPE enum: - KEYWORD - APPTYPE - GENDER - LOCATION - PLACEMENT - COUNTRY - TARGETED_INTEREST - PINNER_INTEREST - AUDIENCE_INCLUDE - GEO - AGE_BUCKET - REGION - AGE_BUCKET_AND_GENDER AdsCreditDiscountsResponse: type: object properties: active: description: True if the offer code is currently active. type: boolean example: true advertiser_id: description: Advertiser ID the offer was applied to. type: string example: '12312451231' pattern: ^\d+$ discountCurrency: description: Currency value for the discount. type: string example: USD nullable: true discountInMicroCurrency: description: The discount applied in the offer’s currency value. type: number example: 125000000 nullable: true discountType: description: The type of discount of this credit type: string enum: - COUPON - CREDIT - COUPON_APPLIED - CREDIT_APPLIED - MARKETING_OFFER_CREDIT - MARKETING_OFFER_CREDIT_APPLIED - GOODWILL_CREDIT - GOODWILL_CREDIT_APPLIED - INTERNAL_CREDIT - INTERNAL_CREDIT_APPLIED - PREPAID_CREDIT - PREPAID_CREDIT_APPLIED - SALES_INCENTIVE_CREDIT - SALES_INCENTIVE_CREDIT_APPLIED - CREDIT_EXPIRED - FUTURE_CREDIT - REFERRAL_CREDIT - INVOICE_SALES_INCENTIVE_CREDIT - INVOICE_SALES_INCENTIVE_CREDIT_APPLIED - PREPAID_CREDIT_REFUND - null nullable: true remainingDiscountInMicroCurrency: description: The credits left to spend. type: number example: 125000000 nullable: true title: description: Human readable title of the offer code. type: string example: Ads Credits nullable: true AdsCreditRedeemRequest: type: object properties: offerCodeHash: description: Takes in a SHA256 hash of the offerCode. type: string example: 138e9e0ff7e38cf511b880975eb574c09aa9d5e1657590ab0431040da68caa67 pattern: '^[a-z0-9]*$' validateOnly: description: 'If true, only validate if we can redeem offer code. Otherwise it will actually apply the offer code to the account' type: boolean example: true required: - offerCodeHash - validateOnly AdsCreditRedeemResponse: type: object properties: errorCode: description: Error code type if error occurs type: integer example: 2708 nullable: true errorMessage: description: Reason for failure type: string example: The offer has already been redeemed by this advertiser nullable: true success: description: Returns true if the offer code was successfully applied(validateOnly=false) or can be applied(validateOnly=true). type: boolean example: false AdGroupIdFilter: type: object properties: ad_group_ids: description: List of ad group ids type: array items: type: string pattern: ^\d+$ example: - '12345678' maxItems: 500 minItems: 1 AgeBucketList: type: array items: type: string enum: - 18-24 - 25-34 - 35-44 - 45-49 - 50-54 - 55-64 - 65+ example: - 35-44 - 50-54 title: AgeRange AmazonConnectRequest: description: Request containing OTP and Amazon storefront info called by Amazon type: object properties: amazon_storefront_id: description: The Amazon storefront id type: string amazon_storefront_name: description: The Amazon storefront name type: string amazon_storefront_url: description: The Amazon storefront url type: string amazon_user_id: description: The Amazon user id type: string is_amazon_account_linked: description: The Amazon account linking status type: boolean one_time_passcode: description: The one time passcode for Pinterest-initiated linking requests type: string example: 089aee0d-92d3-4f8f-a947-6dc016d85bf0 pinterest_user_id: description: The Pinterest user id for Amazon-initiated linking requests type: string example: '902057137772013006' pattern: ^\d+$ required: - amazon_storefront_name - amazon_storefront_url - is_amazon_account_linked title: AmazonConnectRequest AnalyticsDailyMetrics: type: object properties: data_status: $ref: '#/components/schemas/DataStatus' date: description: 'Metrics date (UTC): YYYY-MM-DD.' type: string example: '2019-12-01' metrics: $ref: '#/components/schemas/Metrics' AnalyticsMetricsResponse: type: object properties: daily_metrics: description: Array with the requested daily metric records type: array items: $ref: '#/components/schemas/AnalyticsDailyMetrics' summary_metrics: description: The metric name and value over the requested period for each requested metric type: object example: CLOSEUP: 1 CLOSEUP_RATE: 0 ENGAGEMENT: 1 ENGAGEMENT_RATE: 0 IMPRESSION: 240 OUTBOUND_CLICK: 20 OUTBOUND_CLICK_RATE: 0.08 PIN_CLICK: 37 PIN_CLICK_RATE: 0.15 PROFILE_VISIT: 0 QUARTILE_95_PERCENT_VIEW: 8 SAVE: 20 SAVE_RATE: 0.18 VIDEO_10S_VIEW: 2 VIDEO_AVG_WATCH_TIME: 2507.75 VIDEO_MRC_VIEW: 20 VIDEO_START: 29 VIDEO_V50_WATCH_TIME: 10031 additionalProperties: type: number AnalyticsResponse: type: object additionalProperties: $ref: '#/components/schemas/AnalyticsMetricsResponse' AssetIdPermissions: description: An object containing the permissions a business member has on the asset. type: object properties: asset_group_info: description: An object containing all the information specific to the provided asset group. This field will be populated only if asset_type equals 'ASSET_GROUP'. $ref: '#/components/schemas/AssetGroupBinding' nullable: true asset_id: description: Unique identifier of a business asset. type: string example: '549755885175' maxLength: 20 minLength: 1 pattern: ^\d+$ asset_type: $ref: '#/components/schemas/AssetTypeResponse' permissions: $ref: '#/components/schemas/PermissionsResponse' AssetIdToPermissions: description: | An object mapping asset ids to lists of business permissions. This can be used to setting/requesting permissions on various assets. If accepting an invite or request, this object would be used to grant asset permissions to the member or partner. type: object example: '549760723247': - ANALYST '549760723248': - ANALYST - ADMIN '809944451643622187': - PROFILE_PUBLISHER additionalProperties: type: array minItems: 1 maxItems: 50 items: $ref: '#/components/schemas/Permissions' minProperties: 1 AssetTypeResponse: description: 'Type of asset. Currently we only support AD_ACCOUNT, PROFILE, ASSET_GROUP and CATALOG.' type: string example: AD_ACCOUNT Audience: type: object properties: ad_account_id: description: Ad account ID. type: string example: '549755885175' pattern: ^\d+$ title: ad_account_id audience_type: description: 'Audience types: ACTALIKE, ENGAGEMENT, CUSTOMER_LIST and VISITOR' type: string title: audience_type created_by_company_name: description: The company that created this audience. type: string example: Pinterest nullable: true title: created_by_company_name created_timestamp: description: Creation time. Unix timestamp in seconds. type: integer example: 1451431341 nullable: true title: created_time description: description: Audience description. type: string example: People who love making quilts. nullable: true title: description id: description: Audience ID. type: string example: '1234' pattern: ^\d+$ title: id name: description: Audience name. type: string example: ACME Tools title: name rule: $ref: '#/components/schemas/AudienceRule' size: description: Audience size. type: integer example: 1000 nullable: true title: size status: description: 'Audience status. READY, INITIALIZING, TOO_SMALL - Each audience list needs to have at least 100 people with Pinterest accounts before you can start using it.' type: string title: status type: description: Always "audience". type: string example: audience title: type updated_timestamp: description: Last update time. Unix timestamp in seconds. type: integer example: 1451431341 nullable: true title: updated_time title: Audience AudienceCategory: type: object properties: id: description: Interest ID. type: string example: '1234567' title: id index: description: Interest affinity index. type: number example: 1.2 title: index key: description: Interest unique key (same as ID). type: string example: '1234567' title: key name: description: Interest name. type: string example: travel title: name ratio: description: Interest's percent of category's total audience. type: number example: 0.551 title: ratio subcategories: description: Subcategory interest distribution type: array items: title: AudienceSubcategory type: object properties: id: description: Subinterest ID. type: string example: '958862518888' title: id index: description: Subinterest affinity index. type: number example: 1.2 title: index key: description: Interest unique key (same as ID). type: string example: '958862518888' title: key name: description: Subinterest name. type: string example: travel destinations title: name ratio: description: Subinterest's percent of category's total audience. type: number example: 0.482 title: ratio title: subcategories title: AudienceCategory AudienceCommon: type: object properties: ad_account_id: description: Ad account ID. type: string example: '549755885175' pattern: ^\d+$ title: ad_account_id name: description: Audience name. type: string example: string title: name rule: $ref: '#/components/schemas/AudienceRule' title: AudienceCommon AudienceCreateRequest: type: object allOf: - $ref: '#/components/schemas/AudienceCommon' - title: AudienceCreateRequest required: - audience_type - name - rule properties: audience_type: description: 'Audience types: ACTALIKE, ENGAGEMENT, CUSTOMER_LIST and VISITOR. Values are case-sensitive.' type: string allOf: - $ref: '#/components/schemas/AudienceType' title: audience_type description: $ref: '#/components/schemas/AudienceDescription' AudienceDefinition: description: Queryable audience representation. type: object properties: date: description: Generation date type: string example: '2022-10-09' nullable: true title: date scope: type: string example: PARTNER title: AudienceDefinitionScope type: type: string example: IMPRESSION_PLUS_ENGAGEMENT title: AudienceDefinitionType title: AudienceDefinition AudienceDefinitionResponse: type: object properties: items: type: array items: $ref: '#/components/schemas/AudienceDefinition' AudienceDefinitionScope: description: Generated audience scope to request. type: object properties: scope: type: string enum: - PARTNER - PINTEREST AudienceDefinitionType: description: Generated audience type to request. type: object properties: scope: type: string enum: - IMPRESSION_PLUS_ENGAGEMENT - ENGAGEMENT AudienceDemographicValue: description: Demographic detail for a single audience demographic type: object properties: key: description: Unique key for demographic item type: string example: us title: key name: description: Display name for demographic type: string example: United States title: name ratio: description: Value of demographic item as a percent of total audience type: number example: 0.551 title: ratio example: name: United States key: us ratio: 0.551 title: AudienceDemographicValue AudienceDemographics: description: Audience demographics type: object properties: ages: description: Ages distribution. type: array items: $ref: '#/components/schemas/AudienceDemographicValue' title: ages countries: description: Country area distribution. type: array items: $ref: '#/components/schemas/AudienceDemographicValue' title: countries devices: description: Device usage distribution. type: array items: $ref: '#/components/schemas/AudienceDemographicValue' title: devices genders: description: Gender distribution. type: array items: $ref: '#/components/schemas/AudienceDemographicValue' title: genders metros: description: Geographic metro area distribution. type: array items: $ref: '#/components/schemas/AudienceDemographicValue' title: metros title: AudienceDemographics AudienceDescription: description: Audience description. type: string example: string title: description AudienceInsightCategoryArrayResponse: type: object properties: items: type: array items: $ref: '#/components/schemas/AudienceInsightCategoryCommon' deprecated: true AudienceInsightCategoryCommon: type: object properties: id: type: string example: '549755885175' index: type: number example: 1.2 key: type: string example: '549755885175' name: type: string example: travel ratio: type: number example: 0.551 deprecated: true AudienceInsightType: type: string example: YOUR_TOTAL_AUDIENCE default: YOUR_TOTAL_AUDIENCE enum: - YOUR_TOTAL_AUDIENCE - YOUR_ENGAGED_AUDIENCE - PINTEREST_TOTAL_AUDIENCE AudienceInsightsResponse: description: Audience interests and demographics. type: object properties: categories: description: Category interest distribution type: array items: $ref: '#/components/schemas/AudienceCategory' title: categories date: description: Generation date type: string example: '2022-10-09' nullable: true pattern: '^\d{4}-\d{2}-\d{2}$' title: date demographics: $ref: '#/components/schemas/AudienceDemographics' size: description: Population count. type: integer example: 10000 title: size size_is_upper_bound: description: Indicates whether the audience size has been rounded up to the next highest upper boundary. type: boolean example: true title: size_is_upper_bound type: $ref: '#/components/schemas/AudienceInsightType' title: AudienceInsightsResponse AudienceRule: description: 'JSON object defining targeted audience users. Example rule formats per audience type:
CUSTOMER_LIST: { "customer_list_id": "<customer list ID>"}
ACTALIKE: { "seed_id": ["<audience ID>"], "country": "US", "percentage": "10" }
(Valid countries include: "US", "CA", and "GB". Percentage should be 1-10.
The targeted audience should be this % size across Pinterest.)
VISITOR: { "visitor_source_id": ["<conversion tag ID>"], "retention_days": "180", "event_source": {"=": ["web", "mobile"]}, "ingestion_source": {"=": ["tag"]}}
(Retention days should be 1-540. Retention applies to specific customers.)
ENGAGEMENT: {"engagement_domain": ["www.entomi.com"], "engager_type": 1}
For more details on engagement audiences, see November 2021 changelog.' type: object properties: ad_account_id: description: Ad account ID. type: string example: '549755885175' pattern: ^\d+$ title: ad_account_id ad_id: description: Ad ID for engagement audience filter. type: array items: pattern: ^\d+$ type: string example: - '687201361754' title: ad_id campaign_id: description: Campaign ID for engagement audience filter. type: array items: pattern: ^\d+$ type: string example: - '626744528398' title: campaign_id country: description: 'Valid countries include: "US", "CA", and "GB".' type: string example: US title: country customer_list_id: description: Customer list ID. For CUSTOMER_LIST `audience_type`. type: string example: '5497558859876' pattern: ^\d+$ title: customer_list_id engagement_domain: description: The audience account's verified domain. **Required** for ENGAGEMENT `audience_type`. type: array items: type: string example: - www.somedomain.com title: engagement_domain engagement_type: description: 'Engagement type enum. Optional for ENGAGEMENT `audience_type`. Supported values are `click`, `save`, `closeup`, `comment` and `like`. All engagements are included if this field is not set. ' type: string example: click title: engagement_type engager_type: description: Optional for ENGAGEMENT. Engager type value should be 1-2. type: integer example: 1 title: engager_type event: description: 'A Pinterest tag event. Optional for VISITOR `audience_type`. Possible values are `pagevisit`, `signup`, `checkout`, `viewcategory`, `search`, `addtocart`, `watchvideo`, `lead`, and `custom`. This field also accepts a partner-defined Pinterest tag event.' type: string example: checkout title: event event_data: description: 'Optional for VISITOR `audience_type`. With the Pinterest tag, you can use event data to capture event details from your website. This object lists all the available predefined event data fields in the Pinterest tag. You can include these event data fields as part of a VISITOR audience’s `rule`; however, you **must** specify an `event` for the `event_data` fields to be evaluated. Besides what’s listed, you can also create your own set of `event_data` fields and define their usages or purposes according to your website needs. However, the benefit of using the predefined event data fields is that we can provide various metrics based on those fields'' data.
Examples per `event` type:
`pagevisit`
"event_data": { "page_name": "My online store 123 | view items | shoe" }
`signup`
"event_data": { "lead_type": "New release promotion" }
`checkout`
"event_data": { "value": 116, "order_quantity": 2, "currency": "USD", "line_items": [ { "product_name": "Pillows (Set of 2)", "product_id": "11", "product_price": 48, "product_quantity": 1 }, { "product_name": "Pillows, Large (Set of 2)", "product_id": "15", "product_price": 68, "product_quantity": 1 } ] }
`addtocart`
"event_data": { "value": 499, "order_quantity": 1, "currency": "USD", "line_items": [ { "product_name": "Red leather boots", "product_id": "3486", "product_category": "shoe", "product_variant_id": "JB11103000", "product_price": 499, "product_quantity": "1", "product_brand": "My brand" }]}
`watchvideo`
"event_data": { "video_title": "My Product Video 01" }
`lead`
"event_data": { "lead_type": "Newsletter" }' type: object properties: currency: $ref: '#/components/schemas/Currency' lead_type: description: 'Promotion code. For example, "Newsletter".' type: string example: Newsletter title: lead_type line_items: type: object properties: product_brand: description: 'Product brand. For example, "Parker".' type: string example: Parker title: product_brand product_category: description: 'Product category. For example, "Shoes".' type: string example: Shoes title: product_category product_id: description: 'Product ID. For example, 1414.' type: integer example: 1414 title: product_id product_name: description: 'Product name. For example, "Parker Boots".' type: string example: Parker Boots title: product_name product_price: description: 'Product price. For example, "99.99".' type: string example: '99.99' title: product_price product_quantity: description: 'Product quantity. For example, 2.' type: integer example: 2 title: product_quantity product_variant: description: 'Product variant. For example, "Red".' type: string example: Red title: product_variant product_variant_id: description: 'Product variant ID. For example, "1414-34832".' type: string example: 1414-34832 title: product_variant_id title: LineItem order_id: description: 'Order ID. For example, "X-151481".' type: string example: X-151481 title: order_id order_quantity: description: 'Order quantity. For example, 1.' type: integer example: 1 title: order_quantity page_name: description: 'Page name. For example, "Our Favorite Pins on Pinterest".' type: string example: Our Favorite Pins on Pinterest. title: page_name promo_code: description: 'Promotion code. For example, "WINTER10".' type: string example: WINTER10 title: promo_code property: description: 'Property. For example, "Athleta".' type: string example: Athleta title: property search_query: description: 'Search query string. For example, "boots".' type: string example: boots title: search_query value: description: 'Product value. For example, "199.98"' type: string example: '199.98' title: value video_title: description: 'Video title. For example, "How to style your Parker Boots".' type: string example: How to style your Parker Boots title: video_title title: PinterestTagEventData event_source: description: 'Optional for VISITOR. You can use it as a {''='': [value]}. Supported values are: web, mobile, offline' type: object example: '=': - web - mobile title: event_source ingestion_source: description: 'Optional for VISITOR. You can use it as a {''='': [value]}. Supported values are: tag, mmp, file_upload, conversions_api' type: object example: '=': - tag title: ingestion_source objective_type: description: Objective for engagement audience filter. type: array items: $ref: '#/components/schemas/ObjectiveType' example: - AWARENESS title: objective_type percentage: description: Percentage should be 1-10. The targeted audience should be this % size across Pinterest. type: integer example: 3 title: percentage pin_id: description: 'IDs of engaged organic pins. Optional for ENGAGEMENT `audience_type`. For example, "pin_id:": ["34567"]' type: array items: pattern: ^\d+$ type: string example: - '34567' title: pin_id prefill: description: 'Optional for VISITOR `audience_type`. If `true`, the specified rule on existing engagement data is applied to pre-populate the audience. If `false`, the audience is empty at creation time. The default is `true`.' type: boolean example: true title: prefill retention_days: description: Number of days a Pinterest user remains in the audience. Optional for ENGAGEMENT and VISITOR `audience_type`. Accepted range is 1-540. Defaults to 180 if not specified. type: integer example: 30 title: retention_days seed_id: description: 'Audience ID(s). For ACTALIKE `audience_type`. ' type: array items: pattern: ^\d+$ type: string example: - '2542620639259' - '2542620639261' title: seed_id url: description: 'Optional for ENGAGEMENT or VISITOR `audience_type`. For ENGAGEMENT, it is the engaged pin''s URL. For VISITOR, you can use it as a string or a {operator: value} object for filtering visitors based on conversion tag event URLs. Supported operators are [ =, !=, contains, not_contains].
Example 1: "url": "http://www.myonlinestore123.com/view_item/shoe"
Example 2: "url": {"contains": "/view_item/shoe"}' type: array items: type: string title: url visitor_source_id: description: 'The conversion tag ID, or the Pinterest tag ID, that you use on your website. For VISITOR `audience_type`.' type: string example: '549755885175' pattern: ^\d+$ title: visitor_source_id title: Rule AudienceShareType: type: string default: SHARED enum: - SHARED - RECEIVED AudienceAccountType: type: string default: AD_ACCOUNT enum: - AD_ACCOUNT - BUSINESS_ACCOUNT AudienceType: description: Audience type type: string example: ACTALIKE enum: - CUSTOMER_LIST - VISITOR - ENGAGEMENT - ACTALIKE - PERSONA title: AudienceType AudienceUpdateOperationType: description: Audience operation type (update or remove). type: string example: UPDATE default: UPDATE enum: - UPDATE - REMOVE title: operation_type AudienceUpdateRequest: type: object allOf: - $ref: '#/components/schemas/AudienceCommon' - title: AudienceUpdateRequest type: object properties: description: $ref: '#/components/schemas/AudienceDescription' operation_type: $ref: '#/components/schemas/AudienceUpdateOperationType' AuthRespondInvitesBody: description: An object with a list of all the invites the user would like to respond to and the action to take. type: object properties: invites: type: array items: properties: action: type: object properties: accept_invite: description: Whether the invite/request is accepted. type: boolean asset_id_to_permissions: $ref: '#/components/schemas/AssetIdToPermissions' required: - accept_invite invite_id: description: Unique identifier of an invite. type: string maxLength: 25 minLength: 1 pattern: ^\d+$ required: - invite_id - action type: object maxItems: 100 minItems: 1 required: - invites AvailabilityFilter: type: object properties: AVAILABILITY: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringCriteria' additionalProperties: false required: - AVAILABILITY title: AVAILABILITY BaseInviteDataResponse: type: object properties: id: description: Unique identifier of the invite/request. type: string example: '383791336903426391' pattern: ^\d+$ invite_data: description: Metadata for the invite/request. type: object properties: invite_expiration: description: The date and time when the invite/request will expire. Returned in milliseconds. type: integer example: 1709748104775 invite_status: description: 'The current status of the invite. The invite can be in one of the following states PENDING, ACCEPTED, DECLINED, CANCELLED, EXPIRED.' type: string example: PENDING invite_type: description: The type of invite.
'MEMBER_INVITE' is to invite a member to access your business assets.
'PARTNER_INVITE' is to invite a partner to access your business assets.
'PARTNER_REQUEST' is to request access a partner's business assets. type: string example: MEMBER_INVITE last_updated_time: description: The date and time the invite/request was last updated. Returned in milliseconds. type: integer example: 1646767577816 sent_at: description: The date and time the invite/request was sent/created. Returned in milliseconds. type: integer example: 1646767577816 is_received_invite: description: Indicates whether the invite/request was received. type: boolean user: description: Metadata for the member/partner that was sent the invite/request. type: object allOf: - $ref: '#/components/schemas/BusinessAccessUserSummary' nullable: true BatchOperation: description: The operation performed by the batch. The DELETE_DISCONTINUED operation only updates availablity to "Out of Stock". type: string example: UPDATE enum: - UPDATE - UPSERT - CREATE - DELETE_DISCONTINUED - DELETE BatchOperationStatus: description: The status of the operation performed by the batch type: string example: PROCESSING enum: - PROCESSING - COMPLETED - FAILED BidFloor: type: object properties: bid_floors: description: 'A list of bid floors in micro currency. For example, [100000, 200000]' type: array items: type: integer example: - 100000 - 200000 title: bid_floors type: description: Always the string 'bidfloor' type: string example: bidfloor default: bidfloor title: type example: bid_floors: - 100000 - 200000 type: bidfloor title: BidFloor BidFloorRequest: type: object properties: bid_floor_specs: type: array items: example: billable_event: CLICKTHROUGH creative_type: REGULAR currency: USD countries: - US - US optimization_goal_metadata: frequency_goal_metadata: timerange: DAY frequency: 5 conversion_tag_v3_goal_metadata: attribution_windows: view_window_days: 1 click_window_days: 0 engagement_window_days: 6 conversion_tag_id: '123456789' learning_mode_type: ACTIVE conversion_event: PAGE_VISIT is_roas_optimized: true cpa_goal_value_in_micro_currency: '123456789' scrollup_goal_metadata: scrollup_goal_value_in_micro_currency: '123456789' properties: billable_event: $ref: '#/components/schemas/ActionType' countries: type: array items: $ref: '#/components/schemas/Country' title: countries creative_type: $ref: '#/components/schemas/CreativeType' currency: $ref: '#/components/schemas/Currency' objective_type: $ref: '#/components/schemas/ObjectiveType' optimization_goal_metadata: $ref: '#/components/schemas/OptimizationGoalMetadata' required: - billable_event - currency title: BidFloorSpec type: object title: bid_floor_specs targeting_spec: $ref: '#/components/schemas/TargetingSpec' example: targeting_spec: GEO: - BE-VOV LOCATION: - US LOCALE: - cs AGE_BUCKET: - 25-34 AUDIENCE_INCLUDE: - '2542620905473' SHOPPING_RETARGETING: - lookback_window: 30 exclusion_window: 14 tag_types: - 0 - 6 - lookback_window: 30 exclusion_window: 14 tag_types: - 0 - 6 GENDER: - male TARGETING_STRATEGY: - CHOOSE_YOUR_OWN APPTYPE: - iphone AUDIENCE_EXCLUDE: - '2542620905475' INTEREST: - '925056443165' bid_floor_specs: - billable_event: CLICKTHROUGH creative_type: REGULAR currency: USD countries: - US - US optimization_goal_metadata: frequency_goal_metadata: timerange: DAY frequency: 5 conversion_tag_v3_goal_metadata: attribution_windows: view_window_days: 1 click_window_days: 0 engagement_window_days: 6 conversion_tag_id: '123456789' learning_mode_type: ACTIVE conversion_event: PAGE_VISIT is_roas_optimized: true cpa_goal_value_in_micro_currency: '123456789' scrollup_goal_metadata: scrollup_goal_value_in_micro_currency: '123456789' - billable_event: CLICKTHROUGH creative_type: REGULAR currency: USD countries: - US - US optimization_goal_metadata: frequency_goal_metadata: timerange: DAY frequency: 5 conversion_tag_v3_goal_metadata: attribution_windows: view_window_days: 1 click_window_days: 0 engagement_window_days: 6 conversion_tag_id: '123456789' learning_mode_type: ACTIVE conversion_event: PAGE_VISIT is_roas_optimized: true cpa_goal_value_in_micro_currency: '123456789' scrollup_goal_metadata: scrollup_goal_value_in_micro_currency: '123456789' required: - bid_floor_specs title: BidFloorBody BillingProfilesResponse: type: object properties: advertiser_id: description: Advertiser ID of the billing. type: string example: '12312451231' pattern: ^\d+$ billing_type: description: Billing type of the advertiser type: string example: CREDIT_CARD enum: - CREDIT_CARD - INVOICE - INTERNAL - RECURRING - PREPAID card_type: description: Type of the card. type: string example: VISA enum: - UNKNOWN - VISA - MASTERCARD - AMERICAN_EXPRESS - DISCOVER - ELO id: description: Billing ID. type: string example: '12312451231' pattern: ^\d+$ payment_method_brand: description: Brand of the payment method. type: string example: VISA enum: - UNKNOWN - VISA - MASTERCARD - AMERICAN_EXPRESS - DISCOVER - SOFORT - DINERS_CLUB - ELO - CARTE_BANCAIRE status: description: Status of the billing. type: string example: INVALID enum: - UNSPECIFIED - VALID - INVALID - PENDING - DELETED - SECONDARY - PENDING_SECONDARY BillingInvoiceResponse: type: object properties: ad_account_id: description: The ID of the ad account this invoice belongs to type: string pattern: ^\d+$ ad_account_name: description: The name of the ad account this invoice belongs to type: string amount_billed_micro_currency: description: The amount billed in this invoice. Denoted in micro currency type: integer amount_discount_micro_currency: description: The discount in this invoice. Denoted in micro currency type: integer nullable: true amount_net_micro_currency: description: The net amount in this invoice. Denoted in micro currency type: integer nullable: true amount_tax_micro_currency: description: The tax in this invoice. Denoted in micro currency type: integer nullable: true bill_to_country: description: The country of the bill to address type: string billing_period_end_date: description: 'The end date of the billing period. Format: YYYY-MM-DD' type: string format: date pattern: '^(\d{4})-(\d{2})-(\d{2})$' billing_period_start_date: description: 'The start date of the billing period. Format: YYYY-MM-DD' type: string format: date pattern: '^(\d{4})-(\d{2})-(\d{2})$' currency: $ref: '#/components/schemas/Currency' document_type: description: The type of the document type: string enum: - INVOICE - CREDIT_MEMO id: description: Unique identifier for the billing invoice type: string pattern: ^\d+$ invoice_due_date: description: 'The date the invoice is due. Format: YYYY-MM-DD' type: string format: date pattern: '^(\d{4})-(\d{2})-(\d{2})$' payment_terms: description: The payment terms of the invoice type: string example: NET 30 status: description: The status of the invoice type: string example: OPEN enum: - OPEN - CLOSED BillingInvoiceDownloadResponse: type: object properties: download_url: description: The download url for the billing invoice type: string id: description: The billing invoice id type: string title: BillingInvoiceDownloadResponse Board: description: Board model containing properties related to a Pinterest Board. type: object properties: privacy: description: |2- Privacy setting for a board. Learn more about [secret](https://help.pinterest.com/en/article/secret-boards) boards and [protected](https://help.pinterest.com/en/business/article/protected-boards) boards. **Note:** If you create an ad-only board by setting `is_ads_only` to `true`, the `privacy` settng automatically becomes `PROTECTED`. default: PUBLIC allOf: - $ref: '#/components/schemas/BoardPrivacy' allOf: - $ref: '#/components/schemas/BoardBase' BoardOwner: type: object properties: username: type: string readOnly: true title: Board owner containing the username. BoardSection: description: Sections help organize pins within a board. type: object properties: id: type: string example: '549755885175' readOnly: true name: type: string example: Salads maxLength: 180 minLength: 1 required: - name title: Board section BoardUpdate: description: Board fields for updates type: object properties: description: type: string example: My favorite summer recipes nullable: true name: type: string example: Summer Recipes privacy: type: string enum: - PUBLIC - SECRET title: BoardUpdate BookClosedResponse: description: Creation fields type: object properties: conversion_metrics_ready: description: Are conversion metrics ready? type: boolean example: false title: conversion_metrics_ready non_conversion_metrics_ready: description: Are non-conversion metrics ready? type: boolean example: false title: non_conversion_metrics_ready title: BookClosed BrandFilter: type: object properties: BRAND: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringCriteria' additionalProperties: false required: - BRAND title: BRAND BudgetType: description: 'Budget type. If DAILY, an ad group''s daily spend will not exceed the budget parameter value. If LIFETIME, the end_time parameter is **REQUIRED**, and the ad group spend is spread evenly between the ad group `start_time` and `end_time` range. A CBO campaign automatically generates ad group budgets from its campaign budget to maximize campaign outcome. For CBO campaigns, only "CBO_ADGROUP" is allowed. For WEB_SESSIONS campaigns, only "LIFETIME" is allowed. For update, only draft ad groups may update budget type.' type: string example: DAILY enum: - DAILY - LIFETIME - CBO_ADGROUP BulkDownloadRequest: description: Ad entities to get in bulk request. type: object properties: campaign_filter: type: object properties: campaign_status: type: array items: $ref: '#/components/schemas/CampaignSummaryStatus' end_time: description: Unix UTC timestamp. type: string example: '1622848072' pattern: ^\d+$ name: description: Campaign name type: string example: campaign name objective_type: type: array items: $ref: '#/components/schemas/ObjectiveType' start_time: description: Unix UTC timestamp. type: string example: '1622848072' pattern: ^\d+$ entity_ids: description: All entities specified by these IDs as well as their children and grandchildren will be downloaded if the entity type is one of the types requested to be downloaded. type: array items: type: string pattern: ^\d+$ entity_types: description: All entity types specified will be downloaded. Fewer types result in faster downloads. type: array items: type: string allOf: - $ref: '#/components/schemas/BulkEntityType' example: - CAMPAIGN - AD_GROUP maxItems: 6 minItems: 1 output_format: type: string default: JSON allOf: - $ref: '#/components/schemas/BulkOutputFormat' updated_since: description: Unix UTC timestamp to retrieve all entities that have changed since this time. type: string example: '1622848072' pattern: ^\d+$ BulkDownloadResponse: type: object properties: request_id: description: ID of the bulk request. type: string example: '2680059592705' example: request_id: '2680059592705' BulkEntityType: description: Refers ads entity type. Schedule enum is only applicable to beta users type: string example: AD enum: - CAMPAIGN - AD_GROUP - PRODUCT_GROUP - AD - KEYWORD - LABEL - SCHEDULE BulkOutputFormat: description: Bulk file output format type: string enum: - CSV - JSON BulkReportingJobStatus: description: Possible status for a bulk reporting job type: string example: FINISHED enum: - DOES_NOT_EXIST - FINISHED - IN_PROGRESS - EXPIRED - FAILED - CANCELLED BulkUpsertRequest: description: 'Two set of objects to be managed asyncronusly by bulk. One for creations, one for modifications.' type: object properties: create: $ref: '#/components/schemas/BulkUpsertRequestCreate' update: $ref: '#/components/schemas/BulkUpsertRequestUpdate' BulkUpsertRequestCreate: description: Request for creation of entities in bulk. type: object properties: ad_groups: type: array items: $ref: '#/components/schemas/AdGroupCreateRequest' ads: type: array items: $ref: '#/components/schemas/AdCreateRequest' campaigns: type: array items: $ref: '#/components/schemas/CampaignCreateRequest' catalog_product_groups: type: array items: oneOf: - $ref: '#/components/schemas/CatalogsProductGroupCreateRequest' - $ref: '#/components/schemas/CatalogsVerticalProductGroupCreateRequest' keywords: type: array items: $ref: '#/components/schemas/KeywordsRequest' labels: type: array items: $ref: '#/components/schemas/LabelCreateRequest' product_groups: type: array items: $ref: '#/components/schemas/ProductGroupPromotionCreateRequest' BulkUpsertRequestUpdate: description: Request for creation of entities in bulk. type: object properties: ad_groups: type: array items: $ref: '#/components/schemas/AdGroupUpdateRequest' ads: type: array items: $ref: '#/components/schemas/AdUpdateRequest' campaigns: type: array items: $ref: '#/components/schemas/CampaignUpdateRequest' catalog_product_groups: type: array items: oneOf: - $ref: '#/components/schemas/CatalogsProductGroupUpdateRequest' - $ref: '#/components/schemas/CatalogsVerticalProductGroupUpdateRequest' keywords: type: array items: $ref: '#/components/schemas/KeywordUpdate' labels: type: array items: title: LabelBulkUpdateRequest type: object properties: id: description: Label ID. type: string example: '1106385754497' title: id status: $ref: '#/components/schemas/LabelStatus' value: description: Label name. 100-character limit. type: string maxLength: 100 required: - id product_groups: type: array items: $ref: '#/components/schemas/ProductGroupPromotionUpdateRequest' BulkUpsertResponse: description: ID of the bulk request. type: object properties: request_id: type: string example: '549763856477-1660864560-1407e16a-c586-4add-94df-d0b160bec0ff, 549763856477-1660864560-d0b160bec0ff' BulkUpsertStatus: type: string example: SUCCEEDED enum: - RUNNING - SUCCEEDED - FAILED BulkUpsertStatusResponse: description: ID of the bulk request. type: object properties: result_url: type: string example: 'https://pinterest-waterloo.s3.us-east-1.amazonaws.com/bulk_framework/AD_ENTITY_UPSERT/549763856637-1659122537-0b4d77d3-f620-48ce-bec9-616106afb8d4/(...)' status: $ref: '#/components/schemas/BulkUpsertStatus' BusinessAccessError: type: object properties: code: type: integer message: type: string nullable: true required: - code - message BusinessAccessUserSummary: description: Metadata of the member/partner that has access to the asset. type: object properties: email: description: Email of the business member/partner. type: string example: business0101@business.com nullable: true id: description: Unique identifier of the business member/partner. type: string example: '383791336903426391' maxLength: 20 minLength: 1 nullable: true username: description: Username of the business member/partner. type: string example: business0101 nullable: true BusinessAccessRole: description: Permission role for business access. type: string example: ADMIN enum: - OWNER - ADMIN - ANALYST - SOS_READER - FINANCE_MANAGER - AUDIENCE_MANAGER - CAMPAIGN_MANAGER - CATALOGS_MANAGER - RESTRICTED_OWNER - PROFILE_MANAGER - PROFILE_PUBLISHER - RESOURCE_PINNER_LIST_OWNER - RESOURCE_PINNER_LIST_READER - BIZ_PINNER_LIST_SHARER - RESOURCE_CONVERSION_TAGS_READER BusinessMemberAssetsSummary: description: Ad accounts and profiles the business member/partner has access to. type: object properties: ad_accounts: description: List of ad account IDs and respective permission levels. type: array items: type: object properties: id: description: Unique identifier of a business ad account. type: string example: '549755885175' maxLength: 20 minLength: 1 pattern: ^\d+$ permissions: $ref: '#/components/schemas/PermissionsResponse' profiles: description: List of profile IDs and respective permission levels. type: array items: type: object properties: id: description: Unique identifier of a business profile. type: string example: '383791336903426391' maxLength: 20 minLength: 1 pattern: ^\d+$ permissions: $ref: '#/components/schemas/PermissionsResponse' nullable: true BusinessRoleCheckMode: description: Specifies if the partner is internal or external. type: string example: INTERNAL enum: - INTERNAL - EXTERNAL BusinessRole: description: |- The access level a member/partner has to the business. Values are case-sensitive.
- EMPLOYEE: Can only view and access assets you assign to them. They cannot see details about other employees, partners, or other assets.
- BIZ_ADMIN: Have full control of roles and can add employees and partners as well as grant asset access.
- PARTNER: Can only view and access assets you assign them to/or they assign to you. type: string example: BIZ_ADMIN enum: - EMPLOYEE - BIZ_ADMIN - PARTNER BusinessRoleForMembers: description: |- The access level a member has to the business. Values are case-sensitive.
- EMPLOYEE: Can only view and access assets you assign to them. They cannot see details about other employees, partners, or other assets.
- BIZ_ADMIN: Have full control of roles and can add employees and partners as well as grant asset access. type: string example: BIZ_ADMIN enum: - EMPLOYEE - BIZ_ADMIN BusinessRoleResponse: description: |- The access level a member/partner has to the business. Values are case-sensitive.
- EMPLOYEE: Can only view and access assets you assign to them. They cannot see details about other employees, partners, or other assets.
- BIZ_ADMIN: Have full control of roles and can add employees or external partners as well as grant asset access.
- PARTNER: Can only view and access assets you assign them to/or they assign to you. type: string example: BIZ_ADMIN UpdatePartnerAssetAccessBody: type: object properties: accesses: type: array items: type: object required: - partner_id - asset_id - permissions properties: asset_id: description: Unique identifier of the business asset. type: string example: '549755885175' maxLength: 25 pattern: ^\d+$ partner_id: description: Unique identifier of a business partner to update asset access to. type: string example: '1234567890123' maxLength: 25 pattern: ^\d+$ permissions: description: A non-empty array of permissions to assign to the partner. type: array items: $ref: '#/components/schemas/Permissions' example: - ANALYST - ADMIN maxItems: 50 minItems: 1 maxItems: 50 minItems: 1 required: - accesses DeletePartnerAssetAccessBody: type: object properties: accesses: type: array items: type: object properties: asset_id: description: Unique identifier of the business asset. type: string example: '549755885175' maxLength: 25 pattern: ^\d+$ partner_id: description: Unique identifier of a business partner to update asset access to. type: string example: '1234567890123' maxLength: 25 pattern: ^\d+$ partner_type: description: |- If partner_type=INTERNAL, the deleted asset access is for the access the partner has to your business asset.
If partner_type=EXTERNAL, the deleted asset access is for the access you have to the partner's business asset. type: string example: INTERNAL default: INTERNAL enum: - INTERNAL - EXTERNAL required: - partner_id - asset_id maxItems: 50 minItems: 1 required: - accesses DeletePartnerAssetsResult: description: The terminated asset access. type: object properties: asset_id: description: Unique identifier of a business asset. type: string example: '549755885175' pattern: ^\d+$ asset_type: $ref: '#/components/schemas/AssetTypeResponse' is_shared_partner: description: 'If is_shared_partner=FALSE, you terminated a partner''s asset access to your business asset.
If is_shared_partner=TRUE, you terminated your asset access to your partner''s business asset.' type: boolean example: false partner_id: description: Unique identifier of a business partner. type: string example: '140943737684417' pattern: ^\d+$ permissions: $ref: '#/components/schemas/PermissionsResponse' DeletePartnerAssetsResultsResponseArray: type: object properties: items: description: List of terminated asset access. type: array items: $ref: '#/components/schemas/DeletePartnerAssetsResult' type: object UpdateMemberResult: type: object properties: business_role: description: |- The access level a member has to the business. Values are case-sensitive.
- EMPLOYEE: Can only view and access assets you assign to them. They cannot see details about other employees, partners, or other assets.
- BIZ_ADMIN: Have full control of roles and can add employees and partners as well as grant asset access. type: string example: EMPLOYEE member_id: description: Unique identifier of the business member. type: string example: '140943737684417' pattern: ^\d+$ UpdateMemberResultsResponseArray: type: object properties: items: description: List of members with updated business access role. type: array items: $ref: '#/components/schemas/UpdateMemberResult' UpdateMemberBusinessRoleBody: description: Single instance of a business member to have its role updated type: object properties: business_role: $ref: '#/components/schemas/BusinessRoleForMembers' member_id: description: Unique identifier of the member type: string example: '140943737684417' maxLength: 25 pattern: ^\d+$ required: - member_id - business_role UpdateMemberAssetAccessBody: description: An object with a list of all the new accesses. type: object properties: accesses: type: array items: type: object required: - asset_id - member_id - permissions properties: asset_id: description: Id of the asset to update. type: string example: '549755885175' maxLength: 25 pattern: ^\d+$ member_id: description: Unique identifier of the member on which to perform the update type: string example: '140943737684417' maxLength: 25 pattern: ^\d+$ permissions: description: A non-empty array of permissions to assign to the member. type: array items: $ref: '#/components/schemas/Permissions' example: - ANALYST - ADMIN maxItems: 50 minItems: 1 maxItems: 50 minItems: 1 required: - accesses CampaignAudienceMultipliers: description: |- This represents a mapping from Audience ID to a bid price adjustment. Multiplier values must be between 0 and 10. A value of 10 represents a 900% increase in bid price (from $1 to $10 for example). A value of 0 will stop distribution for this item on the specified audience in `MAX_BID` ad groups in `CATALOG_SALES` campaigns. All audience multipliers must be set at the same time. If a multiplier is not provided it is assumed to be 1 (no bid adjustment). type: object properties: AUDIENCE_ID: type: string pattern: ^\d+$ example: '123': 1.1 '456': 1.2 additionalProperties: type: number format: double minimum: 0 maximum: 10 CampaignBidOptions: description: Object describing the campaign level bid multipliers. type: object properties: app_type_multipliers: $ref: '#/components/schemas/AppTypeMultipliers' audience_multipliers: $ref: '#/components/schemas/CampaignAudienceMultipliers' placement_multipliers: $ref: '#/components/schemas/PlacementMultipliers' nullable: true CampaignBidOptionsCreate: description: Object describing the campaign level bid multipliers. type: object allOf: - $ref: '#/components/schemas/CampaignBidOptions' CampaignBidOptionsUpdate: description: Object describing an update to the campaign level bid multipliers. type: object allOf: - $ref: '#/components/schemas/CampaignBidOptions' - type: object properties: update_mask: description: 'List of fields to update, only the fields in the list will be updated.' type: array items: type: string enum: - AUDIENCE - APP_TYPE - PLACEMENT - GENDER - AGE_BUCKET required: - update_mask CampaignCommon: description: Campaign Data type: object properties: ad_account_id: description: Campaign's Advertiser ID. If you want to create a campaign in a Business Account shared account you need to specify the Business Access advertiser ID in both the query path param as well as the request body schema. type: string example: '549755885175' pattern: ^\d+$ daily_spend_cap: description: Campaign daily spending cap. Required for Campaign Budget Optimization (CBO) campaigns. This and "lifetime_spend_cap" cannot be set at the same time. type: integer example: 1432744744 nullable: true end_time: description: |- Timestamp in Unix format for scheduling when ads in the campaign stop appearing. Must occur after any end times for child ad groups. If `end_time` is not specified for the campaign, ads run indefinitely unless you update the campaign, changing their status to `paused`. Learn about scheduling campaigns. Different end times can be set for the campaign's child ad groups, but they cannot occur after an `end_time` specified for the campaign. - If your campaign has a child ad group with an end time specified, and if you update that campaign with an `end_time` that is earlier than that of the ad group, the campaign `end_time` will supersede the ad group `end_time`, and the request will not return an error. - In this scenario, if you call List campaigns or List ad groups, the returned campaigns or ad groups are listed with the start and end times that you assigned them, regardless of supersedence. type: integer example: 1644023526 nullable: true is_automated_campaign: $ref: '#/components/schemas/CampaignIsAutomatedCampaign' is_flexible_daily_budgets: $ref: '#/components/schemas/CampaignIsFlexibleDailyBudgets' lifetime_spend_cap: description: Campaign total spending cap. Required for Campaign Budget Optimization (CBO) campaigns. This and "daily_spend_cap" cannot be set at the same time. type: integer example: 1432744744 nullable: true name: description: Campaign name. type: string example: ACME Tools order_line_id: description: Order line ID that appears on the invoice. type: string example: '549755885175' nullable: true pattern: ^\d+$ start_time: description: |- Timestamp in Unix format for scheduling when ads in the campaign start to appear. Must precede any start times set for child ad groups. Defaults to current time if no time is specified. Learn about scheduling campaigns. Different start times can be set for the campaign's child ad groups, but they cannot occur before a `start_time` specified for the campaign. - If your campaign has a child ad group with a start time specified, and if you update that campaign with a `start_time` that is later than that of the ad group, the campaign `start_time` will supersede the ad group `start_time`, and the request will not return an error. - In this scenario, if you call List campaigns or List ad groups, the returned campaigns or ad groups are listed with the start and end times that you assigned them, regardless of supersedence. type: integer example: 1580865126 nullable: true status: type: string allOf: - $ref: '#/components/schemas/EntityStatus' tracking_urls: type: object allOf: - $ref: '#/components/schemas/TrackingUrls' nullable: true CampaignCreateCommon: type: object allOf: - $ref: '#/components/schemas/CampaignCommon' - type: object properties: default_ad_group_budget_in_micro_currency: description: 'When transitioning from campaign budget optimization to non-campaign budget optimization, the default_ad_group_budget_in_micro_currency will propagate to each child ad groups daily budget. Unit is micro currency of the associated advertiser account.' type: integer example: 0 nullable: true is_campaign_budget_optimization: $ref: '#/components/schemas/CampaignIsCampaignBudgetOptimization' CampaignCreateRequest: type: object allOf: - $ref: '#/components/schemas/CampaignCreateCommon' - type: object properties: bid_options: $ref: '#/components/schemas/CampaignBidOptionsCreate' is_automated_campaign: type: boolean default: false allOf: - $ref: '#/components/schemas/CampaignIsAutomatedCampaign' nullable: false is_flexible_daily_budgets: type: boolean default: false allOf: - $ref: '#/components/schemas/CampaignIsFlexibleDailyBudgets' nullable: false is_performance_plus: description: 'Enable Pinterest Performance+ for your campaign. To learn more, see Pinterest Performance+ Setup.' type: boolean example: true default: false objective_type: $ref: '#/components/schemas/ObjectiveType' status: type: string default: ACTIVE allOf: - $ref: '#/components/schemas/EntityStatus' required: - name - objective_type - ad_account_id CampaignCreateResponse: type: object properties: items: type: array items: $ref: '#/components/schemas/CampaignCreateResponseItem' CampaignCreateResponseData: type: object allOf: - $ref: '#/components/schemas/CampaignCreateCommon' - $ref: '#/components/schemas/CampaignResponse' - type: object properties: objective_type: $ref: '#/components/schemas/ObjectiveType' CampaignCreateResponseItem: type: object properties: data: $ref: '#/components/schemas/CampaignCreateResponseData' exceptions: type: array items: $ref: '#/components/schemas/Exception' CampaignId: type: object properties: id: description: Campaign ID. type: string example: '549755885175' pattern: ^\d+$ CampaignIdFilter: type: object properties: campaign_ids: description: List of campaign ids type: array items: type: string pattern: ^\d+$ example: - '12345678' maxItems: 500 minItems: 1 CampaignIsAutomatedCampaign: description: Specifies whether the campaign was created in the automated campaign flow type: boolean example: true nullable: true CampaignIsCampaignBudgetOptimization: description: 'Determines if a campaign automatically generate ad-group level budgets given a campaign budget to maximize campaign outcome. When transitioning from non-cbo to cbo, all previous child ad group budget will be cleared.' type: boolean example: true nullable: true CampaignIsFlexibleDailyBudgets: description: 'Determine if a campaign has setup for flexible daily budgets, also known as "Pinterest Performance+ budgets".' type: boolean example: true nullable: true CampaignResponse: type: object allOf: - $ref: '#/components/schemas/CampaignId' - $ref: '#/components/schemas/CampaignCommon' - type: object properties: bid_options: $ref: '#/components/schemas/CampaignBidOptions' created_time: description: Campaign creation time. Unix timestamp in seconds. type: integer example: 1432744744 is_campaign_budget_optimization: $ref: '#/components/schemas/CampaignIsCampaignBudgetOptimization' is_performance_plus: description: 'Enable Pinterest Performance+ for your campaign. To learn more, see Pinterest Performance+ Setup.' type: boolean example: true objective_type: $ref: '#/components/schemas/ObjectiveType' summary_status: $ref: '#/components/schemas/CampaignSummaryStatus' type: description: Always "campaign". type: string example: campaign updated_time: description: UTC timestamp. Last update time. type: integer example: 1432744744 CampaignSummaryStatus: description: Summary status for campaign type: string example: RUNNING enum: - RUNNING - PAUSED - NOT_STARTED - COMPLETED - ADVERTISER_DISABLED - ARCHIVED - DRAFT - DELETED_DRAFT CampaignUpdateRequest: type: object allOf: - $ref: '#/components/schemas/CampaignId' - $ref: '#/components/schemas/CampaignCreateCommon' - type: object properties: bid_options: $ref: '#/components/schemas/CampaignBidOptionsUpdate' is_performance_plus: description: 'Enable Pinterest Performance+ for your campaign. To learn more, see Pinterest Performance+ Setup. This field is immutable, except only for campaigns in draft status which may update this field.' type: boolean example: true objective_type: type: string allOf: - $ref: '#/components/schemas/ObjectiveType' nullable: true required: - id - ad_account_id CampaignUpdateResponse: type: object allOf: - $ref: '#/components/schemas/CampaignCreateResponse' CampaignsAnalyticsResponse: type: array items: type: object properties: CAMPAIGN_ID: description: The ID of the campaing that this metrics belongs to. Returned as long as aggregate_report_rows is not true. 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 additionalProperties: true example: DATE: '2021-04-01' CAMPAIGN_ID: '547602124502' SPEND_IN_DOLLAR: 30 TOTAL_CLICKTHROUGH: 216 CampaignObjectivesFilter: type: object properties: campaign_objective_types: description: 'List of values for filtering. ["WEB_SESSIONS"] in BETA.' type: array items: $ref: '#/components/schemas/ObjectiveType' example: - AWARENESS maxItems: 7 minItems: 1 CarouselSlot: type: object properties: description: description: Carousel Pin slot description. type: string link: description: Carousel Pin slot link. type: string title: description: Carousel Pin slot title. type: string CancelInvitesBody: description: Request body used to cancel invites type: object properties: invite_ids: description: List of invite/request ids to be cancelled type: array items: type: string maxLength: 25 pattern: ^\d+$ example: - '1234567890123456789' - '1122334455667788991' maxItems: 50 minItems: 1 required: - invite_ids Catalog: description: Catalog entity type: object allOf: - $ref: '#/components/schemas/CatalogsDbItem' - type: object properties: catalog_type: $ref: '#/components/schemas/CatalogsType' id: description: ID of the catalog entity. type: string example: '864344156814050986' pattern: ^\d+$ name: description: A human-friendly name associated to a catalog entity. type: string nullable: true required: - id - name - catalog_type title: catalog CatalogsCreateRequest: description: Request object for creating a catalog. type: object properties: catalog_type: $ref: '#/components/schemas/CatalogsType' name: description: A human-friendly name associated to a given catalog. type: string additionalProperties: false required: - catalog_type - name title: catalogs_create_request CatalogsDbItem: type: object properties: created_at: type: string format: date-time example: '2022-03-14T15:15:22Z' id: type: string updated_at: type: string format: date-time example: '2022-03-14T15:16:34Z' required: - id - created_at - updated_at title: db_item CatalogsCreateReportResponse: type: object properties: token: description: Token to be used to get the report type: string CatalogsReport: type: object properties: report_status: type: string enum: - FINISHED - IN_PROGRESS size: description: Size of the report in bytes type: number nullable: true url: description: URL to download the report type: string nullable: true CatalogsReportStats: description: Diagnostics aggregated numbers type: object properties: report_type: type: string enum: - FEED_INGESTION_ISSUES - DISTRIBUTION_ISSUES discriminator: propertyName: report_type mapping: FEED_INGESTION_ISSUES: '#/components/schemas/CatalogsReportFeedIngestionStats' DISTRIBUTION_ISSUES: '#/components/schemas/CatalogsReportDistributionStats' oneOf: - $ref: '#/components/schemas/CatalogsReportFeedIngestionStats' - $ref: '#/components/schemas/CatalogsReportDistributionStats' required: - report_type CatalogsReportFeedIngestionStats: type: object properties: catalog_id: description: ID of the catalog entity. type: string pattern: ^\d+$ code: description: The event code that a diagnostics aggregated number references type: integer example: 112 code_label: description: 'A human-friendly label for the event code (e.g, ''AVAILABILITY_INVALID'')' type: string example: AVAILABILITY_INVALID message: description: Title message describing the diagnostic issue type: string occurrences: description: Number of occurrences of the issue type: integer example: 10 report_type: type: string enum: - FEED_INGESTION_ISSUES severity: description: 'An ERROR means that items have been dropped, while a WARN denotes that items have been ingested despite an issue' type: string enum: - WARN - ERROR CatalogsReportDistributionStats: type: object properties: catalog_id: description: ID of the catalog entity. type: string pattern: ^\d+$ code: description: The event code that a diagnostics aggregated number references type: integer code_label: description: 'A human-friendly label for the event code (e.g, ''SPAM'')' type: string example: SPAM ineligible_for_ads: description: Indicates if issue makes items ineligible for ads distribution type: boolean example: true ineligible_for_organic: description: Indicates if issue makes items ineligible for organic distribution type: boolean example: true message: description: Title message describing the diagnostic issue type: string occurrences: description: Number of occurrences of the issue type: integer example: 10 report_type: type: string enum: - DISTRIBUTION_ISSUES CatalogsReportParameters: description: Report parameters type: object properties: catalog_type: $ref: '#/components/schemas/CatalogsType' discriminator: propertyName: catalog_type mapping: RETAIL: '#/components/schemas/CatalogsRetailReportParameters' HOTEL: '#/components/schemas/CatalogsHotelReportParameters' oneOf: - $ref: '#/components/schemas/CatalogsRetailReportParameters' - $ref: '#/components/schemas/CatalogsHotelReportParameters' required: - catalog_type CatalogsHotelReportParameters: description: Parameters for hotel report type: object properties: catalog_type: type: string enum: - HOTEL report: type: object discriminator: propertyName: report_type mapping: FEED_INGESTION_ISSUES: '#/components/schemas/CatalogsReportFeedIngestionFilter' DISTRIBUTION_ISSUES: '#/components/schemas/CatalogsReportDistributionIssueFilter' ALL_ITEMS: '#/components/schemas/CatalogsReportAllItemsFilter' oneOf: - $ref: '#/components/schemas/CatalogsReportFeedIngestionFilter' - $ref: '#/components/schemas/CatalogsReportDistributionIssueFilter' - $ref: '#/components/schemas/CatalogsReportAllItemsFilter' properties: report_type: type: string enum: - FEED_INGESTION_ISSUES - DISTRIBUTION_ISSUES - ALL_ITEMS required: - catalog_type - report CatalogsHotelReportStatsParameters: description: Parameters for hotel report type: object properties: catalog_type: type: string enum: - HOTEL report: type: object discriminator: propertyName: report_type mapping: FEED_INGESTION_ISSUES: '#/components/schemas/CatalogsReportFeedIngestionFilter' DISTRIBUTION_ISSUES: '#/components/schemas/CatalogsReportDistributionIssueFilter' oneOf: - $ref: '#/components/schemas/CatalogsReportFeedIngestionFilter' - $ref: '#/components/schemas/CatalogsReportDistributionIssueFilter' properties: report_type: type: string enum: - FEED_INGESTION_ISSUES - DISTRIBUTION_ISSUES required: - catalog_type - report CatalogsRetailReportParameters: description: Parameters for retail report type: object properties: catalog_type: type: string enum: - RETAIL report: type: object discriminator: propertyName: report_type mapping: FEED_INGESTION_ISSUES: '#/components/schemas/CatalogsReportFeedIngestionFilter' DISTRIBUTION_ISSUES: '#/components/schemas/CatalogsReportDistributionIssueFilter' ALL_ITEMS: '#/components/schemas/CatalogsReportAllItemsFilter' oneOf: - $ref: '#/components/schemas/CatalogsReportFeedIngestionFilter' - $ref: '#/components/schemas/CatalogsReportDistributionIssueFilter' - $ref: '#/components/schemas/CatalogsReportAllItemsFilter' properties: report_type: type: string enum: - FEED_INGESTION_ISSUES - DISTRIBUTION_ISSUES - ALL_ITEMS required: - catalog_type - report CatalogsRetailReportStatsParameters: description: Parameters for retail report type: object properties: catalog_type: type: string enum: - RETAIL report: type: object discriminator: propertyName: report_type mapping: FEED_INGESTION_ISSUES: '#/components/schemas/CatalogsReportFeedIngestionFilter' DISTRIBUTION_ISSUES: '#/components/schemas/CatalogsReportDistributionIssueFilter' oneOf: - $ref: '#/components/schemas/CatalogsReportFeedIngestionFilter' - $ref: '#/components/schemas/CatalogsReportDistributionIssueFilter' properties: report_type: type: string enum: - FEED_INGESTION_ISSUES - DISTRIBUTION_ISSUES required: - catalog_type - report CatalogsReportFeedIngestionFilter: type: object properties: feed_id: description: ID of the feed entity. type: string pattern: ^\d+$ processing_result_id: description: 'Unique identifier of a feed processing result. It can be acquired from the "id" field of the "items" array within the response of the [List processing results for a given feed](/docs/api/v5/#operation/feed_processing_results/list). If not provided, default to most recent completed processing result.' type: string pattern: ^\d+$ report_type: type: string enum: - FEED_INGESTION_ISSUES additionalProperties: false required: - report_type - feed_id CatalogsReportDistributionIssueFilter: type: object properties: catalog_id: description: 'Unique identifier of a catalog. If not given, oldest catalog will be used' type: string pattern: ^\d+$ report_type: type: string enum: - DISTRIBUTION_ISSUES additionalProperties: false required: - report_type CatalogsReportAllItemsFilter: type: object properties: catalog_id: description: 'Unique identifier of a catalog. If not given, oldest catalog will be used' type: string pattern: ^\d+$ report_type: type: string enum: - ALL_ITEMS additionalProperties: false required: - report_type CatalogsHotelBatchItem: description: Hotel batch item type: object anyOf: - $ref: '#/components/schemas/CatalogsCreateHotelItem' - $ref: '#/components/schemas/CatalogsUpsertHotelItem' - $ref: '#/components/schemas/CatalogsUpdateHotelItem' - $ref: '#/components/schemas/CatalogsDeleteHotelItem' discriminator: propertyName: operation mapping: CREATE: '#/components/schemas/CatalogsCreateHotelItem' UPSERT: '#/components/schemas/CatalogsUpsertHotelItem' UPDATE: '#/components/schemas/CatalogsUpdateHotelItem' DELETE: '#/components/schemas/CatalogsDeleteHotelItem' CatalogsFeed: description: Catalogs Feed object type: object discriminator: propertyName: catalog_type mapping: RETAIL: '#/components/schemas/CatalogsRetailFeed' HOTEL: '#/components/schemas/CatalogsHotelFeed' CREATIVE_ASSETS: '#/components/schemas/CatalogsCreativeAssetsFeed' oneOf: - $ref: '#/components/schemas/CatalogsRetailFeed' - $ref: '#/components/schemas/CatalogsHotelFeed' - $ref: '#/components/schemas/CatalogsCreativeAssetsFeed' title: catalogs_feed CatalogsCreativeAssetsFeed: description: Catalogs Creative Asset Feed object type: object allOf: - $ref: '#/components/schemas/CatalogsDbItem' - type: object title: feed_fields properties: catalog_id: description: 'Catalog id pertaining to the feed. If not provided, feed will use a default catalog based on type.' type: string pattern: ^\d+$ catalog_type: $ref: '#/components/schemas/CatalogsType' credentials: $ref: '#/components/schemas/CatalogsFeedCredentials' default_country: $ref: '#/components/schemas/Country' default_currency: $ref: '#/components/schemas/NullableCurrency' default_locale: description: The locale used within a feed for product descriptions. type: string example: en-US format: $ref: '#/components/schemas/CatalogsFormat' location: description: The URL where a feed is available for download. This URL is what Pinterest will use to download a feed for processing. type: string name: description: A human-friendly name associated to a given feed. This value is currently nullable due to historical reasons. It is expected to become non-nullable in the future. type: string nullable: true preferred_processing_schedule: $ref: '#/components/schemas/CatalogsFeedProcessingSchedule' status: $ref: '#/components/schemas/CatalogsStatus' required: - credentials - format - location - name - preferred_processing_schedule - status - catalog_type - default_locale - default_currency - default_country - catalog_id title: catalogs_creative_assets_feed CatalogsHotelFeed: description: Catalogs Hotel Feed object type: object allOf: - $ref: '#/components/schemas/CatalogsDbItem' - type: object title: feed_fields properties: catalog_id: description: 'Catalog id pertaining to the feed. If not provided, feed will use a default catalog based on type.' type: string nullable: true pattern: ^\d+$ catalog_type: $ref: '#/components/schemas/CatalogsType' credentials: $ref: '#/components/schemas/CatalogsFeedCredentials' default_currency: $ref: '#/components/schemas/NullableCurrency' default_locale: description: The locale used within a feed for product descriptions. type: string example: en-US format: $ref: '#/components/schemas/CatalogsFormat' location: description: The URL where a feed is available for download. This URL is what Pinterest will use to download a feed for processing. type: string name: description: A human-friendly name associated to a given feed. This value is currently nullable due to historical reasons. It is expected to become non-nullable in the future. type: string nullable: true preferred_processing_schedule: $ref: '#/components/schemas/CatalogsFeedProcessingSchedule' status: $ref: '#/components/schemas/CatalogsStatus' required: - credentials - format - location - name - preferred_processing_schedule - status - catalog_type - default_locale - default_currency - catalog_id title: catalogs_hotel_feed CatalogsRetailFeed: description: Catalogs Retail Feed object type: object allOf: - $ref: '#/components/schemas/CatalogsDbItem' - type: object title: feed_fields properties: catalog_type: $ref: '#/components/schemas/CatalogsType' credentials: $ref: '#/components/schemas/CatalogsFeedCredentials' default_availability: $ref: '#/components/schemas/ProductAvailabilityType' default_country: $ref: '#/components/schemas/Country' default_currency: $ref: '#/components/schemas/NullableCurrency' default_locale: description: The locale used within a feed for product descriptions. type: string example: en-US format: $ref: '#/components/schemas/CatalogsFormat' location: description: The URL where a feed is available for download. This URL is what Pinterest will use to download a feed for processing. type: string name: description: A human-friendly name associated to a given feed. This value is currently nullable due to historical reasons. It is expected to become non-nullable in the future. type: string nullable: true preferred_processing_schedule: $ref: '#/components/schemas/CatalogsFeedProcessingSchedule' status: $ref: '#/components/schemas/CatalogsStatus' required: - credentials - default_availability - default_country - default_currency - default_locale - format - location - name - preferred_processing_schedule - status - catalog_type title: catalogs_retail_feed CatalogsFeedCredentials: description: This field is **OPTIONAL**. Use this if your feed file requires username and password. type: object properties: password: description: The required password for downloading a feed. type: string format: password username: description: The required username for downloading a feed. type: string nullable: true required: - username - password CatalogsFeedIngestionDetails: type: object properties: errors: $ref: '#/components/schemas/CatalogsFeedIngestionErrors' info: $ref: '#/components/schemas/CatalogsFeedIngestionInfo' warnings: $ref: '#/components/schemas/CatalogsFeedIngestionWarnings' required: - errors - info - warnings CatalogsFeedIngestionErrors: type: object properties: ACCOUNT_FLAGGED: description: We detected an issue with your account and are not currently ingesting your items. Please review our policies at policy.pinterest.com/community-guidelines#section-spam or contact us at help.pinterest.com/contact for more information. type: integer FETCH_GOOGLE_SHEET_NOT_SHARED: description: Update your Google Sheets sharing settings to 'Anyone with link' as a Viewer so that Pinterest can access your file. type: integer IMAGE_FILE_NOT_ACCESSIBLE: description: Image files are unreadable. Please upload new files to continue. type: integer IMAGE_FILE_NOT_FOUND: description: Image files are unreadable. Please upload new files to continue. type: integer IMAGE_INVALID_FILE: description: Image files are unreadable. Please upload new files to continue. type: integer IMAGE_LEVEL_INTERNAL_ERROR: description: We experienced a technical difficulty and were unable to download some images. The next download attempt will happen in 24 hours. type: integer IMAGE_MALFORMED_URL: description: Image files are unreadable. Please check your link and upload new files to continue. type: integer LARGE_PRODUCT_COUNT_DECREASE: description: The product count has decreased by more than 99% compared to the last successful ingestion. type: integer enum: - 1 LINE_LEVEL_INTERNAL_ERROR: description: We experienced a technical difficulty and were unable to ingest this some items. The next ingestion will happen in 24 hours. type: integer CatalogsFeedIngestionInfo: type: object properties: IN_STOCK: description: The number of ingested products that are in stock. type: integer OUT_OF_STOCK: description: The number of ingested products that are in out of stock. type: integer PREORDER: description: The number of ingested products that are in preorder. type: integer CatalogsFeedIngestion: type: object properties: created_at: type: string format: date-time example: '2022-03-14T15:16:34Z' feed_id: type: string example: '56789' id: type: string example: '01234' status: $ref: '#/components/schemas/CatalogsFeedProcessingStatus' required: - id - feed_id - created_at - status CatalogsFeedIngestionWarnings: type: object properties: AD_IMAGE_DOWNLOAD_CONTENT_READ_ERROR: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_DOWNLOAD_DNS_LOOKUP_ERROR: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_DOWNLOAD_FILE_NOT_ACCESSIBLE: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_DOWNLOAD_FILE_NOT_FOUND: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_DOWNLOAD_HTTP_STATUS_400: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_DOWNLOAD_HTTP_STATUS_403: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_DOWNLOAD_HTTP_STATUS_404: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_DOWNLOAD_HTTP_STATUS_405: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_DOWNLOAD_HTTP_STATUS_410: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_DOWNLOAD_HTTP_STATUS_429: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_DOWNLOAD_HTTP_STATUS_500: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_DOWNLOAD_HTTP_STATUS_502: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_DOWNLOAD_HTTP_STATUS_503: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_DOWNLOAD_HTTP_STATUS_504: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_DOWNLOAD_HTTP_STATUS_507: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_DOWNLOAD_HTTP_STATUS_508: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_DOWNLOAD_HTTP_STATUS_520: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_DOWNLOAD_HTTP_STATUS_521: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_DOWNLOAD_HTTP_STATUS_522: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_DOWNLOAD_HTTP_STATUS_525: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_DOWNLOAD_INTERNAL_CONFIGURATION_ERROR: description: We experienced a technical difficulty and were unable to download some additional images. The next download attempt will happen in 24 hours. type: integer AD_IMAGE_DOWNLOAD_INTERNAL_ERROR: description: We experienced a technical difficulty and were unable to download some additional images. The next download attempt will happen in 24 hours. type: integer AD_IMAGE_DOWNLOAD_INTERNAL_FAILED_TO_DOWNLOAD: description: We experienced a technical difficulty and were unable to download some additional images. The next download attempt will happen in 24 hours. type: integer AD_IMAGE_DOWNLOAD_INTERNAL_MALFORMED_URL: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_DOWNLOAD_INTERNAL_RATE_LIMITED: description: We experienced a technical difficulty and were unable to download some additional images. The next download attempt will happen in 24 hours. type: integer AD_IMAGE_DOWNLOAD_INTERNAL_REQUEST_EXPIRED: description: We experienced a technical difficulty and were unable to download some additional images. The next download attempt will happen in 24 hours. type: integer AD_IMAGE_DOWNLOAD_INVALID_FILE: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_DOWNLOAD_SITE_ERROR: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_DOWNLOAD_SITE_TIMEOUT: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_DOWNLOAD_SSL_ERROR: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_DOWNLOAD_SSL_HANDSHAKE_ERROR: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_PROCESSING_EMPTY_FILE: description: Ad image files are unreadable. Please check your link and upload new files to continue. type: integer AD_IMAGE_PROCESSING_HEIGHT_TOO_SMALL: description: Ad images must have a height larger than 75 pixels type: integer AD_IMAGE_PROCESSING_TOO_MANY_PIXELS: description: Ad images must have a maximum area (width x height) of less than 89478485 pixels type: integer AD_IMAGE_PROCESSING_TYPE_MISMATCH: description: Some ad images could not be processed due to a file type mismatch. type: integer AD_IMAGE_PROCESSING_WIDTH_TOO_SMALL: description: Ad images must have a width larger than 75 pixels type: integer AD_VIDEO_DOWNLOAD_CONTENT_READ_ERROR: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_DOWNLOAD_DNS_LOOKUP_ERROR: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_DOWNLOAD_FILE_NOT_ACCESSIBLE: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_DOWNLOAD_FILE_NOT_FOUND: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_DOWNLOAD_HTTP_STATUS_400: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_DOWNLOAD_HTTP_STATUS_403: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_DOWNLOAD_HTTP_STATUS_404: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_DOWNLOAD_HTTP_STATUS_405: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_DOWNLOAD_HTTP_STATUS_410: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_DOWNLOAD_HTTP_STATUS_429: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_DOWNLOAD_HTTP_STATUS_500: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_DOWNLOAD_HTTP_STATUS_502: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_DOWNLOAD_HTTP_STATUS_503: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_DOWNLOAD_HTTP_STATUS_504: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_DOWNLOAD_HTTP_STATUS_507: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_DOWNLOAD_HTTP_STATUS_508: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_DOWNLOAD_HTTP_STATUS_520: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_DOWNLOAD_HTTP_STATUS_521: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_DOWNLOAD_HTTP_STATUS_522: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_DOWNLOAD_HTTP_STATUS_525: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_DOWNLOAD_INTERNAL_CONFIGURATION_ERROR: description: We experienced a technical difficulty and were unable to download some additional images. The next download attempt will happen in 24 hours. type: integer AD_VIDEO_DOWNLOAD_INTERNAL_ERROR: description: We experienced a technical difficulty and were unable to download some additional images. The next download attempt will happen in 24 hours. type: integer AD_VIDEO_DOWNLOAD_INTERNAL_FAILED_TO_DOWNLOAD: description: We experienced a technical difficulty and were unable to download some additional images. The next download attempt will happen in 24 hours. type: integer AD_VIDEO_DOWNLOAD_INTERNAL_MALFORMED_URL: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_DOWNLOAD_INTERNAL_RATE_LIMITED: description: We experienced a technical difficulty and were unable to download some additional images. The next download attempt will happen in 24 hours. type: integer AD_VIDEO_DOWNLOAD_INTERNAL_REQUEST_EXPIRED: description: We experienced a technical difficulty and were unable to download some additional images. The next download attempt will happen in 24 hours. type: integer AD_VIDEO_DOWNLOAD_INVALID_FILE: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_DOWNLOAD_SITE_ERROR: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_DOWNLOAD_SITE_TIMEOUT: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_DOWNLOAD_SSL_ERROR: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_DOWNLOAD_SSL_HANDSHAKE_ERROR: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_LENGTH_TOO_SHORT: description: Ad videos length is too short. Please ensure that all ad videos are at least 4 seconds long. type: integer AD_VIDEO_PROCESSING_EMPTY_FILE: description: Ad video files are unreadable. Please check your link and upload new files to continue. type: integer AD_VIDEO_PROCESSING_HEIGHT_TOO_SMALL: description: Ad videos must have a height larger than 75 pixels type: integer AD_VIDEO_PROCESSING_TOO_MANY_PIXELS: description: Ad videos must have a maximum area (width x height) of less than 89478485 pixels type: integer AD_VIDEO_PROCESSING_TYPE_MISMATCH: description: Some ad videos could not be processed due to a file type mismatch. type: integer AD_VIDEO_PROCESSING_WIDTH_TOO_SMALL: description: Ad videos must have a width larger than 75 pixels type: integer ADDITIONAL_IMAGE_FILE_NOT_ACCESSIBLE: description: Additional image files are unreadable. Please upload new files to continue. type: integer ADDITIONAL_IMAGE_FILE_NOT_FOUND: description: Additional image files are unreadable. Please upload new files to continue. type: integer ADDITIONAL_IMAGE_INVALID_FILE: description: Additional image files are unreadable. Please upload new files to continue. type: integer ADDITIONAL_IMAGE_LEVEL_INTERNAL_ERROR: description: We experienced a technical difficulty and were unable to download some additional images. The next download attempt will happen in 24 hours. type: integer ADDITIONAL_IMAGE_MALFORMED_URL: description: Additional image files are unreadable. Please check your link and upload new files to continue. type: integer FETCH_GOOGLE_SHEET_PUBLIC_CAN_EDIT: description: Update your Google Sheets sharing settings from 'Editor' to 'Viewer'. type: integer HOTEL_PRICE_HEADER_IS_PRESENT: description: Price is not a supported column. Use base_price and sale_price instead. type: integer VIDEO_DOWNLOAD_VIDEO_TOO_SHORT: description: Video length is too short. Please ensure that the main video is at least 4 seconds long. type: integer VIDEO_FILE_NOT_ACCESSIBLE: description: Video files are unreadable. Please upload new files to continue. type: integer VIDEO_FILE_NOT_FOUND: description: Video files are unreadable. Please upload new files to continue. type: integer VIDEO_INVALID_FILE: description: Video files are unreadable. Please upload new files to continue. type: integer VIDEO_LEVEL_INTERNAL_ERROR: description: We experienced a technical difficulty and were unable to download some additional videos. The next download attempt will happen in 24 hours. type: integer VIDEO_MALFORMED_URL: description: Video files are unreadable. Please check your link and upload new files to continue. type: integer CatalogsFeedProcessingResult: type: object allOf: - $ref: '#/components/schemas/CatalogsDbItem' - type: object title: catalogs_feed_processing_result_fields properties: ingestion_details: $ref: '#/components/schemas/CatalogsFeedIngestionDetails' product_counts: $ref: '#/components/schemas/CatalogsFeedProductCounts' status: $ref: '#/components/schemas/CatalogsFeedProcessingStatus' validation_details: $ref: '#/components/schemas/CatalogsFeedValidationDetails' video_counts: $ref: '#/components/schemas/CatalogsFeedVideoCounts' required: - ingestion_details - status - product_counts - validation_details CatalogsFeedProcessingSchedule: description: Daily processing schedule. This field is **OPTIONAL**. Use this to configure the preferred time for processing a feed (otherwise random). type: object properties: time: description: 'A time in format HH:MM with leading 0 (zero)' type: string example: '02:59' pattern: '^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$' timezone: description: The timezone considered for the processing schedule time. type: string enum: - Africa/Abidjan - Africa/Accra - Africa/Algiers - Africa/Bissau - Africa/Cairo - Africa/Casablanca - Africa/Ceuta - Africa/El_Aaiun - Africa/Johannesburg - Africa/Juba - Africa/Khartoum - Africa/Lagos - Africa/Maputo - Africa/Monrovia - Africa/Nairobi - Africa/Ndjamena - Africa/Sao_Tome - Africa/Tripoli - Africa/Tunis - Africa/Windhoek - America/Adak - America/Anchorage - America/Araguaina - America/Argentina/Buenos_Aires - America/Argentina/Catamarca - America/Argentina/Cordoba - America/Argentina/Jujuy - America/Argentina/La_Rioja - America/Argentina/Mendoza - America/Argentina/Rio_Gallegos - America/Argentina/Salta - America/Argentina/San_Juan - America/Argentina/San_Luis - America/Argentina/Tucuman - America/Argentina/Ushuaia - America/Asuncion - America/Atikokan - America/Bahia - America/Bahia_Banderas - America/Barbados - America/Belem - America/Belize - America/Blanc-Sablon - America/Boa_Vista - America/Bogota - America/Boise - America/Cambridge_Bay - America/Campo_Grande - America/Cancun - America/Caracas - America/Cayenne - America/Chicago - America/Chihuahua - America/Costa_Rica - America/Creston - America/Cuiaba - America/Curacao - America/Danmarkshavn - America/Dawson - America/Dawson_Creek - America/Denver - America/Detroit - America/Edmonton - America/Eirunepe - America/El_Salvador - America/Fort_Nelson - America/Fortaleza - America/Glace_Bay - America/Goose_Bay - America/Grand_Turk - America/Guatemala - America/Guayaquil - America/Guyana - America/Halifax - America/Havana - America/Hermosillo - America/Indiana/Indianapolis - America/Indiana/Knox - America/Indiana/Marengo - America/Indiana/Petersburg - America/Indiana/Tell_City - America/Indiana/Vevay - America/Indiana/Vincennes - America/Indiana/Winamac - America/Inuvik - America/Iqaluit - America/Jamaica - America/Juneau - America/Kentucky/Louisville - America/Kentucky/Monticello - America/La_Paz - America/Lima - America/Los_Angeles - America/Maceio - America/Managua - America/Manaus - America/Martinique - America/Matamoros - America/Mazatlan - America/Menominee - America/Merida - America/Metlakatla - America/Mexico_City - America/Miquelon - America/Moncton - America/Monterrey - America/Montevideo - America/Nassau - America/New_York - America/Nipigon - America/Nome - America/Noronha - America/North_Dakota/Beulah - America/North_Dakota/Center - America/North_Dakota/New_Salem - America/Nuuk - America/Ojinaga - America/Panama - America/Pangnirtung - America/Paramaribo - America/Phoenix - America/Port-au-Prince - America/Port_of_Spain - America/Porto_Velho - America/Puerto_Rico - America/Punta_Arenas - America/Rainy_River - America/Rankin_Inlet - America/Recife - America/Regina - America/Resolute - America/Rio_Branco - America/Santarem - America/Santiago - America/Santo_Domingo - America/Sao_Paulo - America/Scoresbysund - America/Sitka - America/St_Johns - America/Swift_Current - America/Tegucigalpa - America/Thule - America/Thunder_Bay - America/Tijuana - America/Toronto - America/Vancouver - America/Whitehorse - America/Winnipeg - America/Yakutat - America/Yellowknife - Antarctica/Casey - Antarctica/Davis - Antarctica/DumontDUrville - Antarctica/Macquarie - Antarctica/Mawson - Antarctica/Palmer - Antarctica/Rothera - Antarctica/Syowa - Antarctica/Troll - Antarctica/Vostok - Asia/Almaty - Asia/Amman - Asia/Anadyr - Asia/Aqtau - Asia/Aqtobe - Asia/Ashgabat - Asia/Atyrau - Asia/Baghdad - Asia/Baku - Asia/Bangkok - Asia/Barnaul - Asia/Beirut - Asia/Bishkek - Asia/Brunei - Asia/Chita - Asia/Choibalsan - Asia/Colombo - Asia/Damascus - Asia/Dhaka - Asia/Dili - Asia/Dubai - Asia/Dushanbe - Asia/Famagusta - Asia/Gaza - Asia/Hebron - Asia/Ho_Chi_Minh - Asia/Hong_Kong - Asia/Hovd - Asia/Irkutsk - Asia/Jakarta - Asia/Jayapura - Asia/Jerusalem - Asia/Kabul - Asia/Kamchatka - Asia/Karachi - Asia/Kathmandu - Asia/Khandyga - Asia/Kolkata - Asia/Krasnoyarsk - Asia/Kuala_Lumpur - Asia/Kuching - Asia/Macau - Asia/Magadan - Asia/Makassar - Asia/Manila - Asia/Nicosia - Asia/Novokuznetsk - Asia/Novosibirsk - Asia/Omsk - Asia/Oral - Asia/Pontianak - Asia/Pyongyang - Asia/Qatar - Asia/Qostanay - Asia/Qyzylorda - Asia/Riyadh - Asia/Sakhalin - Asia/Samarkand - Asia/Seoul - Asia/Shanghai - Asia/Singapore - Asia/Srednekolymsk - Asia/Taipei - Asia/Tashkent - Asia/Tbilisi - Asia/Tehran - Asia/Thimphu - Asia/Tokyo - Asia/Tomsk - Asia/Ulaanbaatar - Asia/Urumqi - Asia/Ust-Nera - Asia/Vladivostok - Asia/Yakutsk - Asia/Yangon - Asia/Yekaterinburg - Asia/Yerevan - Atlantic/Azores - Atlantic/Bermuda - Atlantic/Canary - Atlantic/Cape_Verde - Atlantic/Faroe - Atlantic/Madeira - Atlantic/Reykjavik - Atlantic/South_Georgia - Atlantic/Stanley - Australia/Adelaide - Australia/Brisbane - Australia/Broken_Hill - Australia/Currie - Australia/Darwin - Australia/Eucla - Australia/Hobart - Australia/Lindeman - Australia/Lord_Howe - Australia/Melbourne - Australia/Perth - Australia/Sydney - CET - CST6CDT - EET - EST - EST5EDT - Etc/GMT - Etc/GMT+1 - Etc/GMT+10 - Etc/GMT+11 - Etc/GMT+12 - Etc/GMT+2 - Etc/GMT+3 - Etc/GMT+4 - Etc/GMT+5 - Etc/GMT+6 - Etc/GMT+7 - Etc/GMT+8 - Etc/GMT+9 - Etc/GMT-1 - Etc/GMT-10 - Etc/GMT-11 - Etc/GMT-12 - Etc/GMT-13 - Etc/GMT-14 - Etc/GMT-2 - Etc/GMT-3 - Etc/GMT-4 - Etc/GMT-5 - Etc/GMT-6 - Etc/GMT-7 - Etc/GMT-8 - Etc/GMT-9 - Etc/UTC - Europe/Amsterdam - Europe/Andorra - Europe/Astrakhan - Europe/Athens - Europe/Belgrade - Europe/Berlin - Europe/Brussels - Europe/Bucharest - Europe/Budapest - Europe/Chisinau - Europe/Copenhagen - Europe/Dublin - Europe/Gibraltar - Europe/Helsinki - Europe/Istanbul - Europe/Kaliningrad - Europe/Kiev - Europe/Kirov - Europe/Lisbon - Europe/London - Europe/Luxembourg - Europe/Madrid - Europe/Malta - Europe/Minsk - Europe/Monaco - Europe/Moscow - Europe/Oslo - Europe/Paris - Europe/Prague - Europe/Riga - Europe/Rome - Europe/Samara - Europe/Saratov - Europe/Simferopol - Europe/Sofia - Europe/Stockholm - Europe/Tallinn - Europe/Tirane - Europe/Ulyanovsk - Europe/Uzhgorod - Europe/Vienna - Europe/Vilnius - Europe/Volgograd - Europe/Warsaw - Europe/Zaporozhye - Europe/Zurich - HST - Indian/Chagos - Indian/Christmas - Indian/Cocos - Indian/Kerguelen - Indian/Mahe - Indian/Maldives - Indian/Mauritius - Indian/Reunion - MET - MST - MST7MDT - PST8PDT - Pacific/Apia - Pacific/Auckland - Pacific/Bougainville - Pacific/Chatham - Pacific/Chuuk - Pacific/Easter - Pacific/Efate - Pacific/Enderbury - Pacific/Fakaofo - Pacific/Fiji - Pacific/Funafuti - Pacific/Galapagos - Pacific/Gambier - Pacific/Guadalcanal - Pacific/Guam - Pacific/Honolulu - Pacific/Kiritimati - Pacific/Kosrae - Pacific/Kwajalein - Pacific/Majuro - Pacific/Marquesas - Pacific/Nauru - Pacific/Niue - Pacific/Norfolk - Pacific/Noumea - Pacific/Pago_Pago - Pacific/Palau - Pacific/Pitcairn - Pacific/Pohnpei - Pacific/Port_Moresby - Pacific/Rarotonga - Pacific/Tahiti - Pacific/Tarawa - Pacific/Tongatapu - Pacific/Wake - Pacific/Wallis - WET - null nullable: true nullable: true required: - time - timezone title: catalogs_processing_schedule CatalogsFeedProcessingStatus: type: string enum: - COMPLETED - FAILED - PROCESSING CatalogsFeedProductCounts: description: The counts can be null early in the process. type: object properties: ingested: description: The number of products successfully ingested from the feed file. type: integer original: description: The number of products in the feed file. type: integer nullable: true CatalogsFeedVideoCounts: description: 'Counts of total, ingested, and not ingested videos in the feed file. The counts may not appear early in the process.' type: object properties: ingested_videos: description: The number of videos successfully ingested from the feed file. type: integer not_ingested_videos: description: The number of videos that were not ingested from the feed file. type: integer total_videos: description: The number of videos in the feed file. type: integer CatalogsFeedValidationDetails: type: object properties: errors: $ref: '#/components/schemas/CatalogsFeedValidationErrors' warnings: $ref: '#/components/schemas/CatalogsFeedValidationWarnings' required: - errors - warnings CatalogsFeedValidationErrors: type: object properties: ADULT_INVALID: description: Some items have invalid adult values. type: integer ADWORDS_FORMAT_INVALID: description: Some adwords links contain too many characters. type: integer AVAILABILITY_INVALID: description: 'Some items are missing an availability value in their product metadata, those items will not be published.' type: integer BLOCKLISTED_IMAGE_SIGNATURE: description: Some items were not published because they don't meet Pinterest's Merchant Guidelines. type: integer DELIMITER_ERROR: description: Your feed includes data with formatting errors. type: integer DESCRIPTION_MISSING: description: 'Some items are missing a description in their product metadata, those items will not be published.' type: integer DUPLICATE_PRODUCTS: description: Some products are duplicated. type: integer ENCODING_ERROR: description: Your feed includes data with an unsupported encoding format. type: integer FEED_LENGTH_TOO_LONG: description: 'Your feed contains too many items, some items will not be published.' type: integer FEED_TOO_SMALL: description: Your feed couldn't be validated because the file doesn't contain the minimum number of lines required. type: integer FETCH_ERROR: description: Pinterest couldn't download your feed. type: integer FETCH_INACTIVE_FEED_ERROR: description: Your feed wasn't ingested because it hasn’t changed in the previous 90 days. type: integer IMAGE_LINK_INVALID: description: Some image links are formatted incorrectly. type: integer IMAGE_LINK_LENGTH_TOO_LONG: description: 'Some items have image_link URLs that contain too many characters, so those items will not be published.' type: integer IMAGE_LINK_MISSING: description: 'Some items are missing an image link URL in their product metadata, those items will not be published.' type: integer INTERNAL_SERVICE_ERROR: description: We experienced a technical difficulty and were unable to ingest your feed. The next ingestion will happen in 24 hours. type: integer INVALID_DOMAIN: description: Some of your product link values don't match the verified domain associated with this account. type: integer ITEM_MAIN_IMAGE_DOWNLOAD_FAILURE: description: Some items' main images can't be found. type: integer ITEMID_MISSING: description: 'Some items are missing an item id in their product metadata, those items will not be published.' type: integer LINK_FORMAT_INVALID: description: Some link values are formatted incorrectly. type: integer LINK_LENGTH_TOO_LONG: description: 'Some product links contain too many characters, those items will not be published.' type: integer LIST_PRICE_INVALID: description: 'Some items have list price formatting errors in their product metadata, those items will not be published.' type: integer MALFORMED_XML: description: Your feed couldn't be validated because the xml file is formatted incorrectly. type: integer MAX_ITEMS_PER_ITEM_GROUP_EXCEEDED: description: 'Some items exceed the maximum number of items per item group, those items will not be published.' type: integer NO_VERIFIED_DOMAIN: description: Your merchant domain needs to be claimed. type: integer PARSE_LINE_ERROR: description: Your feed contains formatting errors for some items. type: integer PINJOIN_CONTENT_UNSAFE: description: Some items were not published because they don't meet Pinterest's Merchant Guidelines. type: integer PRICE_CANNOT_BE_DETERMINED: description: 'Some items were not published because price cannot be determined. The price, list price, and sale price are all different, so those items will not be published.' type: integer PRICE_MISSING: description: 'Some products are missing a price, those items will not be published.' type: integer PRODUCT_LINK_MISSING: description: 'Some items are missing a link URL in their product metadata, those items will not be published.' type: integer PRODUCT_PRICE_INVALID: description: 'Some items have price formatting errors in their product metadata, those items will not be published.' type: integer REQUIRED_COLUMNS_MISSING: description: Your feed is missing some required column headers. type: integer TITLE_MISSING: description: 'Some items are missing a title in their product metadata, those items will not be published.' type: integer CatalogsFeedValidationWarnings: type: object properties: AD_IMAGE_0_LINK_DUPLICATED: description: ad_image_0_link is duplicated with another ad image link. type: integer AD_IMAGE_0_LINK_LENGTH_TOO_LONG: description: Ad image link 0 length is too long. The maximum length is 2047 characters. type: integer AD_IMAGE_0_LINK_REQUIRED: description: Ad image link 0 is required because an image tag was provided. type: integer AD_IMAGE_0_LINK_WARNING: description: Ad image link 0 format is unsupported. type: integer AD_IMAGE_0_TAG_DUPLICATED: description: ad_image_0_tag is duplicated with another ad image tag. type: integer AD_IMAGE_0_TAG_LENGTH_TOO_LONG: description: Ad image tag 0 length is too long. The maximum length is 511 characters. type: integer AD_IMAGE_0_TAG_REQUIRED: description: Ad image tag 0 is required because an image link was provided. type: integer AD_IMAGE_10_LINK_DUPLICATED: description: ad_image_10_link is duplicated with another ad image link. type: integer AD_IMAGE_10_LINK_LENGTH_TOO_LONG: description: Ad image link 10 length is too long. The maximum length is 2047 characters. type: integer AD_IMAGE_10_LINK_REQUIRED: description: Ad image link 10 is required because an image tag was provided. type: integer AD_IMAGE_10_LINK_WARNING: description: Ad image link 10 format is unsupported. type: integer AD_IMAGE_10_TAG_DUPLICATED: description: ad_image_10_tag is duplicated with another ad image tag. type: integer AD_IMAGE_10_TAG_LENGTH_TOO_LONG: description: Ad image tag 10 length is too long. The maximum length is 511 characters. type: integer AD_IMAGE_10_TAG_REQUIRED: description: Ad image tag 10 is required because an image link was provided. type: integer AD_IMAGE_11_LINK_DUPLICATED: description: ad_image_11_link is duplicated with another ad image link. type: integer AD_IMAGE_11_LINK_LENGTH_TOO_LONG: description: Ad image link 11 length is too long. The maximum length is 2047 characters. type: integer AD_IMAGE_11_LINK_REQUIRED: description: Ad image link 11 is required because an image tag was provided. type: integer AD_IMAGE_11_LINK_WARNING: description: Ad image link 11 format is unsupported. type: integer AD_IMAGE_11_TAG_DUPLICATED: description: ad_image_11_tag is duplicated with another ad image tag. type: integer AD_IMAGE_11_TAG_LENGTH_TOO_LONG: description: Ad image tag 11 length is too long. The maximum length is 511 characters. type: integer AD_IMAGE_11_TAG_REQUIRED: description: Ad image tag 11 is required because an image link was provided. type: integer AD_IMAGE_12_LINK_DUPLICATED: description: ad_image_12_link is duplicated with another ad image link. type: integer AD_IMAGE_12_LINK_LENGTH_TOO_LONG: description: Ad image link 12 length is too long. The maximum length is 2047 characters. type: integer AD_IMAGE_12_LINK_REQUIRED: description: Ad image link 12 is required because an image tag was provided. type: integer AD_IMAGE_12_LINK_WARNING: description: Ad image link 12 format is unsupported. type: integer AD_IMAGE_12_TAG_DUPLICATED: description: ad_image_12_tag is duplicated with another ad image tag. type: integer AD_IMAGE_12_TAG_LENGTH_TOO_LONG: description: Ad image tag 12 length is too long. The maximum length is 511 characters. type: integer AD_IMAGE_12_TAG_REQUIRED: description: Ad image tag 12 is required because an image link was provided. type: integer AD_IMAGE_13_LINK_DUPLICATED: description: ad_image_13_link is duplicated with another ad image link. type: integer AD_IMAGE_13_LINK_LENGTH_TOO_LONG: description: Ad image link 13 length is too long. The maximum length is 2047 characters. type: integer AD_IMAGE_13_LINK_REQUIRED: description: Ad image link 13 is required because an image tag was provided. type: integer AD_IMAGE_13_LINK_WARNING: description: Ad image link 13 format is unsupported. type: integer AD_IMAGE_13_TAG_DUPLICATED: description: ad_image_13_tag is duplicated with another ad image tag. type: integer AD_IMAGE_13_TAG_LENGTH_TOO_LONG: description: Ad image tag 13 length is too long. The maximum length is 511 characters. type: integer AD_IMAGE_13_TAG_REQUIRED: description: Ad image tag 13 is required because an image link was provided. type: integer AD_IMAGE_14_LINK_DUPLICATED: description: ad_image_14_link is duplicated with another ad image link. type: integer AD_IMAGE_14_LINK_LENGTH_TOO_LONG: description: Ad image link 14 length is too long. The maximum length is 2047 characters. type: integer AD_IMAGE_14_LINK_REQUIRED: description: Ad image link 14 is required because an image tag was provided. type: integer AD_IMAGE_14_LINK_WARNING: description: Ad image link 14 format is unsupported. type: integer AD_IMAGE_14_TAG_DUPLICATED: description: ad_image_14_tag is duplicated with another ad image tag. type: integer AD_IMAGE_14_TAG_LENGTH_TOO_LONG: description: Ad image tag 14 length is too long. The maximum length is 511 characters. type: integer AD_IMAGE_14_TAG_REQUIRED: description: Ad image tag 14 is required because an image link was provided. type: integer AD_IMAGE_15_LINK_DUPLICATED: description: ad_image_15_link is duplicated with another ad image link. type: integer AD_IMAGE_15_LINK_LENGTH_TOO_LONG: description: Ad image link 15 length is too long. The maximum length is 2047 characters. type: integer AD_IMAGE_15_LINK_REQUIRED: description: Ad image link 15 is required because an image tag was provided. type: integer AD_IMAGE_15_LINK_WARNING: description: Ad image link 15 format is unsupported. type: integer AD_IMAGE_15_TAG_DUPLICATED: description: ad_image_15_tag is duplicated with another ad image tag. type: integer AD_IMAGE_15_TAG_LENGTH_TOO_LONG: description: Ad image tag 15 length is too long. The maximum length is 511 characters. type: integer AD_IMAGE_15_TAG_REQUIRED: description: Ad image tag 15 is required because an image link was provided. type: integer AD_IMAGE_16_LINK_DUPLICATED: description: ad_image_16_link is duplicated with another ad image link. type: integer AD_IMAGE_16_LINK_LENGTH_TOO_LONG: description: Ad image link 16 length is too long. The maximum length is 2047 characters. type: integer AD_IMAGE_16_LINK_REQUIRED: description: Ad image link 16 is required because an image tag was provided. type: integer AD_IMAGE_16_LINK_WARNING: description: Ad image link 16 format is unsupported. type: integer AD_IMAGE_16_TAG_DUPLICATED: description: ad_image_16_tag is duplicated with another ad image tag. type: integer AD_IMAGE_16_TAG_LENGTH_TOO_LONG: description: Ad image tag 16 length is too long. The maximum length is 511 characters. type: integer AD_IMAGE_16_TAG_REQUIRED: description: Ad image tag 16 is required because an image link was provided. type: integer AD_IMAGE_17_LINK_DUPLICATED: description: ad_image_17_link is duplicated with another ad image link. type: integer AD_IMAGE_17_LINK_LENGTH_TOO_LONG: description: Ad image link 17 length is too long. The maximum length is 2047 characters. type: integer AD_IMAGE_17_LINK_REQUIRED: description: Ad image link 17 is required because an image tag was provided. type: integer AD_IMAGE_17_LINK_WARNING: description: Ad image link 17 format is unsupported. type: integer AD_IMAGE_17_TAG_DUPLICATED: description: ad_image_17_tag is duplicated with another ad image tag. type: integer AD_IMAGE_17_TAG_LENGTH_TOO_LONG: description: Ad image tag 17 length is too long. The maximum length is 511 characters. type: integer AD_IMAGE_17_TAG_REQUIRED: description: Ad image tag 17 is required because an image link was provided. type: integer AD_IMAGE_18_LINK_DUPLICATED: description: ad_image_18_link is duplicated with another ad image link. type: integer AD_IMAGE_18_LINK_LENGTH_TOO_LONG: description: Ad image link 18 length is too long. The maximum length is 2047 characters. type: integer AD_IMAGE_18_LINK_REQUIRED: description: Ad image link 18 is required because an image tag was provided. type: integer AD_IMAGE_18_LINK_WARNING: description: Ad image link 18 format is unsupported. type: integer AD_IMAGE_18_TAG_DUPLICATED: description: ad_image_18_tag is duplicated with another ad image tag. type: integer AD_IMAGE_18_TAG_LENGTH_TOO_LONG: description: Ad image tag 18 length is too long. The maximum length is 511 characters. type: integer AD_IMAGE_18_TAG_REQUIRED: description: Ad image tag 18 is required because an image link was provided. type: integer AD_IMAGE_19_LINK_DUPLICATED: description: ad_image_19_link is duplicated with another ad image link. type: integer AD_IMAGE_19_LINK_LENGTH_TOO_LONG: description: Ad image link 19 length is too long. The maximum length is 2047 characters. type: integer AD_IMAGE_19_LINK_REQUIRED: description: Ad image link 19 is required because an image tag was provided. type: integer AD_IMAGE_19_LINK_WARNING: description: Ad image link 19 format is unsupported. type: integer AD_IMAGE_19_TAG_DUPLICATED: description: ad_image_19_tag is duplicated with another ad image tag. type: integer AD_IMAGE_19_TAG_LENGTH_TOO_LONG: description: Ad image tag 19 length is too long. The maximum length is 511 characters. type: integer AD_IMAGE_19_TAG_REQUIRED: description: Ad image tag 19 is required because an image link was provided. type: integer AD_IMAGE_1_LINK_DUPLICATED: description: ad_image_1_link is duplicated with another ad image link. type: integer AD_IMAGE_1_LINK_LENGTH_TOO_LONG: description: Ad image link 1 length is too long. The maximum length is 2047 characters. type: integer AD_IMAGE_1_LINK_REQUIRED: description: Ad image link 1 is required because an image tag was provided. type: integer AD_IMAGE_1_LINK_WARNING: description: Ad image link 1 format is unsupported. type: integer AD_IMAGE_1_TAG_DUPLICATED: description: ad_image_1_tag is duplicated with another ad image tag. type: integer AD_IMAGE_1_TAG_LENGTH_TOO_LONG: description: Ad image tag 1 length is too long. The maximum length is 511 characters. type: integer AD_IMAGE_1_TAG_REQUIRED: description: Ad image tag 1 is required because an image link was provided. type: integer AD_IMAGE_2_LINK_DUPLICATED: description: ad_image_2_link is duplicated with another ad image link. type: integer AD_IMAGE_2_LINK_LENGTH_TOO_LONG: description: Ad image link 2 length is too long. The maximum length is 2047 characters. type: integer AD_IMAGE_2_LINK_REQUIRED: description: Ad image link 2 is required because an image tag was provided. type: integer AD_IMAGE_2_LINK_WARNING: description: Ad image link 2 format is unsupported. type: integer AD_IMAGE_2_TAG_DUPLICATED: description: ad_image_2_tag is duplicated with another ad image tag. type: integer AD_IMAGE_2_TAG_LENGTH_TOO_LONG: description: Ad image tag 2 length is too long. The maximum length is 511 characters. type: integer AD_IMAGE_2_TAG_REQUIRED: description: Ad image tag 2 is required because an image link was provided. type: integer AD_IMAGE_3_LINK_DUPLICATED: description: ad_image_3_link is duplicated with another ad image link. type: integer AD_IMAGE_3_LINK_LENGTH_TOO_LONG: description: Ad image link 3 length is too long. The maximum length is 2047 characters. type: integer AD_IMAGE_3_LINK_REQUIRED: description: Ad image link 3 is required because an image tag was provided. type: integer AD_IMAGE_3_LINK_WARNING: description: Ad image link 3 format is unsupported. type: integer AD_IMAGE_3_TAG_DUPLICATED: description: ad_image_3_tag is duplicated with another ad image tag. type: integer AD_IMAGE_3_TAG_LENGTH_TOO_LONG: description: Ad image tag 3 length is too long. The maximum length is 511 characters. type: integer AD_IMAGE_3_TAG_REQUIRED: description: Ad image tag 3 is required because an image link was provided. type: integer AD_IMAGE_4_LINK_DUPLICATED: description: ad_image_4_link is duplicated with another ad image link. type: integer AD_IMAGE_4_LINK_LENGTH_TOO_LONG: description: Ad image link 4 length is too long. The maximum length is 2047 characters. type: integer AD_IMAGE_4_LINK_REQUIRED: description: Ad image link 4 is required because an image tag was provided. type: integer AD_IMAGE_4_LINK_WARNING: description: Ad image link 4 format is unsupported. type: integer AD_IMAGE_4_TAG_DUPLICATED: description: ad_image_4_tag is duplicated with another ad image tag. type: integer AD_IMAGE_4_TAG_LENGTH_TOO_LONG: description: Ad image tag 4 length is too long. The maximum length is 511 characters. type: integer AD_IMAGE_4_TAG_REQUIRED: description: Ad image tag 4 is required because an image link was provided. type: integer AD_IMAGE_5_LINK_DUPLICATED: description: ad_image_5_link is duplicated with another ad image link. type: integer AD_IMAGE_5_LINK_LENGTH_TOO_LONG: description: Ad image link 5 length is too long. The maximum length is 2047 characters. type: integer AD_IMAGE_5_LINK_REQUIRED: description: Ad image link 5 is required because an image tag was provided. type: integer AD_IMAGE_5_LINK_WARNING: description: Ad image link 5 format is unsupported. type: integer AD_IMAGE_5_TAG_DUPLICATED: description: ad_image_5_tag is duplicated with another ad image tag. type: integer AD_IMAGE_5_TAG_LENGTH_TOO_LONG: description: Ad image tag 5 length is too long. The maximum length is 511 characters. type: integer AD_IMAGE_5_TAG_REQUIRED: description: Ad image tag 5 is required because an image link was provided. type: integer AD_IMAGE_6_LINK_DUPLICATED: description: ad_image_6_link is duplicated with another ad image link. type: integer AD_IMAGE_6_LINK_LENGTH_TOO_LONG: description: Ad image link 6 length is too long. The maximum length is 2047 characters. type: integer AD_IMAGE_6_LINK_REQUIRED: description: Ad image link 6 is required because an image tag was provided. type: integer AD_IMAGE_6_LINK_WARNING: description: Ad image link 6 format is unsupported. type: integer AD_IMAGE_6_TAG_DUPLICATED: description: ad_image_6_tag is duplicated with another ad image tag. type: integer AD_IMAGE_6_TAG_LENGTH_TOO_LONG: description: Ad image tag 6 length is too long. The maximum length is 511 characters. type: integer AD_IMAGE_6_TAG_REQUIRED: description: Ad image tag 6 is required because an image link was provided. type: integer AD_IMAGE_7_LINK_DUPLICATED: description: ad_image_7_link is duplicated with another ad image link. type: integer AD_IMAGE_7_LINK_LENGTH_TOO_LONG: description: Ad image link 7 length is too long. The maximum length is 2047 characters. type: integer AD_IMAGE_7_LINK_REQUIRED: description: Ad image link 7 is required because an image tag was provided. type: integer AD_IMAGE_7_LINK_WARNING: description: Ad image link 7 format is unsupported. type: integer AD_IMAGE_7_TAG_DUPLICATED: description: ad_image_7_tag is duplicated with another ad image tag. type: integer AD_IMAGE_7_TAG_LENGTH_TOO_LONG: description: Ad image tag 7 length is too long. The maximum length is 511 characters. type: integer AD_IMAGE_7_TAG_REQUIRED: description: Ad image tag 7 is required because an image link was provided. type: integer AD_IMAGE_8_LINK_DUPLICATED: description: ad_image_8_link is duplicated with another ad image link. type: integer AD_IMAGE_8_LINK_LENGTH_TOO_LONG: description: Ad image link 8 length is too long. The maximum length is 2047 characters. type: integer AD_IMAGE_8_LINK_REQUIRED: description: Ad image link 8 is required because an image tag was provided. type: integer AD_IMAGE_8_LINK_WARNING: description: Ad image link 8 format is unsupported. type: integer AD_IMAGE_8_TAG_DUPLICATED: description: ad_image_8_tag is duplicated with another ad image tag. type: integer AD_IMAGE_8_TAG_LENGTH_TOO_LONG: description: Ad image tag 8 length is too long. The maximum length is 511 characters. type: integer AD_IMAGE_8_TAG_REQUIRED: description: Ad image tag 8 is required because an image link was provided. type: integer AD_IMAGE_9_LINK_DUPLICATED: description: ad_image_9_link is duplicated with another ad image link. type: integer AD_IMAGE_9_LINK_LENGTH_TOO_LONG: description: Ad image link 9 length is too long. The maximum length is 2047 characters. type: integer AD_IMAGE_9_LINK_REQUIRED: description: Ad image link 9 is required because an image tag was provided. type: integer AD_IMAGE_9_LINK_WARNING: description: Ad image link 9 format is unsupported. type: integer AD_IMAGE_9_TAG_DUPLICATED: description: ad_image_9_tag is duplicated with another ad image tag. type: integer AD_IMAGE_9_TAG_LENGTH_TOO_LONG: description: Ad image tag 9 length is too long. The maximum length is 511 characters. type: integer AD_IMAGE_9_TAG_REQUIRED: description: Ad image tag 9 is required because an image link was provided. type: integer AD_LINK_FORMAT_WARNING: description: Some items have ad links that are formatted incorrectly. type: integer AD_LINK_SAME_AS_LINK: description: Some items have ad link URLs that are duplicates of the link URLs for those items. type: integer AD_VIDEO_0_LINK_DUPLICATED: description: ad_video_0_link is duplicated with another ad video link. type: integer AD_VIDEO_0_LINK_LENGTH_TOO_LONG: description: ad_video_0_link length is too long. The maximum length is 511 characters. type: integer AD_VIDEO_0_LINK_REQUIRED: description: ad_video_0_link is required for this item because ad_video_0_tag was provided. type: integer AD_VIDEO_0_LINK_WARNING: description: ad_video_0_link is formatted incorrectly and will not be published with your items. type: integer AD_VIDEO_0_TAG_DUPLICATED: description: ad_video_0_tag is duplicated with another ad video tag. type: integer AD_VIDEO_0_TAG_LENGTH_TOO_LONG: description: ad_video_0_tag length is too long. The maximum length is 511 characters. type: integer AD_VIDEO_0_TAG_REQUIRED: description: ad_video_0_tag is required because ad_video_0_link was provided. type: integer AD_VIDEO_1_LINK_DUPLICATED: description: ad_video_1_link is duplicated with another ad video link. type: integer AD_VIDEO_1_LINK_LENGTH_TOO_LONG: description: ad_video_1_link length is too long. The maximum length is 511 characters. type: integer AD_VIDEO_1_LINK_REQUIRED: description: ad_video_1_link is required for this item because ad_video_1_tag was provided. type: integer AD_VIDEO_1_LINK_WARNING: description: ad_video_1_link is formatted incorrectly and will not be published with your items. type: integer AD_VIDEO_1_TAG_DUPLICATED: description: ad_video_1_tag is duplicated with another ad video tag. type: integer AD_VIDEO_1_TAG_LENGTH_TOO_LONG: description: ad_video_1_tag length is too long. The maximum length is 511 characters. type: integer AD_VIDEO_1_TAG_REQUIRED: description: ad_video_1_tag is required because ad_video_1_link was provided. type: integer AD_VIDEO_2_LINK_DUPLICATED: description: ad_video_2_link is duplicated with another ad video link. type: integer AD_VIDEO_2_LINK_LENGTH_TOO_LONG: description: ad_video_2_link length is too long. The maximum length is 511 characters. type: integer AD_VIDEO_2_LINK_REQUIRED: description: ad_video_2_link is required for this item because ad_video_2_tag was provided. type: integer AD_VIDEO_2_LINK_WARNING: description: ad_video_2_link is formatted incorrectly and will not be published with your items. type: integer AD_VIDEO_2_TAG_DUPLICATED: description: ad_video_2_tag is duplicated with another ad video tag. type: integer AD_VIDEO_2_TAG_LENGTH_TOO_LONG: description: ad_video_2_tag length is too long. The maximum length is 511 characters. type: integer AD_VIDEO_2_TAG_REQUIRED: description: ad_video_2_tag is required because ad_video_2_link was provided. type: integer ADDITIONAL_IMAGE_LINK_LENGTH_TOO_LONG: description: 'Some items have additional_image_link URLs that contain too many characters, so those items will not be published.' type: integer ADDITIONAL_IMAGE_LINK_WARNING: description: Some items have additional_image_link URLs that are formatted incorrectly and will not be published with your items. type: integer ADWORDS_FORMAT_WARNING: description: Some items have adwords_redirect links that are formatted incorrectly. type: integer ADWORDS_SAME_AS_LINK: description: Some items have adwords_redirect URLs that are duplicates of the link URLs for those items. type: integer AGE_GROUP_INVALID: description: 'Some items have age group values that are formatted incorrectly, which may limit visibility in recommendations, search results and shopping experiences.' type: integer ANDROID_DEEP_LINK_INVALID: description: Some items include invalid android_deep_link. type: integer AVAILABILITY_DATE_INVALID: description: 'Some items have availability_date values that are formatted incorrectly, those items will be published without an availability date.' type: integer COUNTRY_DOES_NOT_MAP_TO_CURRENCY: description: Some items include a currency that doesn't match the usual currency for the location where that product is sold or shipped. type: integer CUSTOM_LABEL_LENGTH_TOO_LONG: description: 'Some items have custom_label values that are too long, those items will be published without that custom label.' type: integer DESCRIPTION_LENGTH_TOO_LONG: description: The description for some items were truncated because they contain too many characters. type: integer DUPLICATE_HEADERS: description: Your feed contains duplicate headers. type: integer EXPIRATION_DATE_INVALID: description: 'Some items have expiration_date values that are formatted incorrectly, those items will be published without an expiration date.' type: integer FETCH_SAME_SIGNATURE: description: Ingestion completed early because there are no changes to your feed since the last successful update. type: integer enum: - 1 GENDER_INVALID: description: 'Some items have gender values that are formatted incorrectly, which may limit visibility in recommendations, search results and shopping experiences.' type: integer GTIN_INVALID: description: Some items include incorrectly formatted GTINs. type: integer IMAGE_LINK_WARNING: description: Some items have image_link URLs that are formatted incorrectly and will not be published with those items. type: integer INCONSISTENT_CURRENCY_VALUES: description: Some items include inconsistent currencies in price fields. type: integer INDEXED_PRODUCT_COUNT_LARGE_DELTA: description: The product count has increased or decreased significantly compared to the last successful ingestion. type: integer IOS_DEEP_LINK_INVALID: description: Some items include invalid ios_deep_link values. type: integer IS_BUNDLE_INVALID: description: 'Some items have is_bundle values that are formatted incorrectly, those items will be published without being bundled with other products.' type: integer ITEM_ADDITIONAL_IMAGE_DOWNLOAD_FAILURE: description: Some items include additional_image_links that can't be found. type: integer LINK_FORMAT_WARNING: description: Some items have an invalid product link which contains invalid UTM tracking paramaters. type: integer MIN_AD_PRICE_INVALID: description: Some items include min_ad_price values that are formatted incorrectly. type: integer MPN_INVALID: description: Some items include incorrectly formatted MPNs. type: integer MULTIPACK_INVALID: description: Some items have invalid multipack values. type: integer OPTIONAL_CONDITION_INVALID: description: 'Some items include condition values that are formatted incorrectly, which may limit visibility in recommendations, search results and shopping experiences.' type: integer OPTIONAL_CONDITION_MISSING: description: 'Some items are missing a condition value, which may limit visibility in recommendations, search results and shopping experiences.' type: integer OPTIONAL_PRODUCT_CATEGORY_INVALID: description: Some items include google_product_category values that are not formatted correctly according to the GPC taxonomy. type: integer OPTIONAL_PRODUCT_CATEGORY_MISSING: description: Some items are missing a google_product_category. type: integer PRODUCT_CATEGORY_DEPTH_WARNING: description: 'Some items only have 1 or 2 levels of google_product_category values, which may limit visibility in recommendations, search results and shopping experiences.' type: integer PRODUCT_TYPE_LENGTH_TOO_LONG: description: 'Some items have product_type values that are too long, those items will be published without that product type.' type: integer SALE_DATE_INVALID: description: 'Some items have sale_price_effective_date values that are formatted incorrectly, those items will be published without a sale date.' type: integer SALES_PRICE_INVALID: description: Some items have sale price values that are higher than the original price of the item. type: integer SALES_PRICE_TOO_HIGH: description: Some items include a sales price that is higher than the list price. The sales price has been defaulted to the list price. type: integer SALES_PRICE_TOO_LOW: description: Some items include sales price that is much lower than the list price. type: integer SHIPPING_HEIGHT_INVALID: description: Some items include incorrectly formatted shipping_height. type: integer SHIPPING_INVALID: description: Some items have shipping values that are formatted incorrectly. type: integer SHIPPING_WEIGHT_INVALID: description: Some items have invalid shipping_weight values. type: integer SHIPPING_WIDTH_INVALID: description: Some items include incorrectly formatted shipping_width. type: integer SIZE_SYSTEM_INVALID: description: Some items have size system values which are not one of the supported size systems. type: integer SIZE_TYPE_INVALID: description: 'Some items have size type values that are formatted incorrectly, which may limit visibility in recommendations, search results and shopping experiences.' type: integer TAX_INVALID: description: Some items have tax values that are formatted incorrectly. type: integer TITLE_LENGTH_TOO_LONG: description: The title for some items were truncated because they contain too many characters. type: integer TOO_MANY_ADDITIONAL_IMAGE_LINKS: description: 'Some items have additional_image_link values that exceed the limit for additional images, those items will be published without some of your images.' type: integer UPDATED_TIME_INVALID: description: 'Some items have updated_time values thate are formatted incorrectly, those items will be published without an updated time.' type: integer UTM_SOURCE_AUTO_CORRECTED: description: Some items include utm_source values that are formatted incorrectly and have been automatically corrected. type: integer VIDEO_REQUIRED_WHEN_AD_VIDEO_PROVIDED: description: A video is required in the item when ad_video fields are provided. type: integer WEIGHT_UNIT_INVALID: description: 'Some items have weight_unit values that are formatted incorrectly, those items will be published without a weight unit.' type: integer CatalogsFeedsCreateRequest: description: 'Request object for creating a feed. Please, be aware that "default_country" and "default_locale" are not required in the spec for forward compatibility but for now the API will not accept requests without those fields.' type: object properties: credentials: $ref: '#/components/schemas/CatalogsFeedCredentials' default_availability: $ref: '#/components/schemas/ProductAvailabilityType' default_country: $ref: '#/components/schemas/Country' default_currency: $ref: '#/components/schemas/NullableCurrency' default_locale: description: The locale used within a feed for product descriptions. example: en-US anyOf: - $ref: '#/components/schemas/CatalogsLocale' description: The locale used within a feed for product descriptions. - description: The locale used within a feed for product descriptions. This free text string version is deprecated in favor of official list of supported locales defined by CatalogsLocale. type: string deprecated: true format: $ref: '#/components/schemas/CatalogsFormat' location: description: The URL where a feed is available for download. This URL is what Pinterest will use to download a feed for processing. type: string pattern: '^(http|https|ftp|sftp)://' name: description: A human-friendly name associated to a given feed. type: string preferred_processing_schedule: $ref: '#/components/schemas/CatalogsFeedProcessingSchedule' status: type: string allOf: - $ref: '#/components/schemas/CatalogsStatus' - default: ACTIVE additionalProperties: false required: - format - location - name title: legacy_retail_only CatalogsHotelAttributes: type: object allOf: - type: object properties: additional_image_link: description: |-

<= 2000 characters

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

type: array items: type: string example: - 'https://scene.example.com/image/image_v2.jpg' - 'https://scene.example.com/image/image_v3.jpg' nullable: true main_image: description: The main hotel image type: object properties: link: description: |-

<= 2000 characters

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

type: string tag: description: Tag appended to the image that identifies image category or details. There can be multiple tags associated with an image type: array items: type: string nullable: true - $ref: '#/components/schemas/CatalogsUpdatableHotelAttributes' CatalogsRetailFeedsCreateRequest: description: Request object for creating a retail feed. type: object properties: catalog_id: description: 'Catalog id pertaining to the feed. If not provided, feed will use a default catalog based on type. Currently, this field has no effect.' type: string pattern: ^\d+$ catalog_type: $ref: '#/components/schemas/CatalogsType' credentials: $ref: '#/components/schemas/CatalogsFeedCredentials' default_availability: $ref: '#/components/schemas/ProductAvailabilityType' default_country: $ref: '#/components/schemas/Country' default_currency: $ref: '#/components/schemas/NullableCurrency' default_locale: description: The locale used within a feed for product descriptions. example: en-US anyOf: - $ref: '#/components/schemas/CatalogsLocale' description: The locale used within a feed for product descriptions. - description: The locale used within a feed for product descriptions. This free text string version is deprecated in favor of official list of supported locales defined by CatalogsLocale. type: string deprecated: true format: $ref: '#/components/schemas/CatalogsFormat' location: description: The URL where a feed is available for download. This URL is what Pinterest will use to download a feed for processing. type: string pattern: '^(http|https|ftp|sftp)://' name: description: A human-friendly name associated to a given feed. type: string preferred_processing_schedule: $ref: '#/components/schemas/CatalogsFeedProcessingSchedule' status: type: string allOf: - $ref: '#/components/schemas/CatalogsStatus' - default: ACTIVE additionalProperties: false required: - format - location - name - catalog_type - default_country - default_locale title: feeds_retail_create_request CatalogsRetailItemsFilter: type: object properties: catalog_id: description: 'Catalog id pertaining to the retail item. If not provided, default to oldest retail catalog' type: string pattern: ^\d+$ catalog_type: type: string enum: - RETAIL item_ids: type: array items: type: string maxItems: 100 minItems: 1 required: - catalog_type - item_ids CatalogsRetailItemsPostFilter: type: object properties: catalog_id: description: 'Catalog id pertaining to the retail item. If not provided, default to oldest retail catalog' type: string pattern: ^\d+$ catalog_type: type: string enum: - RETAIL item_ids: type: array items: type: string maxItems: 1000 minItems: 1 required: - catalog_type - item_ids CatalogsHotelFeedsCreateRequest: description: 'Request object for creating a feed. Please, be aware that "default_country" and "default_locale" are not required in the spec for forward compatibility but for now the API will not accept requests without those fields.' type: object properties: catalog_id: description: 'Catalog id pertaining to the feed. If not provided, feed will use a default catalog based on type. At the moment a catalog can not have multiple hotel feeds but this will change in the future.' type: string pattern: ^\d+$ catalog_type: $ref: '#/components/schemas/CatalogsType' credentials: $ref: '#/components/schemas/CatalogsFeedCredentials' default_currency: $ref: '#/components/schemas/NullableCurrency' default_locale: description: The locale used within a feed for product descriptions. example: en-US anyOf: - $ref: '#/components/schemas/CatalogsLocale' description: The locale used within a feed for product descriptions. - description: The locale used within a feed for product descriptions. This free text string version is deprecated in favor of official list of supported locales defined by CatalogsLocale. type: string deprecated: true format: $ref: '#/components/schemas/CatalogsFormat' location: description: The URL where a feed is available for download. This URL is what Pinterest will use to download a feed for processing. type: string pattern: '^(http|https|ftp|sftp)://' name: description: A human-friendly name associated to a given feed. type: string preferred_processing_schedule: $ref: '#/components/schemas/CatalogsFeedProcessingSchedule' status: type: string allOf: - $ref: '#/components/schemas/CatalogsStatus' - default: ACTIVE additionalProperties: false required: - format - location - name - catalog_type - default_locale title: feeds_hotel_create_request CatalogsHotelItemsFilter: type: object properties: catalog_id: description: 'Catalog id pertaining to the hotel item. If not provided, default to oldest hotel catalog' type: string pattern: ^\d+$ catalog_type: type: string enum: - HOTEL hotel_ids: type: array items: type: string maxItems: 100 minItems: 1 required: - catalog_type - hotel_ids CatalogsHotelItemsPostFilter: type: object properties: catalog_id: description: 'Catalog id pertaining to the hotel item. If not provided, default to oldest hotel catalog' type: string pattern: ^\d+$ catalog_type: type: string enum: - HOTEL hotel_ids: type: array items: type: string maxItems: 1000 minItems: 1 required: - catalog_type - hotel_ids CatalogsCreativeAssetsItemsFilter: type: object properties: catalog_id: description: 'Catalog id pertaining to the creative assets item. If not provided, default to oldest creative assets catalog' type: string pattern: ^\d+$ catalog_type: type: string enum: - CREATIVE_ASSETS creative_assets_ids: type: array items: type: string maxItems: 100 minItems: 1 required: - catalog_type - creative_assets_ids CatalogsCreativeAssetsItemsPostFilter: type: object properties: catalog_id: description: 'Catalog id pertaining to the creative assets item. If not provided, default to oldest creative assets catalog' type: string pattern: ^\d+$ catalog_type: type: string enum: - CREATIVE_ASSETS creative_assets_ids: type: array items: type: string maxItems: 1000 minItems: 1 required: - catalog_type - creative_assets_ids CatalogsCreativeAssetsFeedsCreateRequest: description: Request object for creating a feed. type: object properties: catalog_id: description: 'Catalog id pertaining to the feed. If not provided, feed will use a default catalog based on type. At the moment a catalog can not have multiple creative assets feeds but this will change in the future.' type: string pattern: ^\d+$ catalog_type: $ref: '#/components/schemas/CatalogsType' credentials: $ref: '#/components/schemas/CatalogsFeedCredentials' default_country: $ref: '#/components/schemas/Country' default_currency: $ref: '#/components/schemas/NullableCurrency' default_locale: description: The locale used within a feed for product descriptions. example: en-US anyOf: - $ref: '#/components/schemas/CatalogsLocale' description: The locale used within a feed for product descriptions. - description: The locale used within a feed for product descriptions. This free text string version is deprecated in favor of official list of supported locales defined by CatalogsLocale. type: string deprecated: true format: $ref: '#/components/schemas/CatalogsFormat' location: description: The URL where a feed is available for download. This URL is what Pinterest will use to download a feed for processing. type: string pattern: '^(http|https|ftp|sftp)://' name: description: A human-friendly name associated to a given feed. type: string preferred_processing_schedule: $ref: '#/components/schemas/CatalogsFeedProcessingSchedule' status: type: string allOf: - $ref: '#/components/schemas/CatalogsStatus' - default: ACTIVE additionalProperties: false required: - format - location - name - catalog_type - default_country - default_locale title: feeds_creative_assets_create_request CatalogsVerticalFeedsCreateRequest: description: Request object for creating a feed. type: object discriminator: propertyName: catalog_type mapping: RETAIL: '#/components/schemas/CatalogsRetailFeedsCreateRequest' HOTEL: '#/components/schemas/CatalogsHotelFeedsCreateRequest' CREATIVE_ASSETS: '#/components/schemas/CatalogsCreativeAssetsFeedsCreateRequest' oneOf: - $ref: '#/components/schemas/CatalogsRetailFeedsCreateRequest' - $ref: '#/components/schemas/CatalogsHotelFeedsCreateRequest' - $ref: '#/components/schemas/CatalogsCreativeAssetsFeedsCreateRequest' title: feeds_create_request CatalogsCreativeAssetsFeedsUpdateRequest: description: Request object for updating a feed. type: object properties: catalog_type: $ref: '#/components/schemas/CatalogsType' credentials: $ref: '#/components/schemas/CatalogsFeedCredentials' default_currency: $ref: '#/components/schemas/NullableCurrency' format: $ref: '#/components/schemas/CatalogsFormat' location: description: The URL where a feed is available for download. This URL is what Pinterest will use to download a feed for processing. type: string pattern: '^(http|https|ftp|sftp)://' name: description: A human-friendly name associated to a given feed. type: string preferred_processing_schedule: $ref: '#/components/schemas/CatalogsFeedProcessingSchedule' status: $ref: '#/components/schemas/CatalogsStatus' additionalProperties: false required: - catalog_type title: catalogs_feeds_update_request CatalogsRetailFeedsUpdateRequest: description: Request object for updating a feed. type: object properties: catalog_type: $ref: '#/components/schemas/CatalogsType' credentials: $ref: '#/components/schemas/CatalogsFeedCredentials' default_availability: $ref: '#/components/schemas/ProductAvailabilityType' default_currency: $ref: '#/components/schemas/NullableCurrency' format: $ref: '#/components/schemas/CatalogsFormat' location: description: The URL where a feed is available for download. This URL is what Pinterest will use to download a feed for processing. type: string pattern: '^(http|https|ftp|sftp)://' name: description: A human-friendly name associated to a given feed. type: string preferred_processing_schedule: $ref: '#/components/schemas/CatalogsFeedProcessingSchedule' status: $ref: '#/components/schemas/CatalogsStatus' additionalProperties: false required: - catalog_type title: catalogs_feeds_update_request CatalogsHotelFeedsUpdateRequest: description: Request object for updating a feed. type: object properties: catalog_type: $ref: '#/components/schemas/CatalogsType' credentials: $ref: '#/components/schemas/CatalogsFeedCredentials' default_currency: $ref: '#/components/schemas/NullableCurrency' format: $ref: '#/components/schemas/CatalogsFormat' location: description: The URL where a feed is available for download. This URL is what Pinterest will use to download a feed for processing. type: string pattern: '^(http|https|ftp|sftp)://' name: description: A human-friendly name associated to a given feed. type: string preferred_processing_schedule: $ref: '#/components/schemas/CatalogsFeedProcessingSchedule' status: $ref: '#/components/schemas/CatalogsStatus' additionalProperties: false required: - catalog_type title: catalogs_feeds_update_request CatalogsVerticalFeedsUpdateRequest: description: Request object for updating a feed. type: object discriminator: propertyName: catalog_type mapping: RETAIL: '#/components/schemas/CatalogsRetailFeedsUpdateRequest' HOTEL: '#/components/schemas/CatalogsHotelFeedsUpdateRequest' CREATIVE_ASSETS: '#/components/schemas/CatalogsCreativeAssetsFeedsUpdateRequest' oneOf: - $ref: '#/components/schemas/CatalogsRetailFeedsUpdateRequest' - $ref: '#/components/schemas/CatalogsHotelFeedsUpdateRequest' - $ref: '#/components/schemas/CatalogsCreativeAssetsFeedsUpdateRequest' title: feeds_update_request CatalogsFeedsUpdateRequest: description: Request object for updating a feed. type: object properties: credentials: $ref: '#/components/schemas/CatalogsFeedCredentials' default_availability: $ref: '#/components/schemas/ProductAvailabilityType' default_currency: $ref: '#/components/schemas/NullableCurrency' format: $ref: '#/components/schemas/CatalogsFormat' location: description: The URL where a feed is available for download. This URL is what Pinterest will use to download a feed for processing. type: string pattern: '^(http|https|ftp|sftp)://' name: description: A human-friendly name associated to a given feed. type: string preferred_processing_schedule: $ref: '#/components/schemas/CatalogsFeedProcessingSchedule' status: $ref: '#/components/schemas/CatalogsStatus' additionalProperties: false title: legacy_retail_only CatalogsFormat: description: The file format of a feed. type: string enum: - TSV - CSV - XML CatalogsItemValidationDetails: type: object properties: attribute_name: description: Attribute that has a validation issue. $ref: '#/components/schemas/NullableCatalogsItemFieldType' provided_value: description: Provided value that caused the validation issue. type: string nullable: true required: - attribute_name - provided_value CatalogsItemValidationErrors: type: object properties: ADULT_INVALID: description: Item has an invalid adult value. $ref: '#/components/schemas/CatalogsItemValidationDetails' ADWORDS_FORMAT_INVALID: description: Adword link contains too many characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AVAILABILITY_INVALID: description: 'Item is missing availability value in its product metadata, this item will not be published.' $ref: '#/components/schemas/CatalogsItemValidationDetails' BLOCKLISTED_IMAGE_SIGNATURE: description: Item will not be published because it doesn't meet Pinterest's Merchant Guidelines. $ref: '#/components/schemas/CatalogsItemValidationDetails' DESCRIPTION_MISSING: description: 'Item is missing description in its product metadata, this item will not be published.' $ref: '#/components/schemas/CatalogsItemValidationDetails' DUPLICATE_PRODUCTS: description: This product is duplicated. The duplicate entry will not be published. $ref: '#/components/schemas/CatalogsItemValidationDetails' IMAGE_LINK_INVALID: description: Image link is invalid. $ref: '#/components/schemas/CatalogsItemValidationDetails' IMAGE_LINK_LENGTH_TOO_LONG: description: 'Item has image_link URL that contains too many characters, so the item will not be published.' $ref: '#/components/schemas/CatalogsItemValidationDetails' IMAGE_LINK_MISSING: description: 'Item is missing an image link URL in its product metadata, this item will not be published.' $ref: '#/components/schemas/CatalogsItemValidationDetails' INVALID_DOMAIN: description: Product link value doesn't match the verified domain associated with this account. $ref: '#/components/schemas/CatalogsItemValidationDetails' ITEM_MAIN_IMAGE_DOWNLOAD_FAILURE: description: Main image can't be found. $ref: '#/components/schemas/CatalogsItemValidationDetails' ITEMID_MISSING: description: 'Item is missing item id in its product metadata, this item will not be published.' $ref: '#/components/schemas/CatalogsItemValidationDetails' LINK_FORMAT_INVALID: description: Link is invalid. $ref: '#/components/schemas/CatalogsItemValidationDetails' LINK_LENGTH_TOO_LONG: description: 'Product link contains too many characters, this item will not be published.' $ref: '#/components/schemas/CatalogsItemValidationDetails' LIST_PRICE_INVALID: description: 'Item has a list price formatting error, this item will not be published.' $ref: '#/components/schemas/CatalogsItemValidationDetails' MAX_ITEMS_PER_ITEM_GROUP_EXCEEDED: description: 'Item exceed the maximum number of items per item group, this item will not be published.' $ref: '#/components/schemas/CatalogsItemValidationDetails' PARSE_LINE_ERROR: description: Item contains formating errors. $ref: '#/components/schemas/CatalogsItemValidationDetails' PINJOIN_CONTENT_UNSAFE: description: Item will not be published because it doesn't meet Pinterest's Merchant Guidelines. $ref: '#/components/schemas/CatalogsItemValidationDetails' PRICE_CANNOT_BE_DETERMINED: description: 'Item price cannot be determined because the price, list price, and sale price are all different.' $ref: '#/components/schemas/CatalogsItemValidationDetails' PRICE_MISSING: description: 'Product is missing a price, this item will not be published.' $ref: '#/components/schemas/CatalogsItemValidationDetails' PRODUCT_LINK_MISSING: description: 'Item is missing a link URL in its product metadata, this item will not be published.' $ref: '#/components/schemas/CatalogsItemValidationDetails' PRODUCT_PRICE_INVALID: description: 'Item has a price formatting error in its product metadata, this item will not be published.' $ref: '#/components/schemas/CatalogsItemValidationDetails' TITLE_MISSING: description: 'Item is missing title in its product metadata, this item will not be published.' $ref: '#/components/schemas/CatalogsItemValidationDetails' CatalogsItemValidationIssue: type: string enum: - AD_IMAGE_0_LINK_LENGTH_TOO_LONG - AD_IMAGE_1_LINK_LENGTH_TOO_LONG - AD_IMAGE_2_LINK_LENGTH_TOO_LONG - AD_IMAGE_3_LINK_LENGTH_TOO_LONG - AD_IMAGE_4_LINK_LENGTH_TOO_LONG - AD_IMAGE_5_LINK_LENGTH_TOO_LONG - AD_IMAGE_6_LINK_LENGTH_TOO_LONG - AD_IMAGE_7_LINK_LENGTH_TOO_LONG - AD_IMAGE_8_LINK_LENGTH_TOO_LONG - AD_IMAGE_9_LINK_LENGTH_TOO_LONG - AD_IMAGE_10_LINK_LENGTH_TOO_LONG - AD_IMAGE_11_LINK_LENGTH_TOO_LONG - AD_IMAGE_12_LINK_LENGTH_TOO_LONG - AD_IMAGE_13_LINK_LENGTH_TOO_LONG - AD_IMAGE_14_LINK_LENGTH_TOO_LONG - AD_IMAGE_15_LINK_LENGTH_TOO_LONG - AD_IMAGE_16_LINK_LENGTH_TOO_LONG - AD_IMAGE_17_LINK_LENGTH_TOO_LONG - AD_IMAGE_18_LINK_LENGTH_TOO_LONG - AD_IMAGE_19_LINK_LENGTH_TOO_LONG - AD_IMAGE_0_LINK_WARNING - AD_IMAGE_1_LINK_WARNING - AD_IMAGE_2_LINK_WARNING - AD_IMAGE_3_LINK_WARNING - AD_IMAGE_4_LINK_WARNING - AD_IMAGE_5_LINK_WARNING - AD_IMAGE_6_LINK_WARNING - AD_IMAGE_7_LINK_WARNING - AD_IMAGE_8_LINK_WARNING - AD_IMAGE_9_LINK_WARNING - AD_IMAGE_10_LINK_WARNING - AD_IMAGE_11_LINK_WARNING - AD_IMAGE_12_LINK_WARNING - AD_IMAGE_13_LINK_WARNING - AD_IMAGE_14_LINK_WARNING - AD_IMAGE_15_LINK_WARNING - AD_IMAGE_16_LINK_WARNING - AD_IMAGE_17_LINK_WARNING - AD_IMAGE_18_LINK_WARNING - AD_IMAGE_19_LINK_WARNING - AD_IMAGE_0_LINK_REQUIRED - AD_IMAGE_1_LINK_REQUIRED - AD_IMAGE_2_LINK_REQUIRED - AD_IMAGE_3_LINK_REQUIRED - AD_IMAGE_4_LINK_REQUIRED - AD_IMAGE_5_LINK_REQUIRED - AD_IMAGE_6_LINK_REQUIRED - AD_IMAGE_7_LINK_REQUIRED - AD_IMAGE_8_LINK_REQUIRED - AD_IMAGE_9_LINK_REQUIRED - AD_IMAGE_10_LINK_REQUIRED - AD_IMAGE_11_LINK_REQUIRED - AD_IMAGE_12_LINK_REQUIRED - AD_IMAGE_13_LINK_REQUIRED - AD_IMAGE_14_LINK_REQUIRED - AD_IMAGE_15_LINK_REQUIRED - AD_IMAGE_16_LINK_REQUIRED - AD_IMAGE_17_LINK_REQUIRED - AD_IMAGE_18_LINK_REQUIRED - AD_IMAGE_19_LINK_REQUIRED - AD_IMAGE_0_TAG_LENGTH_TOO_LONG - AD_IMAGE_1_TAG_LENGTH_TOO_LONG - AD_IMAGE_2_TAG_LENGTH_TOO_LONG - AD_IMAGE_3_TAG_LENGTH_TOO_LONG - AD_IMAGE_4_TAG_LENGTH_TOO_LONG - AD_IMAGE_5_TAG_LENGTH_TOO_LONG - AD_IMAGE_6_TAG_LENGTH_TOO_LONG - AD_IMAGE_7_TAG_LENGTH_TOO_LONG - AD_IMAGE_8_TAG_LENGTH_TOO_LONG - AD_IMAGE_9_TAG_LENGTH_TOO_LONG - AD_IMAGE_10_TAG_LENGTH_TOO_LONG - AD_IMAGE_11_TAG_LENGTH_TOO_LONG - AD_IMAGE_12_TAG_LENGTH_TOO_LONG - AD_IMAGE_13_TAG_LENGTH_TOO_LONG - AD_IMAGE_14_TAG_LENGTH_TOO_LONG - AD_IMAGE_15_TAG_LENGTH_TOO_LONG - AD_IMAGE_16_TAG_LENGTH_TOO_LONG - AD_IMAGE_17_TAG_LENGTH_TOO_LONG - AD_IMAGE_18_TAG_LENGTH_TOO_LONG - AD_IMAGE_19_TAG_LENGTH_TOO_LONG - AD_IMAGE_0_TAG_REQUIRED - AD_IMAGE_1_TAG_REQUIRED - AD_IMAGE_2_TAG_REQUIRED - AD_IMAGE_3_TAG_REQUIRED - AD_IMAGE_4_TAG_REQUIRED - AD_IMAGE_5_TAG_REQUIRED - AD_IMAGE_6_TAG_REQUIRED - AD_IMAGE_7_TAG_REQUIRED - AD_IMAGE_8_TAG_REQUIRED - AD_IMAGE_9_TAG_REQUIRED - AD_IMAGE_10_TAG_REQUIRED - AD_IMAGE_11_TAG_REQUIRED - AD_IMAGE_12_TAG_REQUIRED - AD_IMAGE_13_TAG_REQUIRED - AD_IMAGE_14_TAG_REQUIRED - AD_IMAGE_15_TAG_REQUIRED - AD_IMAGE_16_TAG_REQUIRED - AD_IMAGE_17_TAG_REQUIRED - AD_IMAGE_18_TAG_REQUIRED - AD_IMAGE_19_TAG_REQUIRED - AD_IMAGE_0_LINK_DUPLICATED - AD_IMAGE_1_LINK_DUPLICATED - AD_IMAGE_2_LINK_DUPLICATED - AD_IMAGE_3_LINK_DUPLICATED - AD_IMAGE_4_LINK_DUPLICATED - AD_IMAGE_5_LINK_DUPLICATED - AD_IMAGE_6_LINK_DUPLICATED - AD_IMAGE_7_LINK_DUPLICATED - AD_IMAGE_8_LINK_DUPLICATED - AD_IMAGE_9_LINK_DUPLICATED - AD_IMAGE_10_LINK_DUPLICATED - AD_IMAGE_11_LINK_DUPLICATED - AD_IMAGE_12_LINK_DUPLICATED - AD_IMAGE_13_LINK_DUPLICATED - AD_IMAGE_14_LINK_DUPLICATED - AD_IMAGE_15_LINK_DUPLICATED - AD_IMAGE_16_LINK_DUPLICATED - AD_IMAGE_17_LINK_DUPLICATED - AD_IMAGE_18_LINK_DUPLICATED - AD_IMAGE_19_LINK_DUPLICATED - AD_IMAGE_0_TAG_DUPLICATED - AD_IMAGE_1_TAG_DUPLICATED - AD_IMAGE_2_TAG_DUPLICATED - AD_IMAGE_3_TAG_DUPLICATED - AD_IMAGE_4_TAG_DUPLICATED - AD_IMAGE_5_TAG_DUPLICATED - AD_IMAGE_6_TAG_DUPLICATED - AD_IMAGE_7_TAG_DUPLICATED - AD_IMAGE_8_TAG_DUPLICATED - AD_IMAGE_9_TAG_DUPLICATED - AD_IMAGE_10_TAG_DUPLICATED - AD_IMAGE_11_TAG_DUPLICATED - AD_IMAGE_12_TAG_DUPLICATED - AD_IMAGE_13_TAG_DUPLICATED - AD_IMAGE_14_TAG_DUPLICATED - AD_IMAGE_15_TAG_DUPLICATED - AD_IMAGE_16_TAG_DUPLICATED - AD_IMAGE_17_TAG_DUPLICATED - AD_IMAGE_18_TAG_DUPLICATED - AD_IMAGE_19_TAG_DUPLICATED - AD_VIDEO_0_LINK_LENGTH_TOO_LONG - AD_VIDEO_1_LINK_LENGTH_TOO_LONG - AD_VIDEO_2_LINK_LENGTH_TOO_LONG - AD_VIDEO_0_LINK_WARNING - AD_VIDEO_1_LINK_WARNING - AD_VIDEO_2_LINK_WARNING - AD_VIDEO_0_LINK_REQUIRED - AD_VIDEO_1_LINK_REQUIRED - AD_VIDEO_2_LINK_REQUIRED - AD_VIDEO_0_LINK_DUPLICATED - AD_VIDEO_1_LINK_DUPLICATED - AD_VIDEO_2_LINK_DUPLICATED - AD_VIDEO_0_TAG_LENGTH_TOO_LONG - AD_VIDEO_1_TAG_LENGTH_TOO_LONG - AD_VIDEO_2_TAG_LENGTH_TOO_LONG - AD_VIDEO_0_TAG_REQUIRED - AD_VIDEO_1_TAG_REQUIRED - AD_VIDEO_2_TAG_REQUIRED - AD_VIDEO_0_TAG_DUPLICATED - AD_VIDEO_1_TAG_DUPLICATED - AD_VIDEO_2_TAG_DUPLICATED - VIDEO_REQUIRED_WHEN_AD_VIDEO_PROVIDED - AD_LINK_FORMAT_WARNING - AD_LINK_SAME_AS_LINK - ADDITIONAL_IMAGE_LINK_LENGTH_TOO_LONG - ADDITIONAL_IMAGE_LINK_WARNING - ADULT_INVALID - ADWORDS_FORMAT_INVALID - ADWORDS_FORMAT_WARNING - ADWORDS_SAME_AS_LINK - AGE_GROUP_INVALID - ANDROID_DEEP_LINK_INVALID - AVAILABILITY_DATE_INVALID - AVAILABILITY_INVALID - BLOCKLISTED_IMAGE_SIGNATURE - COUNTRY_DOES_NOT_MAP_TO_CURRENCY - CUSTOM_LABEL_LENGTH_TOO_LONG - DESCRIPTION_LENGTH_TOO_LONG - DESCRIPTION_MISSING - DUPLICATE_PRODUCTS - EXPIRATION_DATE_INVALID - GENDER_INVALID - GTIN_INVALID - IMAGE_LINK_INVALID - IMAGE_LINK_LENGTH_TOO_LONG - IMAGE_LINK_MISSING - IMAGE_LINK_WARNING - INVALID_DOMAIN - IOS_DEEP_LINK_INVALID - IS_BUNDLE_INVALID - ITEM_ADDITIONAL_IMAGE_DOWNLOAD_FAILURE - ITEM_MAIN_IMAGE_DOWNLOAD_FAILURE - ITEMID_MISSING - LINK_FORMAT_INVALID - LINK_FORMAT_WARNING - LINK_LENGTH_TOO_LONG - LIST_PRICE_INVALID - MAX_ITEMS_PER_ITEM_GROUP_EXCEEDED - MIN_AD_PRICE_INVALID - MPN_INVALID - MULTIPACK_INVALID - OPTIONAL_CONDITION_INVALID - OPTIONAL_CONDITION_MISSING - OPTIONAL_PRODUCT_CATEGORY_INVALID - OPTIONAL_PRODUCT_CATEGORY_MISSING - PARSE_LINE_ERROR - PINJOIN_CONTENT_UNSAFE - PRICE_CANNOT_BE_DETERMINED - PRICE_MISSING - PRODUCT_CATEGORY_DEPTH_WARNING - PRODUCT_LINK_MISSING - PRODUCT_PRICE_INVALID - PRODUCT_TYPE_LENGTH_TOO_LONG - SALE_DATE_INVALID - SALES_PRICE_INVALID - SALES_PRICE_TOO_HIGH - SALES_PRICE_TOO_LOW - SHIPPING_INVALID - SHIPPING_HEIGHT_INVALID - SHIPPING_WEIGHT_INVALID - SHIPPING_WIDTH_INVALID - SIZE_SYSTEM_INVALID - SIZE_TYPE_INVALID - TAX_INVALID - TITLE_LENGTH_TOO_LONG - TITLE_MISSING - TOO_MANY_ADDITIONAL_IMAGE_LINKS - UTM_SOURCE_AUTO_CORRECTED - WEIGHT_UNIT_INVALID CatalogsItemValidationIssues: type: object properties: errors: $ref: '#/components/schemas/CatalogsItemValidationErrors' item_id: description: The merchant-created unique ID that represents the product. type: string example: DS0294-L nullable: true item_number: description: 'Item number based on order of appearance in the Catalogs Feed. For example, ''0'' refers to first item found in a feed that was downloaded from a ''location'' specified during feed creation.' type: integer example: 0 warnings: $ref: '#/components/schemas/CatalogsItemValidationWarnings' required: - item_number - item_id - errors - warnings CatalogsItemValidationWarnings: type: object properties: AD_IMAGE_0_LINK_DUPLICATED: description: ad_image_0_link is duplicated with another ad image link. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_0_LINK_LENGTH_TOO_LONG: description: Ad image link 0 length is too long. The maximum length is 2047 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_0_LINK_REQUIRED: description: Ad image link 0 is required because an image tag was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_0_LINK_WARNING: description: Ad image link 0 format is unsupported. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_0_TAG_DUPLICATED: description: ad_image_0_tag is duplicated with another ad image tag. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_0_TAG_LENGTH_TOO_LONG: description: Ad image tag 0 length is too long. The maximum length is 511 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_0_TAG_REQUIRED: description: Ad image tag 0 is required because an image link was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_10_LINK_DUPLICATED: description: ad_image_10_link is duplicated with another ad image link. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_10_LINK_LENGTH_TOO_LONG: description: Ad image link 10 length is too long. The maximum length is 2047 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_10_LINK_REQUIRED: description: Ad image link 10 is required because an image tag was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_10_LINK_WARNING: description: Ad image link 10 format is unsupported. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_10_TAG_DUPLICATED: description: ad_image_10_tag is duplicated with another ad image tag. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_10_TAG_LENGTH_TOO_LONG: description: Ad image tag 10 length is too long. The maximum length is 511 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_10_TAG_REQUIRED: description: Ad image tag 10 is required because an image link was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_11_LINK_DUPLICATED: description: ad_image_11_link is duplicated with another ad image link. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_11_LINK_LENGTH_TOO_LONG: description: Ad image link 11 length is too long. The maximum length is 2047 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_11_LINK_REQUIRED: description: Ad image link 11 is required because an image tag was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_11_LINK_WARNING: description: Ad image link 11 format is unsupported. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_11_TAG_DUPLICATED: description: ad_image_11_tag is duplicated with another ad image tag. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_11_TAG_LENGTH_TOO_LONG: description: Ad image tag 11 length is too long. The maximum length is 511 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_11_TAG_REQUIRED: description: Ad image tag 11 is required because an image link was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_12_LINK_DUPLICATED: description: ad_image_12_link is duplicated with another ad image link. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_12_LINK_LENGTH_TOO_LONG: description: Ad image link 12 length is too long. The maximum length is 2047 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_12_LINK_REQUIRED: description: Ad image link 12 is required because an image tag was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_12_LINK_WARNING: description: Ad image link 12 format is unsupported. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_12_TAG_DUPLICATED: description: ad_image_12_tag is duplicated with another ad image tag. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_12_TAG_LENGTH_TOO_LONG: description: Ad image tag 12 length is too long. The maximum length is 511 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_12_TAG_REQUIRED: description: Ad image tag 12 is required because an image link was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_13_LINK_DUPLICATED: description: ad_image_13_link is duplicated with another ad image link. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_13_LINK_LENGTH_TOO_LONG: description: Ad image link 13 length is too long. The maximum length is 2047 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_13_LINK_REQUIRED: description: Ad image link 13 is required because an image tag was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_13_LINK_WARNING: description: Ad image link 13 format is unsupported. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_13_TAG_DUPLICATED: description: ad_image_13_tag is duplicated with another ad image tag. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_13_TAG_LENGTH_TOO_LONG: description: Ad image tag 13 length is too long. The maximum length is 511 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_13_TAG_REQUIRED: description: Ad image tag 13 is required because an image link was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_14_LINK_DUPLICATED: description: ad_image_14_link is duplicated with another ad image link. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_14_LINK_LENGTH_TOO_LONG: description: Ad image link 14 length is too long. The maximum length is 2047 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_14_LINK_REQUIRED: description: Ad image link 14 is required because an image tag was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_14_LINK_WARNING: description: Ad image link 14 format is unsupported. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_14_TAG_DUPLICATED: description: ad_image_14_tag is duplicated with another ad image tag. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_14_TAG_LENGTH_TOO_LONG: description: Ad image tag 14 length is too long. The maximum length is 511 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_14_TAG_REQUIRED: description: Ad image tag 14 is required because an image link was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_15_LINK_DUPLICATED: description: ad_image_15_link is duplicated with another ad image link. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_15_LINK_LENGTH_TOO_LONG: description: Ad image link 15 length is too long. The maximum length is 2047 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_15_LINK_REQUIRED: description: Ad image link 15 is required because an image tag was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_15_LINK_WARNING: description: Ad image link 15 format is unsupported. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_15_TAG_DUPLICATED: description: ad_image_15_tag is duplicated with another ad image tag. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_15_TAG_LENGTH_TOO_LONG: description: Ad image tag 15 length is too long. The maximum length is 511 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_15_TAG_REQUIRED: description: Ad image tag 15 is required because an image link was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_16_LINK_DUPLICATED: description: ad_image_16_link is duplicated with another ad image link. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_16_LINK_LENGTH_TOO_LONG: description: Ad image link 16 length is too long. The maximum length is 2047 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_16_LINK_REQUIRED: description: Ad image link 16 is required because an image tag was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_16_LINK_WARNING: description: Ad image link 16 format is unsupported. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_16_TAG_DUPLICATED: description: ad_image_16_tag is duplicated with another ad image tag. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_16_TAG_LENGTH_TOO_LONG: description: Ad image tag 16 length is too long. The maximum length is 511 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_16_TAG_REQUIRED: description: Ad image tag 16 is required because an image link was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_17_LINK_DUPLICATED: description: ad_image_17_link is duplicated with another ad image link. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_17_LINK_LENGTH_TOO_LONG: description: Ad image link 17 length is too long. The maximum length is 2047 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_17_LINK_REQUIRED: description: Ad image link 17 is required because an image tag was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_17_LINK_WARNING: description: Ad image link 17 format is unsupported. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_17_TAG_DUPLICATED: description: ad_image_17_tag is duplicated with another ad image tag. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_17_TAG_LENGTH_TOO_LONG: description: Ad image tag 17 length is too long. The maximum length is 511 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_17_TAG_REQUIRED: description: Ad image tag 17 is required because an image link was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_18_LINK_DUPLICATED: description: ad_image_18_link is duplicated with another ad image link. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_18_LINK_LENGTH_TOO_LONG: description: Ad image link 18 length is too long. The maximum length is 2047 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_18_LINK_REQUIRED: description: Ad image link 18 is required because an image tag was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_18_LINK_WARNING: description: Ad image link 18 format is unsupported. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_18_TAG_DUPLICATED: description: ad_image_18_tag is duplicated with another ad image tag. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_18_TAG_LENGTH_TOO_LONG: description: Ad image tag 18 length is too long. The maximum length is 511 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_18_TAG_REQUIRED: description: Ad image tag 18 is required because an image link was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_19_LINK_DUPLICATED: description: ad_image_19_link is duplicated with another ad image link. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_19_LINK_LENGTH_TOO_LONG: description: Ad image link 19 length is too long. The maximum length is 2047 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_19_LINK_REQUIRED: description: Ad image link 19 is required because an image tag was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_19_LINK_WARNING: description: Ad image link 19 format is unsupported. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_19_TAG_DUPLICATED: description: ad_image_19_tag is duplicated with another ad image tag. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_19_TAG_LENGTH_TOO_LONG: description: Ad image tag 19 length is too long. The maximum length is 511 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_19_TAG_REQUIRED: description: Ad image tag 19 is required because an image link was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_1_LINK_DUPLICATED: description: ad_image_1_link is duplicated with another ad image link. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_1_LINK_LENGTH_TOO_LONG: description: Ad image link 1 length is too long. The maximum length is 2047 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_1_LINK_REQUIRED: description: Ad image link 1 is required because an image tag was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_1_LINK_WARNING: description: Ad image link 1 format is unsupported. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_1_TAG_DUPLICATED: description: ad_image_1_tag is duplicated with another ad image tag. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_1_TAG_LENGTH_TOO_LONG: description: Ad image tag 1 length is too long. The maximum length is 511 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_1_TAG_REQUIRED: description: Ad image tag 1 is required because an image link was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_2_LINK_DUPLICATED: description: ad_image_2_link is duplicated with another ad image link. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_2_LINK_LENGTH_TOO_LONG: description: Ad image link 2 length is too long. The maximum length is 2047 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_2_LINK_REQUIRED: description: Ad image link 2 is required because an image tag was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_2_LINK_WARNING: description: Ad image link 2 format is unsupported. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_2_TAG_DUPLICATED: description: ad_image_2_tag is duplicated with another ad image tag. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_2_TAG_LENGTH_TOO_LONG: description: Ad image tag 2 length is too long. The maximum length is 511 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_2_TAG_REQUIRED: description: Ad image tag 2 is required because an image link was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_3_LINK_DUPLICATED: description: ad_image_3_link is duplicated with another ad image link. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_3_LINK_LENGTH_TOO_LONG: description: Ad image link 3 length is too long. The maximum length is 2047 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_3_LINK_REQUIRED: description: Ad image link 3 is required because an image tag was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_3_LINK_WARNING: description: Ad image link 3 format is unsupported. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_3_TAG_DUPLICATED: description: ad_image_3_tag is duplicated with another ad image tag. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_3_TAG_LENGTH_TOO_LONG: description: Ad image tag 3 length is too long. The maximum length is 511 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_3_TAG_REQUIRED: description: Ad image tag 3 is required because an image link was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_4_LINK_DUPLICATED: description: ad_image_4_link is duplicated with another ad image link. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_4_LINK_LENGTH_TOO_LONG: description: Ad image link 4 length is too long. The maximum length is 2047 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_4_LINK_REQUIRED: description: Ad image link 4 is required because an image tag was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_4_LINK_WARNING: description: Ad image link 4 format is unsupported. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_4_TAG_DUPLICATED: description: ad_image_4_tag is duplicated with another ad image tag. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_4_TAG_LENGTH_TOO_LONG: description: Ad image tag 4 length is too long. The maximum length is 511 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_4_TAG_REQUIRED: description: Ad image tag 4 is required because an image link was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_5_LINK_DUPLICATED: description: ad_image_5_link is duplicated with another ad image link. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_5_LINK_LENGTH_TOO_LONG: description: Ad image link 5 length is too long. The maximum length is 2047 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_5_LINK_REQUIRED: description: Ad image link 5 is required because an image tag was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_5_LINK_WARNING: description: Ad image link 5 format is unsupported. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_5_TAG_DUPLICATED: description: ad_image_5_tag is duplicated with another ad image tag. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_5_TAG_LENGTH_TOO_LONG: description: Ad image tag 5 length is too long. The maximum length is 511 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_5_TAG_REQUIRED: description: Ad image tag 5 is required because an image link was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_6_LINK_DUPLICATED: description: ad_image_6_link is duplicated with another ad image link. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_6_LINK_LENGTH_TOO_LONG: description: Ad image link 6 length is too long. The maximum length is 2047 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_6_LINK_REQUIRED: description: Ad image link 6 is required because an image tag was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_6_LINK_WARNING: description: Ad image link 6 format is unsupported. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_6_TAG_DUPLICATED: description: ad_image_6_tag is duplicated with another ad image tag. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_6_TAG_LENGTH_TOO_LONG: description: Ad image tag 6 length is too long. The maximum length is 511 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_6_TAG_REQUIRED: description: Ad image tag 6 is required because an image link was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_7_LINK_DUPLICATED: description: ad_image_7_link is duplicated with another ad image link. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_7_LINK_LENGTH_TOO_LONG: description: Ad image link 7 length is too long. The maximum length is 2047 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_7_LINK_REQUIRED: description: Ad image link 7 is required because an image tag was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_7_LINK_WARNING: description: Ad image link 7 format is unsupported. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_7_TAG_DUPLICATED: description: ad_image_7_tag is duplicated with another ad image tag. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_7_TAG_LENGTH_TOO_LONG: description: Ad image tag 7 length is too long. The maximum length is 511 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_7_TAG_REQUIRED: description: Ad image tag 7 is required because an image link was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_8_LINK_DUPLICATED: description: ad_image_8_link is duplicated with another ad image link. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_8_LINK_LENGTH_TOO_LONG: description: Ad image link 8 length is too long. The maximum length is 2047 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_8_LINK_REQUIRED: description: Ad image link 8 is required because an image tag was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_8_LINK_WARNING: description: Ad image link 8 format is unsupported. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_8_TAG_DUPLICATED: description: ad_image_8_tag is duplicated with another ad image tag. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_8_TAG_LENGTH_TOO_LONG: description: Ad image tag 8 length is too long. The maximum length is 511 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_8_TAG_REQUIRED: description: Ad image tag 8 is required because an image link was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_9_LINK_DUPLICATED: description: ad_image_9_link is duplicated with another ad image link. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_9_LINK_LENGTH_TOO_LONG: description: Ad image link 9 length is too long. The maximum length is 2047 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_9_LINK_REQUIRED: description: Ad image link 9 is required because an image tag was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_9_LINK_WARNING: description: Ad image link 9 format is unsupported. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_9_TAG_DUPLICATED: description: ad_image_9_tag is duplicated with another ad image tag. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_9_TAG_LENGTH_TOO_LONG: description: Ad image tag 9 length is too long. The maximum length is 511 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_IMAGE_9_TAG_REQUIRED: description: Ad image tag 9 is required because an image link was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_LINK_FORMAT_WARNING: description: Item has an ad link that is formatted incorrectly. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_LINK_SAME_AS_LINK: description: Item has an ad link URL that is duplicate of the link URL. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_VIDEO_0_LINK_DUPLICATED: description: ad_video_0_link is duplicated with another ad video link. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_VIDEO_0_LINK_LENGTH_TOO_LONG: description: ad_video_0_link length is too long. The maximum length is 511 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_VIDEO_0_LINK_REQUIRED: description: ad_video_0_link is required for this item because ad_video_0_tag was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_VIDEO_0_LINK_WARNING: description: ad_video_0_link is formatted incorrectly and will not be published with your items. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_VIDEO_0_TAG_DUPLICATED: description: ad_video_0_tag is duplicated with another ad video tag. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_VIDEO_0_TAG_LENGTH_TOO_LONG: description: ad_video_0_tag length is too long. The maximum length is 511 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_VIDEO_0_TAG_REQUIRED: description: ad_video_0_tag is required because ad_video_0_link was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_VIDEO_1_LINK_DUPLICATED: description: ad_video_1_link is duplicated with another ad video link. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_VIDEO_1_LINK_LENGTH_TOO_LONG: description: ad_video_1_link length is too long. The maximum length is 511 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_VIDEO_1_LINK_REQUIRED: description: ad_video_1_link is required for this item because ad_video_1_tag was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_VIDEO_1_LINK_WARNING: description: ad_video_1_link is formatted incorrectly and will not be published with your items. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_VIDEO_1_TAG_DUPLICATED: description: ad_video_1_tag is duplicated with another ad video tag. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_VIDEO_1_TAG_LENGTH_TOO_LONG: description: ad_video_1_tag length is too long. The maximum length is 511 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_VIDEO_1_TAG_REQUIRED: description: ad_video_1_tag is required because ad_video_1_link was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_VIDEO_2_LINK_DUPLICATED: description: ad_video_2_link is duplicated with another ad video link. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_VIDEO_2_LINK_LENGTH_TOO_LONG: description: ad_video_2_link length is too long. The maximum length is 511 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_VIDEO_2_LINK_REQUIRED: description: ad_video_2_link is required for this item because ad_video_2_tag was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_VIDEO_2_LINK_WARNING: description: ad_video_2_link is formatted incorrectly and will not be published with your items. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_VIDEO_2_TAG_DUPLICATED: description: ad_video_2_tag is duplicated with another ad video tag. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_VIDEO_2_TAG_LENGTH_TOO_LONG: description: ad_video_2_tag length is too long. The maximum length is 511 characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' AD_VIDEO_2_TAG_REQUIRED: description: ad_video_2_tag is required because ad_video_2_link was provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' ADDITIONAL_IMAGE_LINK_LENGTH_TOO_LONG: description: 'Item has an additional_image_link URL that contains too many characters, so the item will not be published.' $ref: '#/components/schemas/CatalogsItemValidationDetails' ADDITIONAL_IMAGE_LINK_WARNING: description: Item has additional_image_link URLs that are formatted incorrectly and will not be published with your items. $ref: '#/components/schemas/CatalogsItemValidationDetails' ADWORDS_FORMAT_WARNING: description: Item has an adwords_redirect link that is formatted incorrectly. $ref: '#/components/schemas/CatalogsItemValidationDetails' ADWORDS_SAME_AS_LINK: description: Item has an adwords_redirect URL that is duplicate of the link URL. $ref: '#/components/schemas/CatalogsItemValidationDetails' AGE_GROUP_INVALID: description: 'Item has an age group value that is formatted incorrectly, which may limit visibility in recommendations, search results and shopping experiences.' $ref: '#/components/schemas/CatalogsItemValidationDetails' ANDROID_DEEP_LINK_INVALID: description: Item includes an invalid android_deep_link. $ref: '#/components/schemas/CatalogsItemValidationDetails' AVAILABILITY_DATE_INVALID: description: 'Item has an availability_date value that is formatted incorrectly, this item will be published without an availability date.' $ref: '#/components/schemas/CatalogsItemValidationDetails' COUNTRY_DOES_NOT_MAP_TO_CURRENCY: description: Item includes a currency that doesn't match the usual currency for the location where the product is sold or shipped. $ref: '#/components/schemas/CatalogsItemValidationDetails' CUSTOM_LABEL_LENGTH_TOO_LONG: description: 'Item has a custom_label value that is too long, this item will be published without that custom label.' $ref: '#/components/schemas/CatalogsItemValidationDetails' DESCRIPTION_LENGTH_TOO_LONG: description: The description for this item was truncated because it contains too many characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' EXPIRATION_DATE_INVALID: description: 'Item has an expiration_date value that is formatted incorrectly, this item will be published without an expiration date.' $ref: '#/components/schemas/CatalogsItemValidationDetails' GENDER_INVALID: description: 'Item has a gender value that is formatted incorrectly, which may limit visibility in recommendations, search results and shopping experiences.' $ref: '#/components/schemas/CatalogsItemValidationDetails' GTIN_INVALID: description: Item has a GTIN value that is formatted incorrectly. $ref: '#/components/schemas/CatalogsItemValidationDetails' IMAGE_LINK_WARNING: description: Item has an image_link URL that is formatted incorrectly and will not be published. $ref: '#/components/schemas/CatalogsItemValidationDetails' IOS_DEEP_LINK_INVALID: description: Item includes an invalid ios_deep_link value. $ref: '#/components/schemas/CatalogsItemValidationDetails' IS_BUNDLE_INVALID: description: 'Item has an is_bundle value that is formatted incorrectly, this item will be published without being bundled with other products.' $ref: '#/components/schemas/CatalogsItemValidationDetails' ITEM_ADDITIONAL_IMAGE_DOWNLOAD_FAILURE: description: Item includes additional_image_links that can't be found. $ref: '#/components/schemas/CatalogsItemValidationDetails' LINK_FORMAT_WARNING: description: Item has an invalid product link which contains invalid UTM tracking paramaters. $ref: '#/components/schemas/CatalogsItemValidationDetails' MIN_AD_PRICE_INVALID: description: Item includes a min_ad_price value that is formatted incorrectly. $ref: '#/components/schemas/CatalogsItemValidationDetails' MPN_INVALID: description: Item has a MPN value that is formatted incorrectly. $ref: '#/components/schemas/CatalogsItemValidationDetails' MULTIPACK_INVALID: description: Item has an invalid multipack value. $ref: '#/components/schemas/CatalogsItemValidationDetails' OPTIONAL_CONDITION_INVALID: description: 'Item includes a condition value that is formatted incorrectly, which may limit visibility in recommendations, search results and shopping experiences.' $ref: '#/components/schemas/CatalogsItemValidationDetails' OPTIONAL_CONDITION_MISSING: description: 'Item is missing condition value, which may limit visibility in recommendations, search results and shopping experiences.' $ref: '#/components/schemas/CatalogsItemValidationDetails' OPTIONAL_PRODUCT_CATEGORY_INVALID: description: Item includes a google_product_category value that is not formatted correctly according to the GPC taxonomy. $ref: '#/components/schemas/CatalogsItemValidationDetails' OPTIONAL_PRODUCT_CATEGORY_MISSING: description: Item is missing google_product_category. $ref: '#/components/schemas/CatalogsItemValidationDetails' PRODUCT_CATEGORY_DEPTH_WARNING: description: 'Item only has 1 or 2 levels of google_product_category value, which may limit visibility in recommendations, search results and shopping experiences.' $ref: '#/components/schemas/CatalogsItemValidationDetails' PRODUCT_TYPE_LENGTH_TOO_LONG: description: 'Item has a product_type value that is too long, this item will be published without that product type.' $ref: '#/components/schemas/CatalogsItemValidationDetails' SALE_DATE_INVALID: description: 'Item has a sale_price_effective_date value that is formatted incorrectly, this item will be published without a sale date.' $ref: '#/components/schemas/CatalogsItemValidationDetails' SALES_PRICE_INVALID: description: Item has an incorrectly formatted sales price. $ref: '#/components/schemas/CatalogsItemValidationDetails' SALES_PRICE_TOO_HIGH: description: Item has a sale price value that is higher than the original price of the item. $ref: '#/components/schemas/CatalogsItemValidationDetails' SALES_PRICE_TOO_LOW: description: Item has a sale price value that is discounted very low compared to the price. $ref: '#/components/schemas/CatalogsItemValidationDetails' SHIPPING_HEIGHT_INVALID: description: Item has an incorrectly formatted shipping_height value. The value must first contain a numeric value then a valid dimension unit type. $ref: '#/components/schemas/CatalogsItemValidationDetails' SHIPPING_INVALID: description: Item has a shipping value that is formatted incorrectly. $ref: '#/components/schemas/CatalogsItemValidationDetails' SHIPPING_WEIGHT_INVALID: description: Item has an invalid shipping_weight value. $ref: '#/components/schemas/CatalogsItemValidationDetails' SHIPPING_WIDTH_INVALID: description: Item has an incorrectly formatted shipping_width value. The value must first contain a numeric value then a valid dimension unit type. $ref: '#/components/schemas/CatalogsItemValidationDetails' SIZE_SYSTEM_INVALID: description: Some items have size system values which are not one of the supported size systems. $ref: '#/components/schemas/CatalogsItemValidationDetails' SIZE_TYPE_INVALID: description: 'Item has a size type value that is formatted incorrectly, which may limit visibility in recommendations, search results and shopping experiences.' $ref: '#/components/schemas/CatalogsItemValidationDetails' TAX_INVALID: description: Item has a tax value that is formatted incorrectly. $ref: '#/components/schemas/CatalogsItemValidationDetails' TITLE_LENGTH_TOO_LONG: description: The title for the item was truncated because it contains too many characters. $ref: '#/components/schemas/CatalogsItemValidationDetails' TOO_MANY_ADDITIONAL_IMAGE_LINKS: description: 'Item has a additional_image_link value that exceed the limit for additional images, this item will be published without some of your images.' $ref: '#/components/schemas/CatalogsItemValidationDetails' UTM_SOURCE_AUTO_CORRECTED: description: Item includes an utm_source value that is formatted incorrectly and has been automatically corrected. $ref: '#/components/schemas/CatalogsItemValidationDetails' VIDEO_REQUIRED_WHEN_AD_VIDEO_PROVIDED: description: A video is required in the item when ad_video fields are provided. $ref: '#/components/schemas/CatalogsItemValidationDetails' WEIGHT_UNIT_INVALID: description: 'Item has a weight_unit value that is formatted incorrectly, this item will be published without a weight unit.' $ref: '#/components/schemas/CatalogsItemValidationDetails' CatalogsItems: description: Response object of catalogs items type: object properties: items: description: Array with catalogs items type: array items: $ref: '#/components/schemas/ItemResponse' CatalogsItemsBatch: description: Object describing the catalogs items batch type: object properties: catalog_type: $ref: '#/components/schemas/CatalogsType' discriminator: propertyName: catalog_type mapping: RETAIL: '#/components/schemas/CatalogsRetailItemsBatch' HOTEL: '#/components/schemas/CatalogsHotelItemsBatch' CREATIVE_ASSETS: '#/components/schemas/CatalogsCreativeAssetsItemsBatch' oneOf: - $ref: '#/components/schemas/CatalogsRetailItemsBatch' - $ref: '#/components/schemas/CatalogsHotelItemsBatch' - $ref: '#/components/schemas/CatalogsCreativeAssetsItemsBatch' required: - catalog_type CatalogsItemsFilters: type: object properties: catalog_type: $ref: '#/components/schemas/CatalogsType' discriminator: propertyName: catalog_type mapping: RETAIL: '#/components/schemas/CatalogsRetailItemsFilter' HOTEL: '#/components/schemas/CatalogsHotelItemsFilter' CREATIVE_ASSETS: '#/components/schemas/CatalogsCreativeAssetsItemsFilter' oneOf: - $ref: '#/components/schemas/CatalogsRetailItemsFilter' - $ref: '#/components/schemas/CatalogsHotelItemsFilter' - $ref: '#/components/schemas/CatalogsCreativeAssetsItemsFilter' required: - catalog_type CatalogsItemsPostFilters: type: object properties: catalog_type: $ref: '#/components/schemas/CatalogsType' discriminator: propertyName: catalog_type mapping: RETAIL: '#/components/schemas/CatalogsRetailItemsPostFilter' HOTEL: '#/components/schemas/CatalogsHotelItemsPostFilter' CREATIVE_ASSETS: '#/components/schemas/CatalogsCreativeAssetsItemsPostFilter' oneOf: - $ref: '#/components/schemas/CatalogsRetailItemsPostFilter' - $ref: '#/components/schemas/CatalogsHotelItemsPostFilter' - $ref: '#/components/schemas/CatalogsCreativeAssetsItemsPostFilter' required: - catalog_type CatalogsCreativeAssetsItemsBatch: description: Object describing the catalogs creative assets items batch type: object properties: batch_id: description: Id of the catalogs items batch type: string example: 595953100599279259-66753b9bb65c46c49bd8503b27fecf9e catalog_type: $ref: '#/components/schemas/CatalogsType' completed_time: description: 'Date and time (UTC) of the batch completion: YYYY-MM-DD''T''hh:mm:ss' type: string format: date-time example: '2024-01-01T20:20:00' nullable: true readOnly: true created_time: description: 'Date and time (UTC) of the batch creation: YYYY-MM-DD''T''hh:mm:ss' type: string format: date-time example: '2024-01-01T20:10:40' readOnly: true items: description: Array with the catalogs items processing records part of the catalogs items batch type: array items: $ref: '#/components/schemas/CreativeAssetsProcessingRecord' status: $ref: '#/components/schemas/BatchOperationStatus' required: - catalog_type CatalogsHotelItemsBatch: description: Object describing the catalogs hotel items batch type: object properties: batch_id: description: Id of the catalogs items batch type: string example: 595953100599279259-66753b9bb65c46c49bd8503b27fecf9e catalog_type: $ref: '#/components/schemas/CatalogsType' completed_time: description: 'Date and time (UTC) of the batch completion: YYYY-MM-DD''T''hh:mm:ss' type: string format: date-time example: '2024-01-01T20:20:00' nullable: true readOnly: true created_time: description: 'Date and time (UTC) of the batch creation: YYYY-MM-DD''T''hh:mm:ss' type: string format: date-time example: '2024-01-01T20:10:40' readOnly: true items: description: Array with the catalogs items processing records part of the catalogs items batch type: array items: $ref: '#/components/schemas/HotelProcessingRecord' status: $ref: '#/components/schemas/BatchOperationStatus' required: - catalog_type CatalogsRetailItemsBatch: description: Object describing the catalogs retail items batch type: object properties: batch_id: description: Id of the catalogs items batch type: string example: 595953100599279259-66753b9bb65c46c49bd8503b27fecf9e catalog_type: $ref: '#/components/schemas/CatalogsType' completed_time: description: 'Date and time (UTC) of the batch completion: YYYY-MM-DD''T''hh:mm:ss' type: string format: date-time example: '2024-01-01T20:20:00' nullable: true readOnly: true created_time: description: 'Date and time (UTC) of the batch creation: YYYY-MM-DD''T''hh:mm:ss' type: string format: date-time example: '2024-01-01T20:10:40' readOnly: true items: description: Array with the catalogs items processing records part of the catalogs items batch type: array items: $ref: '#/components/schemas/ItemProcessingRecord' status: $ref: '#/components/schemas/BatchOperationStatus' required: - catalog_type CatalogsItemsRequest: description: Request object of catalogs items type: object properties: country: $ref: '#/components/schemas/Country' filters: $ref: '#/components/schemas/CatalogsItemsPostFilters' language: description: We recommend using the CatalogsLocale values. anyOf: - $ref: '#/components/schemas/CatalogsLocale' - $ref: '#/components/schemas/Language' additionalProperties: false required: - country - language - filters CatalogsItemsBatchRequest: description: Request object of catalogs items batch type: object discriminator: propertyName: operation mapping: UPDATE: '#/components/schemas/CatalogsItemsUpdateBatchRequest' UPSERT: '#/components/schemas/CatalogsItemsUpsertBatchRequest' CREATE: '#/components/schemas/CatalogsItemsCreateBatchRequest' DELETE_DISCONTINUED: '#/components/schemas/CatalogsItemsDeleteDiscontinuedBatchRequest' DELETE: '#/components/schemas/CatalogsItemsDeleteBatchRequest' oneOf: - $ref: '#/components/schemas/CatalogsItemsUpdateBatchRequest' - $ref: '#/components/schemas/CatalogsItemsUpsertBatchRequest' - $ref: '#/components/schemas/CatalogsItemsCreateBatchRequest' - $ref: '#/components/schemas/CatalogsItemsDeleteDiscontinuedBatchRequest' - $ref: '#/components/schemas/CatalogsItemsDeleteBatchRequest' title: legacy_retail_only CatalogsItemsCreateBatchRequest: description: Request object to create catalogs items type: object properties: country: $ref: '#/components/schemas/Country' items: description: Array with catalogs items type: array items: $ref: '#/components/schemas/ItemCreateBatchRecord' maxItems: 1000 minItems: 1 language: description: We recommend using the CatalogsLocale values. anyOf: - $ref: '#/components/schemas/CatalogsLocale' - $ref: '#/components/schemas/Language' operation: $ref: '#/components/schemas/BatchOperation' additionalProperties: false required: - country - language - operation - items CatalogsItemsDeleteBatchRequest: description: Request object to delete catalogs items type: object properties: country: $ref: '#/components/schemas/Country' items: description: Array with catalogs items type: array items: $ref: '#/components/schemas/ItemDeleteBatchRecord' language: description: We recommend using the CatalogsLocale values. anyOf: - $ref: '#/components/schemas/CatalogsLocale' - $ref: '#/components/schemas/Language' operation: $ref: '#/components/schemas/BatchOperation' additionalProperties: false required: - country - language - operation - items CatalogsItemsDeleteDiscontinuedBatchRequest: description: Request object to discontinue catalogs items type: object properties: country: $ref: '#/components/schemas/Country' items: description: Array with catalogs items type: array items: $ref: '#/components/schemas/ItemDeleteDiscontinuedBatchRecord' language: description: We recommend using the CatalogsLocale values. anyOf: - $ref: '#/components/schemas/CatalogsLocale' - $ref: '#/components/schemas/Language' operation: $ref: '#/components/schemas/BatchOperation' additionalProperties: false required: - country - language - operation - items CatalogsItemsUpdateBatchRequest: description: Request object to update catalogs items type: object properties: country: $ref: '#/components/schemas/Country' items: description: Array with catalogs items type: array items: $ref: '#/components/schemas/ItemUpdateBatchRecord' maxItems: 1000 minItems: 1 language: description: We recommend using the CatalogsLocale values. anyOf: - $ref: '#/components/schemas/CatalogsLocale' - $ref: '#/components/schemas/Language' operation: $ref: '#/components/schemas/BatchOperation' additionalProperties: false required: - country - language - operation - items CatalogsItemsUpsertBatchRequest: description: Request object to upsert catalogs items type: object properties: country: $ref: '#/components/schemas/Country' items: description: Array with catalogs items type: array items: $ref: '#/components/schemas/ItemUpsertBatchRecord' maxItems: 1000 minItems: 1 language: description: We recommend using the CatalogsLocale values. anyOf: - $ref: '#/components/schemas/CatalogsLocale' - $ref: '#/components/schemas/Language' operation: $ref: '#/components/schemas/BatchOperation' required: - country - language - operation - items CatalogsListProductsByFilterRequest: description: Request object to list products for a given product group filter. type: object oneOf: - $ref: '#/components/schemas/CatalogsListProductsByFeedBasedFilter' - $ref: '#/components/schemas/CatalogsVerticalsListProductsByCatalogBasedFilterRequest' CatalogsListProductsByFeedBasedFilter: description: Request object to list products for a given feed_id and product group filter. type: object properties: feed_id: description: Catalog Feed id pertaining to the catalog product group filter. type: string example: '2680059592705' pattern: ^\d+$ filters: $ref: '#/components/schemas/CatalogsProductGroupFilters' additionalProperties: false required: - feed_id - filters title: feed based product group CatalogsVerticalsListProductsByCatalogBasedFilterRequest: description: Request object to list products for a given catalog_id and product group filter. type: object discriminator: propertyName: catalog_type mapping: RETAIL: '#/components/schemas/CatalogsRetailListProductsByCatalogBasedFilterRequest' HOTEL: '#/components/schemas/CatalogsHotelListProductsByCatalogBasedFilterRequest' CREATIVE_ASSETS: '#/components/schemas/CatalogsCreativeAssetsListProductsByCatalogBasedFilterRequest' oneOf: - $ref: '#/components/schemas/CatalogsRetailListProductsByCatalogBasedFilterRequest' - $ref: '#/components/schemas/CatalogsHotelListProductsByCatalogBasedFilterRequest' - $ref: '#/components/schemas/CatalogsCreativeAssetsListProductsByCatalogBasedFilterRequest' title: catalog based product group CatalogsRetailListProductsByCatalogBasedFilterRequest: description: Request object to list products for a given retail catalog_id and product group filter. type: object properties: catalog_id: description: Catalog id pertaining to the retail product group. type: string example: '2680059592705' pattern: ^\d+$ catalog_type: 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.' type: string enum: - RETAIL country: $ref: '#/components/schemas/Country' filters: $ref: '#/components/schemas/CatalogsProductGroupFilters' locale: $ref: '#/components/schemas/CatalogsLocale' additionalProperties: false required: - catalog_type - catalog_id - filters - country - locale title: retail_list_products_by_catalog_based_filter_request CatalogsHotelListProductsByCatalogBasedFilterRequest: description: Request object to list products for a given hotel catalog_id and product group filter. type: object properties: catalog_id: description: Catalog id pertaining to the hotel product group. type: string example: '2680059592705' pattern: ^\d+$ catalog_type: type: string enum: - HOTEL filters: $ref: '#/components/schemas/CatalogsHotelProductGroupFilters' additionalProperties: false required: - catalog_type - catalog_id - filters title: hotel_list_products_by_catalog_based_filter_request CatalogsCreativeAssetsListProductsByCatalogBasedFilterRequest: description: Request object to list products for a given creative assets catalog_id and product group filter. type: object properties: catalog_id: description: Catalog id pertaining to the creative assets product group. type: string example: '2680059592705' pattern: ^\d+$ catalog_type: type: string enum: - CREATIVE_ASSETS filters: $ref: '#/components/schemas/CatalogsCreativeAssetsProductGroupFilters' additionalProperties: false required: - catalog_type - catalog_id - filters title: creative_assets_list_products_by_catalog_based_filter_request 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 CatalogsProduct: description: Catalogs product for all verticals type: object properties: catalog_type: $ref: '#/components/schemas/CatalogsType' discriminator: propertyName: catalog_type mapping: RETAIL: '#/components/schemas/CatalogsRetailProduct' HOTEL: '#/components/schemas/CatalogsHotelProduct' CREATIVE_ASSETS: '#/components/schemas/CatalogsCreativeAssetsProduct' oneOf: - $ref: '#/components/schemas/CatalogsRetailProduct' - $ref: '#/components/schemas/CatalogsHotelProduct' - $ref: '#/components/schemas/CatalogsCreativeAssetsProduct' required: - catalog_type CatalogsVerticalProductGroup: type: object discriminator: propertyName: catalog_type mapping: RETAIL: '#/components/schemas/CatalogsRetailProductGroup' HOTEL: '#/components/schemas/CatalogsHotelProductGroup' CREATIVE_ASSETS: '#/components/schemas/CatalogsCreativeAssetsProductGroup' oneOf: - $ref: '#/components/schemas/CatalogsRetailProductGroup' - $ref: '#/components/schemas/CatalogsHotelProductGroup' - $ref: '#/components/schemas/CatalogsCreativeAssetsProductGroup' title: product_group CatalogsCreativeAssetsProductGroup: type: object properties: catalog_id: description: Catalog id pertaining to the creative assets product group. type: string pattern: ^\d+$ catalog_type: type: string enum: - CREATIVE_ASSETS created_at: description: Unix timestamp in seconds of when catalog product group was created. type: integer example: 1621350033000 description: type: string nullable: true filters: $ref: '#/components/schemas/CatalogsCreativeAssetsProductGroupFilters' id: description: ID of the creative assets product group. type: string example: '443727193917' pattern: ^\d+$ name: description: Name of creative assets product group type: string example: Most Popular updated_at: description: Unix timestamp in seconds of last time catalog product group was updated. type: integer example: 1622742155000 required: - id - filters - catalog_type - catalog_id title: creative_assets_product_group CatalogsCreativeAssetsProductGroupFilters: description: Object holding a group of filters for a creative assets product group type: object anyOf: - $ref: '#/components/schemas/CatalogsCreativeAssetsProductGroupFiltersAnyOf' - $ref: '#/components/schemas/CatalogsCreativeAssetsProductGroupFiltersAllOf' title: catalogs_product_group_filters CatalogsCreativeAssetsProductGroupFiltersAllOf: type: object properties: all_of: type: array items: $ref: '#/components/schemas/CatalogsCreativeAssetsProductGroupFilterKeys' type: object additionalProperties: false required: - all_of title: all_of CatalogsCreativeAssetsProductGroupFiltersAnyOf: type: object properties: any_of: type: array items: $ref: '#/components/schemas/CatalogsCreativeAssetsProductGroupFilterKeys' type: object additionalProperties: false required: - any_of title: any_of CatalogsCreativeAssetsProductGroupFilterKeys: 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' - $ref: '#/components/schemas/TitleKeywordsFilter' title: catalogs_product_group_keys CatalogsCreativeAssetsProductGroupCreateRequest: description: Request object for creating a creative assets product group. type: object properties: catalog_id: description: Catalog id pertaining to the creative assets product group. type: string example: '2680059592705' pattern: ^\d+$ catalog_type: type: string enum: - CREATIVE_ASSETS description: type: string nullable: true filters: $ref: '#/components/schemas/CatalogsCreativeAssetsProductGroupFilters' name: type: string additionalProperties: false required: - name - filters - catalog_id - catalog_type title: creative_assets_product_groups_create_request CatalogsCreativeAssetsProductGroupUpdateRequest: description: Request object for updating a creative assets product group. type: object properties: catalog_type: type: string enum: - CREATIVE_ASSETS description: type: string nullable: true filters: $ref: '#/components/schemas/CatalogsCreativeAssetsProductGroupFilters' name: type: string additionalProperties: false title: creative_assets_product_groups_update_request CatalogsHotelProductGroup: type: object properties: catalog_id: description: Catalog id pertaining to the hotel product group. type: string pattern: ^\d+$ catalog_type: type: string enum: - HOTEL created_at: description: Unix timestamp in seconds of when catalog product group was created. type: integer example: 1621350033000 description: type: string nullable: true filters: $ref: '#/components/schemas/CatalogsHotelProductGroupFilters' id: description: ID of the hotel product group. type: string example: '443727193917' pattern: ^\d+$ name: description: Name of hotel product group type: string example: Most Popular type: $ref: '#/components/schemas/CatalogsHotelProductGroupType' updated_at: description: Unix timestamp in seconds of last time catalog product group was updated. type: integer example: 1622742155000 required: - id - filters - catalog_type - catalog_id - type title: hotel_product_group CatalogsHotelProductGroupFilterKeys: 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' - $ref: '#/components/schemas/TitleKeywordsFilter' title: catalogs_product_group_keys CatalogsHotelProductGroupFilters: description: Object holding a group of filters for a hotel product group type: object anyOf: - $ref: '#/components/schemas/CatalogsHotelProductGroupFiltersAnyOf' - $ref: '#/components/schemas/CatalogsHotelProductGroupFiltersAllOf' title: catalogs_product_group_filters CatalogsHotelProductGroupFiltersAllOf: type: object properties: all_of: type: array items: $ref: '#/components/schemas/CatalogsHotelProductGroupFilterKeys' type: object additionalProperties: false required: - all_of title: all_of CatalogsHotelProductGroupFiltersAnyOf: type: object properties: any_of: type: array items: $ref: '#/components/schemas/CatalogsHotelProductGroupFilterKeys' type: object additionalProperties: false required: - any_of title: any_of CatalogsRetailProductGroup: type: object properties: catalog_id: description: Catalog id pertaining to the retail product group. type: string pattern: ^\d+$ catalog_type: type: string enum: - RETAIL country: type: string nullable: true created_at: description: Unix timestamp in seconds of when catalog product group was created. type: integer example: 1621350033000 description: type: string nullable: true feed_id: description: id of the catalogs feed belonging to this catalog product group type: string example: '2680059592705' nullable: true pattern: ^\d+$ filters: $ref: '#/components/schemas/CatalogsProductGroupFilters' id: description: ID of the catalog product group. type: string example: '443727193917' pattern: ^\d+$ is_featured: description: boolean indicator of whether the product group is being featured or not type: boolean deprecated: true locale: type: string nullable: true name: description: Name of catalog product group type: string example: Most Popular status: $ref: '#/components/schemas/CatalogsProductGroupStatus' type: $ref: '#/components/schemas/CatalogsProductGroupType' updated_at: description: Unix timestamp in seconds of last time catalog product group was updated. type: integer example: 1622742155000 required: - filters - id - catalog_id - feed_id - catalog_type - type title: retail_product_group CatalogsHotelProductGroupCreateRequest: description: Request object for creating a hotel product group. type: object properties: catalog_id: description: Catalog id pertaining to the hotel product group. type: string example: '2680059592705' pattern: ^\d+$ catalog_type: type: string enum: - HOTEL description: type: string nullable: true filters: $ref: '#/components/schemas/CatalogsHotelProductGroupFilters' name: type: string additionalProperties: false required: - name - filters - catalog_id - catalog_type title: hotel_product_groups_create_request CatalogsRetailProductGroupCreateRequest: description: Request object for creating a product group. type: object properties: catalog_id: description: Catalog id pertaining to the retail product group. type: string example: '2680059592705' pattern: ^\d+$ catalog_type: 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.' type: string enum: - RETAIL country: $ref: '#/components/schemas/Country' description: type: string nullable: true filters: $ref: '#/components/schemas/CatalogsProductGroupFiltersRequest' locale: $ref: '#/components/schemas/CatalogsLocale' name: type: string additionalProperties: false required: - name - filters - catalog_id - catalog_type title: retail_product_groups_create_request CatalogsHotelProductGroupUpdateRequest: description: Request object for updating a hotel product group. type: object properties: catalog_type: type: string enum: - HOTEL description: type: string nullable: true filters: $ref: '#/components/schemas/CatalogsHotelProductGroupFilters' name: type: string additionalProperties: false title: hotel_product_groups_update_request CatalogsRetailProductGroupUpdateRequest: description: Request object for updating a retail product group. type: object properties: catalog_type: 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.' type: string enum: - RETAIL country: $ref: '#/components/schemas/Country' description: type: string nullable: true filters: $ref: '#/components/schemas/CatalogsProductGroupFiltersRequest' locale: $ref: '#/components/schemas/CatalogsLocale' name: type: string additionalProperties: false title: retail_product_groups_update_request CatalogsProductGroupCreateRequest: description: Request object for creating a product group. type: object properties: description: type: string nullable: true feed_id: description: Catalog Feed id pertaining to the catalog product group. type: string example: '2680059592705' pattern: ^\d+$ filters: $ref: '#/components/schemas/CatalogsProductGroupFiltersRequest' is_featured: description: boolean indicator of whether the product group is being featured or not type: boolean default: false deprecated: true name: type: string required: - name - filters - feed_id title: retail feed based CatalogsProductGroupCurrencyCriteria: description: A currency filter. This filter cannot be negated type: object properties: negated: type: boolean default: false enum: - false values: $ref: '#/components/schemas/NonNullableCatalogsCurrency' additionalProperties: false required: - values title: catalogs_product_group_currency_criteria CatalogsProductGroupFilterKeys: 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/MediaTypeFilter' - $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' - $ref: '#/components/schemas/CustomNumber0Filter' - $ref: '#/components/schemas/CustomNumber1Filter' - $ref: '#/components/schemas/CustomNumber2Filter' - $ref: '#/components/schemas/CustomNumber3Filter' - $ref: '#/components/schemas/CustomNumber4Filter' - $ref: '#/components/schemas/TitleKeywordsFilter' title: catalogs_product_group_keys CatalogsProductGroupFilters: description: Object holding a group of filters for a catalog product group type: object anyOf: - $ref: '#/components/schemas/CatalogsProductGroupFiltersAnyOf' - $ref: '#/components/schemas/CatalogsProductGroupFiltersAllOf' title: catalogs_product_group_filters CatalogsProductGroupFiltersAllOf: type: object properties: all_of: type: array items: $ref: '#/components/schemas/CatalogsProductGroupFilterKeys' type: object additionalProperties: false required: - all_of title: all_of 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. type: object anyOf: - type: object title: any_of additionalProperties: false properties: any_of: type: array items: $ref: '#/components/schemas/CatalogsProductGroupFilterKeys' type: object minItems: 1 required: - any_of - type: object title: all_of additionalProperties: false properties: all_of: type: array items: $ref: '#/components/schemas/CatalogsProductGroupFilterKeys' type: object minItems: 1 required: - all_of title: catalogs_product_group_filters CatalogsProductGroupFiltersAnyOf: type: object properties: any_of: type: array items: $ref: '#/components/schemas/CatalogsProductGroupFilterKeys' type: object additionalProperties: false required: - any_of title: any_of CatalogsProductGroupMultipleCountriesCriteria: type: object properties: negated: type: boolean default: false values: type: array items: $ref: '#/components/schemas/Country' additionalProperties: false required: - values title: catalogs_product_group_multiple_country_criteria CatalogsProductGroupMultipleGenderCriteria: type: object properties: negated: type: boolean default: false values: type: array items: $ref: '#/components/schemas/Gender' additionalProperties: false required: - values title: catalogs_product_group_multiple_gender_criteria CatalogsProductGroupMultipleMediaTypesCriteria: type: object properties: negated: type: boolean default: false values: type: array items: $ref: '#/components/schemas/MediaType' additionalProperties: false required: - values title: catalogs_product_group_multiple_media_type_criteria CatalogsProductGroupMultipleStringCriteria: type: object properties: negated: type: boolean default: false values: type: array items: type: string additionalProperties: false required: - values title: catalogs_product_group_multiple_string_criteria CatalogsProductGroupFilterOperatorTypeCriteria: type: object properties: filter_operator_type: type: string default: IS enum: - IS - CONTAINS negated: type: boolean default: false values: type: array items: type: string additionalProperties: false required: - values title: catalogs_product_group_filter_operator_type_criteria CatalogsProductGroupMultipleStringListCriteria: type: object properties: negated: type: boolean default: false values: type: array items: type: array items: type: string additionalProperties: false required: - values title: catalogs_product_group_multiple_string_list_criteria CatalogsProductGroupPricingCriteria: type: object properties: inclusion: type: boolean default: true negated: type: boolean default: false values: type: number minimum: 0 additionalProperties: false required: - values title: catalogs_product_group_pricing_criteria CatalogsProductGroupUint32Criteria: type: object properties: negated: type: boolean default: false operator: type: string enum: - GREATER_THAN - GREATER_THAN_OR_EQUALS - LESS_THAN - LESS_THAN_OR_EQUALS value: type: integer maximum: 4294967295 minimum: 0 additionalProperties: false required: - operator - value title: catalogs_product_group_uint32_criteria CatalogsProductGroupProductCountsVertical: description: Product counts for a CatalogsProductGroup type: object properties: catalog_type: $ref: '#/components/schemas/CatalogsType' discriminator: propertyName: catalog_type mapping: RETAIL: '#/components/schemas/CatalogsRetailProductGroupProductCounts' HOTEL: '#/components/schemas/CatalogsHotelProductGroupProductCounts' CREATIVE_ASSETS: '#/components/schemas/CatalogsCreativeAssetsProductGroupProductCounts' oneOf: - $ref: '#/components/schemas/CatalogsRetailProductGroupProductCounts' - $ref: '#/components/schemas/CatalogsHotelProductGroupProductCounts' - $ref: '#/components/schemas/CatalogsCreativeAssetsProductGroupProductCounts' required: - catalog_type CatalogsHotelProductGroupProductCounts: description: Product counts for a Hotel CatalogsProductGroup type: object properties: catalog_type: type: string enum: - HOTEL total: type: number minimum: 0 required: - catalog_type - total title: catalogs_hotel_product_group_product_counts CatalogsCreativeAssetsProductGroupProductCounts: description: Product counts for a Creative Assets CatalogsProductGroup type: object properties: catalog_type: type: string enum: - CREATIVE_ASSETS total: type: number minimum: 0 videos: type: number minimum: 0 required: - catalog_type - total - videos title: catalogs_creative_assets_product_group_product_counts CatalogsRetailProductGroupProductCounts: description: Product counts for a Retail CatalogsProductGroup type: object properties: catalog_type: type: string enum: - RETAIL in_stock: type: number minimum: 0 out_of_stock: type: number minimum: 0 preorder: type: number minimum: 0 total: type: number minimum: 0 videos: type: number minimum: 0 required: - catalog_type - in_stock - out_of_stock - preorder - total title: catalogs_retail_product_group_product_counts CatalogsProductGroupStatus: type: string enum: - ACTIVE - INACTIVE CatalogsProductGroupType: 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.

type: string example: TOP_SELLERS enum: - MERCHANT_CREATED - ALL_PRODUCTS - BEST_DEALS - PINNER_FAVORITES - TOP_SELLERS - BACK_IN_STOCK - NEW_ARRIVALS - SHOPIFY_COLLECTIONS - I2PC title: product_group_type CatalogsHotelProductGroupType: description: |-

Catalog hotel product group type

MERCHANT_CREATED: Product groups created by merchants.
ALL_LISTINGS: Includes every hotel item in your catalog. type: string example: MERCHANT_CREATED enum: - MERCHANT_CREATED - ALL_LISTINGS title: hotel_product_group_type CatalogsProductGroupUpdateRequest: description: Request object for updating a product group. type: object properties: description: type: string nullable: true filters: $ref: '#/components/schemas/CatalogsProductGroupFiltersRequest' is_featured: description: boolean indicator of whether the product group is being featured or not type: boolean deprecated: true name: type: string additionalProperties: false title: retail feed based CatalogsRetailProduct: type: object properties: catalog_type: type: string enum: - RETAIL metadata: $ref: '#/components/schemas/CatalogsRetailProductMetadata' pin: $ref: '#/components/schemas/Pin' required: - catalog_type - metadata - pin CatalogsRetailProductMetadata: description: Retail product metadata entity type: object properties: availability: $ref: '#/components/schemas/NonNullableProductAvailabilityType' currency: $ref: '#/components/schemas/NonNullableCatalogsCurrency' item_group_id: description: The parent ID of the product. type: string example: DS0294 nullable: true item_id: description: The user-created unique ID that represents the product. type: string example: DS0294-L price: description: The price of the product. type: number example: 24.99 sale_price: description: The discounted price of the product. type: number example: 14.99 nullable: true required: - item_id - item_group_id - availability - price - sale_price - currency CatalogsStatus: description: 'Status for catalogs entities. Present in catalogs_feed values. When a feed is deleted, the response will inform DELETED as status.' type: string enum: - ACTIVE - INACTIVE CatalogsType: description: Type of the catalog entity. type: string enum: - RETAIL - HOTEL - CREATIVE_ASSETS CatalogsVerticalBatchRequest: description: A request object that can have multiple operations on a single batch type: object discriminator: propertyName: catalog_type mapping: RETAIL: '#/components/schemas/CatalogsRetailBatchRequest' HOTEL: '#/components/schemas/CatalogsHotelBatchRequest' CREATIVE_ASSETS: '#/components/schemas/CatalogsCreativeAssetsBatchRequest' oneOf: - $ref: '#/components/schemas/CatalogsRetailBatchRequest' - $ref: '#/components/schemas/CatalogsHotelBatchRequest' - $ref: '#/components/schemas/CatalogsCreativeAssetsBatchRequest' title: operate on item batch CatalogsHotelGuestRatings: description: 'If specified, you must provide all properties' type: object properties: max_score: description: Max value for the hotel rating score. type: number number_of_reviewers: description: Total number of people who have rated this hotel. type: integer rating_system: description: System you use for guest reviews. type: string score: description: Your hotel's rating. type: number CatalogsHotelItemErrorResponse: description: Object describing a hotel item error type: object properties: catalog_type: $ref: '#/components/schemas/CatalogsType' errors: description: Array with the errors for the item id requested type: array items: $ref: '#/components/schemas/ItemValidationEvent' hotel_id: description: The catalog hotel id in the merchant namespace type: string example: DS0294-M required: - catalog_type CatalogsHotelItemResponse: description: Object describing a hotel record type: object properties: attributes: $ref: '#/components/schemas/CatalogsHotelAttributes' catalog_type: $ref: '#/components/schemas/CatalogsType' hotel_id: description: The catalog hotel id in the merchant namespace type: string example: DS0294-M pins: description: The pins mapped to the item type: array items: $ref: '#/components/schemas/Pin' maxItems: 11 nullable: true required: - catalog_type CatalogsCreativeAssetsItemErrorResponse: description: Object describing a creative assets item error type: object properties: catalog_type: $ref: '#/components/schemas/CatalogsType' creative_assets_id: description: The catalog creative assets id in the merchant namespace type: string example: DS0294-M errors: description: Array with the errors for the item id requested type: array items: $ref: '#/components/schemas/ItemValidationEvent' required: - catalog_type CatalogsCreativeAssetsItemResponse: description: Object describing a hotel record type: object properties: attributes: $ref: '#/components/schemas/CatalogsCreativeAssetsAttributes' catalog_type: $ref: '#/components/schemas/CatalogsType' creative_assets_id: description: The catalog creative assets id in the merchant namespace type: string example: DS0294-M pins: description: The pins mapped to the item type: array items: $ref: '#/components/schemas/Pin' maxItems: 11 nullable: true required: - catalog_type CreativeAssetsProcessingRecord: description: Object describing an item processing record type: object properties: creative_assets_id: description: The catalog creative assets id in the merchant namespace type: string example: DS0294-M errors: description: |- Array with the validation errors for the item processing record. A non empty errors list causes the item processing to fail. type: array items: $ref: '#/components/schemas/ItemValidationEvent' status: $ref: '#/components/schemas/ItemProcessingStatus' warnings: description: Array with the validation warnings for the item processing record type: array items: $ref: '#/components/schemas/ItemValidationEvent' CatalogsRetailBatchRequest: description: A request object that can have multiple operations on a single retail batch type: object properties: catalog_id: description: 'Catalog id pertaining to the retail item. If not provided, default to oldest retail catalog' type: string example: '2680059592705' pattern: ^\d+$ catalog_type: type: string enum: - RETAIL country: $ref: '#/components/schemas/Country' items: description: Array with catalogs item operations type: array items: anyOf: - $ref: '#/components/schemas/CatalogsCreateRetailItem' - $ref: '#/components/schemas/CatalogsUpdateRetailItem' - $ref: '#/components/schemas/CatalogsUpsertRetailItem' - $ref: '#/components/schemas/CatalogsDeleteRetailItem' discriminator: propertyName: operation mapping: CREATE: '#/components/schemas/CatalogsCreateRetailItem' UPDATE: '#/components/schemas/CatalogsUpdateRetailItem' UPSERT: '#/components/schemas/CatalogsUpsertRetailItem' DELETE: '#/components/schemas/CatalogsDeleteRetailItem' maxItems: 1000 minItems: 1 language: description: We recommend using the CatalogsLocale values. anyOf: - $ref: '#/components/schemas/CatalogsLocale' - $ref: '#/components/schemas/Language' additionalProperties: false required: - catalog_type - country - language - items CatalogsRetailItemErrorResponse: description: Object describing a retail item error type: object properties: catalog_type: $ref: '#/components/schemas/CatalogsType' errors: description: Array with the errors for the item id requested type: array items: $ref: '#/components/schemas/ItemValidationEvent' item_id: description: The catalog item id in the merchant namespace type: string example: DS0294-M required: - catalog_type CatalogsRetailItemResponse: description: Object describing a retail item record type: object properties: attributes: $ref: '#/components/schemas/ItemAttributes' catalog_type: $ref: '#/components/schemas/CatalogsType' item_id: description: The catalog retail item id in the merchant namespace type: string example: DS0294-M pins: description: The pins mapped to the item type: array items: $ref: '#/components/schemas/Pin' maxItems: 11 nullable: true required: - catalog_type CatalogsCreateRetailItem: description: An item to be created type: object properties: attributes: $ref: '#/components/schemas/ItemAttributesRequest' item_id: description: The catalog item id in the merchant namespace type: string example: DS0294-M operation: type: string enum: - CREATE required: - item_id - operation - attributes CatalogsUpdateRetailItem: description: An item to be updated type: object properties: attributes: $ref: '#/components/schemas/UpdatableItemAttributes' item_id: description: The catalog item id in the merchant namespace type: string example: DS0294-M operation: type: string enum: - UPDATE update_mask: description: The list of product attributes to be updated. Attributes specified in the update mask without a value specified in the body will be deleted from the product item. type: array items: $ref: '#/components/schemas/UpdateMaskFieldType' example: - ad_link - adult - age_group - availability - average_review_rating - brand - checkout_enabled - color - condition - custom_label_0 - custom_label_1 - custom_label_2 - custom_label_3 - custom_label_4 - description - free_shipping_label - free_shipping_limit - gender - google_product_category - gtin - item_group_id - last_updated_time - link - material - min_ad_price - mpn - number_of_ratings - number_of_reviews - pattern - price - product_type - sale_price - shipping - shipping_height - shipping_weight - shipping_width - size - size_system - size_type - tax - title - variant_names - variant_values - promotion_id nullable: true required: - item_id - operation - attributes CatalogsUpsertRetailItem: description: An item to be upserted type: object properties: attributes: $ref: '#/components/schemas/ItemAttributesRequest' item_id: description: The catalog item id in the merchant namespace type: string example: DS0294-M operation: type: string enum: - UPSERT required: - item_id - operation - attributes CatalogsDeleteRetailItem: description: An item to be deleted type: object properties: item_id: description: The catalog item id in the merchant namespace type: string example: DS0294-M operation: type: string enum: - DELETE required: - item_id - operation CatalogsHotelBatchRequest: description: Request object to update catalogs hotel items type: object properties: catalog_id: description: 'Catalog id pertaining to the hotel item. If not provided, default to oldest hotel catalog' type: string example: '2680059592705' pattern: ^\d+$ catalog_type: type: string enum: - HOTEL country: $ref: '#/components/schemas/Country' items: description: Array with catalogs item operations type: array items: $ref: '#/components/schemas/CatalogsHotelBatchItem' maxItems: 1000 minItems: 1 language: description: We recommend using the CatalogsLocale values. anyOf: - $ref: '#/components/schemas/CatalogsLocale' - $ref: '#/components/schemas/Language' additionalProperties: false required: - catalog_type - country - language - items CatalogsDeleteHotelItem: description: A hotel item to be deleted type: object properties: hotel_id: description: The catalog hotel id in the merchant namespace type: string example: DS0294-M operation: type: string enum: - DELETE required: - hotel_id - operation CatalogsCreateHotelItem: description: A hotel item to be created. type: object properties: attributes: $ref: '#/components/schemas/CatalogsHotelAttributes' hotel_id: description: The catalog hotel id in the merchant namespace type: string example: DS0294-M operation: type: string enum: - CREATE required: - hotel_id - operation - attributes CatalogsUpdateHotelItem: description: Object describing an hotel item batch record type: object properties: attributes: $ref: '#/components/schemas/CatalogsUpdatableHotelAttributes' hotel_id: description: The catalog hotel item id in the merchant namespace type: string example: DS0294-M operation: type: string enum: - UPDATE required: - hotel_id - operation - attributes CatalogsUpsertHotelItem: description: A hotel item to be upserted. type: object properties: attributes: $ref: '#/components/schemas/CatalogsHotelAttributes' hotel_id: description: The catalog hotel id in the merchant namespace type: string example: DS0294-M operation: type: string enum: - UPSERT required: - hotel_id - operation - attributes CatalogsHotelAddress: type: object properties: addr1: description: Primary street address of hotel. type: string city: description: City where the hotel is located. type: string country: description: Country where the hotel is located. type: string postal_code: description: Required for countries with a postal code system. Postal or zip code of the hotel. type: string region: description: 'State, county, province, where the hotel is located.' type: string CatalogsHotelProduct: type: object properties: catalog_type: type: string enum: - HOTEL metadata: $ref: '#/components/schemas/CatalogsHotelProductMetadata' pin: $ref: '#/components/schemas/Pin' required: - catalog_type - metadata - pin CatalogsHotelProductMetadata: description: Hotel product metadata entity type: object properties: hotel_id: description: The user-created unique ID that represents the hotel item. type: string example: 123abc required: - hotel_id CatalogsUpdatableHotelAttributes: type: object properties: address: description: Hotel address $ref: '#/components/schemas/CatalogsHotelAddress' base_price: description: Base price of the hotel room per night followed by the ISO currency code type: string example: 100 USD nullable: true brand: description: The brand to which this hotel belongs to. type: string nullable: true category: description: The type of property. The category can be any type of internal description desired. type: string nullable: true custom_label_0: description: Custom grouping of hotels type: string nullable: true custom_label_1: description: Custom grouping of hotels type: string nullable: true custom_label_2: description: Custom grouping of hotels type: string nullable: true custom_label_3: description: Custom grouping of hotels type: string nullable: true custom_label_4: description: Custom grouping of hotels type: string nullable: true description: description: Brief description of the hotel. type: string nullable: true guest_ratings: description: 'If specified, you must provide all properties' $ref: '#/components/schemas/CatalogsHotelGuestRatings' latitude: description: Latitude of the hotel. type: number link: description: Link to the product page type: string nullable: true longitude: description: Longitude of the hotel. type: number nullable: true name: description: The hotel's name. type: string nullable: true neighborhood: description: A list of neighborhoods where the hotel is located type: array items: type: string nullable: true sale_price: description: Sale price of a hotel room per night. Used to advertise discounts off the regular price of the hotel. type: string example: 90 USD nullable: true CatalogsCreativeAssetsProductMetadata: description: Creative assets product metadata entity type: object properties: creative_assets_id: description: The user-created unique ID that represents the creative assets item. type: string example: 123abc visibility: $ref: '#/components/schemas/CreativeAssetsVisibilityType' required: - creative_assets_id - visibility CatalogsCreativeAssetsProduct: type: object properties: catalog_type: type: string enum: - CREATIVE_ASSETS metadata: $ref: '#/components/schemas/CatalogsCreativeAssetsProductMetadata' pin: $ref: '#/components/schemas/Pin' required: - catalog_type - metadata - pin CreativeAssetsVisibilityType: description: Creative assets visibility. type: string enum: - VISIBLE - HIDDEN nullable: false CatalogsCreativeAssetsBatchRequest: description: Request object to update catalogs creative assets items type: object properties: catalog_id: description: 'Catalog id pertaining to the creative assets item. If not provided, default to oldest creative assets catalog' type: string example: '2680059592705' pattern: ^\d+$ catalog_type: type: string enum: - CREATIVE_ASSETS country: $ref: '#/components/schemas/Country' items: description: Array with creative assets item operations type: array items: $ref: '#/components/schemas/CatalogsCreativeAssetsBatchItem' maxItems: 1000 minItems: 1 language: description: We recommend using the CatalogsLocale values. anyOf: - $ref: '#/components/schemas/CatalogsLocale' - $ref: '#/components/schemas/Language' additionalProperties: false required: - catalog_type - country - language - items CatalogsCreativeAssetsBatchItem: description: Creative assets batch item type: object anyOf: - $ref: '#/components/schemas/CatalogsCreateCreativeAssetsItem' - $ref: '#/components/schemas/CatalogsUpsertCreativeAssetsItem' - $ref: '#/components/schemas/CatalogsUpdateCreativeAssetsItem' - $ref: '#/components/schemas/CatalogsDeleteCreativeAssetsItem' discriminator: propertyName: operation mapping: CREATE: '#/components/schemas/CatalogsCreateCreativeAssetsItem' UPSERT: '#/components/schemas/CatalogsUpsertCreativeAssetsItem' UPDATE: '#/components/schemas/CatalogsUpdateCreativeAssetsItem' DELETE: '#/components/schemas/CatalogsDeleteCreativeAssetsItem' CatalogsCreateCreativeAssetsItem: description: A creative assets item to be created. type: object properties: attributes: $ref: '#/components/schemas/CatalogsCreativeAssetsAttributes' creative_assets_id: description: The catalog creative assets id in the merchant namespace type: string example: DS0294-M operation: type: string enum: - CREATE required: - creative_assets_id - operation - attributes CatalogsUpdateCreativeAssetsItem: description: A creative assets item to be updated. type: object properties: attributes: $ref: '#/components/schemas/CatalogsUpdatableCreativeAssetsAttributes' creative_assets_id: description: The catalog creative assets item id in the merchant namespace type: string example: DS0294-M operation: type: string enum: - UPDATE required: - creative_assets_id - operation - attributes CatalogsUpsertCreativeAssetsItem: description: A creative assets item to be upserted. type: object properties: attributes: $ref: '#/components/schemas/CatalogsCreativeAssetsAttributes' creative_assets_id: description: The catalog creative assets id in the merchant namespace type: string example: DS0294-M operation: type: string enum: - UPSERT required: - creative_assets_id - operation - attributes CatalogsDeleteCreativeAssetsItem: description: A creative assets item to be deleted type: object properties: creative_assets_id: description: The catalog creative assets id in the merchant namespace type: string example: DS0294-M operation: type: string enum: - DELETE required: - creative_assets_id - operation CatalogsUpdatableCreativeAssetsAttributes: type: object properties: android_deep_link: description: Link to the creative assets page. type: string nullable: true custom_label_0: description: Custom grouping of creative assets. type: string nullable: true custom_label_1: description: Custom grouping of creative assets. type: string nullable: true custom_label_2: description: Custom grouping of creative assets. type: string nullable: true custom_label_3: description: Custom grouping of creative assets. type: string nullable: true custom_label_4: description: Custom grouping of creative assets. type: string nullable: true description: description: Brief description of the creative assets. type: string google_product_category: description: The categorization of the product based on the standardized Google Product Taxonomy. This is a set taxonomy. Both the text values and numeric codes are accepted. type: string nullable: true ios_deep_link: description: IOS deep link to the creative assets page. type: string nullable: true link: description: Link to the creative assets page. type: string title: description: The name of the creative assets. type: string visibility: description: 'Visibility of the creative assets. Must be one of the following values (upper or lowercase): ‘visible’, ‘hidden’.' type: string nullable: true CatalogsCreativeAssetsAttributes: type: object allOf: - type: object properties: image_link: description: The creative assets image. type: string example: 'https://scene.example.com/image/image_v2.jpg' video_link: description: The creative assets video. type: string example: 'https://scene.example.com/image/image_v2.mp4' - $ref: '#/components/schemas/CatalogsUpdatableCreativeAssetsAttributes' CatalogsVerticalProductGroupCreateRequest: description: Request object for creating a catalog based product group. type: object discriminator: propertyName: catalog_type mapping: RETAIL: '#/components/schemas/CatalogsRetailProductGroupCreateRequest' HOTEL: '#/components/schemas/CatalogsHotelProductGroupCreateRequest' CREATIVE_ASSETS: '#/components/schemas/CatalogsCreativeAssetsProductGroupCreateRequest' oneOf: - $ref: '#/components/schemas/CatalogsRetailProductGroupCreateRequest' - $ref: '#/components/schemas/CatalogsHotelProductGroupCreateRequest' - $ref: '#/components/schemas/CatalogsCreativeAssetsProductGroupCreateRequest' title: catalog based CatalogsVerticalProductGroupUpdateRequest: description: Request object for updating a catalog based product group. type: object discriminator: propertyName: catalog_type mapping: RETAIL: '#/components/schemas/CatalogsRetailProductGroupUpdateRequest' HOTEL: '#/components/schemas/CatalogsHotelProductGroupUpdateRequest' CREATIVE_ASSETS: '#/components/schemas/CatalogsCreativeAssetsProductGroupUpdateRequest' oneOf: - $ref: '#/components/schemas/CatalogsRetailProductGroupUpdateRequest' - $ref: '#/components/schemas/CatalogsHotelProductGroupUpdateRequest' - $ref: '#/components/schemas/CatalogsCreativeAssetsProductGroupUpdateRequest' title: catalog based CatalogsAvailableFilterValues: description: Object holding available filter values for each filter key type: object discriminator: propertyName: catalog_type mapping: RETAIL: '#/components/schemas/CatalogsRetailAvailableFilterValues' HOTEL: '#/components/schemas/CatalogsHotelAvailableFilterValues' CREATIVE_ASSETS: '#/components/schemas/CatalogsCreativeAssetsAvailableFilterValues' oneOf: - $ref: '#/components/schemas/CatalogsRetailAvailableFilterValues' - $ref: '#/components/schemas/CatalogsHotelAvailableFilterValues' - $ref: '#/components/schemas/CatalogsCreativeAssetsAvailableFilterValues' title: catalogs_available_filter_values CatalogsRetailAvailableFilterValues: type: object properties: catalog_type: type: string enum: - RETAIL filter_values: description: A map of filter attributes to their available values. type: object properties: ad_image_tags: type: array items: type: string ad_video_tags: type: array items: type: string availability: type: array items: type: string enum: - IN_STOCK - OUT_OF_STOCK - PREORDER - UNAVAILABLE brand: type: array items: type: string condition: type: array items: type: string enum: - NEW - USED - REFURBISHED custom_label_0: type: array items: type: string custom_label_1: type: array items: type: string custom_label_2: type: array items: type: string custom_label_3: type: array items: type: string custom_label_4: type: array items: type: string gender: type: array items: type: string enum: - FEMALE - MALE - UNISEX google_product_category_0: type: array items: type: string google_product_category_1: type: array items: type: string google_product_category_2: type: array items: type: string google_product_category_3: type: array items: type: string google_product_category_4: type: array items: type: string google_product_category_5: type: array items: type: string google_product_category_6: type: array items: type: string media_type: type: array items: type: string enum: - IMAGE - VIDEO product_type_0: type: array items: type: string product_type_1: type: array items: type: string product_type_2: type: array items: type: string product_type_3: type: array items: type: string product_type_4: type: array items: type: string title: catalogs_retail_filter_values_map required: - catalog_type - filter_values title: catalogs_retail_available_filter_values CatalogsHotelAvailableFilterValues: type: object properties: catalog_type: type: string enum: - HOTEL filter_values: description: A map of filter attributes to their available values. type: object properties: brand: type: array items: type: string custom_label_0: type: array items: type: string custom_label_1: type: array items: type: string custom_label_2: type: array items: type: string custom_label_3: type: array items: type: string custom_label_4: type: array items: type: string title: catalogs_hotel_filter_values_map required: - catalog_type - filter_values title: catalogs_hotel_available_filter_values CatalogsCreativeAssetsAvailableFilterValues: type: object properties: catalog_type: type: string enum: - CREATIVE_ASSETS filter_values: description: A map of filter attributes to their available values. type: object properties: custom_label_0: type: array items: type: string custom_label_1: type: array items: type: string custom_label_2: type: array items: type: string custom_label_3: type: array items: type: string custom_label_4: type: array items: type: string google_product_category_0: type: array items: type: string google_product_category_1: type: array items: type: string google_product_category_2: type: array items: type: string google_product_category_3: type: array items: type: string google_product_category_4: type: array items: type: string google_product_category_5: type: array items: type: string google_product_category_6: type: array items: type: string media_type: type: array items: type: string enum: - IMAGE - VIDEO title: catalogs_creative_assets_filter_values_map required: - catalog_type - filter_values title: catalogs_creative_assets_available_filter_values ConditionFilter: type: object properties: CONDITION: type: object $ref: '#/components/schemas/CatalogsProductGroupMultipleStringCriteria' additionalProperties: false required: - CONDITION title: CONDITION ContentType: type: string enum: - image/jpeg - image/png ConversionApiResponse: description: 'Schema describing the object in the response, which contains information about the events that were received and processed.' type: object properties: events: description: Specific messages for each event received. The order will match the order in which the events were received in the request. type: array items: type: object properties: error_message: description: Error message containing more information about why the event failed to be processed. type: string nullable: true status: description: Whether the event was processed successfully. type: string example: processed enum: - failed - processed warning_message: description: Warning messages about any fields in the event which are not standard. These are not critical to event processing. type: string nullable: true required: - status num_events_processed: description: Number of events that were successfully processed from the events. type: integer num_events_received: description: Total number of events received in the request. type: integer required: - num_events_received - num_events_processed - events ConversionAttributionWindowDays: type: integer enum: - 0 - 1 - 7 - 14 - 30 - 60 ConversionEventResponse: type: object properties: ad_account_id: description: Id of the ad account. type: string example: '549757463328' pattern: ^\d+$ title: ad_account_id conversion_event: type: string $ref: '#/components/schemas/ConversionTagType' conversion_tag_id: description: Id of the tag. type: string example: '2614324385652' pattern: ^\d+$ title: conversion_tag_id created_time: description: Creation date in epoch format. type: integer example: 1564768710 title: created_time title: ConversionEventResponse ConversionEvents: description: A list of events (one or more) encapsulated by a data object. type: object properties: data: type: array items: type: object additionalProperties: false properties: action_source: description: |-

The source indicating where the conversion event occurred.

- `app_android` - `app_ios` - `web` - `offline` type: string example: app_ios app_id: description: The app store app ID. type: string example: '429047995' nullable: true app_info: $ref: '#/components/schemas/ConversionEventAppInfo' app_name: description: Name of the app. type: string example: Pinterest nullable: true app_version: description: Version of the app. type: string example: '7.9' nullable: true custom_data: description: Object containing other custom data. type: object additionalProperties: false properties: content_brand: description: The brand of the content associated with the event. type: string example: pinterest-brand nullable: true content_category: description: The category of the content associated with the event. type: string example: shirts nullable: true content_ids: description: 'List of products IDs. We recommend using this if you are a merchant for PageVisit, AddToCart and Checkouts. For detail, please check here (Install the Pinterest tag section).' type: array items: type: string example: - product-id-001 - product-id-002 content_name: description: The name of the page or product associated with the event. type: string example: pinterest-themed-clothing nullable: true contents: description: 'A list of objects containing information about products, such as price and quantity. We recommend using this if you are a merchant for PageVisit, AddToCart and Checkouts. For detail, please check here (Install the Pinterest tag section).' type: array items: type: object additionalProperties: false properties: id: description: 'The id of a product. We recommend using this if you are a merchant for AddToCart and Checkouts. For detail, please check here (Install the Pinterest tag section).' type: string item_brand: description: The brand of a product. type: string item_category: description: The category of a product. type: string item_name: description: The name of a product. type: string item_price: description: 'The price of a product. Accepted as a string in the request; it will be parsed into a double. This is the original item value before any discount. We recommend using this if you are a merchant for PageVisit, AddToCart and Checkouts. For detail, please check here (Install the Pinterest tag section).' type: string quantity: description: 'The amount of a product. We recommend using this if you are a merchant for AddToCart and Checkouts. For detail, please check here (Install the Pinterest tag section).' type: integer format: int64 example: - id: product-id-001 item_price: '14.99' quantity: 3 item_name: pinterest-shirt-girl item_category: pinterest-clothing-shirts item_brand: pinterest - id: product-id-002 item_price: '13.71' quantity: 2 item_name: pinterest-shirt-men item_category: pinterest-clothing-shirts item_brand: pinterest currency: description: 'The ISO-4217 currency code. If not provided, we will default to the advertiser''s currency set during account creation. Your campaign performance needs this field to report right ROAS/CPA.' type: string example: USD nullable: true external_measurement_id: description: Only use when instructed. type: string example: rbos-cb7a9e56-4988-4ca0-801b-05c79b29785f nullable: true external_measurement_vendor_id: description: Only use when instructed. type: integer example: 1 nullable: true np: description: 'Named partner. Not required, this is for Pinterest internal use only. Please do not use this unless specifically guided.' type: string example: ss-company nullable: true num_items: description: 'Total number of products of the event. For example, the total number of items purchased in a checkout event. We recommend using this if you are a merchant for AddToCart and Checkouts. For detail, please check here (Install the Pinterest tag section).' type: integer format: int64 example: 5 opt_out_type: description: 'Flags for different privacy rights laws to opt out users of sharing personal information. Separate values with commas. See the Help Center article about limited data processing and the developer''s guide for tracking conversion events for help with using this parameter.' type: string example: LDP nullable: true order_id: description: The order ID. We recommend sending order_id to help us deduplicate events when necessary. This also helps to run other measurement products at Pinterest. type: string example: my_order_id nullable: true search_string: description: The search string related to the user conversion event. type: string example: sample string nullable: true value: description: 'Total value of the event. Accepted as a string in the request; it will be parsed into a double. For example, if there are two items in a checkout event, the value should be the total price. We recommend to use pre-tax, pre-shipping final value.' type: string example: '72.39' nullable: true device_brand: description: Brand of the user device. type: string example: Apple nullable: true device_carrier: description: User device's mobile carrier. type: string example: T-Mobile nullable: true device_info: $ref: '#/components/schemas/ConversionEventDeviceInfo' device_model: description: Model of the user device. type: string example: iPhone X nullable: true device_type: description: Type of the user device. type: string example: iPhone nullable: true event_id: description: 'A unique id string that identifies this event and can be used for deduping between events ingested via both the conversion API and Pinterest tracking. Without this, event''s data is likely to be double counted and will cause report metric inflation. Third-party vendors make sure this field is updated on both Pinterest tag and Conversions API side before rolling out template for Conversions API.' type: string example: eventId0001 event_name: description: |-

The type of the user event. Please use the right event_name; otherwise the event will not be accepted and show up correctly in reports.

- `add_payment_info` - `add_to_cart` - `add_to_wishlist` - `app_install` - `checkout` - `custom` - `initiate_checkout` - `lead` - `page_visit` - `search` - `signup` - `subscribe` - `view_category` - `view_content` - `watch_video` type: string example: checkout event_source_url: description: URL of the web conversion event. type: string example: 'https://www.my-clothing-shop.org/' nullable: true event_time: description: The time when the event happened. Unix timestamp in seconds. type: integer format: int64 example: 1451431341 language: description: Two-character ISO-639-1 language code indicating the user's language. type: string example: en nullable: true opt_out: description: 'When action_source is web or offline, it defines whether the user has opted out of tracking for web conversion events. While when action_source is app_android or app_ios, it defines whether the user has enabled Limit Ad Tracking on their iOS device, or opted out of Ads Personalization on their Android device.' type: boolean example: false os_version: description: Version of the device operating system. type: string example: 12.1.4 nullable: true partner_name: description: The third party partner name responsible to send the event to Conversions API on behalf of the advertiser. The naming convention is "ss-partnername" lowercase. E.g ‘ss-shopify’ type: string example: ss-partnername nullable: true user_data: $ref: '#/components/schemas/ConversionEventsUserData' wifi: description: Whether the event occurred when the user device was connected to wifi. type: boolean example: false required: - event_name - action_source - event_time - user_data - event_id maxItems: 1000 minItems: 1 additionalProperties: false required: - data ConversionEventsUserData: description: 'Object containing customer information data. Note, It is required at least one of 1) em, 2) hashed_maids or 3) pair client_ip_address + client_user_agent.' type: object anyOf: - $ref: '#/components/schemas/ConversionEventsUserDataProperties' required: - em title: EMConversionEventsUserDataPropertyRequired - $ref: '#/components/schemas/ConversionEventsUserDataProperties' required: - hashed_maids title: HashedMaidsConversionEventsUserDataPropertyRequired - $ref: '#/components/schemas/ConversionEventsUserDataProperties' required: - client_ip_address - client_user_agent title: ClientIPAddressConversionEventsUserDataPropertyRequired ConversionEventAppInfo: description: Object containing information about the application where event occurred. type: object properties: app_id: description: 'App ID in Google Play Store, AppStore or other stores.' type: string example: '429047995' maxLength: 200 app_name: description: Name of the app. Primarily used for Mobile Apps. type: string example: MyAwesomeApp maxLength: 200 app_package_name: description: App package name type: string example: com.company.myawesomeapp maxLength: 200 app_store: description: |- The name of the app distributor or store from which the app was installed. Some options: Samsung Galaxy Store, Google Play Store, Amazon Store, Apple App Store, F-Droid, Aptoide, Obtanium, Huawei AppGallery, Xiaomi Mi GetApps type: string example: Google Play Store maxLength: 100 app_version: description: App version. Primarily used for mobile apps type: string example: '7.9' maxLength: 100 install_time: description: App install time. Unix timestamp in seconds type: integer example: 1739222269 minimum: 0 user_agent: description: User Agent request header. Primarily used for Web events type: string example: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36' maxLength: 16384 window_height: description: Inner height of the window or viewport. type: integer example: 900 maximum: 30720 minimum: 0 window_width: description: Inner width of the window or viewport. type: integer example: 1678 maximum: 30720 minimum: 0 additionalProperties: false ConversionEventDeviceInfo: description: Object containing information about the device where event occurred. type: object properties: battery_level: description: Battery charge level percentage type: integer example: 78 maximum: 100 minimum: 0 brand: description: Device brand type: string example: 'Apple, Samsung, Motorola' maxLength: 100 carrier: description: User device's mobile carrier. type: string example: T-Mobile maxLength: 100 cpu_cores: description: Number of CPU cores type: integer example: 8 maximum: 1152 minimum: 0 external_storage_free_space: description: External storage size in GB type: integer example: 126 maximum: 1048576 minimum: 0 external_storage_size: description: External storage size in GB type: integer example: 512 maximum: 1048576 minimum: 0 form_factor: description: Device form factor type: string example: cellphone enum: - desktop - laptop - cellphone - tablet - smartwatch - tv - vr - console - other kernel_version: description: |- Kernel version. Examples: Linux: 6.15. Obtain by running: uname -r MacOS: 24.3.0. Obtain by running: sysctl kern.version Android: 6.6. Obtain from OS.uname().release type: string example: '6.15' maxLength: 100 languages: description: List of user installed languages. ISO 639-1 format type: array items: type: string example: - en - de - lt maxItems: 100 minItems: 0 locale: description: Device locale BCP-47 format type: string example: en-us maxLength: 35 model: description: Device model name type: string example: '16 Pro, Galaxy S25 Ultra' maxLength: 100 network_type: description: |- Network type: 4G, 5G, ethernet, wifi In Android: NetworkCapabilities.getNetworkCapabilities() type: string example: wifi enum: - wifi - cellular_2g - cellular_3g - cellular_4g - cellular_5g - cellular_6g - ethernet - unknown os_family: description: OS Family type: string example: ios enum: - ios - android - macos - windows - linux - bsd - other os_name: description: |- Short name of the OS. This value if specific to os family. Examples: Windows: 10, 11; Android: 16; iOS: 18; MacOS: 15; Linux: Debian, Ubuntu, Arch type: string example: '10' maxLength: 100 os_release_name: description: |- Marketing name for the release version iOS: Dawn Android: Baklava MacOS: Sequoia Ubuntu Linux: Plucky Puffin type: string example: '18.3' maxLength: 100 os_version: description: |- Full name of the version. Examples: iOS: 18.3 Android: 16.1 MacOS: 15.5 Windows: 24H2 Ubuntu Linux: 25.04 type: string example: '18.3' maxLength: 100 screen_density: description: 'Screen density, PPI' type: integer example: 460 maximum: 100000 minimum: 0 screen_height: description: Screen height in pixels type: integer example: 2868 maximum: 30720 minimum: 0 screen_width: description: Screen width in pixels type: integer example: 1320 maximum: 30720 minimum: 0 storage_free_space: description: Internal storage size in GB type: integer example: 184 maximum: 1048576 minimum: 0 storage_size: description: Internal storage size in GB type: integer example: 256 maximum: 1048576 minimum: 0 timezone: description: Device timezone type: string example: USA/New York maxLength: 40 timezone_abbr: description: Timezone abbreviation type: string example: PDT maxLength: 5 type: description: Device type type: string example: 'iPhone, Android' maxLength: 100 additionalProperties: false ConversionEventsUserDataProperties: type: object properties: click_id: description: The unique identifier stored in _epik cookie on your domain or &epik= query parameter in the URL. We highly recommend this on checkout events at least. It may improve reporting performance such as ROAS/CPA. type: string example: dj0yJnU9b2JDcFFHekV4SHJNcmVrbFBkUEdqakh0akdUT1VjVVUmcD0yJm49cnNBQ3F2Q2dOVDBXWWhkWklrUGxBUSZ0PUFBQUFBR1BaY3Bv nullable: true client_ip_address: description: 'The user''s IP address, which can be either in IPv4 or IPv6 format. Used for matching. We highly recommend this for all events. It may improve reporting performance such as ROAS/CPA.' type: string example: 216.3.128.12 client_user_agent: description: The user agent string of the user's web browser. We highly recommend this for all events. It may improve reporting performance such as ROAS/CPA. type: string country: description: 'Sha256 hashes of two-character ISO-3166 country code indicating the user''s country, in lowercase. The string should be in the UTF-8 format.' type: array items: type: string example: - 9b202ecbc6d45c6d8901d989a918878397a3eb9d00e8f48022fc051b19d21a1d ct: description: 'Sha256 hashes of user''s city, in lowercase, and without spaces or punctuation. User residency city (mostly billing). The string should be in the UTF-8 format.' type: array items: type: string example: - 4ac01a129bfd10385c9278c2cf2c46fac5ab57350841234f587c8522a2e4ce36 db: description: 'Sha256 hashes of user''s date of birthday, given as year, month, and day. The string should be in the UTF-8 format.' type: array items: type: string example: - d4426a0086d10f12ad265539ae8d54221dc67786053d511407204b76e99d7739 em: description: Sha256 hashes of lowercase version of user's email addresses. Used for matching. We highly recommend this on checkout events at least. It may improve reporting performance such as ROAS/CPA. The string should be in the UTF-8 format. type: array items: type: string example: - 411e44ce1261728ffd2c0686e44e3fffe413c0e2c5adc498bc7da883d476b9c8 - 09831ea51bd1b7b32a836683a00a9ccaf3d05f59499f42d9883412ed79289969 external_id: description: 'Sha256 hashes of the unique id from the advertiser that identifies a user in their space, e.g. user id, loyalty id, etc. We highly recommend this on all events. It may improve reporting performance such as ROAS/CPA. The string should be in the UTF-8 format.' type: array items: type: string example: - 6a7a73766627eb611720883d5a11cc62b5bfee237b00a6658d78c50032ec4aee fn: description: 'Sha256 hashes of user''s first name, in lowercase. We highly recommend this on checkout events at least. It may improve reporting performance such as ROAS/CPA. The string should be in the UTF-8 format.' type: array items: type: string example: - ec1e6a072231703f1bc41429052fff8c00a7e0c6aaec2e7107241ca8f3ceb6b2 ge: description: 'Sha256 hashes of user''s gender, in lowercase. Either "f" or "m" or "n" for non-binary gender. The string should be in the UTF-8 format.' type: array items: type: string example: - 0d248e82c62c9386878327d491c762a002152d42ab2c391a31c44d9f62675ddf hashed_maids: description: Sha256 hashes of user's "Google Advertising IDs" (GAIDs) or "Apple's Identifier for Advertisers" (IDFAs). Used for matching. We highly recommend this on checkout events at least. It may improve reporting performance such as ROAS/CPA. The string should be in the UTF-8 format. type: array items: type: string example: - 0192518eb84137ccfe82c8b6322d29631dae7e28ed9d0f6dd5f245d73a58c5f1 - 837b850ac46d62b2272a71de73c27801ff011ac1e36c5432620c8755cf90db46 ln: description: 'Sha256 hashes of user''s last name, in lowercase. We highly recommend this on checkout events at least. It may improve reporting performance such as ROAS/CPA. The string should be in the UTF-8 format.' type: array items: type: string example: - 7e546b3aa43f989dd359672e6c3409d4f9d4e8f155ae1e9b90ee060985468c19 partner_id: description: A unique identifier of visitors' information defined by third party partners. e.g RampID type: string example: BUJrTlRRzGJmWhRXFZdkioV6wKPBve7Lom__GU9J74hq2NIQj4O3nOZJrp3mcUr5MptkXsI14juMOIM9mNZnM4zEUFT2JLVaFhcOfuuWz3IWEDtBf6I0DPc nullable: true ph: description: 'Sha256 hashes of user''s phone numbers, only digits with country code, area code, and number. Remove any symbols, letters, spaces and leading zeros. We highly recommend this on checkout events at least. It may improve reporting performance such as ROAS/CPA. The string should be in the UTF-8 format.' type: array items: type: string example: - 45df139772a81b6011bdc1c9cc3d1cb408fc0b10ec0c5cb9d4d4e107f0ddc49d st: description: 'Sha256 hashes of user''s state, given as a two-letter code in lowercase. User residency state (mostly billing). The string should be in the UTF-8 format.' type: array items: type: string example: - 49a6d05b8e4b516656e464271d9dd38d0a7e0142f7f49546f4dabd2720cafc34 zp: description: 'Sha256 hashes of user''s zipcode, only digits. User residency zipcode (mostly billing). The string should be in the UTF-8 format.' type: array items: type: string example: - fd5f56b40a79a385708428e7b32ab996a681080a166a2206e750eb4819186145 ConversionMSOTEvents: description: Object containing the MSOT conversion events. type: object properties: action_timestamps: description: Timestamp(s) when the ad action(s) happened. Unix timestamp in seconds. type: array items: type: integer format: int64 example: - 1451410040 ad_group_id: description: The ID of the ad group that was attributed to the conversion event. type: string example: '2680060704746' pattern: ^\d+$ attribution_model: description: The attribution model used to attribute the conversion event. type: string example: multi_touch enum: - first_touch - last_touch - multi_touch attribution_scope: description: Ad event type. type: string example: click enum: - view - engagement - click attribution_score: description: Credit given to the attributed ad actions. Allowed values are > 0 and <= 1. type: number format: double example: 0.5 exclusiveMinimum: true maximum: 1 minimum: 0 campaign_id: description: The ID of the campaign that was attributed to the conversion event. type: string example: '626736533506' pattern: ^\d+$ currency: allOf: - $ref: '#/components/schemas/Currency' - type: string description: 'Currency code for the value field, required if value is present. Currency Codes should be in ISO 4217 standard.' event_id: description: 'A unique id string that identifies this event. If you are already sending us events through Conversions API, then this id should match the event_id sent through Conversions API.' type: string example: eventId0001 maxLength: 256 event_name: description: Type of user event. type: string example: add_to_cart enum: - add_to_cart - checkout - lead - signup event_timestamp: description: The time when the event occurred. Unix timestamp in seconds. type: integer format: int64 example: 1451431341 total_event_touchpoints: description: Total number of ad events including other non-Pinterest ad platforms. type: integer example: 2 minimum: 1 total_events: description: |- Total number of conversion events that are reported in one API call.

If you are sending one API request for one attributed conversion event then this value should be 1.

If you are sending multiple attributed conversion events in one API request then this value should be the total number of attributed conversion events in the request.

type: integer example: 2 minimum: 1 value: description: Order value of the conversion event. Required if event_name is 'add_to_cart' or 'checkout'. type: number format: double example: 123.45 additionalProperties: false required: - event_id - event_name - event_timestamp - ad_group_id - attribution_scope title: Conversion MSOT Events ConversionProductReportRequest: description: 'Request for a brand, category, SKU report' type: object properties: ad_group_ids: description: List of ad group ids.
Only support ad_group_ids field when level of the report is AD_GROUP. type: array items: type: string pattern: ^\d+$ example: - '12345678' maxItems: 500 minItems: 1 campaign_ids: description: List of campaign ids.
Only support campaign_ids field when level of the report is CAMPAIGN. type: array items: type: string pattern: ^\d+$ example: - '12345678' maxItems: 500 minItems: 1 campaign_objective_types: description: 'List of values for filtering. Default is [''CONSIDERATION'',''AWARENESS'',''WEB_CONVERSION'',''VIDEO_COMPLETION''].' type: array items: $ref: '#/components/schemas/ObjectiveType' maxItems: 7 minItems: 1 click_window_days: 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.' type: integer default: 30 allOf: - $ref: '#/components/schemas/ConversionAttributionWindowDays' columns: description: Metric and entity columns type: array items: $ref: '#/components/schemas/ConversionProductReportingColumn' conversion_product_attribution_type: description: 'Required attribution type of the B/C/S report.
When the attribution type is BRAND_ATTRIBUTION, start_date for the report must be after 2025-04-01.' default: DEFAULT enum: - DEFAULT - BRAND_ATTRIBUTION allOf: - type: string enum: - DEFAULT - BRAND_ATTRIBUTION conversion_product_breakdown: description: 'Report breakdown type. This is used to specify the breakdown of the report by brand, category, or SKU.' type: string default: PRODUCT_BRAND allOf: - type: string enum: - PRODUCT_BRAND - PRODUCT_CATEGORY - PRODUCT_BRAND_AND_CATEGORY - PRODUCT_SKU - PRODUCT_SKU_GROUP 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.' type: string default: TIME_OF_AD_ACTION allOf: - $ref: '#/components/schemas/ConversionReportTimeType' end_date: description: 'Metric report end date (UTC). Format: YYYY-MM-DD.
A max of 1 year is allowed between the start and end date for reports.' type: string example: '2024-04-23' pattern: '^(\d{4})-(\d{2})-(\d{2})$' granularity: description: TOTAL - metrics are aggregated over the specified date range.
WEEK - metrics are broken down weekly.
MONTH - metrics are broken down monthly. type: string enum: - WEEK - MONTH - TOTAL level: description: Level of the report type: string enum: - ADVERTISER - CAMPAIGN - AD_GROUP product_sku_ids: description: List of SKU ids.
Only support product_sku_ids field when report breakdown type is PRODUCT_SKU_GROUP. type: array items: type: string pattern: '^[a-zA-Z0-9]+$' example: - WBC45678 - WBC45679 maxItems: 500 minItems: 2 report_name: description: Name of the conversion product report. type: string start_date: description: 'Metric report start date (UTC). Format: YYYY-MM-DD.
Start date must be after 2024-03-16. 7 day minimum time window for report is required.' type: string example: '2024-03-17' pattern: '^(\d{4})-(\d{2})-(\d{2})$' view_window_days: 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 `30` day.' type: integer default: 30 allOf: - $ref: '#/components/schemas/ConversionAttributionWindowDays' required: - report_name - start_date - end_date - granularity - level - columns ConversionProductReportingColumn: description: Conversion Product Reporting columns type: string example: AD_GROUP_ID enum: - CAMPAIGN_NAME - CAMPAIGN_ID - ADVERTISER_ID - AD_GROUP_ID - CAMPAIGN_OBJECTIVE_TYPE - AD_GROUP_NAME - CONVERSION_PRODUCT_ID - CONVERSION_PRODUCT_BRAND - CONVERSION_PRODUCT_CATEGORY - CONVERSION_PRODUCT_ID_GROUP - TOTAL_CONVERSION_PRODUCT_QUANTITY - TOTAL_WEB_CONVERSION_PRODUCT_QUANTITY - TOTAL_INAPP_CONVERSION_PRODUCT_QUANTITY - TOTAL_OFFLINE_CONVERSION_PRODUCT_QUANTITY - TOTAL_CONVERSION_PRODUCT_VALUE - TOTAL_WEB_CONVERSION_PRODUCT_VALUE - TOTAL_INAPP_CONVERSION_PRODUCT_VALUE - TOTAL_OFFLINE_CONVERSION_PRODUCT_VALUE - TOTAL_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_WEB_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_INAPP_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_OFFLINE_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_CHECKOUT_CONVERSION_PRODUCT_QUANTITY - TOTAL_CHECKOUT_CONVERSION_PRODUCT_VALUE - TOTAL_CHECKOUT_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_WEB_CHECKOUT_CONVERSION_PRODUCT_QUANTITY - TOTAL_WEB_CHECKOUT_CONVERSION_PRODUCT_VALUE - TOTAL_WEB_CHECKOUT_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_INAPP_CHECKOUT_CONVERSION_PRODUCT_QUANTITY - TOTAL_INAPP_CHECKOUT_CONVERSION_PRODUCT_VALUE - TOTAL_INAPP_CHECKOUT_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_OFFLINE_CHECKOUT_CONVERSION_PRODUCT_QUANTITY - TOTAL_OFFLINE_CHECKOUT_CONVERSION_PRODUCT_VALUE - TOTAL_OFFLINE_CHECKOUT_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_ADD_TO_CART_CONVERSION_PRODUCT_QUANTITY - TOTAL_ADD_TO_CART_CONVERSION_PRODUCT_VALUE - TOTAL_ADD_TO_CART_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_WEB_ADD_TO_CART_CONVERSION_PRODUCT_QUANTITY - TOTAL_WEB_ADD_TO_CART_CONVERSION_PRODUCT_VALUE - TOTAL_WEB_ADD_TO_CART_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_INAPP_ADD_TO_CART_CONVERSION_PRODUCT_QUANTITY - TOTAL_INAPP_ADD_TO_CART_CONVERSION_PRODUCT_VALUE - TOTAL_INAPP_ADD_TO_CART_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_PAGE_VISIT_CONVERSION_PRODUCT_QUANTITY - TOTAL_PAGE_VISIT_CONVERSION_PRODUCT_VALUE - TOTAL_PAGE_VISIT_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_WEB_PAGE_VISIT_CONVERSION_PRODUCT_QUANTITY - TOTAL_WEB_PAGE_VISIT_CONVERSION_PRODUCT_VALUE - TOTAL_WEB_PAGE_VISIT_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_SIGNUP_CONVERSION_PRODUCT_QUANTITY - TOTAL_SIGNUP_CONVERSION_PRODUCT_VALUE - TOTAL_SIGNUP_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_WEB_SIGNUP_CONVERSION_PRODUCT_QUANTITY - TOTAL_WEB_SIGNUP_CONVERSION_PRODUCT_VALUE - TOTAL_WEB_SIGNUP_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_INAPP_SIGNUP_CONVERSION_PRODUCT_QUANTITY - TOTAL_INAPP_SIGNUP_CONVERSION_PRODUCT_VALUE - TOTAL_INAPP_SIGNUP_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_OFFLINE_SIGNUP_CONVERSION_PRODUCT_QUANTITY - TOTAL_OFFLINE_SIGNUP_CONVERSION_PRODUCT_VALUE - TOTAL_OFFLINE_SIGNUP_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_WATCH_VIDEO_CONVERSION_PRODUCT_QUANTITY - TOTAL_WATCH_VIDEO_CONVERSION_PRODUCT_VALUE - TOTAL_WATCH_VIDEO_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_WEB_WATCH_VIDEO_CONVERSION_PRODUCT_QUANTITY - TOTAL_WEB_WATCH_VIDEO_CONVERSION_PRODUCT_VALUE - TOTAL_WEB_WATCH_VIDEO_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_LEAD_CONVERSION_PRODUCT_QUANTITY - TOTAL_LEAD_CONVERSION_PRODUCT_VALUE - TOTAL_LEAD_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_WEB_LEAD_CONVERSION_PRODUCT_QUANTITY - TOTAL_WEB_LEAD_CONVERSION_PRODUCT_VALUE - TOTAL_WEB_LEAD_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_OFFLINE_LEAD_CONVERSION_PRODUCT_QUANTITY - TOTAL_OFFLINE_LEAD_CONVERSION_PRODUCT_VALUE - TOTAL_OFFLINE_LEAD_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_SEARCH_CONVERSION_PRODUCT_QUANTITY - TOTAL_SEARCH_CONVERSION_PRODUCT_VALUE - TOTAL_SEARCH_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_WEB_SEARCH_CONVERSION_PRODUCT_QUANTITY - TOTAL_WEB_SEARCH_CONVERSION_PRODUCT_VALUE - TOTAL_WEB_SEARCH_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_INAPP_SEARCH_CONVERSION_PRODUCT_QUANTITY - TOTAL_INAPP_SEARCH_CONVERSION_PRODUCT_VALUE - TOTAL_INAPP_SEARCH_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_VIEW_CATEGORY_CONVERSION_PRODUCT_QUANTITY - TOTAL_VIEW_CATEGORY_CONVERSION_PRODUCT_VALUE - TOTAL_VIEW_CATEGORY_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_WEB_VIEW_CATEGORY_CONVERSION_PRODUCT_QUANTITY - TOTAL_WEB_VIEW_CATEGORY_CONVERSION_PRODUCT_VALUE - TOTAL_WEB_VIEW_CATEGORY_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_CUSTOM_CONVERSION_PRODUCT_QUANTITY - TOTAL_CUSTOM_CONVERSION_PRODUCT_VALUE - TOTAL_CUSTOM_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_WEB_CUSTOM_CONVERSION_PRODUCT_QUANTITY - TOTAL_WEB_CUSTOM_CONVERSION_PRODUCT_VALUE - TOTAL_WEB_CUSTOM_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_OFFLINE_CUSTOM_CONVERSION_PRODUCT_QUANTITY - TOTAL_OFFLINE_CUSTOM_CONVERSION_PRODUCT_VALUE - TOTAL_OFFLINE_CUSTOM_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_UNKNOWN_CONVERSION_PRODUCT_QUANTITY - TOTAL_UNKNOWN_CONVERSION_PRODUCT_VALUE - TOTAL_UNKNOWN_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_WEB_UNKNOWN_CONVERSION_PRODUCT_QUANTITY - TOTAL_WEB_UNKNOWN_CONVERSION_PRODUCT_VALUE - TOTAL_WEB_UNKNOWN_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_INAPP_UNKNOWN_CONVERSION_PRODUCT_QUANTITY - TOTAL_INAPP_UNKNOWN_CONVERSION_PRODUCT_VALUE - TOTAL_INAPP_UNKNOWN_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_OFFLINE_UNKNOWN_CONVERSION_PRODUCT_QUANTITY - TOTAL_OFFLINE_UNKNOWN_CONVERSION_PRODUCT_VALUE - TOTAL_OFFLINE_UNKNOWN_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_ADD_PAYMENT_INFO_CONVERSION_PRODUCT_QUANTITY - TOTAL_ADD_PAYMENT_INFO_CONVERSION_PRODUCT_VALUE - TOTAL_ADD_PAYMENT_INFO_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_WEB_ADD_PAYMENT_INFO_CONVERSION_PRODUCT_QUANTITY - TOTAL_WEB_ADD_PAYMENT_INFO_CONVERSION_PRODUCT_VALUE - TOTAL_WEB_ADD_PAYMENT_INFO_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_INAPP_ADD_PAYMENT_INFO_CONVERSION_PRODUCT_QUANTITY - TOTAL_INAPP_ADD_PAYMENT_INFO_CONVERSION_PRODUCT_VALUE - TOTAL_INAPP_ADD_PAYMENT_INFO_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_OFFLINE_ADD_PAYMENT_INFO_CONVERSION_PRODUCT_QUANTITY - TOTAL_OFFLINE_ADD_PAYMENT_INFO_CONVERSION_PRODUCT_VALUE - TOTAL_OFFLINE_ADD_PAYMENT_INFO_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_ADD_TO_WISHLIST_CONVERSION_PRODUCT_QUANTITY - TOTAL_ADD_TO_WISHLIST_CONVERSION_PRODUCT_VALUE - TOTAL_ADD_TO_WISHLIST_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_WEB_ADD_TO_WISHLIST_CONVERSION_PRODUCT_QUANTITY - TOTAL_WEB_ADD_TO_WISHLIST_CONVERSION_PRODUCT_VALUE - TOTAL_WEB_ADD_TO_WISHLIST_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_INAPP_ADD_TO_WISHLIST_CONVERSION_PRODUCT_QUANTITY - TOTAL_INAPP_ADD_TO_WISHLIST_CONVERSION_PRODUCT_VALUE - TOTAL_INAPP_ADD_TO_WISHLIST_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_OFFLINE_ADD_TO_WISHLIST_CONVERSION_PRODUCT_QUANTITY - TOTAL_OFFLINE_ADD_TO_WISHLIST_CONVERSION_PRODUCT_VALUE - TOTAL_OFFLINE_ADD_TO_WISHLIST_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_INITIATE_CHECKOUT_CONVERSION_PRODUCT_QUANTITY - TOTAL_INITIATE_CHECKOUT_CONVERSION_PRODUCT_VALUE - TOTAL_INITIATE_CHECKOUT_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_WEB_INITIATE_CHECKOUT_CONVERSION_PRODUCT_QUANTITY - TOTAL_WEB_INITIATE_CHECKOUT_CONVERSION_PRODUCT_VALUE - TOTAL_WEB_INITIATE_CHECKOUT_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_INAPP_INITIATE_CHECKOUT_CONVERSION_PRODUCT_QUANTITY - TOTAL_INAPP_INITIATE_CHECKOUT_CONVERSION_PRODUCT_VALUE - TOTAL_INAPP_INITIATE_CHECKOUT_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_OFFLINE_INITIATE_CHECKOUT_CONVERSION_PRODUCT_QUANTITY - TOTAL_OFFLINE_INITIATE_CHECKOUT_CONVERSION_PRODUCT_VALUE - TOTAL_OFFLINE_INITIATE_CHECKOUT_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_SUBSCRIBE_CONVERSION_PRODUCT_QUANTITY - TOTAL_SUBSCRIBE_CONVERSION_PRODUCT_VALUE - TOTAL_SUBSCRIBE_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_WEB_SUBSCRIBE_CONVERSION_PRODUCT_QUANTITY - TOTAL_WEB_SUBSCRIBE_CONVERSION_PRODUCT_VALUE - TOTAL_WEB_SUBSCRIBE_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_INAPP_SUBSCRIBE_CONVERSION_PRODUCT_QUANTITY - TOTAL_INAPP_SUBSCRIBE_CONVERSION_PRODUCT_VALUE - TOTAL_INAPP_SUBSCRIBE_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_OFFLINE_SUBSCRIBE_CONVERSION_PRODUCT_QUANTITY - TOTAL_OFFLINE_SUBSCRIBE_CONVERSION_PRODUCT_VALUE - TOTAL_OFFLINE_SUBSCRIBE_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_VIEW_CONTENT_CONVERSION_PRODUCT_QUANTITY - TOTAL_VIEW_CONTENT_CONVERSION_PRODUCT_VALUE - TOTAL_VIEW_CONTENT_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_WEB_VIEW_CONTENT_CONVERSION_PRODUCT_QUANTITY - TOTAL_WEB_VIEW_CONTENT_CONVERSION_PRODUCT_VALUE - TOTAL_WEB_VIEW_CONTENT_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_INAPP_VIEW_CONTENT_CONVERSION_PRODUCT_QUANTITY - TOTAL_INAPP_VIEW_CONTENT_CONVERSION_PRODUCT_VALUE - TOTAL_INAPP_VIEW_CONTENT_CONVERSION_PRODUCT_VALUE_IN_USD - TOTAL_OFFLINE_VIEW_CONTENT_CONVERSION_PRODUCT_QUANTITY - TOTAL_OFFLINE_VIEW_CONTENT_CONVERSION_PRODUCT_VALUE - TOTAL_OFFLINE_VIEW_CONTENT_CONVERSION_PRODUCT_VALUE_IN_USD ConversionReportAttributionType: description: Attribution type. Refers to the Pinterest Tag endpoints type: string example: INDIVIDUAL enum: - INDIVIDUAL - HOUSEHOLD ConversionReportTimeType: description: Conversion report time type type: string example: TIME_OF_AD_ACTION enum: - TIME_OF_AD_ACTION - TIME_OF_CONVERSION ConversionTagCommon: type: object properties: ad_account_id: description: Ad account ID. type: string example: '549755885175' title: ad_account_id code_snippet: description: Tag code snippet. type: string example: '