# Viant APIs Documentation > Documentation for Viant APIs ## Guides - [Getting Started with Viant APIs](https://docs.api.viantinc.com/docs/getting-started.md): The Viant API Suite offers developers robust tools to extend and manage their use of the Viant DSP platform. Our APIs are designed to simplify workflows, enhance integration, and empower clients to maximize their media performance with flexibility and control. ## API Reference - [Introduction](https://docs.api.viantinc.com/reference/viant-trafficking-api.md): Introduction to the Viant Trafficking API - [Get agencies](https://docs.api.viantinc.com/reference/getagenciesrestful.md): Returns all agencies for the account, potentially modified by query params. - [Get agency by agency ID](https://docs.api.viantinc.com/reference/getagencybyagencyid.md): Retrieves an agency by ID. - [Create new agency](https://docs.api.viantinc.com/reference/savenewagencyrestful.md): Creates an agency under the current account. - [Update agency](https://docs.api.viantinc.com/reference/updateagency.md): Modifies an agency. - [Save agency - DEPRECATED](https://docs.api.viantinc.com/reference/savenewagency.md): Creates or modifies an agency. - [Get all agencies - DEPRECATED](https://docs.api.viantinc.com/reference/getallagencies.md): Returns details about all of the agencies under the account. - [Get all Advertisers](https://docs.api.viantinc.com/reference/getadvertisersrestful.md): Returns details about all of the Advertisers under the account (RESTful implementation). - [Get Advertiser by ID](https://docs.api.viantinc.com/reference/getadvertiserbyadvertiserid.md): Returns details of an Advertiser, specified by ID. - [Create an Advertiser](https://docs.api.viantinc.com/reference/createadvertiserrestful.md): Creates a new Advertiser. - [Edit an Advertiser](https://docs.api.viantinc.com/reference/updateadvertiserrestful.md): Updates an Advertiser. - [Get Creatives by Advertiser ID](https://docs.api.viantinc.com/reference/getcreativesbyadvertiserid.md): Returns details about all Creatives related to an Advertiser, by Advertiser ID. - [Get Advertiser by ID - DEPRECATED](https://docs.api.viantinc.com/reference/getadvertiserbyid.md): Returns details of an Advertiser by ID. - [Get all Advertisers - DEPRECATED](https://docs.api.viantinc.com/reference/getalladvertisers.md): Returns details about all of the Advertisers under the account. - [Create or edit an Advertiser - DEPRECATED](https://docs.api.viantinc.com/reference/createoreditadvertiser.md): Creates or modifies an Advertiser. - [Get all campaigns for an advertiser](https://docs.api.viantinc.com/reference/getallcampaignsforadvertiser.md): Returns details of about all of the campaigns associated with the specified advertiser ID. - [Get campaigns](https://docs.api.viantinc.com/reference/getcampaignsrestful.md): Returns details about all of the campaigns under the account. - [Get campaign by campaign ID](https://docs.api.viantinc.com/reference/getcampaignbycampaignid.md): Returns details about a campaign, identified by ID. - [Creates new campaign](https://docs.api.viantinc.com/reference/createcampaignrestful.md): Creates a campaign. - [Update campaign](https://docs.api.viantinc.com/reference/updatecampaignrestful.md): Modifies a campaign. - [Get Creatives for a Campaign](https://docs.api.viantinc.com/reference/getcreatives.md): Get Creatives for a Campaign - [Get Campaign by External ID](https://docs.api.viantinc.com/reference/get-campaign-by-external-id.md): Returns a Campaign found by externalCampaignId - [Create a new campaign or modify an existing campaign - DEPRECATED](https://docs.api.viantinc.com/reference/createnewcampaign.md): Creates or modifies a campaign. If the request includes a valid Campaign ID, the existing Campaign will be modified; if the ID field is omitted or the value is `null`, a new Campaign will be created. - [Get all campaigns - DEPRECATED](https://docs.api.viantinc.com/reference/getallcampaigns.md): Returns details about all of the campaigns under the account. - [Get campaign by ID - DEPRECATED](https://docs.api.viantinc.com/reference/getcampaignbyid.md): Returns details about a campaign, identified by ID. - [Get campaign flights for a campaign](https://docs.api.viantinc.com/reference/getcampaignflightsbycampaignid.md): Retrieves existing Campaign Flights for a given Campaign. - [Get campaign flights for a campaign](https://docs.api.viantinc.com/reference/getcampaignflightsbyid.md) - [Add a new campaign flight](https://docs.api.viantinc.com/reference/createcampaignflight.md) - [Update campaign flight](https://docs.api.viantinc.com/reference/updatecampaignflightrestful.md) - [Delete campaign flights](https://docs.api.viantinc.com/reference/deletecampaignflightsbyid.md) - [Create or update a campaign flight - DEPREACATED](https://docs.api.viantinc.com/reference/createcampaignflightbycampaignid.md): Set the id of the Campaign Flight to null to create a new flight. Set the id with the flight configuration to update a flight. - [Delete campaign flight for a campaign by ID - DEPRECATED](https://docs.api.viantinc.com/reference/deletecampaignflightbycampaignid.md): The caller needs the campaign id and the campaign flight id to delete a campaign flight. Campaign flights that are completed or in progress cannot be deleted. - [Get campaign flight order caps by campaign](https://docs.api.viantinc.com/reference/getcampaignflightordercapsbycampaignidrestful.md): RESTful API for same functionality as `/campaignflightcaps/byCampaign/{campaignId}` - [Get campaign flight order caps by ad order](https://docs.api.viantinc.com/reference/getcampaignflightordercapsbyadorderidrestful.md) - [Update campaign flight order caps for an ad order](https://docs.api.viantinc.com/reference/updatecampaignflightordercapsbyadorderid.md): Set the id of the FlightCaps to null to add a new cap. Only the caps you specify will be modified. To remove caps, use the delete endpoint. - [Delete campaign flight order caps for an ad order](https://docs.api.viantinc.com/reference/deletecampaignflightordercapsbyadorderidrestful.md) - [Get campaign flight order caps by campaign - DEPRECATED](https://docs.api.viantinc.com/reference/getcampaignflightordercapsbycampaignid.md): Orders belonging to Campaigns with campaign-level flighting don't have their own flights, but they can be assigned caps associated with each of the Campaign Flights - [Get campaign flight order caps by ad order - DEPRECATED](https://docs.api.viantinc.com/reference/getcampaignflightordercapsbyadorderid.md): Get Campaign Flight Order Caps by Ad Order - [Add or update campaign flight order caps for an ad order - DEPRECATED](https://docs.api.viantinc.com/reference/addorupdatecampaignflightordercapsbyadorderid.md): Set the id of the FlightCaps to null to add a new cap. Only the caps you specify will be modified.To remove caps, use the delete endpoint. - [Delete campaign flight order caps for an ad order - DEPRECATED](https://docs.api.viantinc.com/reference/deletecampaignflightordercapsbyadorderid.md): You need the order id and the flight cap id to delete a campaign flight cap record. - [Get all ad orders for a campaign](https://docs.api.viantinc.com/reference/getadordersbycampaignid.md): Returns details about all the ad orders under a specified campaign. - [Get ad orders](https://docs.api.viantinc.com/reference/getadordersrestful.md): Returns details about all of the ad orders under the account. - [Create ad order](https://docs.api.viantinc.com/reference/createadorderresful.md): Creates an Ad Order. - [Get ad order by ID](https://docs.api.viantinc.com/reference/getadorderbyidrestful.md): Returns details of the ad order with the specified ID. - [Update ad order](https://docs.api.viantinc.com/reference/updateadorderrestful.md): Modifies an Ad Order. - [Update an ad order status](https://docs.api.viantinc.com/reference/updateadorderstatus.md): Update the status of an Ad Order. - [Get Ad Order by External ID](https://docs.api.viantinc.com/reference/get-ad-order-by-external-id.md): Example for RESTful GET /adorder by query param - [Create or modify an Ad Order - DEPRECATED](https://docs.api.viantinc.com/reference/createadordersforflightcampaign.md): Creates or modifies an Ad Order. - [Get ad order by ID - DEPRECATED](https://docs.api.viantinc.com/reference/getadorderbyid.md): Returns details of the ad order with the specified ID. - [Get all ad orders - DEPRECATED](https://docs.api.viantinc.com/reference/getalladorders.md): Returns details about all of the ad orders under the account. - [Get order flight by ID](https://docs.api.viantinc.com/reference/getorderflightsbyidrestful.md) - [Create order flight](https://docs.api.viantinc.com/reference/createorderflightrestful.md): Creates a new Order Flight. - [Update order flight](https://docs.api.viantinc.com/reference/updateorderflightrestful.md): Updates an existing Order Flight. - [Bulk update order flight caps](https://docs.api.viantinc.com/reference/bulkupdateorderflights.md): Bulk update Order Flight caps. - [Delete order flight](https://docs.api.viantinc.com/reference/deleteorderflightrestful.md) - [Get order flights by ad order ID - DEPRECATED](https://docs.api.viantinc.com/reference/getorderflightsbyadorderid.md): Retrieves existing Order Flights for a given Order. - [Delete order flights by flight ID - DEPRECATED](https://docs.api.viantinc.com/reference/deleteorderflightsbyflightid.md): Removes existing Flights that have not yet started. - [Create Order Flights by Ad Order ID - DEPRECATED](https://docs.api.viantinc.com/reference/updateorderflightsbyadorderid.md): Creates new Order Flights for a given Ad Order. Notes: The new Order Flight’s Start Date must begin after the current time. An Order Flight’s Start Date and End Date cannot overlap with another Order Flight’s Start Date and End Date within the given Ad Order. - [Audiences](https://docs.api.viantinc.com/reference/audiences.md) - [Get audiences](https://docs.api.viantinc.com/reference/getaudiencesrestful.md): Gets audiences for the current account. - [Get audience by audience ID](https://docs.api.viantinc.com/reference/getaudienceybyaudienceid.md) - [Get advanced audiences for an ad order](https://docs.api.viantinc.com/reference/getadvancedaudiencesforadorder.md): Retrieve the Audiences for a given Ad Order ID in advanced mode. Note that the Ad Order ID is a required parameter on the URL. - [Create audience](https://docs.api.viantinc.com/reference/createaudienceresful.md): Creates an Audience with advanced targeting and exclusion expressions. The request body must include the Ad Order ID to which the Audience is assigned. - [Update audience](https://docs.api.viantinc.com/reference/updateaudienceresful.md): Updates an Audience with advanced targeting and exclusion expressions. The request body must include the Ad Order ID to which the Audience is assigned. - [Audience Advanced Targeting Types](https://docs.api.viantinc.com/reference/audience-advanced-targeting-types.md) - [Get Audience by External ID](https://docs.api.viantinc.com/reference/get-audience-by-external-id.md): Returns an audience found by externalAudienceId - [Create or edit audience with advanced mode - DEPRECATED](https://docs.api.viantinc.com/reference/createoreditaudiencewithadvancedmode.md): Create or update an Audience within an Ad Order with advanced targeting and exclusion expressions. Note that the Ad Order ID is a required parameter on the URL. - [Get creatives](https://docs.api.viantinc.com/reference/getcreativesrestful.md): Returns details about all of the creatives under the account. - [Get Ad Orders and Audiences for a Creative](https://docs.api.viantinc.com/reference/getadordersandaudiencesbycreativeid.md): Returns Ad Orders and Audiences associated with the Creative - [Get creative by creative ID](https://docs.api.viantinc.com/reference/getcreativebycreativeid.md): Get Creative by ID - [Get Creative by External ID](https://docs.api.viantinc.com/reference/get-creative-by-external-id.md): Example of using the "Get Creatives" RESTful endpoint with a query param - [Create creative](https://docs.api.viantinc.com/reference/createcreativesresful.md): Create a new creative via POST. Supports multiple creative kinds: Custom Tag (BANNER+TAG), Hosted Banner, Video (VAST URL/XML/Hosted), Audio, Native, and DOOH. Provide creativeType, creativeSubtype, type.mediaType, and type-specific payload; omit id. One of advertiserId or campaignId is required. - [Upload creative](https://docs.api.viantinc.com/reference/uploadcreative.md): Upload a single asset file (image, video, or audio) to get a CDN URL (assetUrl). Use that URL when creating a hosted creative via Create Creative. Requires advertiserId, filename, and file (multipart/form-data). - [Update creative](https://docs.api.viantinc.com/reference/updatecreativeresful.md): Update an existing creative by ID. Send only the fields you want to change; omitted fields are unchanged. Creative type cannot be changed. For Hosted Banner, include both imageUrl and landingPageUrl. - [Assign Creatives to Ad Orders](https://docs.api.viantinc.com/reference/assigncreativestoadorders.md): Assign Creatives to Ad Orders - [Assign creatives to audiences](https://docs.api.viantinc.com/reference/assigncreativestoaudiences.md): Assign multiple creatives to multiple audiences - [Remove Creatives from an Ad Order](https://docs.api.viantinc.com/reference/removecreativesfromadorder.md): Removes Creatives from an Ad Order - [Delete creative](https://docs.api.viantinc.com/reference/deletecreative.md): Delete Creative by ID - [Creative Type IDs](https://docs.api.viantinc.com/reference/creative-type-ids.md): Creative Type info - [Create or update creative - DEPRECATED](https://docs.api.viantinc.com/reference/createcreative.md): Allows updating or creating specific types of creatives. Currently Banner creatives and CustomTag (HTML/JS) creatives can be updated, and only CustomTag creatives can be created. When adding a new creative, id must be null, and the fields campaignId, creativeType, and creativeSubType must be provided. As of this writing only the HTML/JS based CustomTag banners can be created, so the caller must set: "creativeType": "banner" and "creativeSubtype": "htmlTag", - [Get creatives for an audience - DEPRECATED](https://docs.api.viantinc.com/reference/getcreativesbyaudienceid.md): Returns creatives associated to the audience - [Get creatives for an ad order - DEPRECATED](https://docs.api.viantinc.com/reference/getcreativesbyadorderid.md): Returns Creatives associated with an Ad Order - [Get site lists by advertiser ID](https://docs.api.viantinc.com/reference/getsitelistsbyadvertiserid.md): Returns details about uploaded Site Lists. - [Get all site lists](https://docs.api.viantinc.com/reference/getallsitelists.md): Returns details about all of the Site Lists under the account. - [Get site lists by site ID](https://docs.api.viantinc.com/reference/getsitelistsbyid.md): Returns details about Site List by ID. - [Create new site list](https://docs.api.viantinc.com/reference/createnewsitelist.md): Creates a new site list - [Append sites to site list](https://docs.api.viantinc.com/reference/appendsitestositelist.md): Appends sites to an existing site list. - [Overwrite sites to ID based site list](https://docs.api.viantinc.com/reference/overwritesitestoidbasedsitelist.md): Overwrite sites of an existing site list. - [Remove sites from site list](https://docs.api.viantinc.com/reference/removesitesfromsitelist.md): Remove sites from an existing site list. - [Get all PMP deals](https://docs.api.viantinc.com/reference/getpmpdealsrestful.md): Returns the details for all PMP deals under the account. - [Get PMP deal by ID](https://docs.api.viantinc.com/reference/getdealbyidrestful.md): Retrieve deal by deal ID. - [Create new deal](https://docs.api.viantinc.com/reference/createdealrestful.md): Creates a new PMP deal. - [Update deal](https://docs.api.viantinc.com/reference/updatedealrestful.md): Modifies a PMP deal. - [Get PMP deal by ID - DEPRECATED](https://docs.api.viantinc.com/reference/getpmpdealbyid.md): Returns details of a PMP deal by internal Viant ID. - [Get all PMP deals - DEPRECATED](https://docs.api.viantinc.com/reference/getallpmpdeals.md): Returns the details for all PMP deals under the account. - [Save PMP deal - DEPRECATED](https://docs.api.viantinc.com/reference/savepmpdeal.md): Creates or modifies a PMP deal. If the ID is null, a new deal will be created. If the advertiserId is null, the deal will be available across the account. - [Get PMP deal exchanges](https://docs.api.viantinc.com/reference/getpmpdealexchanges.md): Returns the IDs of all exchanges that support PMP deals. You will need to reference the appropriate exchange ID when setting up a new deal. - [Get all exchanges](https://docs.api.viantinc.com/reference/getallexchangesrestful.md): Returns the details of all Exchanges that can be targeted in ad order audiences. - [Get exchange by ID](https://docs.api.viantinc.com/reference/getexchangebyid.md): Returns the details of an Exchange by Id. - [Get all exchanges - DEPRECATED](https://docs.api.viantinc.com/reference/getallexchanges.md): Returns the details of all Exchanges that can be targeted in ad order audiences. - [Get campaign fees](https://docs.api.viantinc.com/reference/getcampaignfees.md): Returns the ids of fees assigned to the specified Campaign - [Append campaign fees](https://docs.api.viantinc.com/reference/appendcampaignfees.md): Assigns the supplied fee type ids to the specified Campaign in addition to any that are already assigned. - [Remove campaign fees](https://docs.api.viantinc.com/reference/removecampaignfees.md): Removes the supplied fee type ids from the specified Campaign. - [Overwrite campaign fees](https://docs.api.viantinc.com/reference/overwritecampaignfees.md): Replaces the assigned fees for the specified Campaign with the supplied list of fee type ids. - [Get ad order fees](https://docs.api.viantinc.com/reference/getadorderfees.md): Returns the ids of fees assigned to the specified Ad Order - [Append ad order fees](https://docs.api.viantinc.com/reference/appendadorderfees.md): Assigns the supplied fee type ids to the specified Ad Order in addition to any that are already assigned. - [Remove ad order fees](https://docs.api.viantinc.com/reference/removeadorderfees.md): Removes the supplied fee type ids from the specified Ad Order. - [Overwrite ad order fees](https://docs.api.viantinc.com/reference/overwriteadorderfees.md): Replaces the assigned fees for the specified Ad Order with the supplied list of fee type ids. - [IAB Category Values](https://docs.api.viantinc.com/reference/iab-category-values.md) - [Creative Type IDs](https://docs.api.viantinc.com/reference/creative-type-ids-1.md) - [How to Get Started?](https://docs.api.viantinc.com/reference/how-to-get-started.md) - [Authentication Flow - For Advertisers/Agencies](https://docs.api.viantinc.com/reference/authentication-flow-for-advertisersagencies.md) - [Authentication Flow - For CDPs/Data Partners](https://docs.api.viantinc.com/reference/authentication-flow-for-cdpsdata-partners.md) - [Create New Audience Segment](https://docs.api.viantinc.com/reference/create-new-audience-segment.md) - [Prepaing your user data](https://docs.api.viantinc.com/reference/prepaing-your-user-data.md) - [Add Audience Data](https://docs.api.viantinc.com/reference/add-audience-data.md) - [Expire Audience Segment](https://docs.api.viantinc.com/reference/expire-audience-segment.md) - [Expire Inividual Audience IDs](https://docs.api.viantinc.com/reference/expire-inividual-audience-ids.md): Expire a subset of audience IDs within an existing audience segment - [Replace Audience IDs](https://docs.api.viantinc.com/reference/replace-audience-ids.md): Replace all of the audience IDs within current segment with a new batch of audeince IDs using this method. - [Get Audience Details (single segment)](https://docs.api.viantinc.com/reference/get-audience-details-single-segment.md) - [Get Audiences (List)](https://docs.api.viantinc.com/reference/get-audiences-list.md) - [Cross-Audience Opt-Out](https://docs.api.viantinc.com/reference/cross-audience-opt-out.md) - [Job Status Retrieval](https://docs.api.viantinc.com/reference/job-status-retrieval.md) - [Onboard Online/Offline Conversion Data](https://docs.api.viantinc.com/reference/onboard-onlineoffline-conversion-data.md) - [General Troubleshooting](https://docs.api.viantinc.com/reference/general-troubleshooting.md) - [Introduction](https://docs.api.viantinc.com/reference/introduction.md) - [Create a Custom Report](https://docs.api.viantinc.com/reference/createcustomreport.md): **Create a Custom Report** To begin, click "Try it out" to provide the desired filters, fields, and metrics of your custom report. These may vary based on report type. Use the "Examples" dropdown to automatically generate a request with all of the supported filters, fields, and metrics available with each report type. Before executing a request, you can edit and/or remove items in the request body. *For a full list of supported filters, fields, and metrics, and their requirement specifications, please refer to the schemas at the bottom of this document.* **Requirements** To successfully generate a new report, at least one supported field must be included in the request body, and the `from_date` and `to_date` filters must be specified. Please note: this API uses the [ISO format](https://www.iso.org/iso-8601-date-and-time-format.html) for all date and time entries. **Next Steps** A successful response will return a unique token necessary to obtain your report status and, upon completion, a download url. **Please keep record of the unique token provided in this response.** This token is required to execute the GET request below labeled "Check Report Status by Token." - [View All Pending & In-Progress Reports](https://docs.api.viantinc.com/reference/getreports.md): **View All Pending & In-Progress Reports** To begin, click "Try it out," then the blue "Execute" button that appears below. A successful response will return a list of all pending and in-progress reports. An example response of a successful request is provided below for reference. - [Check Report Status by Token](https://docs.api.viantinc.com/reference/getreportbytoken.md): **Check Report Status by Token** To begin, click "Try it out" and provide the unique token returned in your POST response in the input field that appears below. Click the blue "Execute" button to check the status of the report. A successful response will return the status of a pending, in-progress, or completed report. A "completed" status indicates that your report is ready for consumption via the provided `download_url`. Example responses of pending, in-progress, and completed reports are provided below for reference. - [Schemas](https://docs.api.viantinc.com/reference/schemas.md) ## Changelog - [VDP Connect - New Audience Management Enhancements (2025-11-19)](https://docs.api.viantinc.com/changelog/new-audience-management-enhancements-2025-11-19.md) - [VDP Connect - Now Supports Conversion API (CAPI) + Audience Lifecycle Management](https://docs.api.viantinc.com/changelog/vdp-connect-now-supports-conversion-api-capi-audience-lifecycle-management.md) - [VDP Connect - API v1.0 launched](https://docs.api.viantinc.com/changelog/vdp-connect-api-v10-launched-may-15-2025.md)