Can I send one-off postcards where every piece is different?
Yes. A single postcard needs no minimum order or volume commitment: POST /v1/postcards/create accepts front_pdf_url and optional back_pdf_url instead of template_id. For 1–500 postcards with unique PDF artwork in one campaign, use POST /v1/postcards/mailings, poll GET /v1/postcards/mailings/:id, review every prepared PDF and the total quote, then POST /v1/postcards/mailings/:id/submit. Use saved Canadian recipients without PHI and one shared format, finish and postal layout. A mailing of 125 or more eligible promotional pieces can use Personalized Mail (mail_class: standard), with an explicit eligibility attestation. Smaller or non-promotional mailings use first_class. Live mailings use prepaid credits; nothing is charged or released for printing until you submit. The existing POST /v1/postcards/batch still accepts up to 500 template-based items, each with its own template_id, and does not accept inline PDFs. See the complete workflow guide: https://postally.ca/guides/personalized-mail-api. Plain-text Markdown: https://api.postally.ca/v1/docs/postcard-mailings.
Can I supply my own print-ready PDFs instead of using your designer?
Yes. For one postcard, pass front_pdf_url and optional back_pdf_url on POST /v1/postcards/create instead of template_id. For 1–500 postcards with different PDFs, POST /v1/postcards/mailings prepares one campaign without templates. Poll GET /v1/postcards/mailings/:id to review the PDFs and quote, then POST /v1/postcards/mailings/:id/submit; live mailings charge prepaid credits only on submission. Use saved Canadian recipients without PHI and a shared format, finish and postal layout. Personalized Mail requires at least 125 eligible promotional pieces and an eligibility attestation. For 4x6, each PDF should be one page, 6.25 x 4.25 inches (450 x 306 pt, including 0.125" bleed per side). Keep the postal areas clear; GET /v1/specs gives their geometry for each size and layout. One invalid item prevents submission of the whole mailing without a charge. Templates remain available for shared designs and are required by the legacy POST /v1/postcards/batch endpoint. Test mode renders PDFs without charging or mailing. Artwork and rendered PDFs for test-mode pieces are deleted 30 days after the piece is created. See the complete workflow guide: https://postally.ca/guides/personalized-mail-api. Plain-text Markdown: https://api.postally.ca/v1/docs/postcard-mailings.
How do I review, retry or cancel a mailing of unique postcards?
Create it with POST /v1/postcards/mailings and a required Idempotency-Key, then save the returned mailing ID. Poll its status and review every final PDF and quote before submitting the quote token. Preparation expires 24 hours after creation; a retry does not extend that deadline. A temporary preparation failure can be retried through the mailing retry endpoint; changed artwork or an expired mailing requires a new mailing. Before submission, cancel through /v1/postcards/mailings/:id/cancel with no charge. After submission, cancel the entire campaign through POST /v1/campaigns/cancel with its campaign ID before the submission-day deadline and before production. Individual pieces cannot be cancelled. An eligible cancellation returns the charged pieces, tax and any mailing small-order fee to your prepaid balance. Scoped keys need postcards.write, mailpieces.read for previews and campaigns.write for cancellation after submission. Test mailings cannot be converted to live mailings.
Can I see what a postcard will look like before I pay for it?
Yes, and it costs nothing. Send with test mode on: the piece is composed and rendered exactly as it would print — your artwork with the address block, return address and postage indicia applied — but nothing is charged and nothing is mailed. Poll GET /v1/mailpieces/get/:id until has_pdf is true or status is failed, then open the PDF from GET /v1/mailpieces/:id/pdf. Do not wait for a status change as the success signal: a test piece stays at status "created" because it never enters the print queue. It moves to "failed" if its render fails our post-render print checks or errors — then there is no PDF, and failure_reason on the same response says why. Give the poll a timeout: if there is still neither a PDF nor a failed status after a few minutes, treat it as a render error. A test send with no template and no front_pdf_url is accepted but has no artwork, so nothing is rendered. Artwork and rendered PDFs for test-mode pieces are deleted 30 days after the piece is created. Download the PDF if you want to keep it.
When does a postcard actually get mailed?
Pieces submitted during the day are batched and sent to our print partner at 2am Vancouver time. Cancellation closes at 23:59:59 Vancouver time on the submission day, or earlier if the job has entered production. Durable postcard mailings must be cancelled as a whole campaign after submission; their individual pieces cannot be cancelled. Other sends follow the piece or campaign cancellation rules in the API reference, including the independent-piece rules for legacy API bundle wrappers. Read cancel_by and sent_to_production for the current deadline and production state.
How long until my postcard is printed and mailed?
Pieces approved during the day go to our print partner in the nightly batch at 2am Pacific. Their production turnaround is currently 1–3 business days from that handoff, after which the pieces enter the mailstream. Canada Post delivery time is on top of that and varies by destination and mail class. We do not quote a delivery date: Lettermail carries no per-piece tracking and no delivery guarantee, so any number we gave you would be an estimate we could not stand behind. If you want a read on when a piece landed, the QR code add-on gives you a real scan signal.
What paper stock and finish do you print on?
Postcards print on 100lb stock, digitally, with a choice of glossy or matte finish. There is no UV coating. You choose the finish per piece and postcards default to glossy. If your product depends on a UV-coated or specialty stock, we are not currently a fit — we would rather tell you that before you integrate than after.
Do you send physical samples?
No — we do not send physical samples or sample packs, and the API refuses a physical-sample request (sample_physical: true) with a 400 physical_sample_not_offered error rather than charging for one. There is no emailed digital sample either: sample_email: true is refused with a 400 email_sample_not_offered error. Template campaigns have a proof approval step; unique-PDF mailings require you to review the prepared PDFs and quote before submission, and a test-mode send renders a PDF of the exact card without mailing or charging it. The way to judge our print quality is to place a small real order and receive it yourself, which costs no more than any other send because there is no minimum. Address a few postcards to your own address through the dashboard campaign manager or the API and you will get exactly what your customers would get: same stock, same press, same mail path. That is a better test than a sample pack anyway, because it exercises your artwork rather than ours.
Can I pay for rush or priority production?
No — rush production is not offered. Every piece follows the same schedule: the nightly 2am Pacific batch, then 1–3 business days of production, then Canada Post. There is no premium tier that shortens it, and the API refuses a rush request (schedule_type "rush" or rush: true) with a 400 rush_not_offered error rather than charging for it. If that changes we will say so.
Do you publish a template showing the safe and restricted areas?
Yes. There is a two-page design guide PDF for every size — 4x6, 5x7, 6x9 and 6x11 — in both address layouts, showing trim, bleed, the safe zone, the address box, the 22x40mm postage indicia clear zone and the 22x40mm return address zone. Download them from the help page in your dashboard, or directly at https://api.postally.ca/v1/docs/download/postcard-design-guide-4x6 (swap the size for other formats, and add -classic for the divided-back layout). GET /v1/specs returns the same geometry as numbers if you would rather drive your renderer from data.