Pinterest Reports API

The Reports API from Pinterest — 5 operation(s) for reports.

Operations 8

GET /ad_accounts/{ad_account_id}/mmm_reports Get advertiser Marketing Mix Modeling (MMM) report. #
POST /ad_accounts/{ad_account_id}/mmm_reports Create a request for a Marketing Mix Modeling (MMM) report #
GET /ad_accounts/{ad_account_id}/reports Get the account analytics report created by the async call #
POST /ad_accounts/{ad_account_id}/reports Create async request for an account analytics report #
POST /ad_accounts/{ad_account_id}/templates/{template_id}/reports Create async request for an analytics report using a template #
POST /catalogs/reports Build catalogs report #
GET /catalogs/reports Get catalogs report #
GET /catalogs/reports/stats List report stats #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/pinterest-reports-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

pinterest-reports-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 5.13.0
  title: Pinterest Reports API
  description: This is the description of your API.
  contact:
    name: Pinterest, Inc.
    url: https://developers.pinterest.com/
  license:
    name: MIT
    url: https://spdx.org/licenses/MIT
  termsOfService: https://developers.pinterest.com/terms/
servers:
- url: https://api.pinterest.com/v5
tags:
- name: Reports
paths:
  /ad_accounts/{ad_account_id}/mmm_reports:
    get:
      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.'
      operationId: analytics/get_mmm_report
      security:
      - pinterest_oauth2:
        - ads:read
      x-ratelimit-category: ads_read
      x-sandbox: disabled
      parameters:
      - $ref: '#/components/parameters/path_ad_account_id'
      - $ref: '#/components/parameters/query_token_required'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMMMReportResponse'
          description: Success
        '400':
          description: Invalid ad account ads analytics parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                code: 400
                message: Invalid ad account ads analytics parameters.
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Reports
    post:
      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.'
      operationId: analytics/create_mmm_report
      security:
      - pinterest_oauth2:
        - ads:read
      x-ratelimit-category: ads_analytics
      x-sandbox: disabled
      parameters:
      - $ref: '#/components/parameters/path_ad_account_id'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateMMMReportRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateMMMReportResponse'
          description: Success
        '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'
      tags:
      - Reports
  /ad_accounts/{ad_account_id}/reports:
    get:
      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 <a href="https://help.pinterest.com/en/business/article/share-and-manage-access-to-your-ad-accounts">Business Access</a>: Admin, Analyst, Campaign Manager.'
      operationId: analytics/get_report
      security:
      - pinterest_oauth2:
        - ads:read
      x-ratelimit-category: ads_analytics
      x-sandbox: disabled
      parameters:
      - $ref: '#/components/parameters/path_ad_account_id'
      - $ref: '#/components/parameters/query_token_required'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdsAnalyticsGetAsyncResponse'
          description: Success
        '400':
          description: Invalid ad account ads analytics parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                code: 400
                message: Invalid ad account ads analytics parameters.
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Reports
    post:
      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 <a href="https://help.pinterest.com/en/business/article/share-and-manage-access-to-your-ad-accounts">Business Access</a>: Admin, Analyst, Campaign Manager.

        - If granularity is not HOUR, the furthest back you can are allowed to pull data is 914 days before the current date in UTC time and the max time range supported is 186 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.

        - If level is PRODUCT_ITEM, the furthest back you can are allowed to pull data is 92 days before the current date in UTC time and the max time range supported is 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.'
      operationId: analytics/create_report
      security:
      - pinterest_oauth2:
        - ads:read
      x-ratelimit-category: ads_analytics
      x-sandbox: disabled
      parameters:
      - $ref: '#/components/parameters/path_ad_account_id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdsAnalyticsCreateAsyncRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdsAnalyticsCreateAsyncResponse'
          description: Success
        '400':
          description: Invalid ad account ads analytics parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                code: 400
                message: Invalid ad account ads analytics parameters.
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Reports
  /ad_accounts/{ad_account_id}/templates/{template_id}/reports:
    post:
      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.'
      operationId: analytics/create_template_report
      security:
      - pinterest_oauth2:
        - ads:read
      x-ratelimit-category: ads_analytics
      x-sandbox: disabled
      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':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdsAnalyticsCreateAsyncResponse'
          description: Success
        '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'
      tags:
      - Reports
  /catalogs/reports:
    post:
      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 <code>ad_account_id</code> (obtained via <a href=''/docs/api/v5/#operation/ad_accounts/list''>List ad accounts</a>) 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 <a href="https://help.pinterest.com/en/business/article/share-and-manage-access-to-your-ad-accounts">Business Access</a> roles on the ad_account: Owner, Admin, Catalogs Manager.'
      operationId: reports/create
      security:
      - pinterest_oauth2:
        - catalogs:read
      x-ratelimit-category: catalogs_read
      x-sandbox: disabled
      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'
      tags:
      - Reports
    get:
      summary: Get catalogs report
      description: 'This returns a URL to a report given a token returned from <a href=''/docs/api/v5/#operation/reports/create''>Build catalogs report</a>. 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 <code>ad_account_id</code> (obtained via <a href=''/docs/api/v5/#operation/ad_accounts/list''>List ad accounts</a>) 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 <a href="https://help.pinterest.com/en/business/article/share-and-manage-access-to-your-ad-accounts">Business Access</a> roles on the ad_account: Owner, Admin, Catalogs Manager.'
      operationId: reports/get
      security:
      - pinterest_oauth2:
        - catalogs:read
      x-ratelimit-category: catalogs_read
      x-sandbox: disabled
      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'
      tags:
      - Reports
  /catalogs/reports/stats:
    get:
      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 <code>ad_account_id</code> (obtained via <a href=''/docs/api/v5/#operation/ad_accounts/list''>List ad accounts</a>) 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 <a href="https://help.pinterest.com/en/business/article/share-and-manage-access-to-your-ad-accounts">Business Access</a> roles on the ad_account: Owner, Admin, Catalogs Manager.'
      operationId: reports/stats
      security:
      - pinterest_oauth2:
        - catalogs:read
      x-ratelimit-category: catalogs_read
      x-sandbox: disabled
      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'
      tags:
      - Reports
components:
  schemas:
    MMMReportingTargetingType:
      type: string
      description: Ad targeting types for MMM report
      example: APPTYPE
      enum:
      - APPTYPE
      - COUNTRY
      - CREATIVE_TYPE
      - GENDER
      - LOCATION
    TargetingTypeFilter:
      type: object
      properties:
        targeting_types:
          type: array
          description: List of targeting types. Requires `level` to be a value ending in `_TARGETING`. ["AGE_BUCKET_AND_GENDER"] is in BETA and not yet available to all users.
          items:
            $ref: '#/components/schemas/AdsAnalyticsTargetingType'
          maxItems: 5
          minItems: 1
    TargetingAdvertiserCountry:
      type:
      - string
      - 'null'
      description: Advertiser's ISO two character country code.
      example: US
      enum:
      - US
      - GB
      - CA
      - IE
      - AU
      - NZ
      - FR
      - SE
      - IL
      - DE
      - AT
      - IT
      - ES
      - NL
      - BE
      - PT
      - CH
      - HK
      - JP
      - KR
      - SG
      - 'NO'
      - DK
      - FI
      - CY
      - LU
      - MT
      - PL
      - RO
      - HU
      - CZ
      - GR
      - SK
      - BR
      - MX
      - AR
      - CL
      - CO
    AdsAnalyticsFilterOperator:
      type: string
      description: Filter operator for sync reporting
      example: LESS_THAN
      enum:
      - LESS_THAN
      - GREATER_THAN
    CatalogsReportStats:
      type: object
      description: Diagnostics aggregated numbers
      oneOf:
      - $ref: '#/components/schemas/CatalogsReportFeedIngestionStats'
      - $ref: '#/components/schemas/CatalogsReportDistributionStats'
      discriminator:
        propertyName: report_type
        mapping:
          FEED_INGESTION_ISSUES: '#/components/schemas/CatalogsReportFeedIngestionStats'
          DISTRIBUTION_ISSUES: '#/components/schemas/CatalogsReportDistributionStats'
      properties:
        report_type:
          type: string
          enum:
          - FEED_INGESTION_ISSUES
          - DISTRIBUTION_ISSUES
      required:
      - report_type
    ConversionReportAttributionType:
      type: string
      description: Attribution type. Refers to the Pinterest Tag endpoints
      example: INDIVIDUAL
      enum:
      - INDIVIDUAL
      - HOUSEHOLD
    Paginated:
      type: object
      properties:
        items:
          type: array
          items:
            type: object
        bookmark:
          type:
          - string
          - 'null'
      required:
      - items
    CatalogsHotelReportParameters:
      type: object
      description: Parameters for hotel report
      properties:
        catalog_type:
          type: string
          enum:
          - HOTEL
        report:
          type: object
          oneOf:
          - $ref: '#/components/schemas/CatalogsReportFeedIngestionFilter'
          - $ref: '#/components/schemas/CatalogsReportDistributionIssueFilter'
          discriminator:
            propertyName: report_type
            mapping:
              FEED_INGESTION_ISSUES: '#/components/schemas/CatalogsReportFeedIngestionFilter'
              DISTRIBUTION_ISSUES: '#/components/schemas/CatalogsReportDistributionIssueFilter'
          properties:
            report_type:
              type: string
              enum:
              - FEED_INGESTION_ISSUES
              - DISTRIBUTION_ISSUES
      required:
      - catalog_type
      - report
    CatalogsReportDistributionStats:
      type: object
      properties:
        report_type:
          type: string
          enum:
          - DISTRIBUTION_ISSUES
        catalog_id:
          type: string
          pattern: ^\d+$
          description: ID of the catalog entity.
        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
        message:
          description: Title message describing the diagnostic issue
          type: string
        occurrences:
          description: Number of occurrences of the issue
          example: 10
          type: integer
        ineligible_for_ads:
          description: Indicates if issue makes items ineligible for ads distribution
          example: true
          type: boolean
        ineligible_for_organic:
          description: Indicates if issue makes items ineligible for organic distribution
          example: true
          type: boolean
    AdsAnalyticsTargetingType:
      type: string
      description: Reporting targeting type
      example: APPTYPE
      enum:
      - KEYWORD
      - APPTYPE
      - GENDER
      - LOCATION
      - PLACEMENT
      - COUNTRY
      - TARGETED_INTEREST
      - PINNER_INTEREST
      - AUDIENCE_INCLUDE
      - GEO
      - AGE_BUCKET
      - REGION
      - AGE_BUCKET_AND_GENDER
    AdsAnalyticsFilterColumn:
      type: string
      description: Reporting columns for sync reporting data filter
      example: SPEND_IN_DOLLAR
      enum:
      - SPEND_IN_DOLLAR
      - TOTAL_IMPRESSION
    Granularity:
      type: string
      description: Granularity
      enum:
      - TOTAL
      - DAY
      - HOUR
      - WEEK
      - MONTH
    MMMReportingColumn:
      type: string
      description: Marketing Mix Modeling (MMM) Reporting Columns
      example: SPEND_IN_DOLLAR
      enum:
      - SPEND_IN_DOLLAR
      - SPEND_IN_MICRO_DOLLAR
      - ECPC_IN_DOLLAR
      - ECTR
      - CAMPAIGN_NAME
      - TOTAL_ENGAGEMENT
      - EENGAGEMENT_RATE
      - ECPM_IN_DOLLAR
      - CAMPAIGN_ID
      - ADVERTISER_ID
      - AD_GROUP_ID
      - AD_GROUP_NAME
      - CLICKTHROUGH_1
      - IMPRESSION_1
      - CLICKTHROUGH_2
      - IMPRESSION_2
      - TOTAL_CLICKTHROUGH
      - TOTAL_IMPRESSION
      - ADVERTISER_NAME
      - SPEND_ORDER_LINE_PAID_TYPE
    AdsAnalyticsGetAsyncResponse:
      type: object
      properties:
        report_status:
          type: string
          allOf:
          - $ref: '#/components/schemas/BulkReportingJobStatus'
        url:
          type:
          - string
          - 'null'
        size:
          type:
          - number
          - 'null'
    CampaignSummaryStatus:
      type: string
      description: Summary status for campaign
      example: RUNNING
      enum:
      - RUNNING
      - PAUSED
      - NOT_STARTED
      - COMPLETED
      - ADVERTISER_DISABLED
      - ARCHIVED
      - DRAFT
      - DELETED_DRAFT
    CatalogsReportFeedIngestionStats:
      type: object
      properties:
        report_type:
          type: string
          enum:
          - FEED_INGESTION_ISSUES
        catalog_id:
          type: string
          pattern: ^\d+$
          description: ID of the catalog entity.
        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
          example: 10
          type: integer
        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
    ObjectiveType:
      type: string
      description: Campaign objective type. If set as one of ["AWARENESS", "CONSIDERATION", "WEB_CONVERSION", "CATALOG_SALES"] the campaign is considered as a Campaign Budget Optimization (CBO) campaign, meaning budget needs to be set at the campaign level rather than at the ad group level. ["WEB_SESSIONS"] is DEPRECATED. For update, only draft campaigns may update objective type.
      enum:
      - AWARENESS
      - CONSIDERATION
      - VIDEO_VIEW
      - WEB_CONVERSION
      - CATALOG_SALES
      - WEB_SESSIONS
    PinPromotionSummaryStatus:
      type: string
      description: Summary status for pin promotions
      example: APPROVED
      enum:
      - APPROVED
      - PAUSED
      - PENDING
      - REJECTED
      - ADVERTISER_DISABLED
      - ARCHIVED
      - DRAFT
      - DELETED_DRAFT
    ProductGroupSummaryStatus:
      type: string
      description: Summary status for product group
      example: RUNNING
      enum:
      - RUNNING
      - PAUSED
      - EXCLUDED
      - ARCHIVED
    ReportingColumnAsync:
      type: string
      description: Reporting columns
      example: SPEND_IN_MICRO_DOLLAR
      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
      - COST_PER_OUTBOUND_CLICK
      - CAMPAIGN_NAME
      - CAMPAIGN_STATUS
      - PIN_PROMOTION_STATUS
      - AD_STATUS
      - 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_MANAGED_STATUS
      - CAMPAIGN_OBJECTIVE_TYPE
      - CPM_IN_MICRO_DOLLAR
      - CPM_IN_DOLLAR
      - AD_GROUP_NAME
      - AD_GROUP_STATUS
      - AD_GROUP_ENTITY_STATUS
      - PRODUCT_GROUP_ID
      - PRODUCT_GROUP_STATUS
      - ORDER_LINE_ID
      - ORDER_LINE_NAME
      - CLICKTHROUGH_1
      - REPIN_1
      - IMPRESSION_1
      - IMPRESSION_1_GROSS
      - CLICKTHROUGH_1_GROSS
      - OUTBOUND_CLICK_1
      - CLICKTHROUGH_2
      - REPIN_2
      - IMPRESSION_2
      - OUTBOUND_CLICK_2
      - TOTAL_CLICKTHROUGH
      - TOTAL_IMPRESSION
      - TOTAL_IMPRESSION_USER
      - TOTAL_IMPRESSION_FREQUENCY
      - COST_PER_OUTBOUND_CLICK_IN_DOLLAR
      - TOTAL_ENGAGEMENT_PAGE_VISIT
      - TOTAL_ENGAGEMENT_SIGNUP
      - TOTAL_ENGAGEMENT_CHECKOUT
      - TOTAL_ENGAGEMENT_CUSTOM
      - TOTAL_ENGAGEMENT_ADD_TO_CART
      - TOTAL_ENGAGEMENT_LEAD
      - TOTAL_ENGAGEMENT_SEARCH
      - TOTAL_ENGAGEMENT_WATCH_VIDEO
      - TOTAL_ENGAGEMENT_VIEW_CATEGORY
      - TOTAL_ENGAGEMENT_APP_INSTALL
      - TOTAL_ENGAGEMENT_UNKNOWN
      - TOTAL_CLICK_PAGE_VISIT
      - TOTAL_CLICK_SIGNUP
      - TOTAL_CLICK_CHECKOUT
      - TOTAL_CLICK_CUSTOM
      - TOTAL_CLICK_ADD_TO_CART
      - TOTAL_CLICK_LEAD
      - TOTAL_CLICK_SEARCH
      - TOTAL_CLICK_WATCH_VIDEO
      - TOTAL_CLICK_VIEW_CATEGORY
      - TOTAL_CLICK_APP_INSTALL
      - TOTAL_CLICK_UNKNOWN
      - TOTAL_VIEW_PAGE_VISIT
      - TOTAL_VIEW_SIGNUP
      - TOTAL_VIEW_CHECKOUT
      - TOTAL_VIEW_CUSTOM
      - TOTAL_VIEW_ADD_TO_CART
      - TOTAL_VIEW_LEAD
      - TOTAL_VIEW_SEARCH
      - TOTAL_VIEW_WATCH_VIDEO
      - TOTAL_VIEW_VIEW_CATEGORY
      - TOTAL_VIEW_APP_INSTALL
      - TOTAL_VIEW_UNKNOWN
      - TOTAL_CONVERSIONS
      - TOTAL_ENGAGEMENT_PAGE_VISIT_VALUE_IN_MICRO_DOLLAR
      - TOTAL_ENGAGEMENT_SIGNUP_VALUE_IN_MICRO_DOLLAR
      - TOTAL_ENGAGEMENT_CHECKOUT_VALUE_IN_MICRO_DOLLAR
      - TOTAL_ENGAGEMENT_CUSTOM_VALUE_IN_MICRO_DOLLAR
      - TOTAL_ENGAGEMENT_ADD_TO_CART_VALUE_IN_MICRO_DOLLAR
      - TOTAL_ENGAGEMENT_LEAD_VALUE_IN_MICRO_DOLLAR
      - TOTAL_ENGAGEMENT_SEARCH_VALUE_IN_MICRO_DOLLAR
      - TOTAL_ENGAGEMENT_WATCH_VIDEO_VALUE_IN_MICRO_DOLLAR
      - TOTAL_ENGAGEMENT_VIEW_CATEGORY_VALUE_IN_MICRO_DOLLAR
      - TOTAL_ENGAGEMENT_APP_INSTALL_VALUE_IN_MICRO_DOLLAR
      - TOTAL_ENGAGEMENT_UNKNOWN_VALUE_IN_MICRO_DOLLAR
      - TOTAL_CLICK_PAGE_VISIT_VALUE_IN_MICRO_DOLLAR
      - TOTAL_CLICK_SIGNUP_VALUE_IN_MICRO_DOLLAR
      - TOTAL_CLICK_CHECKOUT_VALUE_IN_MICRO_DOLLAR
      - TOTAL_CLICK_CUSTOM_VALUE_IN_MICRO_DOLLAR
      - TOTAL_CLICK_ADD_TO_CART_VALUE_IN_MICRO_DOLLAR
      - TOTAL_CLICK_LEAD_VALUE_IN_MICRO_DOLLAR
      - TOTAL_CLICK_SEARCH_VALUE_IN_MICRO_DOLLAR
      - TOTAL_CLICK_WATCH_VIDEO_VALUE_IN_MICRO_DOLLAR
      - TOTAL_CLICK_VIEW_CATEGORY_VALUE_IN_MICRO_DOLLAR
      - TOTAL_CLICK_APP_INSTALL_VALUE_IN_MICRO_DOLLAR
      - TOTAL_CLICK_UNKNOWN_VALUE_IN_MICRO_DOLLAR
      - TOTAL_VIEW_PAGE_VISIT_VALUE_IN_MICRO_DOLLAR
      - TOTAL_VIEW_SIGNUP_VALUE_IN_MICRO_DOLLAR
      - TOTAL_VIEW_CHECKOUT_VALUE_IN_MICRO_DOLLAR
      - TOTAL_VIEW_CUSTOM_VALUE_IN_MICRO_DOLLAR
      - TOTAL_VIEW_ADD_TO_CART_VALUE_IN_MICRO_DOLLAR
      - TOTAL_VIEW_LEAD_VALUE_IN_MICRO_DOLLAR
      - TOTAL_VIEW_SEARCH_VALUE_IN_MICRO_DOLLAR
      - TOTAL_VIEW_WATCH_VIDEO_VALUE_IN_MICRO_DOLLAR
      - TOTAL_VIEW_VIEW_CATEGORY_VALUE_IN_MICRO_DOLLAR
      - TOTAL_VIEW_APP_INSTALL_VALUE_IN_MICRO_DOLLAR
      - TOTAL_VIEW_UNKNOWN_VALUE_IN_MICRO_DOLLAR
      - TOTAL_CONVERSIONS_VALUE_IN_MICRO_DOLLAR
      - TOTAL_ENGAGEMENT_PAGE_VISIT_QUANTITY
      - TOTAL_ENGAGEMENT_SIGNUP_QUANTITY
      - TOTAL_ENGAGEMENT_CHECKOUT_QUANTITY
      - TOTAL_ENGAGEMENT_CUSTOM_QUANTITY
      - TOTAL_ENGAGEMENT_ADD_TO_CART_QUANTITY
      - TOTAL_ENGAGEMENT_LEAD_QUANTITY
      - TOTAL_ENGAGEMENT_SEARCH_QUANTITY
      - TOTAL_ENGAGEMENT_WATCH_VIDEO_QUANTITY
      - TOTAL_ENGAGEMENT_VIEW_CATEGORY_QUANTITY
      - TOTAL_ENGAGEMENT_UNKNOWN_QUANTITY
      - TOTAL_CLICK_PAGE_VISIT_QUANTITY
      - TOTAL_CLICK_SIGNUP_QUANTITY
      - TOTAL_CLICK_CHECKOUT_QUANTITY
      - TOTAL_CLICK_CUSTOM_QUANTITY
      - TOTAL_CLICK_ADD_TO_CART_QUANTITY
      - TOTAL_CLICK_LEAD_QUANTITY
      - TOTAL_CLICK_SEARCH_QUANTITY
      - TOTAL_CLICK_WATCH_VIDEO_QUANTITY
      - TOTAL_CLICK_VIEW_CATEGORY_QUANTITY
      - TOTAL_CLICK_UNKNOWN_QUANTITY
      - TOTAL_VIEW_PAGE_VISIT_QUANTITY
      - TOTAL_VIEW_SIGNUP_QUANTITY
      - TOTAL_VIEW_CHECKOUT_QUANTITY
      - TOTAL_VIEW_CUSTOM_QUANTITY
      - TOTAL_VIEW_ADD_TO_CART_QUANTITY
      - TOTAL_VIEW_LEAD_QUANTITY
      - TOTAL_VIEW_SEARCH_QUANTITY
      - TOTAL_VIEW_WATCH_VIDEO_QUANTITY
      - TOTAL_VIEW_VIEW_CATEGORY_QUANTITY
      - TOTAL_VIEW_UNKNOWN_QUANTITY
      - TOTAL_CONVERSIONS_QUANTITY
      - TOTAL_WEB_SESSIONS
      - WEB_SESSIONS_1
      - WEB_SESSIONS_2
      - ONSITE_CHECKOUTS_1
      - PIN_PROMOTION_NAME
      - AD_NAME
      - CAMPAIGN_LIFETIME_SPEND_CAP
      - CAMPAIGN_DAILY_SPEND_CAP
      - TOTAL_PAGE_VISIT_DESKTOP_ACTION_TO_DESKTOP_CONVERSION
      - TOTAL_PAGE_VISIT_DESKTOP_ACTION_TO_MOBILE_CONVERSION
      - TOTAL_PAGE_VISIT_DESKTOP_ACTION_TO_TABLET_CONVERSION
      - TOTAL_PAGE_VISIT_MOBILE_ACTION_TO_DESKTOP_CONVERSION
      - TOTAL_PAGE_VISIT_MOBILE_ACTION_TO_MOBILE_CONVERSION
      - TOTAL_PAGE_VISIT_MOBILE_ACTION_TO_TABLET_CONVERSION
      - TOTAL_PAGE_VISIT_TABLET_ACTION_TO_DESKTOP_CONVERSION
      - TOTAL_PAGE_VISIT_TABLET_ACTION_TO_MOBILE_CONVERSION
      - TOTAL_PAGE_VISIT_TABLET_ACTION_TO_TABLET_CONVERSION
      - TOTAL_SIGNUP_DESKTOP_ACTION_TO_DESKTOP_CONVERSION
      - TOTAL_SIGNUP_DESKTOP_ACTION_TO_MOBILE_CONVERSION
      - TOTAL_SIGNUP_DESKTOP_ACTION_TO_TABLET_CONVERSION
      - TOTAL_SIGNUP_MOBILE_ACTION_TO_DESKTOP_CONVERSION
      - TOTAL_SIGNUP_MOBILE_ACTION_TO_MOBILE_CONVERSION
      - TOTAL_SIGNUP_MOBILE_ACTION_TO_TABLET_CONVERSION
      - TOTAL_SIGNUP_TABLET_ACTION_TO_DESKTOP_CONVERSION
      - TOTAL_SIGNUP_TABLET_ACTION_TO_MOBILE_CONVERSION
      - TOTAL_SIGNUP_TABLET_ACTION_TO_TABLET_CONVERSION
      - TOTAL_CHECKOUT_DESKTOP_ACTION_TO_DESKTOP_CONVERSION
      - TOTAL_CHECKOUT_DESKTOP_ACTION_TO_MOBILE_CONVERSION
      - TOTAL_CHECKOUT_DESKTOP_ACTION_TO_TABLET_CONVERSION
      - TOTAL_CHECKOUT_MOBILE_ACTION_TO_DESKTOP_CONVERSION
      - TOTAL_CHECKOUT_MOBILE_ACTION_TO_MOBILE_CONVERSION
      - TOTAL_CHECKOUT_MOBILE_ACTION_TO_TABLET_CONVERSION
      - TOTAL_CHECKOUT_TABLET_ACTION_TO_DESKTOP_CONVERSION
      - TOTAL_CHECKOUT_TABLET_ACTION_TO_MOBIL

# --- truncated at 32 KB (70 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pinterest/refs/heads/main/openapi/pinterest-reports-api-openapi.yml