OppiziDeveloper
Guides

Get a Price Quote

Price a campaign before you build it with the flyer-distribution and EDDM calculators, or estimate a draft with the per-campaign cost endpoints.

There are two ways to price work with Oppizi:

  • Calculators — standalone quotes for a hypothetical campaign ("what would 5,000 postcards cost?"), before any draft exists.
  • Per-campaign cost — the estimate for a draft you're actually assembling, before you submit it for review.
export OPPIZI_CLIENT_KEY="YOUR_CLIENT_KEY"
export API="https://developer-api.oppizi.com"

Calculators

Discover the options

The calculators are parameterised by your account's available options and quantity tiers. Read them first:

curl "$API/client/calculators/flyer-distribution/options" \
  -H "Authorization: Bearer $OPPIZI_CLIENT_KEY"

curl "$API/client/calculators/flyer-distribution/quantities" \
  -H "Authorization: Bearer $OPPIZI_CLIENT_KEY"

Flyer-distribution quote

Pass the selection flat in the body — the fields come from the options and quantities endpoints above:

curl -X POST "$API/client/calculators/flyer-distribution" \
  -H "Authorization: Bearer $OPPIZI_CLIENT_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "countryId": "1",
    "city": "Austin",
    "serviceType": "h2h",
    "flyerSize": "A6",
    "flyerThickness": "130gsm",
    "flyerQuantity": 5000
  }'

serviceType is h2h (hand-to-hand) or d2d (door-to-door).

EDDM quote

The EDDM calculator is priced by mail-piece format and volume — it is a public price calculator, so it takes no city or carrier routes:

curl -X POST "$API/client/calculators/eddm" \
  -H "Authorization: Bearer $OPPIZI_CLIENT_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "format": "BEST_SELLER",
    "volume": 5000
  }'

format is one of SMALL, BEST_SELLER, LARGE, JUMBO, OVERSIZED.

Omitting format quotes SMALL, and the response says so with complete: false and an INPUT_DEFAULTED adjustment. Campaign creation defaults EDDM to BEST_SELLER instead — so an unconfirmed size means the campaign you build will not match the quote. Pass format explicitly.

A volume below the smallest pricing tier is priced at that tier and flagged BOUND_APPLIED: the price is real, but it is not the rate for the volume you asked for. tierApplied, tierBasis and minimumVolume say which tier produced the number.

Per-campaign cost

Once you have a draft, price it directly. cost returns the current committed estimate; cost-preview recomputes it for hypothetical changes without saving.

# Estimate for the draft as it stands
curl "$API/client/campaigns/48207/cost" \
  -H "Authorization: Bearer $OPPIZI_CLIENT_KEY"

# Preview a change (e.g. a different quantity or format) before applying it
curl -X POST "$API/client/campaigns/48207/cost-preview" \
  -H "Authorization: Bearer $OPPIZI_CLIENT_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "quantity": 7500 }'

A quote is an estimate. Nothing is charged until the campaign clears In Review — see Create an ADM campaign.

Via MCP

Just ask your connected assistant:

"What would 5,000 postcards to my customer list cost?"

"How much would EDDM across my two downtown carrier routes run?"

The assistant calls the right calculator (or the draft's cost endpoint) and reads back the total. See Connect Claude or ChatGPT.

Next steps

On this page