Skip to content

Report spend entered by hand for a connection's campaigns or source campaigns; a later report for the same key replaces it

POST
/v1/buyer/costs
curl --request POST \
--url https://example.com/v1/buyer/costs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "connection_id": 1, "costs": [ { "campaign_id": 1, "from": "2026-04-15T12:00:00Z", "placement": "example", "source_campaign": "example", "spend": { "currency": "example", "value": "example" }, "to": "2026-04-15T12:00:00Z" } ] }'

Who: a workspace’s buyer, or its key. API keys with the buyer:write scope.

Idempotency-Key
string
<= 64 characters

Made once per action and sent again on every retry of it, so the service acts once: the request_id of the create or money-moving call; a new one when left out

Media typeapplication/json
object
connection_id
required
integer format: int64
costs
required
Array<object>
object
campaign_id
integer format: int64
from
required
string format: date-time
placement
string
source_campaign
string
spend
required
object
currency
required
string
value
required
string
to
required
string format: date-time

Example generated

{
"connection_id": 1,
"costs": [
{
"campaign_id": 1,
"from": "2026-04-15T12:00:00Z",
"placement": "example",
"source_campaign": "example",
"spend": {
"currency": "example",
"value": "example"
},
"to": "2026-04-15T12:00:00Z"
}
]
}

Created

Media typeapplication/json
object
connection
required
object
id
required
integer format: int64
name
string
id
required
string
origin
required
string | null
Allowed values: pull manual
reported_at
required
string format: date-time
reported_by
required
Any of:
object
account
string
id
string
kind
required
string | null
Allowed values: user api_key service system postback rule tuner schedule
name
string
sequence
required
integer format: int64
slices
required
Array<object>
object
campaign_id
required
integer format: int64
from
required
string format: date-time
placement
required
string
source_campaign
required
string
spend
required
Any of:
object
amount_micros
required
integer format: int64
currency
required
string
to
required
string format: date-time
workspace_id
required
integer format: int64

Example

{
"origin": "pull",
"reported_by": {
"kind": "user"
}
}

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"
}
}