Attach brought creatives to a campaign
curl --request POST \
--url https://api.interchange.io/api/v2/buyer/campaigns/{campaignId}/creative-confirmation \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://api.interchange.io/api/v2/buyer/campaigns/{campaignId}/creative-confirmation"
payload = {}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.interchange.io/api/v2/buyer/campaigns/{campaignId}/creative-confirmation', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"coverage": {
"total_placements": 0,
"covered_placements": 0
},
"files": [
{
"file_id": "<string>",
"filename": "<string>",
"media_kind": "image",
"status": "recognizing",
"detected": {
"dimensions": "<string>",
"duration": "<string>",
"codec": "<string>",
"bitrate": "<string>",
"frameRate": "<string>",
"sampleRate": "<string>",
"container": "<string>",
"fileSize": "<string>",
"tagType": "<string>"
},
"suggestion": "<string>",
"format_incompatible": "<string>",
"preview_url": "<string>",
"message": "<string>",
"suggestions": [
"<string>"
],
"accepts_context": true,
"placements": [
{
"placement_id": "<string>",
"placement_name": "<string>",
"product_name": "<string>"
}
]
}
],
"campaign_id": "<string>",
"campaign_name": "<string>",
"missing_placements": [
{
"placement_id": "<string>",
"placement_name": "<string>",
"spec_label": "<string>",
"product_name": "<string>"
}
],
"available_placements": [
{
"placement_id": "<string>",
"placement_name": "<string>",
"spec_label": "<string>",
"product_name": "<string>"
}
],
"truncated": true,
"unreadable_placements": 4503599627370495,
"skipped_files_notice": "<string>",
"skipped_files": [
"<string>"
],
"attachment_summary": {
"requested_creatives": 4503599627370495,
"created_creatives": 4503599627370495,
"failed_creatives": 4503599627370495
}
}{
"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": {}
}
}Creatives
Attach brought creatives to a campaign
Two paths, then returns the same confirmation card: assets creates a creative on the campaign from each upload (same-turn); creative_ids assigns advertiser-level masters saved earlier at intent time (cross-turn). Either way images auto-map by size to a required placement.
POST
/
campaigns
/
{campaignId}
/
creative-confirmation
Attach brought creatives to a campaign
curl --request POST \
--url https://api.interchange.io/api/v2/buyer/campaigns/{campaignId}/creative-confirmation \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://api.interchange.io/api/v2/buyer/campaigns/{campaignId}/creative-confirmation"
payload = {}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.interchange.io/api/v2/buyer/campaigns/{campaignId}/creative-confirmation', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"coverage": {
"total_placements": 0,
"covered_placements": 0
},
"files": [
{
"file_id": "<string>",
"filename": "<string>",
"media_kind": "image",
"status": "recognizing",
"detected": {
"dimensions": "<string>",
"duration": "<string>",
"codec": "<string>",
"bitrate": "<string>",
"frameRate": "<string>",
"sampleRate": "<string>",
"container": "<string>",
"fileSize": "<string>",
"tagType": "<string>"
},
"suggestion": "<string>",
"format_incompatible": "<string>",
"preview_url": "<string>",
"message": "<string>",
"suggestions": [
"<string>"
],
"accepts_context": true,
"placements": [
{
"placement_id": "<string>",
"placement_name": "<string>",
"product_name": "<string>"
}
]
}
],
"campaign_id": "<string>",
"campaign_name": "<string>",
"missing_placements": [
{
"placement_id": "<string>",
"placement_name": "<string>",
"spec_label": "<string>",
"product_name": "<string>"
}
],
"available_placements": [
{
"placement_id": "<string>",
"placement_name": "<string>",
"spec_label": "<string>",
"product_name": "<string>"
}
],
"truncated": true,
"unreadable_placements": 4503599627370495,
"skipped_files_notice": "<string>",
"skipped_files": [
"<string>"
],
"attachment_summary": {
"requested_creatives": 4503599627370495,
"created_creatives": 4503599627370495,
"failed_creatives": 4503599627370495
}
}{
"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
Body
application/json
Response
Attach brought creatives to a campaign
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Required range:
0 < x <= 9007199254740991Show child attributes
Show child attributes