Reporting API Endpoints for Publishers

Last Updated On: September 1st, 2026

 

publisherNetworkReport

The publisherNetworkReport query endpoint provides standard performance reporting, for all publishers, associated with your TripleLift Account (aka Member), matching the capabilities of the query tool in the TripleLift Console and the Web & Mobile reporting for Publishers in TripleLift Direct

  • Scope: Covers all seller activity within your Account
  • Capabilities: Filter and group using custom dimensions, metrics, and filter values.
  • Required Parameters: sellerMemberId, startDate, endDate

 

Refer to the GraphQL schema for the latest information on available endpoints, dimensions, and metrics.

Category Name Description
DATE YMD Specifies the year, month, and day for data aggregation (YYYY-MM-DD); daily data is available for the past 15 months (UTC)
DATE HOUR Indicates the hour of the day in UTC for granular reporting; hourly data is available starting from 00:00 (UTC) yesterday
DEVICE DEVICE_TYPE The category of device (e.g. CTV, Desktop, Mobile, Tablet)
DEVICE DEVICE_SUBTYPE More specific classification of the device type (e.g. Gaming Console, Set Top Box, etc.)
DEVICE DEVICE_VENDOR The manufacturer of the device
DEVICE OS The operating system running on the device
DEVICE BROWSER The browser used by the consumer
GEOGRAPHY SECTOR The geographic sector or continent where the ad request originated
GEOGRAPHY REGION Geographic subdivision (e.g. province, state) defined by the International Organization of Standardization (ISO 3166-2) where the ad request originated
GEOGRAPHY COUNTRY_NAME The geographic country where the ad request originated
GEOGRAPHY DMA The Designated Metro Area (DMA), from the ad request
INVENTORY PUBLISHER_ID Unique identifier for the publisher entity; this is the sellers.json identifier
INVENTORY PUBLISHER_NAME The descriptive name of the publisher
INVENTORY DOMAIN The web domain, mobile app bundle ID, or CTV app bundle ID where the ad was served
INVENTORY PLACEMENT_ID A unique ID for the specific ad placement
INVENTORY PLACEMENT_NAME The name of the specific ad placement
INVENTORY APP_NAME The name of the CTV or mobile application where the ad appeared
INVENTORY APP_BUNDLE_ID Unique identifier for a mobile or CTV application
INVENTORY SUPPLY_SOURCE Describes the supply integration (Direct, Prebid, etc) with TripleLift
INVENTORY SUPPLY_TYPE Describes whether the supply was web or app
INVENTORY JOUNCE_CLASSIFICATION A supply path’s quality label defined by Jounce Media
BUYER BUYER_MEMBER The demand platform (DSP) representing the buyer of the ad opportunity
BUYER BRAND The brand advertised in the creative
BUYER PARENT_BRAND_NAME The company that owns the brand; may be the same as brand
BUYER BRAND_DOMAIN The adomain declared in the bid response, typically the primary website associated with the brand
BUYER DSP_SEAT Identifier for the demand-side platform seat
BUYER DIRECT_PAYMENT

Indicates whether TripleLift pays the publisher directly; if true, and TripleLift pays the publisher, Google will invoice the publisher separately for the Open Bidding (OB) fee

 

  • False = TripleLift does not act as clearing house, Google will pay the seller directly 
  • True = TripleLift acts as a clearing house, collecting the cost of the media from the buyer and paying the seller
DEAL TRANSACTION_TYPE Describes the transaction; if Deal is 'Private Marketplace', then ‘PMP’; if Fill Type is 'Ad Server', then ‘Direct Sold’; otherwise, 'Open Exchange'
DEAL DEAL_CODE Specific code (e.g. tlx-) for a deal
DEAL DEAL_NAME Descriptive name for a deal
DEAL DEAL_TYPE Describes the type of deal (e.g. Programmatic Guaranteed, PMP, etc.) If blank, indicates Open Exchange transactions
CREATIVE CREATIVE_ASSET_ID A unique ID for the specific creative asset used in an ad
CREATIVE CREATIVE_CATEGORY Classification of the ad's content, based on IAB Tech Lab standards
CREATIVE FORMAT TripleLift ad format name
CREATIVE AD_SOLUTION TripleLift advertising solution; may include a combination of format, connection type, video placement &/or template
CREATIVE EXTERNAL_CREATIVE_ID Identifier for the demand-side creative
CREATIVE CREATIVE_DURATION Measured length of time, expressed in seconds, that a non-static ad creative is intended to be displayed or played to a user, as submitted by the advertiser or creative source
METRIC AD_REQUESTS The total number of accepted requests made for an ad to be served (fka Impressions)
METRIC FILL_RATE Percentage of ad requests that resulted in a rendered ad (Rendered / Ad Requests)
METRIC PAYABLE The total number of ad requests that resulted in a payable event (aka Delivered Impressions)
METRIC REVENUE Net seller revenue
METRIC CLICKS

