OpenAPI Specification
openapi: 3.0.3
info:
title: Opera Ads Open Inventory Report API
version: v1
description: Open API for the Opera Ads advertising platform. Covers the advertiser Report API (daily campaign performance metrics), the publisher Inventory Management API (apps and placements), and the server-to-server Marketing (conversion events) API. Generated by API Evangelist from the public Opera Ads documentation at https://doc.adx.opera.com/ — endpoints, fields, and error codes are transcribed from the docs; contact Opera Ads to obtain an API token.
contact:
name: Opera Ads
url: https://doc.adx.opera.com/
x-apievangelist-method: generated
x-apievangelist-source: https://doc.adx.opera.com/
servers:
- url: https://ofa.adx.opera.com/oapi/v1
description: Advertiser Report API host
tags:
- name: Report
description: Advertiser reporting on campaign performance.
paths:
/report/campaign_daily:
post:
tags:
- Report
operationId: getCampaignDailyReport
summary: Get daily campaign report
description: Retrieve daily report data for advertiser campaigns including impressions, clicks, conversions and spend, filtered by day range and optionally by order, line item, or creative.
servers:
- url: https://ofa.adx.opera.com/oapi/v1
security:
- bearerAuth: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ReportRequest'
responses:
'200':
description: Report data
content:
application/json:
schema:
$ref: '#/components/schemas/ReportResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
'500':
$ref: '#/components/responses/ServerError'
components:
responses:
Unauthorized:
description: Missing or invalid token (envelope code 2)
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
RateLimited:
description: Rate limit exceeded (envelope code 3)
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
ServerError:
description: Server error (envelope code 4)
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
BadRequest:
description: Invalid parameters (envelope code 1)
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
ReportRequest:
type: object
required:
- filters
properties:
filters:
type: array
description: Query conditions; must include a day range.
items:
$ref: '#/components/schemas/ReportFilter'
measurements:
type: array
items:
type: string
enum:
- day
- advertiser_id
- order_id
- lineitem_id
- creative_id
- spent
- impressions
- clicks
- conversions
page:
type: integer
default: 1
page_size:
type: integer
default: 50
maximum: 1000
ReportFilter:
type: object
properties:
day:
type: array
description: Date range as ["YYYYMMDD","YYYYMMDD"]; max 90 days.
items:
type: string
order_id:
type: array
items:
type: string
lineitem_id:
type: array
items:
type: string
creative_id:
type: array
items:
type: string
Error:
type: object
properties:
code:
type: integer
description: Business error code (0 success, 1 invalid params, 2 auth, 3 rate limit, 4 server).
message:
type: string
ReportResponse:
type: object
properties:
code:
type: integer
message:
type: string
data:
type: object
properties:
page:
type: integer
page_size:
type: integer
total:
type: integer
list:
type: array
items:
type: object
additionalProperties: true
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: 'API token issued by Opera Ads, passed as `Authorization: Bearer <token>`. Contact Opera Ads to obtain credentials.'