API Reference
Update Budget
Change the daily budget for a campaign
PATCH
https://api.synterai.com/v1/campaigns/:id/budgetChanges 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
idstringrequiredCampaign 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_budgetnumberrequiredNew daily budget in the account currency's main unit (75 means 75.00). Synter converts to each platform's units.
platformstringDefaults 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_idstringAd 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: trueandusage_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) orMISSING_CONFIGURATION; 401 bad key; 402INSUFFICIENT_CREDITS; 403 missingbudget:writescope; 502 platform error.
Was this page helpful?
