Get campaign workspace
curl --request GET \
--url https://api.interchange.io/api/v2/buyer/campaigns/{campaignId}/workspace \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.interchange.io/api/v2/buyer/campaigns/{campaignId}/workspace"
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}/workspace', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"campaignId": "<string>",
"advertiserId": "<string>",
"name": "<string>",
"revision": 0,
"handling": "tracking",
"phase": "draft",
"isPaused": true,
"isArchived": true,
"autonomy": {
"inventorySelection": {
"mode": "manual",
"source": "inherited"
},
"rebriefing": {
"mode": "manual",
"source": "inherited"
}
},
"createdAt": "<string>",
"updatedAt": "<string>",
"brief": "<string>",
"mode": "review",
"flight": {
"startAt": "<string>",
"endAt": "<string>"
},
"budget": {
"total": 123,
"currency": "<string>",
"dailyCap": 123,
"pacing": "even"
},
"source": {
"kind": "interchange",
"sellerId": "<string>",
"freshness": "live",
"lastSyncedAt": "<string>"
},
"sellerIds": [
"<string>"
],
"readiness": {
"attention": [
"blocked"
],
"blockers": [
{
"code": "<string>",
"message": "<string>"
}
],
"nextAction": {
"action": "<string>",
"label": "<string>",
"params": {}
}
},
"spend": {
"state": "available",
"value": {
"total": 123,
"currency": "<string>"
},
"source": "<string>",
"asOf": "<string>"
},
"pacing": {
"state": "available",
"value": {
"percent": 123,
"verdict": "behind"
},
"source": "<string>",
"asOf": "<string>"
},
"outcome": {
"state": "available",
"value": {
"label": "<string>",
"actual": 123,
"unit": "<string>",
"verdict": "working",
"target": 123
},
"source": "<string>",
"asOf": "<string>"
},
"mediaBuys": [
{
"mediaBuyId": "<string>",
"sellerId": "<string>",
"name": "<string>",
"phase": "draft",
"isPaused": true,
"budget": {
"total": 123,
"currency": "<string>"
},
"spend": {
"state": "available",
"value": {
"total": 123,
"currency": "<string>"
},
"source": "<string>",
"asOf": "<string>"
},
"sellerName": "<string>",
"flight": {
"startAt": "<string>",
"endAt": "<string>"
},
"delivery": {
"state": "available",
"value": {
"percent": 123
},
"source": "<string>",
"asOf": "<string>"
},
"proposalSource": {
"proposalId": "<string>",
"version": 0,
"state": "quoted"
},
"source": {
"freshness": "live",
"lastSyncedAt": "<string>"
},
"attentionNote": "<string>"
}
],
"creatives": [
{
"creativeId": "<string>",
"name": "<string>",
"formatLabel": "<string>",
"dimensions": "<string>",
"previewUrl": "<string>",
"readiness": "ready",
"sellerReviews": [
{
"sellerName": "<string>",
"status": "ready",
"issue": "<string>"
}
],
"placements": [
{
"placementId": "<string>",
"placementName": "<string>"
}
]
}
],
"recentActivity": [
{
"id": "<string>",
"at": "<string>",
"actor": "person",
"summary": "<string>",
"outcome": "success"
}
]
}{
"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": {}
}
}Campaigns
Get campaign workspace
Get the assembled CampaignWorkspace projection for the campaign drill-in widget: phase, handling, budget, source, plus media-buy and creative sections. A presentation-ready view over get_campaign, not a substitute for it.
GET
/
campaigns
/
{campaignId}
/
workspace
Get campaign workspace
curl --request GET \
--url https://api.interchange.io/api/v2/buyer/campaigns/{campaignId}/workspace \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.interchange.io/api/v2/buyer/campaigns/{campaignId}/workspace"
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}/workspace', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"campaignId": "<string>",
"advertiserId": "<string>",
"name": "<string>",
"revision": 0,
"handling": "tracking",
"phase": "draft",
"isPaused": true,
"isArchived": true,
"autonomy": {
"inventorySelection": {
"mode": "manual",
"source": "inherited"
},
"rebriefing": {
"mode": "manual",
"source": "inherited"
}
},
"createdAt": "<string>",
"updatedAt": "<string>",
"brief": "<string>",
"mode": "review",
"flight": {
"startAt": "<string>",
"endAt": "<string>"
},
"budget": {
"total": 123,
"currency": "<string>",
"dailyCap": 123,
"pacing": "even"
},
"source": {
"kind": "interchange",
"sellerId": "<string>",
"freshness": "live",
"lastSyncedAt": "<string>"
},
"sellerIds": [
"<string>"
],
"readiness": {
"attention": [
"blocked"
],
"blockers": [
{
"code": "<string>",
"message": "<string>"
}
],
"nextAction": {
"action": "<string>",
"label": "<string>",
"params": {}
}
},
"spend": {
"state": "available",
"value": {
"total": 123,
"currency": "<string>"
},
"source": "<string>",
"asOf": "<string>"
},
"pacing": {
"state": "available",
"value": {
"percent": 123,
"verdict": "behind"
},
"source": "<string>",
"asOf": "<string>"
},
"outcome": {
"state": "available",
"value": {
"label": "<string>",
"actual": 123,
"unit": "<string>",
"verdict": "working",
"target": 123
},
"source": "<string>",
"asOf": "<string>"
},
"mediaBuys": [
{
"mediaBuyId": "<string>",
"sellerId": "<string>",
"name": "<string>",
"phase": "draft",
"isPaused": true,
"budget": {
"total": 123,
"currency": "<string>"
},
"spend": {
"state": "available",
"value": {
"total": 123,
"currency": "<string>"
},
"source": "<string>",
"asOf": "<string>"
},
"sellerName": "<string>",
"flight": {
"startAt": "<string>",
"endAt": "<string>"
},
"delivery": {
"state": "available",
"value": {
"percent": 123
},
"source": "<string>",
"asOf": "<string>"
},
"proposalSource": {
"proposalId": "<string>",
"version": 0,
"state": "quoted"
},
"source": {
"freshness": "live",
"lastSyncedAt": "<string>"
},
"attentionNote": "<string>"
}
],
"creatives": [
{
"creativeId": "<string>",
"name": "<string>",
"formatLabel": "<string>",
"dimensions": "<string>",
"previewUrl": "<string>",
"readiness": "ready",
"sellerReviews": [
{
"sellerName": "<string>",
"status": "ready",
"issue": "<string>"
}
],
"placements": [
{
"placementId": "<string>",
"placementName": "<string>"
}
]
}
],
"recentActivity": [
{
"id": "<string>",
"at": "<string>",
"actor": "person",
"summary": "<string>",
"outcome": "success"
}
]
}{
"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
Unique identifier for the campaign
Minimum string length:
1Example:
"cmp_987654321"
Response
Get campaign workspace
Required range:
-9007199254740991 <= x <= 9007199254740991Available options:
tracking, managing Available options:
draft, active, completed, canceled Show child attributes
Show child attributes
Available options:
review, record Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
- Option 1
- Option 2
- Option 3
- Option 4
Show child attributes
Show child attributes
- Option 1
- Option 2
- Option 3
- Option 4
Show child attributes
Show child attributes
- Option 1
- Option 2
- Option 3
- Option 4
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes