curl --request GET \
--url https://api.interchange.io/api/v2/buyer/campaigns/{campaignId}/creatives/templates \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.interchange.io/api/v2/buyer/campaigns/{campaignId}/creatives/templates"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.interchange.io/api/v2/buyer/campaigns/{campaignId}/creatives/templates', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"templates": [
{
"template_id": "<string>",
"name": "<string>",
"description": "<string>",
"category": "<string>",
"assets_required": [
{
"item_type": "individual",
"asset_id": "<string>",
"required": true,
"asset_type": "image",
"asset_role": "<string>",
"overlays": [
{
"id": "<string>",
"bounds": {
"x": 123,
"y": 123,
"width": 1,
"height": 1,
"unit": "px"
},
"description": "<string>",
"visual": {
"url": "<string>",
"light": "<string>",
"dark": "<string>"
}
}
],
"asset_group_id": "<string>",
"requirements": {
"min_width": 123,
"max_width": 123,
"min_height": 123,
"max_height": 123,
"unit": "px",
"aspect_ratio": "<string>",
"formats": [
"jpg"
],
"min_dpi": 2,
"bleed": {
"uniform": 1
},
"color_space": "rgb",
"max_file_size_kb": 2,
"transparency_required": true,
"animation_allowed": true,
"max_animation_duration_ms": 1,
"max_weight_grams": 123
}
}
],
"expects_html_wrapper": true,
"supports_tag_input": true,
"supported_macros": [
"<string>"
],
"renders": [
{
"role": "<string>",
"width": 123,
"height": 123,
"min_width": 123,
"max_width": 123,
"min_height": 123,
"max_height": 123,
"aspect_ratio": "<string>",
"responsive": {
"width": true,
"height": true
}
}
]
}
],
"campaign_format_ids": [
{
"id": "<string>",
"agent_url": "<string>",
"width": 123,
"height": 123,
"duration_ms": 123
}
],
"campaign_format_options": [
{
"format_kind": "video_hosted",
"format_option_id": "<string>",
"display_name": "<string>",
"params": {
"containers": [
"mp4"
],
"video_codecs": [
"h264"
],
"audio_codecs": [
"aac"
]
}
}
],
"campaign_products": [
{
"product_id": "<string>",
"formats": [
{
"id": "<string>",
"agent_url": "<string>",
"width": 123,
"height": 123,
"duration_ms": 123
}
],
"format_options": [
{
"format_kind": "video_hosted",
"format_option_id": "<string>",
"display_name": "<string>",
"params": {
"containers": [
"mp4"
],
"video_codecs": [
"h264"
],
"audio_codecs": [
"aac"
]
}
}
]
}
]
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}List creative templates
List available creative templates plus the selected products required legacy format IDs and V2 format options for a campaign.
curl --request GET \
--url https://api.interchange.io/api/v2/buyer/campaigns/{campaignId}/creatives/templates \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.interchange.io/api/v2/buyer/campaigns/{campaignId}/creatives/templates"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.interchange.io/api/v2/buyer/campaigns/{campaignId}/creatives/templates', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"templates": [
{
"template_id": "<string>",
"name": "<string>",
"description": "<string>",
"category": "<string>",
"assets_required": [
{
"item_type": "individual",
"asset_id": "<string>",
"required": true,
"asset_type": "image",
"asset_role": "<string>",
"overlays": [
{
"id": "<string>",
"bounds": {
"x": 123,
"y": 123,
"width": 1,
"height": 1,
"unit": "px"
},
"description": "<string>",
"visual": {
"url": "<string>",
"light": "<string>",
"dark": "<string>"
}
}
],
"asset_group_id": "<string>",
"requirements": {
"min_width": 123,
"max_width": 123,
"min_height": 123,
"max_height": 123,
"unit": "px",
"aspect_ratio": "<string>",
"formats": [
"jpg"
],
"min_dpi": 2,
"bleed": {
"uniform": 1
},
"color_space": "rgb",
"max_file_size_kb": 2,
"transparency_required": true,
"animation_allowed": true,
"max_animation_duration_ms": 1,
"max_weight_grams": 123
}
}
],
"expects_html_wrapper": true,
"supports_tag_input": true,
"supported_macros": [
"<string>"
],
"renders": [
{
"role": "<string>",
"width": 123,
"height": 123,
"min_width": 123,
"max_width": 123,
"min_height": 123,
"max_height": 123,
"aspect_ratio": "<string>",
"responsive": {
"width": true,
"height": true
}
}
]
}
],
"campaign_format_ids": [
{
"id": "<string>",
"agent_url": "<string>",
"width": 123,
"height": 123,
"duration_ms": 123
}
],
"campaign_format_options": [
{
"format_kind": "video_hosted",
"format_option_id": "<string>",
"display_name": "<string>",
"params": {
"containers": [
"mp4"
],
"video_codecs": [
"h264"
],
"audio_codecs": [
"aac"
]
}
}
],
"campaign_products": [
{
"product_id": "<string>",
"formats": [
{
"id": "<string>",
"agent_url": "<string>",
"width": 123,
"height": 123,
"duration_ms": 123
}
],
"format_options": [
{
"format_kind": "video_hosted",
"format_option_id": "<string>",
"display_name": "<string>",
"params": {
"containers": [
"mp4"
],
"video_codecs": [
"h264"
],
"audio_codecs": [
"aac"
]
}
}
]
}
]
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}{
"data": null,
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"details": {}
}
}Authorizations
API key or access token
Path Parameters
Campaign ID
1Response
List creative templates
Available creative templates for a campaign
Templates available for this campaign
Show child attributes
Show child attributes
Deduplicated legacy format IDs from campaign products (flat list). V2-native product declarations are returned in campaign_format_options.
Show child attributes
Show child attributes
Deduplicated exact AdCP 3.1 format_options from campaign products. Product-scoped options with the same format_option_id remain distinct when their declarations differ.
Show child attributes
Show child attributes
Formats grouped per product. Each product requires at least one creative matching one of its legacy formats or V2 format_options.
Show child attributes
Show child attributes