Campaign promo codes
The promo codes printed on this campaign.
Each row's code is what you send as coupon when you record a conversion — that is how a sale gets attributed back to the flyer that caused it. Page through with first (up to 500) and skip.
Authorization
ClientBearer Client-scoped key as a Bearer JWT; always pinned to your own client.
In: header
Path Parameters
Numeric campaign id (must belong to the calling key’s client).
Query Parameters
Page size 1..500 (default 50).
Page offset (default 0).
Response Body
application/json
curl -X GET "https://example.com/client/campaigns/string/coupons"{ "success": true, "data": { "nodes": [ { "id": "55231", "code": "CHI-9114-014", "tag": "H2H batch A", "item_type_id": "3", "campaign_id": "9114", "created_at": "2026-02-01T09:00:00.000Z", "updated_at": "2026-02-01T09:00:00.000Z" } ], "totalCount": 1 }}Campaign creative GET
The artwork on the campaign — flyer design with a thumbnail, your logo and any additional pieces.
Create a campaign draft POST
Opens a draft campaign — the first step of the build flow. Nothing is scheduled, charged or printed by this call. For USPS Every Door Direct Mail, pass `channel: "ADM"` with `subtype: "EDDM"`. The campaign is created on your own account; there is no client id to pass. Needs an OAuth access token carrying the `campaigns:create` scope — a plain client key is refused.