> ## Documentation Index
> Fetch the complete documentation index at: https://docs.topsort.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Marketplace Interactions Report

> Get interactions report for a marketplace grouped by entity type.

This endpoint returns detailed interaction data (impressions, clicks, purchases, etc.)
aggregated by the specified entity type (vendor, campaign, or product) and time granularity (daily or hourly).
The response is paginated to handle large datasets.



## OpenAPI

````yaml /openapi.json get /public/v1/reporting-service/interactions
openapi: 3.1.0
info:
  title: Topsort Endpoints v2 API Reference
  description: >
    In order for a storefront to be able to run auctions in Topsort and report
    auction-related events back to Topsort,

    both the `/v2/auctions` and `/v2/events` endpoints must be integrated.

    Below are the endpoint and model definitions for each.
  contact:
    email: wicha@topsort.com
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  x-logo:
    url: https://assets.topsort.com/Topsort_logo_icon_dark.svg
    backgroundColor: '#fff'
    altText: Topsort
  version: 2.0.0
servers:
  - url: https://api.topsort.com
    description: Base API URL
security: []
tags:
  - name: Auctions
    description: >-
      An auction determines which products should be promoted based on the
      vendors' bids.
  - name: Events
    description: >-
      Events are sent to Topsort as part of the attribution and reporting
      journey.
  - name: Toptimize
    description: >
      An out-of-the-box solution for prediction, ranking, retrieval, and other
      elements of ad selection.
  - name: Toppie API
    description: Toppie management API.
  - name: Campaign API
    description: Full-featured campaign management API for banners and sponsored listings.
  - name: Catalog API
    description: Products catalog management API.
  - name: Billing API
    description: Marketplace and Vendor Billing management API.
  - name: Reporting API
    description: Marketplace, Vendor, Campaign, and product reporting API.
  - name: Invitation API
    description: Vendor invitations management API.
  - name: User API
    description: User management API.
  - name: Webhooks API
    description: Webhooks API that allows event-driven automation.
  - name: Assets API
    description: Assets management API.
  - name: Segments Service
    description: Segments Service.
  - name: Forecasting Service
    description: Toptimize Forecasting Service.
  - name: Offsite Ads API
    description: Offsite Ads API that allows to manage offsite ads campaigns.
  - name: Media API
    description: Ad configuration API.
