View as Markdown
API Reference

Update Budget

Change the daily budget for a campaign

PATCHhttps://api.synterai.com/v1/campaigns/:id/budget

Changes live spend

Budget changes are routine updates: under the default workspace policy they run immediately and are audited. The workspace's monetary limits and daily-budget ceiling still apply and can refuse the change. See Approval model.

Path parameters

idstringrequired

Campaign ID from the ad platform. Reddit budgets live on ad groups, so pass the ad group ID; Amazon DSP takes the order ID.

Request body

daily_budgetnumberrequired

New daily budget in the account currency's main unit (75 means 75.00). Synter converts to each platform's units.

platformstring

Defaults to GOOGLE. Also META, LINKEDIN, REDDIT, MICROSOFT, TIKTOK, X, AMAZON_DSP, PINTEREST, SNAPCHAT, TRADE_DESK, STACKADAPT. OpenAI Ads is refused because it only has a lifetime cap.

account_idstring

Ad account to use when the workspace has more than one connected account for the platform. Pinterest, Snapchat, and Amazon DSP need it unless the connection already stores one.

Example request

bash
curl -X PATCH "https://api.synterai.com/v1/campaigns/1234567890/budget" \
  -H "Authorization: Bearer $SYNTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"daily_budget": 75.00, "platform": "GOOGLE"}'

The same change through the tools endpoint (what the SDKs and CLI call):

bash
curl -X POST https://synterai.com/api/v1/tools/run \
  -H "Authorization: Bearer $SYNTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"script_name": "update_campaign_budget", "platform": "google",
       "args": ["--campaign-id", "1234567890", "--daily-budget", "75"]}'

Responses

  • 200: the script's JSON output with success: true and usage_cost_usd.
  • 202 APPROVAL_REQUIRED: held (safety_gate_action: "pending") or refused ("block") by the safety gate. Nothing ran and no credits were charged.
  • 400 platform not connected (NO_CREDENTIALS) or MISSING_CONFIGURATION; 401 bad key; 402 INSUFFICIENT_CREDITS; 403 missing budget:write scope; 502 platform error.
Was this page helpful?