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>",
"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>",
"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
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
⌘I