409 WARMUP_UNAVAILABLE if yours
doesn’t include them.
Senders
A sender is a mailbox or LinkedIn account Origami sends from. They belong to the organization, so connect once and use across every campaign.SMTP_AUTH_FAILED or IMAP_UNREACHABLE rather than failing
silently at send time.
Keeping senders healthy
A sender whose authorization expired reports
needs_reauth and blocks any
campaign launch that depends on it. Poll
GET /account/senders?status=needs_reauth
on a schedule and alert whoever owns the mailbox — a reconnect is another
handoff.
Domains and mailboxes
Cold outreach on your primary domain risks your real email. Origami can buy lookalike domains and run mailboxes on them for you.1
Find domains
2
Buy them
confirm=true you get a priced preview and nothing is charged.
Charges hit the card on file, so this is admin-only and returns
409 NO_PAYMENT_METHOD if there isn’t one. Set forwarding_domain so the
apex redirects to your real site — a domain that resolves to nothing hurts
deliverability.3
Provision mailboxes
POST …/renewal/cancel, and
change your mind with …/renewal/undo.
Exclusion lists
Two lists — people and companies — checked when leads are sourced and again when people are enrolled. This is your do-not-contact record: customers, competitors, churned accounts, anyone who asked to be left alone.UNMATCHABLE_IDENTIFIER — an email, a LinkedIn slug, or
a company domain is enough.
Each organization has one exclusion list. A project can either share its
parent’s or keep a private one:
project so one client’s suppression list never leaks
into another’s. GET /account/exclusion-lists
tells you which is in effect and how many entries it holds.
Credits
GET /account/credits/usage?period=2026-08.
Reads never cost anything. Sourcing and enrichment do. Per-Job spend is on the
Job itself — see credits on the Job object.
Projects
A project is a child organization with its own lists, campaigns, and chats. One per client, if you run an agency.hard enforcement blocks spend at the cap; soft tracks it and lets work
through. Credits still come from the parent’s wallet either way.
Then scope requests with the x-origami-project header — see
conventions for exactly which routes
honor it.
Webhooks
Rather than polling Jobs, have Origami call you.POST …/test sends a webhook.test
event so you can confirm your endpoint works before real traffic depends on it.
Webhooks guide
Event catalog, signature verification, and retry behavior.
API keys
member keys get 403 on admin-only operations —
webhook management, key management, and domain purchase.
One key per integration. Revoking one takes effect immediately.
Chats
The Origami app’s assistant, over the API. Send a prompt and it does the work, creating lists and campaigns as it goes.needs_input if the
agent has a question — answer it with
POST /jobs/{job_id}/input and the same Job resumes.
Use chats when you want Origami to decide the steps. Use the Leads and Send
endpoints directly when your code should decide them.