The number of times consumers interacted with the ad by clicking 

 

TripleLift captures clicks in reporting based on a couple of key factors: the ad format and the buyer (DSP).
 
  • For proprietary TripleLift formats: If an ad uses one of our custom formats -- like a custom native ad – we handle the ad rendering ourselves. This allows us to capture the click directly when a user interacts with the ad.
  • For non-proprietary formats: For all other formats, we rely on the buyer to implement a click macro. In this case, the DSP implements a click macro and we then populate this macro, enabling us to track and report click activity.
METRIC CTR Click-through rate, (Clicks / Rendered)
METRIC CPM Cost per mille, the net seller revenue per thousand payable events
METRIC CPC Cost per click, (Revenue / Clicks)
METRIC CPCV Cost per completed view (Revenue / Video Completions)
METRIC MOUSEOVERS The number of times a consumer's mouse hovered over an ad
METRIC MOUSEOVER_RATE Creative mouseover rate, (Mouseovers / Rendered)
METRIC RENDERED The total number of ad requests that resulted in an ad being shown
METRIC RENDER_RATE Render rate for ad requests that resulted in a won auction (Rendered / Wins)
METRIC RCPM Revenue per mille (Revenue / Ad Requests) * 1000
METRIC TL_WINS The number of ad requests that resulted in a won auction with TripleLift (prior to the publisher auction)
METRIC VIDEO_Q1 Percentage of video plays reaching the first quartile
METRIC VIDEO_Q2 Percentage of video plays reaching the second quartile (50%)
METRIC VIDEO_Q3 Percentage of video plays reaching the third quartile
METRIC VIDEO_2S Count of video plays that lasted at least 2 seconds
METRIC VIDEO_3S Count of video plays that lasted at least 3 seconds
METRIC VIDEO_5S Count of video plays that lasted at least 5 seconds
METRIC VIDEO_10S Count of video plays that lasted at least 10 seconds
METRIC VIDEO_STARTS The number of times a video ad began playing
METRIC VSR Video Start Rate, (Video Starts / Rendered)
METRIC VIDEO_COMPLETIONS The number of times a video ad played to its end
METRIC VCR Video Completion Rate, (Video Completions / Video Starts)
METRIC WINS The total number of ad requests that resulted in a won auction with the publisher (aka downstream wins)

 

publisherNetwork Endpoint Summary

  • Use the Synchronous endpoints when querying for low volumes of data, with quick response times
  • Use the Asynchronous endpoints when querying for larger volumes of data, returned within 5 minutes

 

Depending on your needs and workflow, use the query endpoints below to request data:

Query Endpoint Name Query Endpoint Type Description
publisherNetworkReport Synchronous Returns standard performance reporting for publishers, up to 5,000 rows
publisherNetworkFilterOptions Synchronous Returns all possible filter IDs and values of a dimension, in a given time period, to be used in your queries
asyncDownloadPublisherNetworkReport Asynchronous Returns a high volume of data, up to 400MB, within 5 minutes; responds with a pre-signed S3 download link
asyncDownloadReportStatus Asynchronous Polling endpoint that accepts the pre-signed S3 link from the asyncDownloadPublisherNetworkReport response and returns the status of your report generation (READY, WAITING, or ERROR)
asyncEmailPublisherNetworkReport Asynchronous Returns a high volume of data within 5 minutes, up to 10MB; delivers the final CSV report to a specified list of valid email addresses

 

publisherNetwork Synchronous endpoints

