Up to 100 of a connection's source objects at one level by key, as connectors last read them, with the source's own spend for each over a range of at most 31 days; refresh reads them from the source now, a buyer's, 10 a minute for each connection
POST
/v1/buyer/source-objects/read
const url = 'https://example.com/v1/buyer/source-objects/read';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"connection_id":1,"keys":[{"country":"example","source_campaign":"example","values":["example"]}],"level":"campaign","refresh":true,"spend_from":"2026-04-15T12:00:00Z","spend_to":"2026-04-15T12:00:00Z"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/v1/buyer/source-objects/read \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "connection_id": 1, "keys": [ { "country": "example", "source_campaign": "example", "values": [ "example" ] } ], "level": "campaign", "refresh": true, "spend_from": "2026-04-15T12:00:00Z", "spend_to": "2026-04-15T12:00:00Z" }'Who: a workspace’s member, staff under its support access, or its key. API keys with the buyer:read or buyer:write scope.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
connection_id
required
integer format: int64
keys
required
Array<object>
object
country
string
source_campaign
string
values
required
Array<string>
level
required
string
refresh
boolean
spend_from
string | null format: date-time
spend_to
string | null format: date-time
Responses
Section titled “Responses”OK
Media typeapplication/json
object
data
required
Array<object>
object
bid
required
Any of:
object
bounds
required
Any of:
object
increment
required
max
required
null
changed_at
required
string | null format: date-time
held
required
boolean
kind
required
string | null
last_change
required
Any of:
object
attempts
required
integer format: int32
changed_by
required
connection
required
object
id
required
integer format: int64
name
string
created_at
required
string format: date-time
done_at
required
string | null format: date-time
error_code
required
string
error_message
required
string
id
required
string
key
required
object
country
required
string
source_campaign
required
string
values
required
Array<string>
kind
required
string | null
last_call_id
required
string
level
required
string | null
note
required
string
rules_may_change
required
boolean
state_after
required
string | null
state_before
required
string | null
status
required
string | null
took_over
required
string
undo_of
required
string
updated_at
required
string format: date-time
value_after
required
value_asked
required
Any of:
object
ceiling
required
floor
required
from
required
ratio_ppm
required
integer | null format: int64
reset
required
boolean
null
value_before
required
workspace_id
required
integer format: int64
null
read_at
required
string | null format: date-time
since
required
string | null format: date-time
source_status
required
string
state
required
string | null
tracker_value
required
tracker_wrote_at
required
string | null format: date-time
unit
required
string | null
null
budget
required
Any of:
object
bounds
required
Any of:
object
increment
required
max
required
null
changed_at
required
string | null format: date-time
held
required
boolean
kind
required
string | null
last_change
required
Any of:
object
attempts
required
integer format: int32
changed_by
required
connection
required
object
id
required
integer format: int64
name
string
created_at
required
string format: date-time
done_at
required
string | null format: date-time
error_code
required
string
error_message
required
string
id
required
string
key
required
object
country
required
string
source_campaign
required
string
values
required
Array<string>
kind
required
string | null
last_call_id
required
string
level
required
string | null
note
required
string
rules_may_change
required
boolean
state_after
required
string | null
state_before
required
string | null
status
required
string | null
took_over
required
string
undo_of
required
string
updated_at
required
string format: date-time
value_after
required
value_asked
required
Any of:
object
ceiling
required
floor
required
from
required
ratio_ppm
required
integer | null format: int64
reset
required
boolean
null
value_before
required
workspace_id
required
integer format: int64
null
read_at
required
string | null format: date-time
since
required
string | null format: date-time
source_status
required
string
state
required
string | null
tracker_value
required
tracker_wrote_at
required
string | null format: date-time
unit
required
string | null
null
changed_at
required
string | null format: date-time
connection
required
object
id
required
integer format: int64
name
string
key
required
object
country
required
string
source_campaign
required
string
values
required
Array<string>
last_change
required
Any of:
object
attempts
required
integer format: int32
changed_by
required
connection
required
object
id
required
integer format: int64
name
string
created_at
required
string format: date-time
done_at
required
string | null format: date-time
error_code
required
string
error_message
required
string
id
required
string
key
required
object
country
required
string
source_campaign
required
string
values
required
Array<string>
kind
required
string | null
last_call_id
required
string
level
required
string | null
note
required
string
rules_may_change
required
boolean
state_after
required
string | null
state_before
required
string | null
status
required
string | null
took_over
required
string
undo_of
required
string
updated_at
required
string format: date-time
value_after
required
value_asked
required
Any of:
object
ceiling
required
floor
required
from
required
ratio_ppm
required
integer | null format: int64
reset
required
boolean
null
value_before
required
workspace_id
required
integer format: int64
null
level
required
string | null
paused_by_tracker
required
boolean
person_resumed
required
boolean
read_at
required
string | null format: date-time
sequence
required
integer format: int64
source_status
required
string
spend
required
Array<object>
object
amount_micros
required
integer format: int64
currency
required
string
state
required
string | null
updated_at
required
string | null format: date-time
workspace_id
required
integer format: int64
Example
{ "data": [ { "bid": { "kind": "bid", "last_change": { "changed_by": { "kind": "user" }, "kind": "pause", "level": "campaign", "state_after": "active", "state_before": "active", "status": "pending" }, "state": "set", "unit": "cpc" }, "budget": { "kind": "bid", "last_change": { "changed_by": { "kind": "user" }, "kind": "pause", "level": "campaign", "state_after": "active", "state_before": "active", "status": "pending" }, "state": "set", "unit": "cpc" }, "last_change": { "changed_by": { "kind": "user" }, "kind": "pause", "level": "campaign", "state_after": "active", "state_before": "active", "status": "pending" }, "level": "campaign", "state": "active" } ]}default
Section titled “default”An error, as go-commons apperr maps it
Media typeapplication/json
object
error
required
object
code
required
string
fields
object
key
additional properties
string
message
required
string
Example generated
{ "error": { "code": "example", "fields": { "additionalProperty": "example" }, "message": "example" }}