Update account reporting bucket
curl --request PUT \
--url https://api.interchange.io/api/v2/buyer/advertisers/{advertiserId}/accounts/{linkId}/reporting-bucket \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"reporting_bucket": {
"protocol": "s3",
"bucket": "my-org.adcp.reports",
"file_retention_days": 30,
"prefix": "reports/",
"region": "us-east-1",
"format": "jsonl",
"compression": "gzip",
"setup_instructions": "https://example.com/adcp/bucket-setup"
}
}
'import requests
url = "https://api.interchange.io/api/v2/buyer/advertisers/{advertiserId}/accounts/{linkId}/reporting-bucket"
payload = { "reporting_bucket": {
"protocol": "s3",
"bucket": "my-org.adcp.reports",
"file_retention_days": 30,
"prefix": "reports/",
"region": "us-east-1",
"format": "jsonl",
"compression": "gzip",
"setup_instructions": "https://example.com/adcp/bucket-setup"
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
reporting_bucket: {
protocol: 's3',
bucket: 'my-org.adcp.reports',
file_retention_days: 30,
prefix: 'reports/',
region: 'us-east-1',
format: 'jsonl',
compression: 'gzip',
setup_instructions: 'https://example.com/adcp/bucket-setup'
}
})
};
fetch('https://api.interchange.io/api/v2/buyer/advertisers/{advertiserId}/accounts/{linkId}/reporting-bucket', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"account": {
"linkId": "42",
"accountId": "acc_acme_pinnacle",
"sources": [
{
"storefrontId": 0,
"storefrontName": "<string>",
"sourceId": "<string>",
"sourceName": "<string>"
}
],
"advertiserId": "12345",
"status": "active",
"createdAt": "2025-01-15T10:30:00Z",
"updatedAt": "2025-01-20T14:45:00Z",
"credentialId": "42",
"name": "Acme c/o Pinnacle",
"advertiser": "Acme Corp",
"billingProxy": "Pinnacle Media",
"house": "acme-corp.com",
"billing": "advertiser",
"unreachableAt": "2025-01-22T09:00:00Z"
}
}{
"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": {}
}
}Advertisers
Update account reporting bucket
Set or clear the offline reporting_bucket configuration on a linked partner account, then notify the seller via sync_accounts. Pass reporting_bucket: null to clear the bucket.
PUT
/
advertisers
/
{advertiserId}
/
accounts
/
{linkId}
/
reporting-bucket
Update account reporting bucket
curl --request PUT \
--url https://api.interchange.io/api/v2/buyer/advertisers/{advertiserId}/accounts/{linkId}/reporting-bucket \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"reporting_bucket": {
"protocol": "s3",
"bucket": "my-org.adcp.reports",
"file_retention_days": 30,
"prefix": "reports/",
"region": "us-east-1",
"format": "jsonl",
"compression": "gzip",
"setup_instructions": "https://example.com/adcp/bucket-setup"
}
}
'import requests
url = "https://api.interchange.io/api/v2/buyer/advertisers/{advertiserId}/accounts/{linkId}/reporting-bucket"
payload = { "reporting_bucket": {
"protocol": "s3",
"bucket": "my-org.adcp.reports",
"file_retention_days": 30,
"prefix": "reports/",
"region": "us-east-1",
"format": "jsonl",
"compression": "gzip",
"setup_instructions": "https://example.com/adcp/bucket-setup"
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
reporting_bucket: {
protocol: 's3',
bucket: 'my-org.adcp.reports',
file_retention_days: 30,
prefix: 'reports/',
region: 'us-east-1',
format: 'jsonl',
compression: 'gzip',
setup_instructions: 'https://example.com/adcp/bucket-setup'
}
})
};
fetch('https://api.interchange.io/api/v2/buyer/advertisers/{advertiserId}/accounts/{linkId}/reporting-bucket', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"account": {
"linkId": "42",
"accountId": "acc_acme_pinnacle",
"sources": [
{
"storefrontId": 0,
"storefrontName": "<string>",
"sourceId": "<string>",
"sourceName": "<string>"
}
],
"advertiserId": "12345",
"status": "active",
"createdAt": "2025-01-15T10:30:00Z",
"updatedAt": "2025-01-20T14:45:00Z",
"credentialId": "42",
"name": "Acme c/o Pinnacle",
"advertiser": "Acme Corp",
"billingProxy": "Pinnacle Media",
"house": "acme-corp.com",
"billing": "advertiser",
"unreachableAt": "2025-01-22T09:00:00Z"
}
}{
"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 advertiser
Minimum string length:
1Example:
"12345"
Identifier of the advertiser-account link row (numeric primary key)
Pattern:
^\d{1,15}$Example:
"42"
Body
application/json
Request body for updating the offline reporting bucket on a linked partner account
Reporting bucket configuration to set on the linked account, or null to clear it.
Show child attributes
Show child attributes
Response
Update account reporting bucket
Response containing a single linked account
Linked account resource on a partner platform
Show child attributes
Show child attributes