These endpoints are designed to handle queries for low volumes of data and return results with relatively quick response times. When querying for larger volumes of data, use the Asynchronous endpoints.

Pagination

Synchronous endpoint results are paginated to a default page size of 50 rows. The size can optionally be set using the size parameter in a request (the value of which cannot exceed the row limit).

If the number of result rows is greater than the given page size, then the response will also include a nextCursor object, whose value can be passed in as the cursor field of the subsequent request.

When supplying a cursor to receive the next page of data, the user must also resubmit all the other query parameters, in the same order as they were originally passed in.

 

 

publisherNetworkReport

Returns reporting data (e.g. the reporting available TripleLift Console or TripleLift Direct).

Note that publisherNetworkReport has a row limit of 5,000. Any query exceeding the limit will only return data up to the limit. Use the asynchronous endpoints for larger reports.

 

 

publisherNetworkFilterOptions

Returns all possible filter values of a dimension in a given time period.

The returned filter IDs can be used as the filter values when querying the publisherNetworkReport.

 

 

publisherNetwork Asynchronous endpoints

These endpoints are designed to handle queries for high volumes of data and return results within 5 minutes. For quicker response times and low volumes of data, use the Synchronous endpoints.

Results from querying the asynchronous endpoints are in the form of a CSV. Refer to the FAQs for tips on parsing the results.

 

There are two options to obtain a CSV report asynchronously:

  1. Submit a request to an asynchronous endpoint and immediately receive a report download link. Poll a second endpoint until your report is ready at that download link.
  2. Submit a request to an asynchronous endpoint and wait to receive an email containing the report.

Currently, CSV reports larger than 400MB will fail. Please refer to the Querying Guidelines section for tips on managing report size.

 

 

asyncDownloadPublisherNetworkReport

This endpoint is used in Option 1, above. This endpoint uses the same parameters as the synchronous publisherNetworkReport endpoint (without the pagination-related fields cursor and size) and responds with a download link in the form of a pre-signed S3 URL.

The pre-signed S3 URL expires 30 minutes after it is returned.

 

 

Example request:

query {
  asyncDownloadPublisherNetworkReport(
    sellerMemberId: "YOUR_MEMBER_ID"
    startDate: "2024-06-15" 
    endDate: "2024-07-30"
    dimensions: [YMD, PUBLISHER_NAME]
    metrics: [AD_REQUESTS, REVENUE]
)
}

 

Example response:

