List account presences
curl --request GET \
--url https://api.interchange.io/api/v2/api/v2/buyer/storefront-connections/{connectionId}/accounts/{accountId}/presences \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.interchange.io/api/v2/api/v2/buyer/storefront-connections/{connectionId}/accounts/{accountId}/presences"
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/api/v2/buyer/storefront-connections/{connectionId}/accounts/{accountId}/presences', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));Task Reference
List account presences
Read upstream-discovered and buyer-pushed audiences/event sources tracked on a connected provider account
GET
/
api
/
v2
/
buyer
/
storefront-connections
/
{connectionId}
/
accounts
/
{accountId}
/
presences
List account presences
curl --request GET \
--url https://api.interchange.io/api/v2/api/v2/buyer/storefront-connections/{connectionId}/accounts/{accountId}/presences \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.interchange.io/api/v2/api/v2/buyer/storefront-connections/{connectionId}/accounts/{accountId}/presences"
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/api/v2/buyer/storefront-connections/{connectionId}/accounts/{accountId}/presences', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));This operation is read-only.
tracked), plus any
buyer-level audiences or event sources already delivered to that account
through AdCP pass-through (pushed). This is a reference-only surface —
identity, sync status, and counts — never member lists or event payloads. See
Presences: audiences and event sources
for the tracked/pushed model.
Named operation: list_storefront_connection_account_presences
Request
curl \
"https://api.interchange.io/api/v2/buyer/storefront-connections/42/accounts/81/presences?objectType=audience" \
-H "Authorization: Bearer $SCOPE3_API_KEY"
Parameters
| Field | Location | Type | Required | Description |
|---|---|---|---|---|
connectionId | path | integer | Yes | Active official-adapter connection ID |
accountId | path | integer | Yes | Buyable provider-account row selected from the connection |
objectType | query | audience | event_source | No | Filter to one presence object type |
includeRetired | query | boolean | No | Include retired (terminal) presence edges. Defaults to false |
take | query | integer | No | Page size (default 50, max 250) |
skip | query | integer | No | Offset for pagination (default 0) |
Response
{
"presences": [
{
"id": "1201",
"objectType": "audience",
"direction": "tracked",
"upstreamObjectId": "snap_audience_44521",
"syncState": "live",
"lastSyncedAt": "2026-07-24T12:00:00.000Z",
"rowCount": 48213,
"retiredAt": null,
"createdAt": "2026-07-20T09:00:00.000Z",
"updatedAt": "2026-07-24T12:00:00.000Z"
},
{
"id": "1202",
"objectType": "audience",
"direction": "pushed",
"upstreamObjectId": "talpa_audience_998",
"audienceId": "5521",
"syncState": "live",
"lastSyncedAt": "2026-07-24T12:00:00.000Z",
"rowCount": 12000,
"retiredAt": null,
"createdAt": "2026-07-18T09:00:00.000Z",
"updatedAt": "2026-07-24T12:00:00.000Z"
}
],
"total": 2
}
direction:
tracked— an upstream-discovered object. There is no buyer-level master yet;audienceId/eventSourceIdare omitted entirely until the object is explicitly adopted.pushed— a buyer-level object already delivered to this account through AdCP pass-through. The matching master id (audienceIdforobjectType: "audience",eventSourceIdforobjectType: "event_source") is always present.
rowCount and lastSyncedAt reflect the last successful sync only; the
platform never stores the members or events themselves (custody is a
separate, explicitly consented capability — see
Presences: audiences and event sources).
retiredAt is null unless the upstream provider reported a terminal status (deleted,
suspended, failed) for the object; pass includeRetired=true to see retired
edges. total is the count across all pages. Results use offset pagination
(take / skip); see Pagination.
Errors
404 NOT_FOUND— the connection/account does not belong to this customer, or does not exist.
Related
Campaigns on connected provider accounts
Connected provider account presences live on
Ad platform accounts
Connecting and mapping provider accounts
Pagination
Offset-based list paging