---
title: "Add third-party VAST tracking events — banner"
type: reference
method: PUT
path: /rest-api/banner/{id}/vast/tracking-events.do
tag: "VAST"
---

# Add third-party VAST tracking events — banner

`PUT https://YOUR-NETWORK-DOMAIN/rest-api/banner/{id}/vast/tracking-events.do`

Adds one or more third-party tracking event pixels to the specified entity. Each event in the request body JSON array must specify a 'type' (CLICK, IMPRESSION, or EVENT), a valid 'url' to fire, and for EVENT type a 'vastEvent' name (e.g., AD_MUTE). URLs are validated before saving; invalid URLs cause a 400 error. The event list must not be empty. The caller must have update permissions on the entity. Returns a JSON object with a 'success' boolean.

## Path params

| Name | Type | Required | Example | Description |
|---|---|---|---|---|
| `id` | integer | yes | `5001` | The unique numeric identifier of the entity to add third-party tracking events to |

## Body

A JSON body. An example, built from the field definitions:

```json
[
  {
    "id": "12345",
    "url": "https://tracker.example.com/vast?event=impression&cb=[CACHEBUSTER]",
    "type": "EVENT",
    "vastEvent": "AD_START"
  }
]
```

## Responses

- `200` — Third-party tracking events added successfully
- `400` — Invalid URL, event type, or empty event list
- `401` — Authentication error
- `403` — Not enough permissions
- `404` — The entity does not exist or is deleted

## Example request

```bash
curl --request PUT \
  --url 'https://YOUR-NETWORK-DOMAIN/rest-api/banner/5001/vast/tracking-events.do' \
  --header 'X-Api-Key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '[
  {
    "id": "12345",
    "url": "https://tracker.example.com/vast?event=impression&cb=[CACHEBUSTER]",
    "type": "EVENT",
    "vastEvent": "AD_START"
  }
]'
```

Source: https://epom.com/ad-server/docs/api/vast/put-banner-vast-tracking-events