Skip to main content
POST
/
campaigns
/
{campaignId}
/
execute
Execute campaign
curl --request POST \
  --url https://api.interchange.io/api/v2/buyer/campaigns/{campaignId}/execute \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "debug": true
}'
{
  "campaignId": "cmp_987654321",
  "success": true,
  "mediaBuysExecuted": 2,
  "reason": "no_media_buys_to_execute",
  "errors": [
    {
      "mediaBuyId": "<string>",
      "salesAgentId": "<string>",
      "message": "<string>",
      "debug": {
        "request": {},
        "response": {},
        "debugLogs": [
          {}
        ],
        "error": "<string>"
      }
    }
  ]
}

Authorizations

Authorization
string
header
required

API key or access token

Path Parameters

id
string
required

Unique identifier for the campaign

Minimum string length: 1
Example:

"cmp_987654321"

Body

application/json

Optional request body for executing a campaign. Unknown fields are rejected.

debug
boolean

When true, includes detailed debug information in error responses from media buy execution

Response

Execute campaign

Response from executing or pausing a campaign

campaignId
string
required

Campaign ID

Example:

"cmp_987654321"

previousStatus
enum<string>
required

Previous campaign status

Available options:
DRAFT,
ACTIVE,
PAUSED,
COMPLETED,
ARCHIVED
newStatus
enum<string>
required

New campaign status

Available options:
DRAFT,
ACTIVE,
PAUSED,
COMPLETED,
ARCHIVED
success
boolean
required

Whether the status change was fully successful. False when any media buy execution failed.

mediaBuysExecuted
integer

Number of media buys that execution was attempted for. Always present on execute responses; absent on pause responses. 0 indicates a no-op execute (nothing to execute, campaign status preserved).

Required range: 0 <= x <= 9007199254740991
Example:

2

reason
enum<string>

Machine-readable reason for a no-op execute. Present only when the campaign had no media buys to execute, in which case the campaign status is preserved rather than set to ACTIVE.

Available options:
no_media_buys_to_execute
errors
object[]

Structured error details per failed media buy. Only present when there are failures.