Set EDDM routes and zones
Chooses where a direct-mail campaign is delivered: USPS carrier routes, plus the map zones they sit in.
Find routes first — around a point, by best fit or by city — and pass each route's raw object straight through.
The EDDM minimum-volume rule is checked here rather than at submit, so a selection that is too small is rejected while you can still add routes.
Needs an OAuth access token carrying the campaigns:create scope — a plain client key is refused. The campaign must be one of yours; anything else returns 404.
Authorization
campaignBuilderOAuth campaigns:createOAuth access token carrying the campaigns:create scope, obtained through the Oppizi consent screen (the same sign-in used by the MCP connector). A plain client key carries no scopes and is refused on these endpoints.
In: header
Scope: campaigns:create
Path Parameters
Your campaign id.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/client/campaigns/string/areas" \ -H "Content-Type: application/json" \ -d '{ "routes": null }'{ "success": true, "data": { "campaignId": 9700, "routes": 48, "homes": 25140 }}Set cities (street channels) POST
Chooses the cities for a hand-to-hand or door-to-door campaign, with an optional volume per city. Available cities are at [GET /client/cities](/docs/api-reference/assets/listcities). **For EDDM, use [Set EDDM routes](/docs/api-reference/campaign-builder/setcampaignareas) instead** — EDDM targets USPS carrier routes, not cities. Needs an OAuth access token carrying the `campaigns:create` scope — a plain client key is refused. The campaign must be one of yours; anything else returns 404.
Set audience attributes POST
Narrows a direct-mail campaign by audience attributes such as age, income or household size. The available attributes and their values are at [GET /client/eddm/demographic-attributes](/docs/api-reference/targeting/listdemographicattributes). Needs an OAuth access token carrying the `campaigns:create` scope — a plain client key is refused. The campaign must be one of yours; anything else returns 404.