---
title: "VAST API endpoints"
description: "Endpoint reference for the VAST tag (24 endpoints): VAST video ad configuration — tracking events, progress events, and third-party pixels"
type: "reference"
audience: [network-manager, admin]
keywords: [api, rest, endpoints, vast]
---

Fetch the complete documentation index at: https://epom.com/ad-server/docs/llms.txt. Use this file to discover all available pages before exploring further. Append .md to any documentation page URL to get its markdown version.

# VAST API endpoints

VAST video ad configuration — tracking events, progress events, and third-party pixels. 24 endpoints, generated from the OpenAPI spec. Authentication, the response envelope, pagination and error codes are shared by all endpoints — see [REST API overview](https://epom.com/ad-server/docs/api.md). Parameters marked `form` go in an `application/x-www-form-urlencoded` request body.

### GET /rest-api/banner/{bannerId}/vast/companions.do

[Request examples](https://epom.com/ad-server/docs/api/vast/get-banner-vast-companions.md)

List a video banner's VAST companions.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `bannerId` | path | integer | yes | Video banner id |

**Responses:** `200` — 'companions' lists {id, type, width, height, creativeType, fileName, fileUid, iframeUrl, markup, templateId, templateName} · `404` — The banner does not exist or is deleted. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/banner/{bannerId}/vast/companions.do

[Request examples](https://epom.com/ad-server/docs/api/vast/post-banner-vast-companions.md)

Add a VAST companion to a video banner.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `bannerId` | path | integer | yes | Video banner id |
| `type` | form | string | no | Companion resource type Values: `STATIC`, `HTML_TEMPLATE`, `HTML_STATIC`, `IFRAME`. |
| `externalCreativeLink` | form | string | no | Image URL for STATIC, frame URL for IFRAME |
| `markup` | form | string | no | HTML markup for HTML_STATIC |
| `templateId` | form | integer | no | Video Companion template id for HTML_TEMPLATE |
| `width` | form | integer | conditional | Conditionally required — for IFRAME, HTML_STATIC and HTML_TEMPLATE companions. Width in pixels |
| `height` | form | integer | conditional | Conditionally required — for IFRAME, HTML_STATIC and HTML_TEMPLATE companions. Height in pixels |

**Responses:** `200` — {success:true, id, companions:[…]}; success:false with 'errors' naming the missing or invalid field · `404` — The banner does not exist or is deleted. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### DELETE /rest-api/banner/{bannerId}/vast/companions/{companionId}.do

[Request examples](https://epom.com/ad-server/docs/api/vast/delete-banner-vast-companions.md)

Delete a VAST companion.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `bannerId` | path | integer | yes | Video banner id |
| `companionId` | path | integer | yes | Companion id |

**Responses:** `200` — The banner's remaining companions · `404` — The banner does not exist, or the companion is not one of its companions. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/banner/{bannerId}/vast/media-files.do

[Request examples](https://epom.com/ad-server/docs/api/vast/get-banner-vast-media-files.md)

List an Advanced Local Video(s) banner's video files.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `bannerId` | path | integer | yes | Advanced Local Video(s) banner id |

**Responses:** `200` — {bannerId, total, mediaFiles:[{id, fileName, width, height, bitrate, duration, contentType, mediaAssetId, url}]} · `404` — The banner does not exist or is deleted. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/banner/{bannerId}/vast/media-files.do

[Request examples](https://epom.com/ad-server/docs/api/vast/post-banner-vast-media-files.md)

Upload a video file to an Advanced Local Video(s) banner.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `bannerId` | path | integer | yes | Advanced Local Video(s) banner id |
| `url` | form | string | no | Public http(s) link to the video; used when no file is sent |
| `scaleTo` | form | array&lt;string&gt; | no | Renditions to store where the network compresses video creatives Values: `ORIGINAL`, `_1080P`, `_720P`, `_480P`, `_360P`, `_320P`, `_240P`. |

**Request body** (`multipart/form-data`): form with field `file` — The video, as a multipart file; or send url instead.

**Responses:** `200` — {bannerId, created:[ids], total, mediaFiles:[…]}; a rendition that failed while others were stored is named in 'msg' · `404` — The banner does not exist or is deleted. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### DELETE /rest-api/banner/{bannerId}/vast/media-files/{mediaFileId}.do

[Request examples](https://epom.com/ad-server/docs/api/vast/delete-banner-vast-media-files.md)

Delete a video file of an Advanced Local Video(s) banner.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `bannerId` | path | integer | yes | Advanced Local Video(s) banner id |
| `mediaFileId` | path | integer | yes | Video file id |

**Responses:** `200` — The banner's remaining video files · `404` — The banner does not exist, or the file is not one of its video files. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/banner/{bannerId}/vast/media-files/from-library.do

[Request examples](https://epom.com/ad-server/docs/api/vast/post-banner-vast-media-files-from-library.md)

Add a media library video to an Advanced Local Video(s) banner.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `bannerId` | path | integer | yes | Advanced Local Video(s) banner id |
| `mediaAssetId` | form | integer | yes | Media library video id |

**Responses:** `200` — {bannerId, created:[id], alreadyAdded, total, mediaFiles:[…]} · `404` — The banner, or the library file, does not exist or is not visible. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/banner/{id}/vast/events.do

[Request examples](https://epom.com/ad-server/docs/api/vast/get-banner-vast-events.md)

Get VAST tracking events.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `id` | path | integer | yes | The unique numeric identifier of the entity to retrieve VAST events for |

**Responses:** `200` — List of VAST tracking events with enabled status · `404` — The entity does not exist or is deleted. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/banner/{id}/vast/events.do

[Request examples](https://epom.com/ad-server/docs/api/vast/post-banner-vast-events.md)

Update VAST tracking events.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `id` | path | integer | yes | The unique numeric identifier of the entity to update VAST events for |

**Request body** (`application/json`, required): JSON array of string values.

**Responses:** `200` — VAST tracking events updated successfully · `404` — The entity does not exist or is deleted. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/banner/{id}/vast/progress-events.do

[Request examples](https://epom.com/ad-server/docs/api/vast/get-banner-vast-progress-events.md)

Get VAST progress events.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `id` | path | integer | yes | The unique numeric identifier of the entity to retrieve progress events for |

**Responses:** `200` — List of VAST progress events · `404` — The entity does not exist or is deleted. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### PUT /rest-api/banner/{id}/vast/progress-events.do

[Request examples](https://epom.com/ad-server/docs/api/vast/put-banner-vast-progress-events.md)

Add VAST progress events.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `id` | path | integer | yes | The unique numeric identifier of the entity to add progress events to |

**Request body** (`application/json`, required): JSON array; each element a JSON object with fields `actionId`, `id`, `time`.

**Responses:** `200` — VAST progress events added successfully · `404` — The entity does not exist or is deleted. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### DELETE /rest-api/banner/{id}/vast/progress-events.do

[Request examples](https://epom.com/ad-server/docs/api/vast/delete-banner-vast-progress-events.md)

Delete VAST progress events.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `id` | path | integer | yes | The unique numeric identifier of the entity to delete progress events from |

**Request body** (`application/json`, required): JSON array of integer values.

**Responses:** `200` — VAST progress events deleted successfully · `404` — One of the ids is not a progress event of this entity; the message names it and nothing is deleted. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/banner/{id}/vast/tracking-events.do

[Request examples](https://epom.com/ad-server/docs/api/vast/get-banner-vast-tracking-events.md)

Get third-party VAST tracking events.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `id` | path | integer | yes | The unique numeric identifier of the entity to retrieve third-party tracking events for |

**Responses:** `200` — List of third-party tracking events · `404` — The entity does not exist or is deleted. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### PUT /rest-api/banner/{id}/vast/tracking-events.do

[Request examples](https://epom.com/ad-server/docs/api/vast/put-banner-vast-tracking-events.md)

Add third-party VAST tracking events.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `id` | path | integer | yes | The unique numeric identifier of the entity to add third-party tracking events to |

**Request body** (`application/json`, required): JSON array; each element a JSON object with fields `id`, `type`, `url`, `vastEvent`.

**Responses:** `200` — Third-party tracking events added successfully · `404` — The entity does not exist or is deleted. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### DELETE /rest-api/banner/{id}/vast/tracking-events.do

[Request examples](https://epom.com/ad-server/docs/api/vast/delete-banner-vast-tracking-events.md)

Delete third-party VAST tracking events.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `id` | path | integer | yes | The unique numeric identifier of the entity to delete third-party tracking events from |

**Request body** (`application/json`, required): JSON array of integer values.

**Responses:** `200` — Third-party tracking events deleted successfully · `404` — One of the ids is not a tracking event of this entity; the message names it and nothing is deleted. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/placement/{id}/vast/events.do

[Request examples](https://epom.com/ad-server/docs/api/vast/get-placement-vast-events.md)

Get VAST tracking events.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `id` | path | integer | yes | The unique numeric identifier of the entity to retrieve VAST events for |

**Responses:** `200` — List of VAST tracking events with enabled status · `404` — The entity does not exist or is deleted. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### POST /rest-api/placement/{id}/vast/events.do

[Request examples](https://epom.com/ad-server/docs/api/vast/post-placement-vast-events.md)

Update VAST tracking events.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `id` | path | integer | yes | The unique numeric identifier of the entity to update VAST events for |

**Request body** (`application/json`, required): JSON array of string values.

**Responses:** `200` — VAST tracking events updated successfully · `404` — The entity does not exist or is deleted. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/placement/{id}/vast/progress-events.do

[Request examples](https://epom.com/ad-server/docs/api/vast/get-placement-vast-progress-events.md)

Get VAST progress events.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `id` | path | integer | yes | The unique numeric identifier of the entity to retrieve progress events for |

**Responses:** `200` — List of VAST progress events · `404` — The entity does not exist or is deleted. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### PUT /rest-api/placement/{id}/vast/progress-events.do

[Request examples](https://epom.com/ad-server/docs/api/vast/put-placement-vast-progress-events.md)

Add VAST progress events.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `id` | path | integer | yes | The unique numeric identifier of the entity to add progress events to |

**Request body** (`application/json`, required): JSON array; each element a JSON object with fields `actionId`, `id`, `time`.

**Responses:** `200` — VAST progress events added successfully · `404` — The entity does not exist or is deleted. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### DELETE /rest-api/placement/{id}/vast/progress-events.do

[Request examples](https://epom.com/ad-server/docs/api/vast/delete-placement-vast-progress-events.md)

Delete VAST progress events.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `id` | path | integer | yes | The unique numeric identifier of the entity to delete progress events from |

**Request body** (`application/json`, required): JSON array of integer values.

**Responses:** `200` — VAST progress events deleted successfully · `404` — One of the ids is not a progress event of this entity; the message names it and nothing is deleted. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/placement/{id}/vast/tracking-events.do

[Request examples](https://epom.com/ad-server/docs/api/vast/get-placement-vast-tracking-events.md)

Get third-party VAST tracking events.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `id` | path | integer | yes | The unique numeric identifier of the entity to retrieve third-party tracking events for |

**Responses:** `200` — List of third-party tracking events · `404` — The entity does not exist or is deleted. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### PUT /rest-api/placement/{id}/vast/tracking-events.do

[Request examples](https://epom.com/ad-server/docs/api/vast/put-placement-vast-tracking-events.md)

Add third-party VAST tracking events.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `id` | path | integer | yes | The unique numeric identifier of the entity to add third-party tracking events to |

**Request body** (`application/json`, required): JSON array; each element a JSON object with fields `id`, `type`, `url`, `vastEvent`.

**Responses:** `200` — Third-party tracking events added successfully · `404` — The entity does not exist or is deleted. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### DELETE /rest-api/placement/{id}/vast/tracking-events.do

[Request examples](https://epom.com/ad-server/docs/api/vast/delete-placement-vast-tracking-events.md)

Delete third-party VAST tracking events.

| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| `id` | path | integer | yes | The unique numeric identifier of the entity to delete third-party tracking events from |

**Request body** (`application/json`, required): JSON array of integer values.

**Responses:** `200` — Third-party tracking events deleted successfully · `404` — One of the ids is not a tracking event of this entity; the message names it and nothing is deleted. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

### GET /rest-api/vpaid/framework/list.do

[Request examples](https://epom.com/ad-server/docs/api/vast/get-vpaid-framework-list.md)

Get active VPAID frameworks.

No parameters beyond authentication.

**Responses:** `200` — List of active VPAID frameworks · `204` — No active VPAID frameworks found. Errors follow the [shared conventions](https://epom.com/ad-server/docs/api.md#error-codes).

## Related

- [REST API overview](https://epom.com/ad-server/docs/api.md) — authentication and conventions
- [API endpoint reference by tag](https://epom.com/ad-server/docs/api/endpoints.md)
- [Network services and miscellaneous APIs](https://epom.com/ad-server/docs/api/network-and-misc.md)

<!-- Generated from the OpenAPI spec. Do not edit by hand. -->