Create an ADM Campaign
Build an address-list Direct Mail (ADM) campaign end-to-end — draft, targeting, design, details, and submit for review.
An ADM (address-list Direct Mail) campaign mails postcards to an address list you've uploaded — your own customers or prospects. This guide walks the full flow, from an empty draft to a campaign sitting In Review.
The flow has five steps:
- Create a draft campaign.
- Link an audience (your uploaded address list) and set targeting.
- Select a design from your library.
- Set details — mail-piece format and launch date.
- Submit for review.
Campaign creation always stops at In Review. Nothing is printed, mailed, or charged until the Oppizi team confirms it.
Prerequisites
- A client key (see Authentication), or an MCP
connection with the
campaigns:createscope (see Connect Claude or ChatGPT). - At least one audience (uploaded address list) and one design on your
account. List them with
GET /client/audiencesandGET /client/designs.
export OPPIZI_CLIENT_KEY="YOUR_CLIENT_KEY"
export API="https://developer-api.oppizi.com"Step 1 — Create a draft
curl -X POST "$API/client/campaigns" \
-H "Authorization: Bearer $OPPIZI_CLIENT_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Spring re-engagement — ADM",
"type": "ADM"
}'You get back the new campaign with its id and a DRAFT status:
{
"success": true,
"data": {
"id": "cmp_9f21",
"name": "Spring re-engagement — ADM",
"type": "ADM",
"status": "DRAFT"
}
}Keep the id — every following step references it.
Step 2 — Link an audience & set targeting
Pick an audience (your uploaded address list) and attach it to the draft. List your audiences first if you don't have the id handy:
curl "$API/client/audiences" \
-H "Authorization: Bearer $OPPIZI_CLIENT_KEY"Then link it and set targeting:
curl -X POST "$API/client/campaigns/cmp_9f21/targeting" \
-H "Authorization: Bearer $OPPIZI_CLIENT_KEY" \
-H "Content-Type: application/json" \
-d '{
"audienceId": "aud_4410"
}'For ADM, the audience is the targeting — the postcards go to the addresses on that list.
Step 3 — Select a design
Choose a design from your library:
curl "$API/client/designs" \
-H "Authorization: Bearer $OPPIZI_CLIENT_KEY"
curl -X POST "$API/client/campaigns/cmp_9f21/design" \
-H "Authorization: Bearer $OPPIZI_CLIENT_KEY" \
-H "Content-Type: application/json" \
-d '{ "designId": "dsn_7781" }'Step 4 — Set details
Set the mail-piece format and the launch date:
curl -X POST "$API/client/campaigns/cmp_9f21/details" \
-H "Authorization: Bearer $OPPIZI_CLIENT_KEY" \
-H "Content-Type: application/json" \
-d '{
"format": "POSTCARD_6x9",
"startDate": "2026-08-01"
}'Step 5 — Submit for review
curl -X POST "$API/client/campaigns/cmp_9f21/submit" \
-H "Authorization: Bearer $OPPIZI_CLIENT_KEY"The campaign moves to In Review:
{
"success": true,
"data": { "id": "cmp_9f21", "status": "IN_REVIEW" }
}Check where it sits any time with
GET /client/campaigns/cmp_9f21/status-tracking.
The same flow via MCP
If you've connected an AI assistant, the builder walks the identical steps using its campaign tools:
| Step | MCP tool |
|---|---|
| Create draft | create_campaign |
| Targeting / audience | set_campaign_targeting, link_campaign_audience |
| Design | select_campaign_design |
| Format & date | set_campaign_details |
| Submit | submit_campaign |
You don't call these by name — you just describe what you want:
"Create an ADM postcard campaign to my 'Lapsed customers' list using my Spring postcard design, 6x9, launching August 1st — then submit it for review."
The assistant fills each step, tells you anything that's still missing, and stops at In Review. See Connect Claude or ChatGPT and the AI Assistant page for setup.
Next steps
- Run an EDDM campaign — saturate USPS routes instead of mailing a list.
- Get a price quote before you submit.
- Read performance & ROI once it's live.