Documentation Index
Fetch the complete documentation index at: https://docs.addressable.tv/llms.txt
Use this file to discover all available pages before exploring further.
Example API Usage
Here are examples of how to create a campaign using the Addressable.tv API in different programming languages:
import requests
import json
url = "https://api.addressable.tv/client/campaigns"
headers = {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json"
}
payload = {
"name": "Summer 2025 Brand Campaign",
"nickname": "SUM25",
"advertiserName": "Acme Corporation",
"clientCampaignId": "CAMP-2025-001",
"networkExclusions": ["ESPN+", "Fox Sports"]
}
response = requests.post(url, headers=headers, json=payload)
data = response.json()
print(data)
Request Schema
| Field | Type | Required | Description |
|---|
name | string | Yes | Campaign name |
nickname | string | No | Short campaign identifier |
advertiserName | string | Yes | Advertiser name (will fuzzy-match to existing or create new) |
clientCampaignId | string | Yes | Your internal campaign identifier |
clientAgency | string | No | Agency of Record (AOR) for this campaign |
networkExclusions | string[] | No | List of networks to exclude from activations |
Response Schema
The API returns the created campaign object with additional system-generated fields.
Example Response
{
"id": 1234,
"name": "Summer 2025 Brand Campaign",
"nickName": "SUM25",
"status": "NEEDS_APPROVAL",
"clientCampaignId": "CAMP-2025-001",
"clientAgency": "",
"excludedNetworks": ["ESPN+", "Fox Sports"],
"createdAt": "2025-01-15T10:30:00.000Z",
"invalidNetworkExclusions": ["Fox Sports"]
}
Response Fields
| Field | Type | Description |
|---|
id | number | The unique campaign ID. Save this - you’ll need it when creating orders. |
name | string | Campaign name |
nickName | string | Short campaign identifier |
status | string | Campaign status (see status values below) |
clientCampaignId | string | Your internal campaign identifier |
clientAgency | string | Agency of Record (AOR) for this campaign |
excludedNetworks | string[] | List of networks excluded from activations |
createdAt | string (ISO 8601) | Timestamp when the campaign was created |
invalidNetworkExclusions | string[] | Networks in your exclusion list that don’t match known networks |
Status Values
| Status | Description |
|---|
NEEDS_APPROVAL | Newly created, awaiting review |
PENDING | Approved, waiting to start |
ACTIVE | Currently running |
PAUSED | Temporarily paused |
COMPLETE | Finished delivering |
CANCELLED | Cancelled before completion |
Error Responses
Example Error Response
{
"statusCode": 400,
"message": ["name is required", "advertiserName is required"],
"error": "Bad Request"
}
Common Errors
| Error | Cause |
|---|
name is required | Missing required name field |
advertiserName is required | Missing required advertiserName field |
clientCampaignId is required | Missing required clientCampaignId field |
Notes
- Initial status is always
NEEDS_APPROVAL - your account team will review and activate
- Review
invalidNetworkExclusions in the response to ensure your network exclusions are recognized
- Save the returned
id - you’ll need it when creating orders