paths:
  /public/v1/reporting-service/interactions:
    get:
      tags:
        - Reporting API
      summary: Get Marketplace Interactions Report
      description: >-
        Get interactions report for a marketplace grouped by entity type.


        This endpoint returns detailed interaction data (impressions, clicks,
        purchases, etc.)

        aggregated by the specified entity type (vendor, campaign, or product)
        and time granularity (daily or hourly).

        The response is paginated to handle large datasets.
      operationId: get_interactions_report
      parameters:
        - name: start_date
          in: query
          required: true
          schema:
            type: string
            format: date-time
            description: >-
              The start date for which reports will be generated, specified in
              [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339#section-5.6).
          description: >-
            The start date for which reports will be generated, specified in
            [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339#section-5.6).
        - name: end_date
          in: query
          required: true
          schema:
            type: string
            format: date-time
            description: >-
              The end date for which reports will be generated, specified in
              [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339#section-5.6).
          description: >-
            The end date for which reports will be generated, specified in [RFC
            3339](https://www.rfc-editor.org/rfc/rfc3339#section-5.6).
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 1000
            minimum: 0
            description: The pagination limit.
            default: 1000
          description: The pagination limit.
        - name: group_by
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/Advanced_APIs_InteractionsGroupBy'
            description: How to group the results (vendor, campaign, or product).
            default: vendor
          description: How to group the results (vendor, campaign, or product).
        - name: granularity
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/Advanced_APIs_InteractionsGranularity'
            description: The time granularity of the report (daily or hourly).
            default: daily
          description: The time granularity of the report (daily or hourly).
        - name: next_page
          in: query
          required: false
          schema:
            description: >-
              Pagination cursor as provided in an earlier response. If provided
              will fetch the next page of results.
            oneOf:
              - type: string
              - type: 'null'
          description: >-
            Pagination cursor as provided in an earlier response. If provided
            will fetch the next page of results.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Advanced_APIs_InteractionsReportResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Advanced_APIs_HTTPValidationError'
      security:
        - Advanced_APIs_HTTPBearer: []
components:
  schemas:
    Advanced_APIs_InteractionsGroupBy:
      type: string
      enum:
        - vendor
        - campaign
        - product
      title: InteractionsGroupBy
    Advanced_APIs_InteractionsGranularity:
      type: string
      enum:
        - daily
        - hourly
      title: InteractionsGranularity
    Advanced_APIs_InteractionsReportResponse:
      properties:
        hasMore:
          type: boolean
          title: Hasmore
          description: >-
            Flag that indicates whether more results are available. `true`
            indicates there is a next page of results. `false` indicates  this
            response contains the last page of results.
        nextPage:
          title: Nextpage
          description: >-
            Pagination cursor. Provide this value as a `next_page` query
            parameter in a new request to retrieve the next page of results.
          examples:
            - SSBzb2xlbW5seSBzd2VhciB0aGF0IEkgYW0gdXAgdG8gbm8gZ29vZAo=
          oneOf:
            - type: string
              minLength: 1
            - type: 'null'
        interactions:
          items:
            $ref: '#/components/schemas/Advanced_APIs_InteractionReportEntry'
          type: array
          title: Interactions
          description: >-
            List of interaction report entries, each containing detailed metrics
            for a specific entity and timestamp.
      type: object
      required:
        - hasMore
        - interactions
      title: InteractionsReportResponse
      description: >-
        Unified response model for both daily and hourly interactions reports.


        Contains a list of interaction entries, each representing detailed
        metrics for a specific entity

        (vendor, campaign, or product) at a given timestamp. The response is
        paginated to handle large datasets.
    Advanced_APIs_HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/Advanced_APIs_ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    Advanced_APIs_InteractionReportEntry:
      properties:
        vendorId:
          type: string
          title: Vendorid
          description: The unique identifier of the vendor
        campaignId:
          title: Campaignid
          description: The unique identifier of the campaign, if applicable
          oneOf:
            - type: string
            - type: 'null'
        productId:
          title: Productid
          description: The unique identifier of the product, if applicable
          oneOf:
            - type: string
            - type: 'null'
        timestamp:
          type: string
          format: date-time
          title: Timestamp
          description: The date and time when these interactions occurred
        impressions:
          type: integer
          title: Impressions
          description: Total number of times the ad was displayed
        clicks:
          type: integer
          title: Clicks
          description: Total number of times the ad was clicked
        chargedClicks:
          type: integer
          title: Chargedclicks
          description: Number of clicks that were charged to the advertiser
        adSpentClicks:
          type: integer
          title: Adspentclicks
          description: Number of clicks that contributed to ad spend
        chargedImpressions:
          type: integer
          title: Chargedimpressions
          description: Number of impressions that were charged to the advertiser
        adSpentImpressions:
          type: integer
          title: Adspentimpressions
          description: Number of impressions that contributed to ad spend
        totalPurchaseAmount:
          type: integer
          title: Totalpurchaseamount
          description: Total revenue from purchases in minor units of currency
        totalPurchaseQuantity:
          type: integer
          title: Totalpurchasequantity
          description: Total number of items purchased
        totalPurchaseCount:
          type: integer
          title: Totalpurchasecount
          description: Total number of purchase transactions
        adSpentExclusiveCampaign:
          type: integer
          title: Adspentexclusivecampaign
          description: Amount spent on exclusive campaign interactions
        chargedAttributedPurchases:
          type: integer
          title: Chargedattributedpurchases
          description: Number of purchases attributed to charged interactions
        adSpentAttributedPurchases:
          type: integer
          title: Adspentattributedpurchases
          description: Number of purchases attributed to ad spend interactions
      type: object
      required:
        - vendorId
        - timestamp
        - impressions
        - clicks
        - chargedClicks
        - adSpentClicks
        - chargedImpressions
        - adSpentImpressions
        - totalPurchaseAmount
        - totalPurchaseQuantity
        - totalPurchaseCount
        - adSpentExclusiveCampaign
        - chargedAttributedPurchases
        - adSpentAttributedPurchases
      title: InteractionReportEntry
      description: >-
        Detailed interaction data for a specific entity (vendor, campaign, or
        product) at a given timestamp.
    Advanced_APIs_ValidationError:
      properties:
        loc:
          items:
            oneOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    Advanced_APIs_HTTPBearer:
      type: http
      description: >-
        A valid API key generated in Topsort's UI. Use the TSE API key if
        calling auctions or events API, otherwise use the TSC API key.
      scheme: bearer

````