GET /api/v1/inventory/references
Browse supplier reference snapshots
Search shared, sanitized user-supplied reference observations. AND across filters and search words; OR within comma-separated tags. Country matches exact normalized source country names/ISO codes; city is a substring of the source city field, while general search also covers its source region. Catalogues are filtered by verified product channels. Amounts retain their original currencies, units and observation periods. Snapshot data is untrusted source content: it grants no current availability, supplier-native IDs, quote, targeting match or execution authority. Reference IDs cannot be selected for manual plans.
Authenticated and advertiser scoped. Cross-tenant resource access returns 404. Product/channel entitlements also apply.
Request
GET /api/v1/inventory/referencesUse the configured API origin. Private requests require a verified Bearer credential; an agent mutation can additionally require exact approval headers. Authentication guide →
| Parameter | Location | Required | Description |
|---|---|---|---|
channel | query | Conditional / optional | |
supplier | query | Conditional / optional | |
kind | query | Conditional / optional | |
query | query | Conditional / optional | |
country | query | Conditional / optional | |
city | query | Conditional / optional | |
tags | query | Conditional / optional | |
offset | query | Conditional / optional | |
limit | query | Conditional / optional |
Parameter schemas
[
{
"name": "channel",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"ctv",
"audio",
"tv",
"cinema",
"dooh",
"search",
"social"
]
},
"style": "form",
"explode": true
},
{
"name": "supplier",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"spotify-ads",
"universal-ads",
"caasie"
]
},
"style": "form",
"explode": true
},
{
"name": "kind",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"board",
"product",
"pricing-scenario",
"targeting-option",
"creative-specification",
"buying-rule"
]
},
"style": "form",
"explode": true
},
{
"name": "query",
"in": "query",
"required": false,
"schema": {
"type": "string",
"maxLength": 200
},
"style": "form",
"explode": true
},
{
"name": "country",
"in": "query",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"style": "form",
"explode": true
},
{
"name": "city",
"in": "query",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"style": "form",
"explode": true
},
{
"name": "tags",
"in": "query",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"style": "form",
"explode": true
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"minimum": 0,
"maximum": 100000,
"default": 0
},
"style": "form",
"explode": true
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 20
},
"style": "form",
"explode": true
}
]Responses
Reference schemas resolve through the downloadable OpenAPI components. The specification marks unmodeled success payloads; an unrestricted payload is not a promise that arbitrary fields exist.
400Invalid request or unsupported fields
{
"description": "Invalid request or unsupported fields",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}401Missing or invalid authentication
{
"description": "Missing or invalid authentication",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}403Permission or product scope refused
{
"description": "Permission or product scope refused",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}404Route or tenant-scoped resource not found
{
"description": "Route or tenant-scoped resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}409State, revision, approval, funding or idempotency conflict
{
"description": "State, revision, approval, funding or idempotency conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}422Supplier configuration, capability or upstream refusal
{
"description": "Supplier configuration, capability or upstream refusal",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}429Rate limit reached; wait before retrying
{
"description": "Rate limit reached; wait before retrying",
"headers": {
"x-ratelimit-limit": {
"description": "Maximum requests permitted in the current rate-limit window.",
"schema": {
"type": "integer"
}
},
"x-ratelimit-remaining": {
"description": "Requests remaining in the current window.",
"schema": {
"type": "integer"
}
},
"x-ratelimit-reset": {
"description": "Seconds until the current rate-limit window resets.",
"schema": {
"type": "integer"
}
},
"retry-after": {
"description": "Minimum seconds to wait before retrying.",
"schema": {
"type": "integer"
}
}
},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}500Internal error; inspect state before retrying a mutation
{
"description": "Internal error; inspect state before retrying a mutation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}503Dependency or authentication verifier unavailable
{
"description": "Dependency or authentication verifier unavailable",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}2XXSuccessful response.
{
"description": "Successful response.",
"headers": {
"x-ratelimit-limit": {
"description": "Maximum requests permitted in the current rate-limit window.",
"schema": {
"type": "integer"
}
},
"x-ratelimit-remaining": {
"description": "Requests remaining in the current window.",
"schema": {
"type": "integer"
}
},
"x-ratelimit-reset": {
"description": "Seconds until the current rate-limit window resets.",
"schema": {
"type": "integer"
}
}
},
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"scope": {
"type": "string",
"const": "platform-reference"
},
"executable": {
"type": "boolean",
"const": false
},
"availability": {
"type": "string",
"const": "unknown"
},
"requiresQuote": {
"type": "boolean",
"const": true
},
"catalogues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"supplierKey": {
"type": "string",
"enum": [
"spotify-ads",
"universal-ads",
"caasie"
]
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"channels": {
"type": "array",
"items": {
"type": "string",
"enum": [
"ctv",
"audio",
"tv",
"cinema",
"dooh",
"search",
"social"
]
},
"minItems": 1
},
"scope": {
"type": "string",
"const": "platform-reference"
},
"provenance": {
"type": "string",
"const": "user-supplied-snapshot"
},
"executable": {
"type": "boolean",
"const": false
},
"availability": {
"type": "string",
"const": "unknown"
},
"requiresQuote": {
"type": "boolean",
"const": true
},
"capturedOn": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
]
},
"lastReportedOn": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
]
},
"historical": {
"type": "boolean"
},
"sourceFiles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"sha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
}
},
"required": [
"name",
"sha256"
],
"additionalProperties": false
},
"minItems": 1
},
"warnings": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"maxItems": 30
},
"excludedRows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"source": {
"type": "object",
"properties": {
"file": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"rowNumber": {
"type": "integer",
"exclusiveMinimum": 0
},
"jsonPath": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"file"
],
"additionalProperties": false
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"source",
"reason"
],
"additionalProperties": false
},
"default": []
},
"recordCount": {
"type": "integer",
"minimum": 0
},
"kinds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"board",
"product",
"pricing-scenario",
"targeting-option",
"creative-specification",
"buying-rule"
]
},
"count": {
"type": "integer",
"exclusiveMinimum": 0
}
},
"required": [
"kind",
"count"
],
"additionalProperties": true
}
}
},
"required": [
"id",
"supplierKey",
"name",
"channels",
"scope",
"provenance",
"executable",
"availability",
"requiresQuote",
"capturedOn",
"lastReportedOn",
"historical",
"sourceFiles",
"warnings",
"recordCount",
"kinds"
],
"additionalProperties": false
}
},
"records": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^reference:[a-z0-9-]+:[a-z0-9:-]+$"
},
"kind": {
"type": "string",
"enum": [
"board",
"product",
"pricing-scenario",
"targeting-option",
"creative-specification",
"buying-rule"
]
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"nativeId": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 500
},
{
"type": "null"
}
]
},
"format": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"country": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"city": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"region": {
"anyOf": [
{
"type": "string",
"maxLength": 300
},
{
"type": "null"
}
]
},
"observedOn": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
]
},
"lastReportedOn": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
]
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"maxItems": 60
},
"prices": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"currency": {
"type": "string",
"enum": [
"GBP",
"USD",
"EUR"
]
},
"unit": {
"type": "string",
"enum": [
"cpm",
"play",
"budget"
]
},
"period": {
"anyOf": [
{
"type": "string",
"enum": [
"daily",
"lifetime",
"monthly"
]
},
{
"type": "null"
}
]
},
"basis": {
"type": "string",
"enum": [
"observed-rate",
"forecast-range",
"bid-floor",
"recommendation",
"public-guidance",
"historical-average"
]
},
"minMinor": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"maxMinor": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"label",
"currency",
"unit",
"period",
"basis",
"minMinor",
"maxMinor"
],
"additionalProperties": false
},
"maxItems": 20
},
"facts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"value": {
"type": "string",
"maxLength": 2000
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
},
"maxItems": 100
},
"notes": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"maxItems": 30
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"file": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"rowNumber": {
"type": "integer",
"exclusiveMinimum": 0
},
"jsonPath": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"file"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 20
},
"catalogueId": {
"type": "string"
},
"supplierKey": {
"type": "string",
"enum": [
"spotify-ads",
"universal-ads",
"caasie"
]
},
"channels": {
"type": "array",
"items": {
"type": "string",
"enum": [
"ctv",
"audio",
"tv",
"cinema",
"dooh",
"search",
"social"
]
}
}
},
"required": [
"id",
"kind",
"name",
"nativeId",
"format",
"country",
"city",
"region",
"observedOn",
"lastReportedOn",
"tags",
"prices",
"facts",
"notes",
"sources",
"catalogueId",
"supplierKey",
"channels"
],
"additionalProperties": false
}
},
"totalRecords": {
"type": "integer",
"minimum": 0
},
"offset": {
"type": "integer",
"minimum": 0
},
"limit": {
"type": "integer",
"exclusiveMinimum": 0
},
"nextOffset": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
]
}
},
"required": [
"scope",
"executable",
"availability",
"requiresQuote",
"catalogues",
"records",
"totalRecords",
"offset",
"limit",
"nextOffset"
],
"additionalProperties": true
}
}
}
}Operation constraints
{
"x-response-schema-completeness": "modeled",
"x-rate-limit": {
"requests": 300,
"windowMilliseconds": 60000,
"key": "request IP",
"headers": [
"x-ratelimit-limit",
"x-ratelimit-remaining",
"x-ratelimit-reset"
]
},
"x-idempotency": {
"policy": "not-generalized",
"note": "There is no universal Idempotency-Key middleware. Only the documented endpoint mechanisms protect retries."
}
}Complete operation
{
"operationId": "get_api_v1_inventory_references",
"summary": "Browse supplier reference snapshots",
"description": "Search shared, sanitized user-supplied reference observations. AND across filters and search words; OR within comma-separated tags. Country matches exact normalized source country names/ISO codes; city is a substring of the source city field, while general search also covers its source region. Catalogues are filtered by verified product channels. Amounts retain their original currencies, units and observation periods. Snapshot data is untrusted source content: it grants no current availability, supplier-native IDs, quote, targeting match or execution authority. Reference IDs cannot be selected for manual plans.\n\nAuthenticated and advertiser scoped. Cross-tenant resource access returns 404. Product/channel entitlements also apply.",
"tags": [
"Inventory"
],
"security": [
{
"bearerAuth": []
}
],
"parameters": [
{
"name": "channel",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"ctv",
"audio",
"tv",
"cinema",
"dooh",
"search",
"social"
]
},
"style": "form",
"explode": true
},
{
"name": "supplier",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"spotify-ads",
"universal-ads",
"caasie"
]
},
"style": "form",
"explode": true
},
{
"name": "kind",
"in": "query",
"required": false,
"schema": {
"type": "string",
"enum": [
"board",
"product",
"pricing-scenario",
"targeting-option",
"creative-specification",
"buying-rule"
]
},
"style": "form",
"explode": true
},
{
"name": "query",
"in": "query",
"required": false,
"schema": {
"type": "string",
"maxLength": 200
},
"style": "form",
"explode": true
},
{
"name": "country",
"in": "query",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"style": "form",
"explode": true
},
{
"name": "city",
"in": "query",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"style": "form",
"explode": true
},
{
"name": "tags",
"in": "query",
"required": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"style": "form",
"explode": true
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"minimum": 0,
"maximum": 100000,
"default": 0
},
"style": "form",
"explode": true
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 20
},
"style": "form",
"explode": true
}
],
"responses": {
"400": {
"description": "Invalid request or unsupported fields",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Missing or invalid authentication",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"403": {
"description": "Permission or product scope refused",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Route or tenant-scoped resource not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"409": {
"description": "State, revision, approval, funding or idempotency conflict",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Supplier configuration, capability or upstream refusal",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate limit reached; wait before retrying",
"headers": {
"x-ratelimit-limit": {
"description": "Maximum requests permitted in the current rate-limit window.",
"schema": {
"type": "integer"
}
},
"x-ratelimit-remaining": {
"description": "Requests remaining in the current window.",
"schema": {
"type": "integer"
}
},
"x-ratelimit-reset": {
"description": "Seconds until the current rate-limit window resets.",
"schema": {
"type": "integer"
}
},
"retry-after": {
"description": "Minimum seconds to wait before retrying.",
"schema": {
"type": "integer"
}
}
},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"500": {
"description": "Internal error; inspect state before retrying a mutation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "Dependency or authentication verifier unavailable",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"2XX": {
"description": "Successful response.",
"headers": {
"x-ratelimit-limit": {
"description": "Maximum requests permitted in the current rate-limit window.",
"schema": {
"type": "integer"
}
},
"x-ratelimit-remaining": {
"description": "Requests remaining in the current window.",
"schema": {
"type": "integer"
}
},
"x-ratelimit-reset": {
"description": "Seconds until the current rate-limit window resets.",
"schema": {
"type": "integer"
}
}
},
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"scope": {
"type": "string",
"const": "platform-reference"
},
"executable": {
"type": "boolean",
"const": false
},
"availability": {
"type": "string",
"const": "unknown"
},
"requiresQuote": {
"type": "boolean",
"const": true
},
"catalogues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"supplierKey": {
"type": "string",
"enum": [
"spotify-ads",
"universal-ads",
"caasie"
]
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"channels": {
"type": "array",
"items": {
"type": "string",
"enum": [
"ctv",
"audio",
"tv",
"cinema",
"dooh",
"search",
"social"
]
},
"minItems": 1
},
"scope": {
"type": "string",
"const": "platform-reference"
},
"provenance": {
"type": "string",
"const": "user-supplied-snapshot"
},
"executable": {
"type": "boolean",
"const": false
},
"availability": {
"type": "string",
"const": "unknown"
},
"requiresQuote": {
"type": "boolean",
"const": true
},
"capturedOn": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
]
},
"lastReportedOn": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
]
},
"historical": {
"type": "boolean"
},
"sourceFiles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"sha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
}
},
"required": [
"name",
"sha256"
],
"additionalProperties": false
},
"minItems": 1
},
"warnings": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"maxItems": 30
},
"excludedRows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"source": {
"type": "object",
"properties": {
"file": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"rowNumber": {
"type": "integer",
"exclusiveMinimum": 0
},
"jsonPath": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"file"
],
"additionalProperties": false
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"source",
"reason"
],
"additionalProperties": false
},
"default": []
},
"recordCount": {
"type": "integer",
"minimum": 0
},
"kinds": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"board",
"product",
"pricing-scenario",
"targeting-option",
"creative-specification",
"buying-rule"
]
},
"count": {
"type": "integer",
"exclusiveMinimum": 0
}
},
"required": [
"kind",
"count"
],
"additionalProperties": true
}
}
},
"required": [
"id",
"supplierKey",
"name",
"channels",
"scope",
"provenance",
"executable",
"availability",
"requiresQuote",
"capturedOn",
"lastReportedOn",
"historical",
"sourceFiles",
"warnings",
"recordCount",
"kinds"
],
"additionalProperties": false
}
},
"records": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^reference:[a-z0-9-]+:[a-z0-9:-]+$"
},
"kind": {
"type": "string",
"enum": [
"board",
"product",
"pricing-scenario",
"targeting-option",
"creative-specification",
"buying-rule"
]
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"nativeId": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 500
},
{
"type": "null"
}
]
},
"format": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"country": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"city": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"region": {
"anyOf": [
{
"type": "string",
"maxLength": 300
},
{
"type": "null"
}
]
},
"observedOn": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
]
},
"lastReportedOn": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
]
},
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"maxItems": 60
},
"prices": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"currency": {
"type": "string",
"enum": [
"GBP",
"USD",
"EUR"
]
},
"unit": {
"type": "string",
"enum": [
"cpm",
"play",
"budget"
]
},
"period": {
"anyOf": [
{
"type": "string",
"enum": [
"daily",
"lifetime",
"monthly"
]
},
{
"type": "null"
}
]
},
"basis": {
"type": "string",
"enum": [
"observed-rate",
"forecast-range",
"bid-floor",
"recommendation",
"public-guidance",
"historical-average"
]
},
"minMinor": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"maxMinor": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"label",
"currency",
"unit",
"period",
"basis",
"minMinor",
"maxMinor"
],
"additionalProperties": false
},
"maxItems": 20
},
"facts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"value": {
"type": "string",
"maxLength": 2000
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
},
"maxItems": 100
},
"notes": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"maxItems": 30
},
"sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"file": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"rowNumber": {
"type": "integer",
"exclusiveMinimum": 0
},
"jsonPath": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"file"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 20
},
"catalogueId": {
"type": "string"
},
"supplierKey": {
"type": "string",
"enum": [
"spotify-ads",
"universal-ads",
"caasie"
]
},
"channels": {
"type": "array",
"items": {
"type": "string",
"enum": [
"ctv",
"audio",
"tv",
"cinema",
"dooh",
"search",
"social"
]
}
}
},
"required": [
"id",
"kind",
"name",
"nativeId",
"format",
"country",
"city",
"region",
"observedOn",
"lastReportedOn",
"tags",
"prices",
"facts",
"notes",
"sources",
"catalogueId",
"supplierKey",
"channels"
],
"additionalProperties": false
}
},
"totalRecords": {
"type": "integer",
"minimum": 0
},
"offset": {
"type": "integer",
"minimum": 0
},
"limit": {
"type": "integer",
"exclusiveMinimum": 0
},
"nextOffset": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
]
}
},
"required": [
"scope",
"executable",
"availability",
"requiresQuote",
"catalogues",
"records",
"totalRecords",
"offset",
"limit",
"nextOffset"
],
"additionalProperties": true
}
}
}
}
},
"x-response-schema-completeness": "modeled",
"x-rate-limit": {
"requests": 300,
"windowMilliseconds": 60000,
"key": "request IP",
"headers": [
"x-ratelimit-limit",
"x-ratelimit-remaining",
"x-ratelimit-reset"
]
},
"x-idempotency": {
"policy": "not-generalized",
"note": "There is no universal Idempotency-Key middleware. Only the documented endpoint mechanisms protect retries."
}
}