{
  "data": {
    "asyncDownloadPublisherNetworkReport": "https://triplelift-reporting-api-downloads.s3.amazonaws.com/9629b338-a654-4f95-ac4f-8b9dfafeb3ca/1735843508921/triplelift_report.csv?X-Amz-Security-Token=IQoJb3JpZ2luXNyF2CRFuvpB430YDTbzZLAIgYBV4T2uFp4np4zZ471RwMNeby0c3%2By3sOTtfYmjRr%2FMqxgUI2%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgwyNTU5OTMwMDUwOTEiDAdZ%2FwDCe8O1dvOekSqaBd9AC9BjQXtHukgmdGomyMnnW5qr72B617Xz976w10EfL3KyOyw9KRD5JSJt8Pz8FrRQ23131xlFF35YmH8OSIlvWWkNfGVJMk0vP8fvc7w99T6fgB5yF2KfMVufwH6Y8lQdd0o5%2BSLvG581NstAl7SzSaEuOIqo0j41qRkueVk2QZGX3t2lkkO4Gqmjq51lU3Oaue7Jl6D%2B%2Bag1%2BFOGGIclN%2BFvxE%2FfBVhLzC3R2GgEsIj2UBe5JMUwdubG9xuwCA09sySJecBcOYknyUT%2FuyLEPZ4IvyshDzZtqYJUW8VjnCFGxLKg5PBj6dcw7rRUVHKxv8PfAkOcyonWQv9yEg5NsDhQnxqJ8bwb9no3aL%2Bdr8EBUeAZhhazilmNpOK87sbg%2BaAxI2o4gIpaTYnAEA4hJpFu1FnNOD8pFMMZzURQaB1Rke4omarL93I7spcpWC20r%2F8vAFu7Ahf9JKt20ZKhx65Kpgvqgw5YjmWITw5K4tJjUpvnW234cuBuiFOwUaHovg%2BG9IjDuDZI5WyLCfKKe8gx3glLK6ZNF8h2FD6vUBAD8XJzo31ARDhcdytwke71h%2BlAsGng6A7Umt62mP%2B1yR%2B29Mw0bvngRjJiEk7xz%2FRFZeGkAwDL6lsmnfppzThir3BYyj0WHdpl9TzuD%2Bxy0%2BgKTJ7Amik1qSvJSfu5kHVthjIfQcD%2FOh%2Fmh4cSFP%2F7g7c24nYE1kUL4SuV2DkpbOJhWR4CNm9gloOEcTmNB79YascR%2FeogWaIO9uS9PvHN%2BlCB%2BNNDOIysQfn6h%2Foqd0AtQLp5bHP17FMzAnJk84fPhG4dBOWq56EB5ai1QC6ihsithiuerhstithre31HEadvXaXds9md9%2FPWOEBI2VbzN8Q3eG19yvzDKrdu7BjqxAWas1Pj8UcE%2B2kA42NrTK%2B3H17PnGJG%2FqXD4Rvcx2wC995mJFpJgDLOOkUNRbrp2MHjm3eshQ8F07BuDbq%2BiuI0LNuBHI0qFoK8%2FesX8mBXKURXmGRGsujZDtjNVwHhqRwmgYKjR5HeXbjUgkHfXMEkJPqupeonlfI%2Fb1Om%2B30f0E%2BT46rQxOb%2B4lK9KYFze2XQC%2Bkl19y5WU0RPD23jfqyA53T3M%2B1pNV6U%2FdjKNgdClQ%3D%3D&X-Amz-Algorithm=ABC-123-DFF&X-Amz-Date=20250102T184508Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1799&X-Amz-Credential=ASIIHHEIHTIHLWH%2F20250102%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=14b12cbd349dbbc36acac145778aaaaaaaaaa06f57716b15dba1814"
  }

 

asyncDownloadReportStatus

This is the polling endpoint mentioned in Option 1. It accepts the pre-signed S3 link in the response from asyncDownloadPublisherNetworkReport and returns one of 3 possible status strings:

  • READY - the report is present in the download link
  • WAITING - the report is not ready yet
  • ERROR - the report request must be resubmitted

 

Please refer to the GraphQL schema for this endpoint's status refresh rate to help define your poll interval.

 

 

asyncEmailPublisherNetworkReport

This endpoint is used in Option 2. It uses the same parameters as the synchronous publisherNetworkReport endpoint (without the pagination-related fields cursor and size), as well as a list of valid email addresses for the report recipients. It returns true if the request was successfully received, and false otherwise.

The asyncEmailPublisherNetworkReport has an email size limit of 10MB. Any email exceeding the limit will fail to send.

 

Example request:

query {
  asyncEmailPublisherNetworkReport(
    sellerMemberId: "YOUR_MEMBER_ID"
    startDate: "2024-06-15" 
    endDate: "2024-07-30"
    dimensions: [YMD, PUBLISHER_NAME]
    metrics: [AD_REQUESTS, REVENUE]
    filters: []
    emails: ["EMAIL_1", "EMAIL_2"]
)
}

Example response:

{
  "data": {
    "asyncEmailPublisherNetworkReport": true
  }

 

 


 

ctvPublisherNetworkReport

The ctvPublisherNetworkReport query endpoint provides performance reporting for CTV publishers, inclusive of many of the dimensions and metrics from the standard performance reporting, with the addition of ORTB content object and TripleLift video content metadata. Query for CTV supply activity associated with your TripleLift Account (aka Member), matching the capabilities of the CTV reporting for Publishers in TripleLift Direct

  • Scope: Covers all seller activity for CTV publishers within your Account
  • Capabilities: Filter and group using custom dimensions, metrics, and filter values.
  • Required Parameters: sellerMemberId, startDate, endDate

 

Refer to the GraphQL schema for the latest information on available endpoints, dimensions, and metrics.

Category Name Description
DATE YMD Specifies the year, month, and day for data aggregation (YYYY-MM-DD); daily data is available for the past 15 months (UTC)
DATE HOUR Indicates the hour of the day in UTC for granular reporting; hourly data is available starting from 00:00 (UTC) yesterday
DEVICE DEVICE_TYPE The category of device (e.g., CTV, Desktop, Mobile, Tablet)
DEVICE DEVICE_SUBTYPE More specific classification of the device type (e.g. TV, set-top box, game console)
DEVICE DEVICE_VENDOR The manufacturer of the device
DEVICE OS The operating system running on the device
DEVICE BROWSER The browser used by the consumer
GEOGRAPHY SECTOR The geographic sector or continent where the ad request originated
GEOGRAPHY REGION Geographic subdivision (e.g. province, state) defined by the International Organization of Standardization (ISO 3166-2) where the ad request originated
GEOGRAPHY COUNTRY_NAME The geographic country where the ad request originated
GEOGRAPHY DMA The Designated Metro Area (DMA), from the ad request
INVENTORY PUBLISHER_ID Unique identifier for the publisher entity. This is the sellers.json identifier
INVENTORY PUBLISHER_NAME The descriptive name of the publisher
INVENTORY DOMAIN_ID The CTV app bundle ID where the ad was served
INVENTORY PLACEMENT_ID A unique ID for the specific ad placement
INVENTORY PLACEMENT_NAME The name of the specific ad placement
INVENTORY APP_NAME The name of the CTV or mobile application where the ad appeared
INVENTORY APP_BUNDLE_ID Unique identifier for a mobile or CTV application
INVENTORY APP_DEVELOPER_DOMAIN The official website of the app developer
INVENTORY SSAI_VENDOR Technology provider that facilitates "ad stitching," server-side rather than client-side, to merge video content with ads into a continuous stream
INVENTORY SUPPLY_SOURCE Describes the supply integration (Direct, Prebid, etc) with TripleLift
INVENTORY SUPPLY_TYPE Describes whether the supply was web or app
INVENTORY JOUNCE_CLASSIFICATION A supply path’s quality label defined by Jounce Media
INVENTORY ORTB_CONTENT_NETWORK OpenRTB Content object describing the network
INVENTORY ORTB_CONTENT_GENRE OpenRTB Content object

OpenRTB Content object describing the genre

INVENTORY ORTB_CONTENT_SERIES OpenRTB Content object

OpenRTB Content object describing the series

INVENTORY ORTB_CONTENT_RATING OpenRTB Content object

OpenRTB Content object describing the content rating

INVENTORY ORTB_CONTENT_ID OpenRTB Content object

OpenRTB Content object describing the content identifier

INVENTORY ORTB_CONTENT_TITLE OpenRTB Content object

OpenRTB Content object describing the content title

INVENTORY TL_CONTENT_PRODUCER The content producer name identified by TripleLift creative services
INVENTORY TL_CONTENT_SERIES_TITLE The content series title identified by TripleLift creative services
INVENTORY TL_CONTENT_SEASON_NUM The content season number identified by TripleLift creative services
INVENTORY TL_CONTENT_GENRE_LIST The list of content genres identified by TripleLift creative services
INVENTORY TL_CONTENT_TITLE The content title identified by TripleLift creative services
INVENTORY TL_CONTENT_EPISODE_NUM The content episode number identified by TripleLift creative services
INVENTORY TL_CONTENT_IAB_CATEGORY The list of IAB content categories identified by TripleLift creative services
BUYER BUYER_MEMBER The demand platform (DSP) representing the buyer of the ad opportunity
BUYER BRAND The brand advertised in the creative
BUYER PARENT_BRAND_NAME The company that owns the brand; may be the same as brand
BUYER BRAND_DOMAIN The adomain declared in the bid response, typically the primary website associated with the brand
BUYER DSP_SEAT Identifier for the demand-side platform seat
BUYER DIRECT_PAYMENT

Indicates whether TripleLift pays the publisher directly; if true, and TripleLift pays the publisher, Google will invoice the publisher separately for the Open Bidding (OB) fee

 

  • False = TripleLift does not act as clearing house, Google will pay the seller directly 
  • True = TripleLift acts as a clearing house, collecting the cost of the media from the buyer and paying the seller
DEAL TRANSACTION_TYPE Describes the transaction; if Deal is 'Private Marketplace', then ‘PMP’; if Fill Type is 'Ad Server', then ‘Direct Sold’; otherwise, 'Open Exchange'
DEAL DEAL_CODE Specific code for a deal
DEAL DEAL_NAME Descriptive name for a deal
DEAL DEAL_TYPE Describes the type of deal (e.g. Programmatic Guaranteed, PMP, etc.) If blank, indicates Open Exchange transactions
CREATIVE CREATIVE_ASSET_ID A unique ID for the specific creative asset used in an ad
CREATIVE CREATIVE_CATEGORY Classification of the ad's content, based on IAB Tech Lab standards
CREATIVE FORMAT TripleLift ad format name
CREATIVE AD_SOLUTION TripleLift advertising solution; may include a combination of format, connection type, video placement &/or template
CREATIVE EXTERNAL_CREATIVE_ID Identifier for the demand-side creative
CREATIVE CREATIVE_DURATION Measured length of time, expressed in seconds, that a non-static ad creative is intended to be displayed or played to a user, as submitted by the advertiser or creative source
CREATIVE TL_CUE_ID The unique identifier for a CTV opportunity, representing a clip of content that has been ingested and analyzed by TripleLift creative services
CREATIVE CUE_ELIGIBLE_FORMAT An array of TripleLift ad formats, eligible to be served at a given Cue
METRIC AD_REQUESTS The total number of accepted requests made for an ad to be served (fka Impressions)
METRIC RENDERED The total number of ad requests that resulted in an ad being shown
METRIC RENDER_RATE Render rate for ad requests that resulted in a won auction (Rendered / Wins)
METRIC FILL_RATE Percentage of ad requests that resulted in a rendered ad (Rendered / Ad Requests)
METRIC PAYABLE The total number of ad requests that resulted in a payable event (aka Delivered Impressions)
METRIC REVENUE Net seller revenue
METRIC RCPM Revenue per mille (Revenue / Ad Requests) * 1000
METRIC CLICKS

The number of times consumers interacted with the ad by clicking

 

TripleLift captures clicks in reporting based on a couple of key factors: the ad format and the buyer (DSP).
 
  • For proprietary TripleLift formats: If an ad uses one of our custom formats -- like a custom native ad – we handle the ad rendering ourselves. This allows us to capture the click directly when a user interacts with the ad.
  • For non-proprietary formats: For all other formats, we rely on the buyer to implement a click macro. In this case, the DSP implements a click macro and we then populate this macro, enabling us to track and report click activity.
METRIC CTR Click-through rate, (Clicks / Rendered)
METRIC CPM Cost per mille, the net seller revenue per thousand payable events (Revenue / Payable) * 1000
METRIC CPC Cost per click, (Revenue / Clicks)
METRIC CPCV Cost per completed view (Revenue / Video Completions)
METRIC VIDEO_Q1 Percentage of video plays reaching the first quartile
METRIC VIDEO_Q2 Percentage of video plays reaching the second quartile (50%)
METRIC VIDEO_Q3 Percentage of video plays reaching the third quartile
METRIC VIDEO_STARTS The number of times a video ad began playing
METRIC VSR Video Start Rate, (Video Starts / Rendered)
METRIC VIDEO_COMPLETIONS The number of times a video ad played to its end
METRIC VCR Video Completion Rate, (Video Completions / Video Starts)
METRIC WINS The total number of ad requests that resulted in a won auction with the publisher (aka downstream wins)
METRIC TL_WINS The number of ad requests that resulted in a won auction with TripleLift (prior to the publisher auction)

 

ctvPublisherNetworkReport Endpoint Summary

  • Use the Synchronous endpoints when querying for low volumes of data, with quick response times
  • Use the Asynchronous endpoints when querying for larger volumes of data, returned within 5 minutes

 

Depending on your needs and workflow, use the query endpoints below to request data:

Query Endpoint Name Query Endpoint Type Description
ctvPublisherNetworkReport Synchronous Returns performance reporting for CTV publishers, up to 5,000 rows
ctvPublisherFilterOptions Synchronous Returns all possible filter IDs and values of a dimension, in a given time period, to be used in your queries
asyncDownloadCTVPublisherNetworkReport Asynchronous Returns a high volume of data, up to 400MB, within 5 minutes; responds with a pre-signed S3 download link
asyncDownloadReportStatus Asynchronous Polling endpoint that accepts the pre-signed S3 link from the asyncDownloadCTVPublisherNetworkReport response and returns the status of your report generation (READY, WAITING, or ERROR)
asyncEmailCTVPublisherNetworkReport Asynchronous Returns a high volume of data within 5 minutes, up to 10MB; delivers the final CSV report to a specified list of valid email addresses

 

ctvPublisherNetworkReport Synchronous endpoints

These endpoints are designed to handle queries for low volumes of data and return results with relatively quick response times. When querying for larger volumes of data, use the Asynchronous endpoints.

 

Pagination

Synchronous endpoint results are paginated to a default page size of 50 rows. The size can optionally be set using the size parameter in a request (the value of which cannot exceed the row limit).

If the number of result rows is greater than the given page size, then the response will also include a nextCursor object, whose value can be passed in as the cursor field of the subsequent request.

When supplying a cursor to receive the next page of data, the user must also resubmit all the other query parameters, in the same order as they were originally passed in.

 

 

ctvPublisherNetworkReport

Returns CTV reporting data (e.g. the reporting available TripleLift Direct Reports for CTV).

The ctvPublisherNetworkReport has a row limit of 5,000. Any query exceeding the limit will only return data up to the limit. Use the asynchronous endpoints for larger reports.

 

 

ctvPublisherFilterOptions

Returns all possible filter values of a dimension in a given time period.

The returned filter IDs can be used as the filter values when querying the ctvPublisherNetworkReport.

 

 

ctvPublisherNetworkReport Asynchronous endpoints

These endpoints are designed to handle queries for high volumes of data and return results within 5 minutes. For quicker response times and low volumes of data, use the Synchronous endpoints.

Results from querying the asynchronous endpoints are in the form of a CSV. Refer to the FAQs for tips on parsing the results.

 

There are two options to obtain a CSV report asynchronously:

  1. Submit a request to an asynchronous endpoint and immediately receive a report download link. Poll a second endpoint until your report is ready at that download link.
  2. Submit a request to an asynchronous endpoint and wait to receive an email containing the report.

Currently, CSV reports larger than 400MB will fail. Please refer to the Querying Guidelines section for tips on managing report size.

 

 

asyncDownloadCTVPublisherNetworkReport

This endpoint is used in Option 1, above. This endpoint uses the same parameters as the synchronous ctvPublisherNetworkReport endpoint (without the pagination-related fields cursor and size) and responds with a download link in the form of a pre-signed S3 URL.

The pre-signed S3 URL expires 30 minutes after it is returned.

 

Example request

query {
  asyncDownloadCTVPublisherNetworkReport(
    sellerMemberId: "YOUR_MEMBER_ID"
    startDate: "2024-11-15" 
    endDate: "2024-12-15"
    dimensions: [YMD, PUBLISHER_NAME, ORTB_CONTENT_GENRE]
    metrics: [AD_REQUESTS, RENDERED, REVENUE, VIDEO_COMPLETIONS]
)
}

Example response

{
  "data": {
    "asyncDownloadCTVPublisherNetworkReport": "https://triplelift-reporting-api-downloads.s3.amazonaws.com/9629b338-a654-4f95-ac4f-8b9dfafeb3ca/1735843508921/triplelift_report.csv?X-Amz-Security-Token=IQoJb3JpZ2luXNyF2CRFuvpB430YDTbzZLAIgYBV4T2uFp4np4zZ471RwMNeby0c3%2By3sOTtfYmjRr%2FMqxgUI2%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgwyNTU5OTMwMDUwOTEiDAdZ%2FwDCe8O1dvOekSqaBd9AC9BjQXtHukgmdGomyMnnW5qr72B617Xz976w10EfL3KyOyw9KRD5JSJt8Pz8FrRQ23131xlFF35YmH8OSIlvWWkNfGVJMk0vP8fvc7w99T6fgB5yF2KfMVufwH6Y8lQdd0o5%2BSLvG581NstAl7SzSaEuOIqo0j41qRkueVk2QZGX3t2lkkO4Gqmjq51lU3Oaue7Jl6D%2B%2Bag1%2BFOGGIclN%2BFvxE%2FfBVhLzC3R2GgEsIj2UBe5JMUwdubG9xuwCA09sySJecBcOYknyUT%2FuyLEPZ4IvyshDzZtqYJUW8VjnCFGxLKg5PBj6dcw7rRUVHKxv8PfAkOcyonWQv9yEg5NsDhQnxqJ8bwb9no3aL%2Bdr8EBUeAZhhazilmNpOK87sbg%2BaAxI2o4gIpaTYnAEA4hJpFu1FnNOD8pFMMZzURQaB1Rke4omarL93I7spcpWC20r%2F8vAFu7Ahf9JKt20ZKhx65Kpgvqgw5YjmWITw5K4tJjUpvnW234cuBuiFOwUaHovg%2BG9IjDuDZI5WyLCfKKe8gx3glLK6ZNF8h2FD6vUBAD8XJzo31ARDhcdytwke71h%2BlAsGng6A7Umt62mP%2B1yR%2B29Mw0bvngRjJiEk7xz%2FRFZeGkAwDL6lsmnfppzThir3BYyj0WHdpl9TzuD%2Bxy0%2BgKTJ7Amik1qSvJSfu5kHVthjIfQcD%2FOh%2Fmh4cSFP%2F7g7c24nYE1kUL4SuV2DkpbOJhWR4CNm9gloOEcTmNB79YascR%2FeogWaIO9uS9PvHN%2BlCB%2BNNDOIysQfn6h%2Foqd0AtQLp5bHP17FMzAnJk84fPhG4dBOWq56EB5ai1QC6ihsithiuerhstithre31HEadvXaXds9md9%2FPWOEBI2VbzN8Q3eG19yvzDKrdu7BjqxAWas1Pj8UcE%2B2kA42NrTK%2B3H17PnGJG%2FqXD4Rvcx2wC995mJFpJgDLOOkUNRbrp2MHjm3eshQ8F07BuDbq%2BiuI0LNuBHI0qFoK8%2FesX8mBXKURXmGRGsujZDtjNVwHhqRwmgYKjR5HeXbjUgkHfXMEkJPqupeonlfI%2Fb1Om%2B30f0E%2BT46rQxOb%2B4lK9KYFze2XQC%2Bkl19y5WU0RPD23jfqyA53T3M%2B1pNV6U%2FdjKNgdClQ%3D%3D&X-Amz-Algorithm=ABC-123-DFF&X-Amz-Date=20250102T184508Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1799&X-Amz-Credential=ASIIHHEIHTIHLWH%2F20250102%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=14b12cbd349dbbc36acac145778aaaaaaaaaa06f57716b15dba1814"
  }

 

 

asyncDownloadReportStatus

This is the polling endpoint mentioned in Option 1. It accepts the pre-signed S3 link in the response from asyncDownloadCTVPublisherNetworkReport and returns one of 3 possible status strings:

  • READY - the report is present in the download link
  • WAITING - the report is not ready yet
  • ERROR - the report request must be resubmitted

 

Please refer to the GraphQL schema for this endpoint's status refresh rate to help define your poll interval.

 

 

 

asyncEmailCTVPublisherNetworkReport

This endpoint is used in Option 2. It uses the same parameters as the synchronous ctvPublisherNetworkReport endpoint (without the pagination-related fields cursor and size), as well as a list of valid email addresses for the report recipients. The endpoint returns true if the request was successfully received and false if otherwise.

Note that asyncEmailCTVPublisherNetworkReport has an email size limit of 10MB. Any email exceeding the limit will fail to send.

 

Example request

query {
  asyncEmailCTVPublisherNetworkReport(
    sellerMemberId: "YOUR_MEMBER_ID"
    startDate: "2024-11-15" 
    endDate: "2024-12-30"
    dimensions: [YMD, PUBLISHER_NAME]
    metrics: [AD_REQUESTS, REVENUE]
    filters: []
    emails: ["EMAIL_1", "EMAIL_2"]
)
}

Example response

{
  "data": {
    "asyncEmailCTVPublisherNetworkReport": true
  }

 

 

What's next