Print and mail API

Direct mail API for postcardsand letters in Canada

Send customer offers and reminders from your own app with our direct mail API. We handle the address checks, printing and postage for your postcards and letters.

DevelopersTestLive
API keysWebhooksLogs
14:02POST/postcards201
14:01POST/quotes200
13:47GET/postcards/pc_7Hq2Lm200
13:12POST/letters201
12:58POST/postcards409
12:30POST/batches201
11:05GET/postcards/pc_7Hq2Lm/events200
10:41POST/contacts201
10:40POST/letters422
09:58GET/letters/ltr_2Bc8Np200

Your own app. Turn customer data into postcards and letters with an API call.

Your own keys. Keep test sends separate from live mail with their own API keys.

Test first. Preview your mail and check your workflow before paying for a send.

Features

Send postcards and letters through our direct mail API

Connect your mailing to the next customer message with direct mail webhooks for your own follow-up automations.

Send mailTurn an API call into a printed customer message

POST/postcardscURL
curl https://api.directmailer.ca/postcards \
  -H "Authorization: Bearer dm_live_…" \
  --json '{ "to": "ct_3Vd9Qa",
    "use": "marketing", "size": "4x6",
    "front": "tmpl_4Fw8Kp",
    "back": "tmpl_9Lc2Ts" }'
201 Created184 ms
{
  "id": "pc_7Hq2Lm",
  "status": "created",
  "expected_arrival": "2026-10-14"
}

Test modeTry your first send without printing or paying

API keysCreate key
Productiondm_live_c21e…Live
Stagingdm_test_07aa…Test
Online storedm_live_9b3f…Live
Claudedm_live_4f8a…Live
Localdm_test_5d10…Test

Safe retriesRetry a request without mailing the same postcard twice

POST/postcardswinback-0912
201First trypc_7Hq2Lm created
201Retry, same bodySame response, no new piece
409Same key, new bodyRefused
{ "error": {
    "code": "idempotency_key_reused"
} }

QuotesKnow the printing and postage cost before you send

POST/quotesNothing is sent
{ "kind": "postcard", "use": "marketing",
  "size": "4x6" }
PiecePostcard 4×6
Mail classLettermail
PlanSubscribe and save
Price$1.95

We take care of the printing

Put your next customer offer on a postcard, or send a letter without arranging a print run yourself. Canadian address verification catches formatting problems before printing, and we handle the addressing and Canada Post postage.

Give your offer room on a larger postcard, or use a letter for a detailed update. Send your HTML, PDF or saved template from your own app, with customer details added through merge fields.

FAQ

Frequently asked questions

How do I send my first postcard?

Create a test key and make a request with your artwork and recipient address. Review the proof and mailing statuses before switching to a live key. Test sends never print or charge your balance.

Can I send letters as well?

Yes. Send letters in colour or black and white using HTML, a PDF or a saved template. Add your recipient and return address, and we handle printing, envelopes and postage.

Does the API check Canadian addresses?

Yes. Every mailing address is checked against Canada Post addressing rules. You can see the submitted address, the printed address and any corrections. Addresses that fail the checks are excluded from mailing.

Can my AI assistant send mail?

Yes. Connect the MCP server for AI agents with your API key. The direct mail API for AI agents supports preparing campaigns, checking costs and reviewing mailing activity, with approvals for live sends unless a daily cap covers them.

What is included in the mailing price?

Printing, addressing and postage are included in the price of each postcard or letter. Live sends use your prepaid balance. Test mode is free, so you can check your setup before paying for mail.

Which mailing updates can I receive?

Receive updates when mail is created, rendered, in production, mailed, returned, cancelled or failed. The Mailed status records handoff to Canada Post. Ordinary postcards and letters show an estimated arrival rather than delivery confirmation.

What happens if a request times out?

Retry with the same Idempotency-Key and the same request details. You receive the original result, so a connection problem does not leave your customer with duplicate mail or charge your balance twice.

Send your first postcard from your app

Start in test mode for free, then review per-piece pricing before your first live send.