HookLogic (Criteo) Analytics API
The Analytics API from HookLogic (Criteo) — 12 operation(s) for analytics.
The Analytics API from HookLogic (Criteo) — 12 operation(s) for analytics.
openapi: 3.0.1
info:
title: Criteo Accounts Analytics API
description: Criteo API - RetailMedia
version: 2026-07
servers:
- url: https://api.criteo.com
security:
- oauth: []
tags:
- name: Analytics
paths:
/2026-07/retail-media/reports/{reportId}/output:
get:
tags:
- Analytics
summary: /2026-07/retail-media/reports/{reportId}/output
description: Returns the output of an async report
operationId: GetAsyncExportOutput
parameters:
- name: reportId
in: path
description: The ID of the report to retrieve
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: string
format: binary
security:
- oauth:
- RetailMedia_Analytics_Read
/2026-07/retail-media/reports/{reportId}/status:
get:
tags:
- Analytics
summary: /2026-07/retail-media/reports/{reportId}/status
description: Returns the status of an async report
operationId: GetAsyncExportStatus
parameters:
- name: reportId
in: path
description: The ID of the report to retrieve
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncReportResponse'
security:
- oauth:
- RetailMedia_Analytics_Read
/2026-07/retail-media/reports/attributed-transactions:
post:
tags:
- Analytics
summary: /2026-07/retail-media/reports/attributed-transactions
description: "Creates an attributed-transactions async report. The request accepts explicit attributed-transaction dimensions, metrics, and filters.\r\n<br />\r\nThis endpoint is subject to specific rate limits."
operationId: GenerateAsyncAttributedTransactionsReport
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncAttributedTransactionsReportRequest'
required: true
x-bodyName: request
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncReportResponse'
security:
- oauth:
- RetailMedia_Analytics_Read
/2026-07/retail-media/reports/fillrate:
post:
tags:
- Analytics
summary: /2026-07/retail-media/reports/fillrate
description: "Returns an asynchronous Fill Rate Report\r\n<br />\r\nThis endpoint is subject to specific rate limits."
operationId: GenerateAsyncFillRateReport
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncFillRateReportRequest'
required: true
x-bodyName: request
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncReportResponse'
security:
- oauth:
- RetailMedia_Analytics_Read
/2026-07/retail-media/reports/missed-opportunities:
post:
tags:
- Analytics
summary: /2026-07/retail-media/reports/missed-opportunities
description: "Creates a missed-opportunities async report. The request accepts explicit missed-opportunities dimensions, metrics, and filters.\r\n<br />\r\nThis endpoint is subject to specific rate limits."
operationId: GenerateAsyncMissedOpportunitiesReport
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncMissedOpportunitiesReportRequest'
required: true
x-bodyName: request
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncReportResponse'
security:
- oauth:
- RetailMedia_Analytics_Read
/2026-07/retail-media/reports/performance:
post:
tags:
- Analytics
summary: /2026-07/retail-media/reports/performance
description: "Creates a performance DSP analytics async report. Dimensions and metrics select the output schema, and filters constrain eligible data.\r\n<br />\r\nThis endpoint is subject to specific rate limits."
operationId: GenerateAsyncPerformanceReport
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncPerformanceReportRequest'
required: true
x-bodyName: request
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncReportResponse'
security:
- oauth:
- RetailMedia_Analytics_Read
/2026-07/retail-media/reports/revenue:
post:
tags:
- Analytics
summary: /2026-07/retail-media/reports/revenue
description: "Returns an asynchronous Revenue Report\r\n<br />\r\nThis endpoint is subject to specific rate limits."
operationId: GenerateAsyncRevenueReport
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncRevenueReportRequest'
required: true
x-bodyName: request
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncReportResponse'
security:
- oauth:
- RetailMedia_Analytics_Read
/2026-07/retail-media/reports/sync/attributed-transactions:
post:
tags:
- Analytics
summary: /2026-07/retail-media/reports/sync/attributed-transactions
description: Returns a synchronous Attributed Transactions Report
operationId: GenerateSyncAttributedTransactionsReport
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SyncAttributedTransactionsReportRequest'
required: true
x-bodyName: request
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ReportResponse'
security:
- oauth:
- RetailMedia_Analytics_Read
/2026-07/retail-media/reports/sync/campaigns:
post:
tags:
- Analytics
summary: /2026-07/retail-media/reports/sync/campaigns
description: Returns a synchronous Campaigns Report
operationId: GenerateSyncCampaignsReport
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SyncCampaignsReportRequest'
required: true
x-bodyName: request
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ReportResponse'
security:
- oauth:
- RetailMedia_Analytics_Read
/2026-07/retail-media/reports/sync/line-items:
post:
tags:
- Analytics
summary: /2026-07/retail-media/reports/sync/line-items
description: Returns a synchronous Line Items Report
operationId: GenerateSyncLineItemsReport
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SyncLineItemsReportRequest'
required: true
x-bodyName: request
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ReportResponse'
security:
- oauth:
- RetailMedia_Analytics_Read
/2026-07/retail-media/reports/sync/real-time-performance:
post:
tags:
- Analytics
summary: /2026-07/retail-media/reports/sync/real-time-performance
description: "Returns a synchronous Real Time Performance Report. Returns empty rows; metadata includes dataCompleteThrough (latest time from streaming table in the request timezone).\r\n<br />\r\nThis endpoint is subject to specific rate limits."
operationId: GenerateSyncRealTimePerformanceReport
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SyncRealTimePerformanceReportRequest'
required: true
x-bodyName: request
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ReportResponse'
security:
- oauth:
- RetailMedia_Analytics_Read
/2026-07/retail-media/reports/unfilled-placements:
post:
tags:
- Analytics
summary: /2026-07/retail-media/reports/unfilled-placements
description: "Returns an asynchronous Unfilled Placements Report\r\n<br />\r\nThis endpoint is subject to specific rate limits."
operationId: GenerateAsyncUnfilledPlacementsReport
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncUnfilledPlacementsReportRequest'
required: true
x-bodyName: request
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AsyncReportResponse'
security:
- oauth:
- RetailMedia_Analytics_Read
components:
schemas:
SyncAttributedTransactionsReportRequest:
type: object
properties:
data:
$ref: '#/components/schemas/SyncAttributedTransactionsReportResource'
description: A top-level object that encapsulates a Criteo API request for a single value
SyncLineItemsReportResource:
type: object
properties:
attributes:
$ref: '#/components/schemas/SyncLineItemsReport'
type:
type: string
description: A top-level object that encapsulates a Criteo API response for a single value
MissedOpportunitiesReportFilters:
type: object
properties:
accountIds:
type: array
items:
type: string
campaignIds:
type: array
items:
type: string
campaignTypes:
type: array
items:
enum:
- all
- sponsoredProducts
- onSiteDisplays
type: string
lineItemIds:
type: array
items:
type: string
description: Array-valued constraints for missed-opportunities reporting. At least one of accountIds, campaignIds, or lineItemIds is required.
AsyncFillRateReportResource:
type: object
properties:
attributes:
$ref: '#/components/schemas/AsyncFillRateReport'
type:
type: string
description: A top-level object that encapsulates a Criteo API response for a single value
AsyncMissedOpportunitiesReportRequest:
type: object
properties:
data:
$ref: '#/components/schemas/AsyncMissedOpportunitiesReportResource'
description: A top-level object that encapsulates a missed-opportunities async report create request.
AsyncUnfilledPlacementsReportResource:
type: object
properties:
attributes:
$ref: '#/components/schemas/AsyncUnfilledPlacementsReport'
type:
type: string
description: A top-level object that encapsulates a Criteo API response for a single value
StatusResponse:
type: object
properties:
createdAt:
type: string
nullable: true
expiresAt:
type: string
nullable: true
fileSizeBytes:
type: integer
format: int64
nullable: true
id:
type: string
nullable: true
md5CheckSum:
type: string
nullable: true
message:
type: string
nullable: true
rowCount:
type: integer
format: int32
nullable: true
status:
enum:
- pending
- success
- failure
- expired
type: string
nullable: true
description: Status of an async report request
nullable: true
x-criteo-canonical:
infoType: entity
SyncCampaignsReportResource:
type: object
properties:
attributes:
$ref: '#/components/schemas/SyncCampaignsReport'
type:
type: string
description: A top-level object that encapsulates a Criteo API response for a single value
SyncLineItemsReport:
required:
- accountId
- endDate
- startDate
type: object
properties:
accountId:
type: string
description: Account id to report on
campaignIds:
type: array
items:
type: string
description: Campaign ids to filter
campaignType:
enum:
- all
- sponsoredProducts
- onSiteDisplays
type: string
description: 'Filter the type of campaigns to report on: sponsoredProducts or onSiteDisplays'
default: all
clickAttributionWindow:
enum:
- none
- 7D
- 14D
- 30D
type: string
description: Click attribution window
default: none
dimensions:
type: array
items:
enum:
- date
- hour
- accountId
- accountName
- campaignId
- campaignName
- campaignTypeName
- lineItemId
- lineItemName
- retailerId
- retailerName
- brandId
- brandName
- advProductCategory
- advProductId
- advProductName
- salesChannel
- environment
- pageTypeName
- pageCategory
- servedCategory
- taxonomyBreadcrumb
type: string
description: List of dimensions to report on
endDate:
type: string
description: End date
format: date-time
lineItemIds:
type: array
items:
type: string
description: Line Item ids to filter
metrics:
type: array
items:
enum:
- impressions
- clicks
- spend
- attributedSales
- attributedUnits
- attributedOrders
- assistedSales
- assistedUnits
- ctr
- cpc
- cpo
- cpm
- roas
- uniqueVisitors
- frequency
type: string
description: List of metrics to report on
reportType:
enum:
- summary
- pageType
- productCategory
- product
- environment
- servedCategory
type: string
description: Type of report, if no dimensions and metrics are provided, falls back to summary reportType
default: summary
salesChannel:
enum:
- online
- offline
- all
type: string
description: 'Filter on specific sales channel: offline or online'
default: all
startDate:
type: string
description: Start date
format: date-time
timezone:
type: string
description: 'Time zone : see criteo developer portal for supported time zones'
default: UTC
viewAttributionWindow:
enum:
- none
- 1D
- 7D
- 14D
- 30D
type: string
description: View attribution window
default: none
description: Line Items report body request
ReportDataResponseResource:
type: object
properties:
attributes:
type: array
items:
type: array
items:
type: object
description: Data response format
nullable: true
type:
type: string
nullable: true
description: A top-level object that encapsulates a Criteo API response for a single value
nullable: true
SyncCampaignsReportRequest:
type: object
properties:
data:
$ref: '#/components/schemas/SyncCampaignsReportResource'
description: A top-level object that encapsulates a Criteo API request for a single value
CommonProblem:
type: object
properties:
code:
type: string
description: A machine-readable error code, expressed as a string value.
nullable: true
detail:
type: string
description: A human-readable explanation specific to this occurrence of the problem
nullable: true
instance:
type: string
description: A URI that identifies the specific occurrence of the problem.
nullable: true
source:
type: object
additionalProperties:
type: string
description: A machine-readable structure to reference to the exact location(s) causing the error(s)
nullable: true
stackTrace:
type: string
nullable: true
title:
type: string
description: A short human-readable description of the problem type
nullable: true
traceId:
type: string
description: The request correlation ID this problem comes from.
nullable: true
traceIdentifier:
type: string
description: The request correlation ID this problem comes from. (deprecated, use traceId instead)
nullable: true
type:
enum:
- unknown
- access-control
- authentication
- authorization
- availability
- deprecation
- quota
- validation
type: string
description: The problem's category.
nullable: true
description: Common problem object.
AsyncUnfilledPlacementsReportRequest:
type: object
properties:
data:
$ref: '#/components/schemas/AsyncUnfilledPlacementsReportResource'
description: A top-level object that encapsulates a Criteo API request for a single value
SyncAttributedTransactionsReport:
required:
- accountId
- endDate
- startDate
type: object
properties:
accountId:
type: string
description: Account id to report on
campaignIds:
type: array
items:
type: string
description: Campaign ids to filter
campaignType:
enum:
- all
- sponsoredProducts
- onSiteDisplays
type: string
description: 'Filter the type of campaigns to report on: sponsoredProducts or onSiteDisplays'
default: all
clickAttributionWindow:
enum:
- none
- 7D
- 14D
- 30D
type: string
description: Click attribution window
default: none
dimensions:
type: array
items:
enum:
- purchasedDate
- purchasedHour
- advDate
- advHour
- daysDifference
- campaignId
- campaignName
- lineItemId
- lineItemName
- advProductId
- advProductGtin
- advProductMpn
- advProductName
- advProductCategory
- purchasedProductId
- purchasedProductGtin
- purchasedProductMpn
- purchasedProductName
- purchasedProductCategory
- advEngagement
- advToPurchasedProductRelationship
- salesChannel
- retailerName
- pageTypeName
- keyword
- attributionWindow
- saleSellerId
- saleSellerName
- activitySellerId
- activitySellerName
type: string
description: List of dimensions to report on
endDate:
type: string
description: End date
format: date-time
lineItemIds:
type: array
items:
type: string
description: Line item ids to filter
mediaType:
enum:
- unknown
- video
- display
- all
type: string
description: 'Filter on the type of media: unknown, display, video'
default: all
metrics:
type: array
items:
enum:
- attributedUnits
- attributedSales
type: string
description: List of metrics to report on
salesChannel:
enum:
- online
- offline
- all
type: string
description: 'Filter on specific sales channel: offline or online'
default: all
startDate:
type: string
description: Start date
format: date-time
timezone:
type: string
description: 'Time zone : see criteo developer portal for supported time zones'
default: UTC
viewAttributionWindow:
enum:
- none
- 1D
- 7D
- 14D
- 30D
type: string
description: View attribution window
default: none
description: Attributed Transactions report body request
AsyncPerformanceReport:
required:
- dimensions
- endDate
- filters
- metrics
- startDate
type: object
properties:
clickAttributionWindow:
enum:
- none
- 7D
- 14D
- 30D
type: string
clickMatchLevel:
enum:
- sameSku
- sameCategory
- sameBrand
- campaign
type: string
default: campaign
dimensions:
type: array
items:
enum:
- date
- hour
- accountId
- accountName
- campaignId
- campaignName
- campaignType
- lineItemId
- lineItemName
- retailerId
- retailerName
- brandId
- brandName
- productCategory
- productId
- productName
- salesChannel
- mediaType
- buyType
- budgetModel
- activationPlatform
- environment
- pageType
- pageCategory
- servedCategory
- taxonomyBreadcrumb
- keyword
- searchTerm
- searchTermType
- searchTermTargeting
- creativeId
- creativeName
- creativeType
- creativeTemplateId
- creativeTemplateName
- targetedKeywordType
type: string
endDate:
type: string
format: date-time
filters:
$ref: '#/components/schemas/PerformanceReportFilters'
format:
enum:
- json
- json-compact
- json-newline
- csv
type: string
metrics:
type: array
items:
enum:
- impressions
- clicks
- spend
- attributedSales
- attributedUnits
- attributedOrders
- assistedSales
- assistedUnits
- ctr
- cpc
- cpo
- cpm
- roas
- videoViews
- videosStarted
- videosPlayedTo25
- videosPlayedTo50
- videosPlayedTo75
- videosPlayedTo100
- videoPlayingRate
- videoCompletionRate
- videoImpressions
- videoMuted
- videoUnmuted
- videoPaused
- videoResumed
- videoAvgInteractionRate
- videoViewability
- videoStartingRate
- videoCPC
- videoCPCV
- newToBrandAttributedSales
- newToBrandAttributedSalesRate
- newToBrandAttributedUnits
- newToBrandAttributedUnitsRate
- uniqueVisitors
- frequency
- winRate
- sampledBidsWon
- sampledBidsParticipated
type: string
startDate:
type: string
format: date-time
timezone:
type: string
default: UTC
viewAttributionWindow:
enum:
- none
- 1D
- 7D
- 14D
- 30D
type: string
viewMatchLevel:
enum:
- sameSku
- sameCategory
- sameBrand
- campaign
type: string
default: campaign
description: Create payload attributes for a performance DSP analytics async report.
AsyncPerformanceReportResource:
type: object
properties:
attributes:
$ref: '#/components/schemas/AsyncPerformanceReport'
type:
type: string
description: A top-level object that encapsulates a Criteo API response for a single value
AttributedTransactionsReportFilters:
type: object
properties:
accountIds:
type: array
items:
type: string
campaignIds:
type: array
items:
type: string
lineItemIds:
type: array
items:
type: string
mediaTypes:
type: array
items:
enum:
- unknown
- video
- display
- all
type: string
description: Array-valued constraints for attributed-transactions reporting. At least one of accountIds, campaignIds, or lineItemIds is required.
AsyncRevenueReportRequest:
type: object
properties:
data:
$ref: '#/components/schemas/AsyncRevenueReportResource'
description: A top-level object that encapsulates a Criteo API request for a single value
AsyncFillRateReportRequest:
type: object
properties:
data:
$ref: '#/components/schemas/AsyncFillRateReportResource'
description: A top-level object that encapsulates a Criteo API request for a single value
AsyncFillRateReport:
required:
- dimensions
- endDate
- metrics
- startDate
- supplyAccountIds
type: object
properties:
adServerType:
enum:
- all
- gam
- criteo
type: string
description: 'Filter on the type of the ad server: criteo, gam, all'
default: all
dimensions:
minItems: 1
type: array
items:
enum:
- date
- retailerId
- retailerName
- placementId
- placementName
- pageTypeName
- environment
- servedCategory
- retailerCategoryId
- retailerCategoryName
- adServerType
type: string
description: List of dimensions to report on
endDate:
type: string
description: End date
format: date-time
format:
enum:
- json
- json-compact
- json-newline
- csv
type: string
description: Format of the output
default: json
metrics:
minItems: 1
type: array
items:
enum:
- pageViews
- availablePlacements
- unfilledPlacements
- fillRate
- placementImpressions
- productImpressions
- impressions
- placementClicks
- productClicks
- clicks
- placementImpressionsCTR
- productImpressionsCTR
- cpm
- cpc
- placementImpressionsRevenue
- productClicksRevenue
- revenue
- workingMedia
- netRevenue
- nonDeliverablePlacements
- deliverablePlacements
- placementsWithCandidates
- coveredPlacements
- coverageRate
type: string
description: List of metrics to report on
startDate:
type: string
description: Start date
format: date-time
supplyAccountIds:
type: array
items:
type: string
description: Supply account ids to report on
timezone:
type: string
description: 'Time zone : see criteo developer portal for supported time zones'
default: UTC
description: Async FillRate report body request
AsyncAttributedTransactionsReport:
required:
- dimensions
- endDate
- filters
- metrics
- startDate
type: object
properties:
clickAttributionWindow:
enum:
- none
- 7D
- 14D
- 30D
type: string
clickMatchLevel:
enum:
- sameSku
- sameCategory
- sameBrand
- campaign
type: string
default: campaign
dimensions:
type: array
items:
enum:
- purchasedDate
- purchasedHour
- advertisedDate
- advertisedHour
- daysDifference
- campaignId
- campaignName
- lineItemId
- lineItemName
- advertisedProductId
- advertisedProductGtin
- advertisedProductMpn
- advertisedProductName
- advertisedProductCategory
- purchasedProductId
- purchasedProductGtin
- purchasedProductMpn
- purchasedProductName
- purchasedProductCategory
- advertisedEngagement
- advertisedToPurchasedProductRelationship
- salesChannel
- retailerId
- retailerName
- pageType
- keyword
- attributionWindow
- saleSellerId
- saleSellerName
- activitySellerId
- activitySellerName
type: string
endDate:
type: string
format: date-time
filters:
$ref: '#/components/schemas/AttributedTransactionsReportFilters'
format:
enum:
- json
- json-compact
- json-newline
- csv
type: string
metrics:
type: array
items:
enum:
- attributedUnits
- attributedSales
type: string
startDate:
type: string
format: date-time
timezone:
type: string
default: UTC
viewAttributionWindow:
enum:
- none
- 1D
- 7D
- 14D
- 30D
type: string
viewMatchLevel:
enum:
- sameSku
- sameCategory
- sameBrand
- campaign
type: string
default: campaign
description: Create payload attributes for an attributed-transactions async report.
ReportResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ReportDataResponseResource'
errors:
type: array
# --- truncated at 32 KB (60 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/hooklogic-criteo/refs/heads/main/openapi/hooklogic-criteo-analytics-api-openapi.yml