Introduction

Introduction to the Viant Trafficking API

Overview

The Viant Trafficking API provides programmatic control over campaign setup and management. It enables you to create, configure, and launch campaigns via API, reducing reliance on manual UI workflows.

For support, contact your Viant Programmatic Account Strategist.

Use Cases

  • Campaign tracking: Sync campaign metadata with your own systems to centralize reporting and monitoring.
  • Streamlined campaign creation: Build templates or workflows that reduce the time required to set up new campaigns.
  • Automated campaign management: Adjust budgets, pacing, or bids programmatically to maintain alignment with performance goals.
  • Targeting management: Configure audiences (UI: Lines), apply PMP deals, site lists, and exchanges, or update targeting rules to maximize reach and efficiency.

Using Viant's Trafficking API

Endpoints

Production

https://api.viantinc.com/v1

Sandbox

https://sandbox-api.viantinc.com/

The test endpoint is a fully functional sandbox for development and integration testing. Note that it is redeployed weekly (Saturday night/Monday morning) and that no data will persist more than a day.

Warning

Test all changes in Sandbox (non-prod) before testing in production. All changes to production will go live immediately.

Authentication and Authorization

All taxonomy APIs use basic authentication over HTTPS. Viant will provide you with a username and password.

Return Codes

We return standard HTTP return codes: 200 series for success, 400 series for request errors, 500 series for server errors.

Message Format

All POST messages and return messages are encoded in JSON.

Response Body Format

Generally the response body consists of two parts: messages and entity.

Messages

Messages is an array of Message objects. A Message object has three fields: level, code, and message.

Level

Level is one of three values, to indicate the severity of the message: Info, Warning, or Error.

Code

Object Summary

Hierarchy at a Glance

ObjectRepresentsKey Notes
AccountTop-level client containerParent of Agencies.
AgencySub-organization under an AccountContains Advertisers.
AdvertiserA brand or advertiser entityOwns Campaigns and Creatives.
CampaignA media plan under an AdvertiserConsists of one or more tactics (Orders). Uses Campaign or Order Flights (not both).
Campaign FlightBudget/pacing period at the campaign levelOnly if campaign-level flighting is chosen.
Ad OrderA tactic within a campaignDefines strategy, budget, pacing, and creatives.
Order FlightBudget/pacing period at the order levelOnly if order-level flighting is chosen.
Audience (UI: “Line”)A targeting tactic within an orderWhere specific targeting and targeting tactics are implemented within an Order. Multiple Audiences act as “OR.”
CreativeAd assetCan be attached to Campaigns, Orders, or Audiences.
Site ListA collection of domains or appsReferenced from an Audience.
ExchangeInventory sourceUsed directly or in PMP deals.
PMP DealPrivate marketplace dealConfigured from exchanges; advertiser- or account-wide.

Account

The top-level client container. Each Account contains one or more Agencies.

Agency

A sub-organization under an Account. Agencies contain Advertisers and include properties such as contact information, address, and external IDs.

Advertiser

Represents a brand entity within an Agency. Advertisers own Campaigns and Creatives. Properties include category, currency, timezone, and external IDs.

Campaign

A Campaign corresponds to a media plan within an Advertiser. Campaigns may consist of one or more tactics (Ad Orders).

  • Campaign setup defines media plan–level parameters such as start and end dates, lifetime budget, and frequency caps.
  • Budget and pacing can be managed with Campaign Flights or at the Order level, but not both.

Campaign Flight

Represents a period of time with associated budgets and caps at the Campaign level.

  • Allows one schedule to control multiple Orders.
  • If not capped at the order level, budget may flow fluidly across Orders.

Ad Order

An Ad Order corresponds to a tactic or strategy within a Campaign. Multiple Orders can be created within a Campaign.

  • Orders manage strategy-specific parameters, including start/end dates, budgets, optimization goals, CPM bids, and pacing.
  • If campaign-level flighting is chosen, Orders do not have their own flights. If order-level flighting is chosen, each Order may have one or more Order Flights.

Order Flight

Represents a period of time with associated budgets and caps at the Order level.

  • Supports unique pacing per tactic and optional budget rollover of unspent spend into subsequent flights.

Audience (UI: “Line”)

Terminology note In the UI and internal KB we use Line. In the API, the equivalent object is called Audience. Line (UI) = Audience (API).

An Audience represents the targeting tactic within an Order.

  • Where specific targeting and targeting tactics are implemented.
  • Multiple Audiences can be created within an Order. Within a single Audience, targeting criteria act as AND logic; across multiple Audiences, targeting acts as OR logic.
  • Audience-level settings include targeting, frequency caps, max CPM bids, and weighting.
  • Line weights determine budget allocation across Audiences. Line-level caps and bids operate independently from order and campaign caps, with the strictest always enforced.

Creative

A Creative is an ad asset (e.g., banner, video, audio, native, DOOH).

  • Creatives live at the Advertiser level and can be associated with Campaigns, Orders, or Audiences.
  • Supported formats include display, video, audio, native, and DOOH, each with format-specific properties such as size, duration, tracking, and landing page URLs.