Get task status
curl --request GET \
--url https://api.interchange.io/api/v2/buyer/tasks/{taskId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.interchange.io/api/v2/buyer/tasks/{taskId}"
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/tasks/{taskId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"task": {
"taskId": "550e8400-e29b-41d4-a716-446655440000",
"taskType": "audience_sync",
"status": "submitted",
"resourceType": "audience",
"resourceId": "aud_12345",
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid budget value",
"field": "packages[0].targeting",
"suggestion": "<string>",
"retryAfter": 123,
"details": {},
"recovery": "transient"
},
"response": {},
"metadata": {},
"retryAfterSeconds": 30,
"createdAt": "2026-01-15T10:30:00.000Z",
"updatedAt": "2026-01-20T14:45:00.000Z"
}
}{
"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": {}
}
}Tasks
Get task status
Get the current status of an async task. AdCP polling fallback for when webhooks are unavailable.
GET
/
tasks
/
{taskId}
Get task status
curl --request GET \
--url https://api.interchange.io/api/v2/buyer/tasks/{taskId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.interchange.io/api/v2/buyer/tasks/{taskId}"
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/tasks/{taskId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"task": {
"taskId": "550e8400-e29b-41d4-a716-446655440000",
"taskType": "audience_sync",
"status": "submitted",
"resourceType": "audience",
"resourceId": "aud_12345",
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid budget value",
"field": "packages[0].targeting",
"suggestion": "<string>",
"retryAfter": 123,
"details": {},
"recovery": "transient"
},
"response": {},
"metadata": {},
"retryAfterSeconds": 30,
"createdAt": "2026-01-15T10:30:00.000Z",
"updatedAt": "2026-01-20T14:45:00.000Z"
}
}{
"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
Pattern:
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Response
Get task status
Response containing a single task
Async task resource representation
Show child attributes
Show child attributes