Skip to main content
POST /api/v2/buyer/campaigns/:id/execute Executes any DRAFT media buys on the campaign, submitting them to ADCP. On a freshly-created campaign the call transitions DRAFTACTIVE. You can also call it on an ACTIVE or PAUSED campaign to execute newly-added media buys without affecting the rest of the campaign.
execute submits DRAFT media buys to ADCP. It does not resume a PAUSED campaign — reactivate is the only way to do that. They are different endpoints. COMPLETED and ARCHIVED campaigns cannot be executed.

Request

curl -X POST https://api.interchange.io/api/v2/buyer/campaigns/cmp_987654321/execute \
  -H "Authorization: Bearer $SCOPE3_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "debug": false }'

Parameters

FieldTypeRequiredNotes
idstringYesCampaign ID (path parameter). Must be in DRAFT, ACTIVE, or PAUSED status. COMPLETED and ARCHIVED campaigns cannot be executed.
debugbooleanNoDefaults to false. When true, surfaces the raw ADCP request/response and A2A debug logs in each error entry.

Response

{
  "campaignId": "cmp_987654321",
  "success": true,
  "previousStatus": "DRAFT",
  "newStatus": "ACTIVE"
}
When individual media buy submissions fail, success is false and errors[] carries one entry per failure:
{
  "campaignId": "cmp_987654321",
  "success": false,
  "previousStatus": "DRAFT",
  "newStatus": "ACTIVE",
  "errors": [
    {
      "mediaBuyId": "mb_abc123",
      "salesAgentId": "agent_xyz",
      "message": "Sales agent returned 422: invalid format for product"
    }
  ]
}
  • previousStatus / newStatus — campaign status before and after the call.
  • errors[]{ mediaBuyId, salesAgentId, message } per failed submission. With debug: true, each entry also includes the full ADCP request/response payloads.

Errors

CodeWhen
VALIDATION_ERRORCampaign is in COMPLETED or ARCHIVED status (non-executable), or has no selected products.
NOT_FOUNDCampaign ID does not exist for the authenticated customer.
See Errors for the full error shape and recovery semantics.

Pause campaign

Halt spend across all media buys

Reactivate campaign

Resume a PAUSED campaign back to ACTIVE

Media buy status

Poll live ADCP status after execute

Campaign overview

The campaign object and lifecycle