Download OpenAPI specification:
The Vistar Media SSP API enables developers to programmatically interact with Vistar's Ad Platform outside of the web application. Itn enables Media Owners to build system integrations and automations.
Note: This API is in beta and may undergo breaking changes.
For authentication, rate limiting, and other general usage information, please see our API Basics documentation.
The Creative resource represents a specific creative provided by a buyer that targets one of your Networks.
Your approval status of the Creative is in the audit object within the Creative.
The API allows you to list and retrieve Creatives and update their audit values.
Creatives can be categorized using IAB categories and your own custom Tags. The Creative Category and Tag endpoints allow you to discover ids to use when updating Creatives. You can also create new Tags.
You can also access a Creative's assets and associated Campaign information.
List all Creative Categories
| page_size | integer <int64> |
| page | integer <int64> |
| order | string Supported order fields: |
| asc | boolean |
| filter | Array of strings Supported filter fields: |
| search | Array of strings Supported search fields: |
{- "creative_categories": [
- {
- "id": "juIGaOygS0CBBqtmXHamqA",
- "name": "Food & Groceries"
}
], - "total_size": 1
}List Creatives with their Audits
| page_size | integer <int64> |
| page | integer <int64> |
| order | string Supported order fields: |
| asc | boolean |
| filter | Array of strings Supported filter fields: |
| search | Array of strings Supported search fields: |
{- "creatives": [
- {
- "id": "abc123",
- "audit": {
- "status": "PENDING",
- "message": "string",
- "category_ids": [
- "juIGaOygS0CBBqtmXHamqA"
], - "tag_ids": [
- "juIGaOygS0CBBqtmXHamqA"
], - "create_time": "2025-07-05T20:12:34+00:00",
- "last_reviewed": "2025-07-03T21:10:02+00:00",
- "last_reviewer": "example@vistarmedia.com"
}, - "external_id": "67580557345947516864522a0863640c665f48614674",
- "network_id": "juIGaOygS0CBBqtmXHamqA",
- "name": "Some-Advertising-Campaign-2025.jpg",
- "processing_status": "PROCESSING",
- "advertiser_id": "juIGaOygS0CBBqtmXHamqA",
- "duration_ms": 1500,
- "seat_id": "juIGaOygS0CBBqtmXHamqA",
- "bidder_id": "juIGaOygS0CBBqtmXHamqA",
- "max_assets_per_day": 0,
- "type": "NONE",
- "update_time": "2025-07-03T21:30:40+00:00",
- "archived": true
}
], - "total_size": 1
}Update many Creatives
Array of objects (api.ssp.v1.Creative) |
{- "creatives": [
- {
- "id": "abc123",
- "audit": {
- "status": "PENDING",
- "message": "string",
- "category_ids": [
- "juIGaOygS0CBBqtmXHamqA"
], - "tag_ids": [
- "juIGaOygS0CBBqtmXHamqA"
], - "create_time": "2025-07-05T20:12:34+00:00",
- "last_reviewed": "2025-07-03T21:10:02+00:00",
- "last_reviewer": "example@vistarmedia.com"
}, - "external_id": "67580557345947516864522a0863640c665f48614674",
- "network_id": "juIGaOygS0CBBqtmXHamqA",
- "name": "Some-Advertising-Campaign-2025.jpg",
- "processing_status": "PROCESSING",
- "advertiser_id": "juIGaOygS0CBBqtmXHamqA",
- "duration_ms": 1500,
- "seat_id": "juIGaOygS0CBBqtmXHamqA",
- "bidder_id": "juIGaOygS0CBBqtmXHamqA",
- "max_assets_per_day": 0,
- "type": "NONE",
- "update_time": "2025-07-03T21:30:40+00:00",
- "archived": true
}
]
}{- "creatives": [
- {
- "id": "abc123",
- "audit": {
- "status": "PENDING",
- "message": "string",
- "category_ids": [
- "juIGaOygS0CBBqtmXHamqA"
], - "tag_ids": [
- "juIGaOygS0CBBqtmXHamqA"
], - "create_time": "2025-07-05T20:12:34+00:00",
- "last_reviewed": "2025-07-03T21:10:02+00:00",
- "last_reviewer": "example@vistarmedia.com"
}, - "external_id": "67580557345947516864522a0863640c665f48614674",
- "network_id": "juIGaOygS0CBBqtmXHamqA",
- "name": "Some-Advertising-Campaign-2025.jpg",
- "processing_status": "PROCESSING",
- "advertiser_id": "juIGaOygS0CBBqtmXHamqA",
- "duration_ms": 1500,
- "seat_id": "juIGaOygS0CBBqtmXHamqA",
- "bidder_id": "juIGaOygS0CBBqtmXHamqA",
- "max_assets_per_day": 0,
- "type": "NONE",
- "update_time": "2025-07-03T21:30:40+00:00",
- "archived": true
}
]
}Update many Creatives
Array of objects (api.ssp.v1.Creative) |
{- "creatives": [
- {
- "id": "abc123",
- "audit": {
- "status": "PENDING",
- "message": "string",
- "category_ids": [
- "juIGaOygS0CBBqtmXHamqA"
], - "tag_ids": [
- "juIGaOygS0CBBqtmXHamqA"
], - "create_time": "2025-07-05T20:12:34+00:00",
- "last_reviewed": "2025-07-03T21:10:02+00:00",
- "last_reviewer": "example@vistarmedia.com"
}, - "external_id": "67580557345947516864522a0863640c665f48614674",
- "network_id": "juIGaOygS0CBBqtmXHamqA",
- "name": "Some-Advertising-Campaign-2025.jpg",
- "processing_status": "PROCESSING",
- "advertiser_id": "juIGaOygS0CBBqtmXHamqA",
- "duration_ms": 1500,
- "seat_id": "juIGaOygS0CBBqtmXHamqA",
- "bidder_id": "juIGaOygS0CBBqtmXHamqA",
- "max_assets_per_day": 0,
- "type": "NONE",
- "update_time": "2025-07-03T21:30:40+00:00",
- "archived": true
}
]
}{- "creatives": [
- {
- "id": "abc123",
- "audit": {
- "status": "PENDING",
- "message": "string",
- "category_ids": [
- "juIGaOygS0CBBqtmXHamqA"
], - "tag_ids": [
- "juIGaOygS0CBBqtmXHamqA"
], - "create_time": "2025-07-05T20:12:34+00:00",
- "last_reviewed": "2025-07-03T21:10:02+00:00",
- "last_reviewer": "example@vistarmedia.com"
}, - "external_id": "67580557345947516864522a0863640c665f48614674",
- "network_id": "juIGaOygS0CBBqtmXHamqA",
- "name": "Some-Advertising-Campaign-2025.jpg",
- "processing_status": "PROCESSING",
- "advertiser_id": "juIGaOygS0CBBqtmXHamqA",
- "duration_ms": 1500,
- "seat_id": "juIGaOygS0CBBqtmXHamqA",
- "bidder_id": "juIGaOygS0CBBqtmXHamqA",
- "max_assets_per_day": 0,
- "type": "NONE",
- "update_time": "2025-07-03T21:30:40+00:00",
- "archived": true
}
]
}Get a Creative and Audit by ID
| id required | string |
{- "id": "abc123",
- "audit": {
- "status": "PENDING",
- "message": "string",
- "category_ids": [
- "juIGaOygS0CBBqtmXHamqA"
], - "tag_ids": [
- "juIGaOygS0CBBqtmXHamqA"
], - "create_time": "2025-07-05T20:12:34+00:00",
- "last_reviewed": "2025-07-03T21:10:02+00:00",
- "last_reviewer": "example@vistarmedia.com"
}, - "external_id": "67580557345947516864522a0863640c665f48614674",
- "network_id": "juIGaOygS0CBBqtmXHamqA",
- "name": "Some-Advertising-Campaign-2025.jpg",
- "processing_status": "PROCESSING",
- "advertiser_id": "juIGaOygS0CBBqtmXHamqA",
- "duration_ms": 1500,
- "seat_id": "juIGaOygS0CBBqtmXHamqA",
- "bidder_id": "juIGaOygS0CBBqtmXHamqA",
- "max_assets_per_day": 0,
- "type": "NONE",
- "update_time": "2025-07-03T21:30:40+00:00",
- "archived": true
}Update an individual Creative by ID
| id required | string |
object (api.ssp.v1.Audit) | |
| external_id | string |
| network_id | string |
| name | string |
| processing_status | string (api.ssp.v1.Creative.CreativeStatus) Default: "PROCESSING" Enum: "PROCESSING" "PROCESSED" "FAILED" |
| advertiser_id | string |
| thumbnail_url | string |
| duration_ms | integer <int32> |
| seat_id | string |
| bidder_id | string |
| max_assets_per_day | integer <int32> |
| type | string (api.ssp.v1.CreativeType) Default: "NONE" Enum: "NONE" "DYNAMIC" "SAGE_AND_ARCHER_DYNAMIC" "IMAGE" "VIDEO" "AUDIO" "UNKNOWN" |
| update_time | string |
| archived | boolean |
{- "audit": {
- "status": "PENDING",
- "message": "string",
- "category_ids": [
- "juIGaOygS0CBBqtmXHamqA"
], - "tag_ids": [
- "juIGaOygS0CBBqtmXHamqA"
], - "create_time": "2025-07-05T20:12:34+00:00",
- "last_reviewed": "2025-07-03T21:10:02+00:00",
- "last_reviewer": "example@vistarmedia.com"
}, - "external_id": "67580557345947516864522a0863640c665f48614674",
- "network_id": "juIGaOygS0CBBqtmXHamqA",
- "name": "Some-Advertising-Campaign-2025.jpg",
- "processing_status": "PROCESSING",
- "advertiser_id": "juIGaOygS0CBBqtmXHamqA",
- "duration_ms": 1500,
- "seat_id": "juIGaOygS0CBBqtmXHamqA",
- "bidder_id": "juIGaOygS0CBBqtmXHamqA",
- "max_assets_per_day": 0,
- "type": "NONE",
- "update_time": "2025-07-03T21:30:40+00:00",
- "archived": true
}{- "id": "abc123",
- "audit": {
- "status": "PENDING",
- "message": "string",
- "category_ids": [
- "juIGaOygS0CBBqtmXHamqA"
], - "tag_ids": [
- "juIGaOygS0CBBqtmXHamqA"
], - "create_time": "2025-07-05T20:12:34+00:00",
- "last_reviewed": "2025-07-03T21:10:02+00:00",
- "last_reviewer": "example@vistarmedia.com"
}, - "external_id": "67580557345947516864522a0863640c665f48614674",
- "network_id": "juIGaOygS0CBBqtmXHamqA",
- "name": "Some-Advertising-Campaign-2025.jpg",
- "processing_status": "PROCESSING",
- "advertiser_id": "juIGaOygS0CBBqtmXHamqA",
- "duration_ms": 1500,
- "seat_id": "juIGaOygS0CBBqtmXHamqA",
- "bidder_id": "juIGaOygS0CBBqtmXHamqA",
- "max_assets_per_day": 0,
- "type": "NONE",
- "update_time": "2025-07-03T21:30:40+00:00",
- "archived": true
}Update an individual Creative by ID
| id required | string |
object (api.ssp.v1.Audit) | |
| external_id | string |
| network_id | string |
| name | string |
| processing_status | string (api.ssp.v1.Creative.CreativeStatus) Default: "PROCESSING" Enum: "PROCESSING" "PROCESSED" "FAILED" |
| advertiser_id | string |
| thumbnail_url | string |
| duration_ms | integer <int32> |
| seat_id | string |
| bidder_id | string |
| max_assets_per_day | integer <int32> |
| type | string (api.ssp.v1.CreativeType) Default: "NONE" Enum: "NONE" "DYNAMIC" "SAGE_AND_ARCHER_DYNAMIC" "IMAGE" "VIDEO" "AUDIO" "UNKNOWN" |
| update_time | string |
| archived | boolean |
{- "audit": {
- "status": "PENDING",
- "message": "string",
- "category_ids": [
- "juIGaOygS0CBBqtmXHamqA"
], - "tag_ids": [
- "juIGaOygS0CBBqtmXHamqA"
], - "create_time": "2025-07-05T20:12:34+00:00",
- "last_reviewed": "2025-07-03T21:10:02+00:00",
- "last_reviewer": "example@vistarmedia.com"
}, - "external_id": "67580557345947516864522a0863640c665f48614674",
- "network_id": "juIGaOygS0CBBqtmXHamqA",
- "name": "Some-Advertising-Campaign-2025.jpg",
- "processing_status": "PROCESSING",
- "advertiser_id": "juIGaOygS0CBBqtmXHamqA",
- "duration_ms": 1500,
- "seat_id": "juIGaOygS0CBBqtmXHamqA",
- "bidder_id": "juIGaOygS0CBBqtmXHamqA",
- "max_assets_per_day": 0,
- "type": "NONE",
- "update_time": "2025-07-03T21:30:40+00:00",
- "archived": true
}{- "id": "abc123",
- "audit": {
- "status": "PENDING",
- "message": "string",
- "category_ids": [
- "juIGaOygS0CBBqtmXHamqA"
], - "tag_ids": [
- "juIGaOygS0CBBqtmXHamqA"
], - "create_time": "2025-07-05T20:12:34+00:00",
- "last_reviewed": "2025-07-03T21:10:02+00:00",
- "last_reviewer": "example@vistarmedia.com"
}, - "external_id": "67580557345947516864522a0863640c665f48614674",
- "network_id": "juIGaOygS0CBBqtmXHamqA",
- "name": "Some-Advertising-Campaign-2025.jpg",
- "processing_status": "PROCESSING",
- "advertiser_id": "juIGaOygS0CBBqtmXHamqA",
- "duration_ms": 1500,
- "seat_id": "juIGaOygS0CBBqtmXHamqA",
- "bidder_id": "juIGaOygS0CBBqtmXHamqA",
- "max_assets_per_day": 0,
- "type": "NONE",
- "update_time": "2025-07-03T21:30:40+00:00",
- "archived": true
}Get the Assets for a given Creative ID
| id required | string |
| page_size | integer <int64> |
| page | integer <int64> |
| order | string |
| asc | boolean |
| filter | Array of strings |
| search | Array of strings |
{- "assets": [
- {
- "height": 1080,
- "width": 1920,
- "format": "image/png",
- "letterbox": true,
- "is_original": true,
- "file_size_bytes": 1024
}
], - "total_size": 1
}List Campaign market data for a given Creative ID
| id required | string |
| page_size | integer <int64> |
| page | integer <int64> |
| order | string Supported order fields: |
| asc | boolean |
| filter | Array of strings |
| search | Array of strings |
{- "campaigns": [
- {
- "start_date": "2025-07-03T22:00:00+00:00",
- "end_date": "2025-09-30T11:59:59+00:00",
- "markets": [
- "Buffalo, NY"
]
}
], - "total_size": 1
}List all Tags
| page_size | integer <int64> |
| page | integer <int64> |
| order | string Supported order fields: |
| asc | boolean |
| filter | Array of strings Supported filter fields: |
| search | Array of strings Supported search fields: |
{- "tags": [
- {
- "id": "juIGaOygS0CBBqtmXHamqA",
- "name": "my test tag"
}
], - "total_size": 1
}Create a new Tag
| name | string |
{- "name": "My Test Tag"
}{- "id": "juIGaOygS0CBBqtmXHamqA",
- "name": "my test tag"
}An Advertiser is a company that runs a campaign.
You can use the Advertiser APIs to resolve the advertiser_id on a Creative to a human-readable name.
List all Advertisers
| page_size | integer <int64> |
| page | integer <int64> |
| order | string Supported order fields: |
| asc | boolean |
| filter | Array of strings Supported filter fields: |
| search | Array of strings Supported search fields: |
{- "advertisers": [
- {
- "id": "juIGaOygS0CBBqtmXHamqA",
- "name": "T-Mobile"
}
], - "total_size": 1
}A Bidder is a DSP where a campaign originated.
You can use the Bidder APIs to resolve the bidder_id on a Creative to a human-readable name.
List all Bidders
| page_size | integer <int64> |
| page | integer <int64> |
| order | string Supported order fields: |
| asc | boolean |
| filter | Array of strings Supported filter fields: |
| search | Array of strings Supported search fields: |
{- "bidders": [
- {
- "id": "juIGaOygS0CBBqtmXHamqA",
- "name": "Vistar"
}
], - "total_size": 1
}A Network is a Media Owner's venue collection. You can use the Network APIs to list your Networks.
List all Networks
| page_size | integer <int64> |
| page | integer <int64> |
| order | string Supported order fields: |
| asc | boolean |
| filter | Array of strings Supported filter fields: |
| search | Array of strings Supported search fields: |
{- "networks": [
- {
- "id": "juIGaOygS0CBBqtmXHamqA",
- "name": "Test Network"
}
], - "total_size": 1
}A Seat is buyer of a Campaign.
You can use the Seat APIs to resolve the seat_id on a Creative to a human-readable name.
List all Seats
| page_size | integer <int64> |
| page | integer <int64> |
| order | string Supported order fields: |
| asc | boolean |
| filter | Array of strings Supported filter fields: |
| search | Array of strings Supported search fields: |
{- "seats": [
- {
- "id": "juIGaOygS0CBBqtmXHamqA",
- "name": "Test User"
}
], - "total_size": 1
}