Pinterest Reports API

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

OpenAPI Specification

pinterest-reports-api-openapi.yml Raw ↑
openapi: 3.0.3
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:
  parameters:
    path_template_id:
      name: template_id
      description: Unique identifier of a template.
      in: path
      required: true
      schema:
        type: string
        pattern: ^\d+$
        maxLength: 18
    path_ad_account_id:
      name: ad_account_id
      description: Unique identifier of an ad account.
      in: path
      required: true
      schema:
        type: string
        pattern: ^\d+$
        maxLength: 18
    query_granularity_async:
      description: TOTAL - metrics are aggregated over the specified date range.<br> DAY - metrics are broken down daily.<br> HOUR - metrics are broken down hourly.<br>WEEKLY - metrics are broken down weekly.<br>MONTHLY - metrics are broken down monthly
      example: DAY
      in: query
      name: granularity
      required: false
      schema:
        $ref: '#/components/schemas/Granularity'
    query_ad_account_id:
      name: ad_account_id
      description: Unique identifier of an ad account.
      in: query
      schema:
        type: string
        pattern: ^\d+$
        maxLength: 18
    query_page_size:
      name: page_size
      description: Maximum number of items to include in a single page of the response. See documentation on <a href='/docs/getting-started/pagination/'>Pagination</a> for more information.
      in: query
      required: false
      schema:
        type: integer
        minimum: 1
        maximum: 250
        default: 25
    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_bookmark:
      name: bookmark
      description: Cursor used to fetch the next page of items
      in: query
      required: false
      schema:
        type: string
    query_catalogs_report_token:
      name: token
      description: Token returned from async build report call
      in: query
      required: true
      schema:
        type: string
    query_token_required:
      name: token
      description: Token returned from the post request creation call
      in: query
      required: true
      schema:
        type: string
    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_catalogs_report_stats_parameters:
      name: parameters
      in: query
      description: Contains the parameters for report identification.
      required: true
      style: deepObject
      schema:
        $ref: '#/components/schemas/CatalogsReportParameters'
  schemas:
    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
    CatalogsReport:
      type: object
      properties:
        report_status:
          type: string
          enum:
          - FINISHED
          - IN_PROGRESS
        url:
          type: string
          nullable: true
          description: URL to download the report
        size:
          type: number
          nullable: true
          description: Size of the report in bytes
    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
    Error:
      title: Error
      type: object
      properties:
        code:
          type: integer
        message:
          type: string
      required:
      - code
      - message
    MetricsReportingLevel:
      type: string
      description: Level of the reporting request
      example: CAMPAIGN
      enum:
      - ADVERTISER
      - ADVERTISER_TARGETING
      - CAMPAIGN
      - CAMPAIGN_TARGETING
      - AD_GROUP
      - AD_GROUP_TARGETING
      - PIN_PROMOTION
      - PIN_PROMOTION_TARGETING
      - KEYWORD
      - PRODUCT_GROUP
      - PRODUCT_GROUP_TARGETING
      - PRODUCT_ITEM
    AdsAnalyticsCreateAsyncRequest:
      type: object
      allOf:
      - type: object
        properties:
          start_date:
            description: 'Metric report start date (UTC). Format: YYYY-MM-DD'
            type: string
            pattern: ^(\d{4})-(\d{2})-(\d{2})$
            example: '2020-12-20'
          end_date:
            description: 'Metric report end date (UTC). Format: YYYY-MM-DD'
            type: string
            pattern: ^(\d{4})-(\d{2})-(\d{2})$
            example: '2020-12-20'
          granularity:
            description: TOTAL - metrics are aggregated over the specified date range.<br> DAY - metrics are broken down daily.<br> HOUR - metrics are broken down hourly.<br>WEEKLY - metrics are broken down weekly.<br>MONTHLY - metrics are broken down monthly
            type: string
            allOf:
            - $ref: '#/components/schemas/Granularity'
          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
            allOf:
            - $ref: '#/components/schemas/ConversionAttributionWindowDays'
            default: 30
          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
            allOf:
            - $ref: '#/components/schemas/ConversionAttributionWindowDays'
            default: 30
          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
            allOf:
            - $ref: '#/components/schemas/ConversionAttributionWindowDays'
            default: 1
          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
            allOf:
            - $ref: '#/components/schemas/ConversionReportTimeType'
            default: TIME_OF_AD_ACTION
          attribution_types:
            description: List of types of attribution for the conversion report
            type: array
            items:
              $ref: '#/components/schemas/ConversionReportAttributionType'
        required:
        - start_date
        - end_date
        - granularity
      - type: object
        allOf:
        - type: object
          properties:
            campaign_ids:
              type: array
              description: List of campaign ids
              example:
              - '12345678'
              items:
                type: string
                pattern: ^\d+$
              maxItems: 500
              minItems: 1
        - type: object
          properties:
            campaign_statuses:
              type: array
              description: List of status values for filtering
              example:
              - RUNNING
              - PAUSED
              items:
                $ref: '#/components/schemas/CampaignSummaryStatus'
              maxItems: 6
              minItems: 1
        - type: object
          properties:
            campaign_objective_types:
              type: array
              description: List of values for filtering. ["WEB_SESSIONS"] in BETA.
              example:
              - AWARENESS
              - VIDEO_VIEW
              items:
                $ref: '#/components/schemas/ObjectiveType'
              maxItems: 6
              minItems: 1
        - type: object
          properties:
            ad_group_ids:
              type: array
              description: List of ad group ids
              example:
              - '12345678'
              items:
                type: string
                pattern: ^\d+$
              maxItems: 500
              minItems: 1
        - type: object
          properties:
            ad_group_statuses:
              type: array
              description: List of values for filtering
              example:
              - RUNNING
              - PAUSED
              items:
                $ref: '#/components/schemas/AdGroupSummaryStatus'
              maxItems: 6
              minItems: 1
        - type: object
          properties:
            ad_ids:
              type: array
              description: List of ad ids [This parameter is no supported for Product Item Level Reports]
              example:
              - '12345678'
              items:
                type: string
                pattern: ^\d+$
              maxItems: 500
              minItems: 1
        - type: object
          properties:
            ad_statuses:
              type: array
              description: List of values for filtering [This parameter is not supported for Product Item Level Reports]
              example:
              - APPROVED
              - PAUSED
              items:
                $ref: '#/components/schemas/PinPromotionSummaryStatus'
              maxItems: 6
              minItems: 1
        - type: object
          properties:
            product_group_ids:
              type: array
              description: List of product group ids
              example:
              - '12345678'
              items:
                type: string
                pattern: ^\d+$
              maxItems: 500
              minItems: 1
        - type: object
          properties:
            product_group_statuses:
              type: array
              description: List of values for filtering
              example:
              - RUNNING
              - PAUSED
              items:
                $ref: '#/components/schemas/ProductGroupSummaryStatus'
              maxItems: 6
              minItems: 1
        - type: object
          properties:
            product_item_ids:
              type: array
              description: List of product item ids
              example:
              - '12345678'
              items:
                type: string
                pattern: ^\d+$
              maxItems: 500
              minItems: 1
        - $ref: '#/components/schemas/TargetingTypeFilter'
        - type: object
          properties:
            metrics_filters:
              type: array
              description: List of metrics filters
              minItems: 1
              items:
                $ref: '#/components/schemas/AdsAnalyticsMetricsFilter'
      - 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'
          level:
            type: string
            description: Level of the report
            allOf:
            - $ref: '#/components/schemas/MetricsReportingLevel'
            example: CAMPAIGN
          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
            allOf:
            - $ref: '#/components/schemas/DataOutputFormat'
            default: JSON
          primary_sort:
            type: string
            allOf:
            - type: string
              description: Whether to first sort the report by date or by ID. BY_DATE is recommended for large requests. BY_DATE for JSON format is currently not supported.
              example: BY_ID
              enum:
              - BY_ID
              - BY_DATE
            default: BY_ID
    CreateMMMReportResponse:
      type: object
      properties:
        code:
          example: 0
          type: number
        data:
          title: CreateMMMReportResponseData
          type: object
          properties:
            report_status:
              type: string
              allOf:
              - $ref: '#/components/schemas/BulkReportingJobStatus'
            token:
              type: string
            message:
              type: string
              nullable: true
            status:
              example: success
              type: string
    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_ENGA

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