# Postmark setup for PopMCP

You paste one Postmark API token: the Account API token to connect any of your servers (you pick them next), or one server's Server API token to connect just that server. Postmark tokens don't expire.

- Auth: API credentials
- Setup time: 3 min
- API base URL: https://api.postmarkapp.com
- Credentials screen: https://account.postmarkapp.com/servers
- Provider docs: https://postmarkapp.com/developer/api/overview#authentication

## Approval required before this works

Postmark staff review every new account by hand before it can send to the outside world. The token connects and every read works straight away, but until the account is approved Postmark only delivers to addresses on the domains you have added and verified.

- Typical wait: Usually under 24 hours on weekdays, a little longer at weekends, per Postmark's own support article
- Cost: Postmark lists no charge for the review itself. Email volume is billed on your Postmark plan as usual.
- Blocked until approved: Sending to any address outside your own verified domains. Such sends fail with ErrorCode 412, which says every recipient must share the From address's domain while the account is pending; an account Postmark has not approved to send gets ErrorCode 413.
- Works meanwhile: Connecting the token, picking servers, and every read and setup tool: messages, bounces, stats, templates, message streams, webhooks and suppressions. Test sends to addresses on your own verified domain also work.

## Before you begin

- A Postmark account with at least one server
- The Account Owner or Account Admin role to see the Account API token. Server Admins can only see Server API tokens for their own servers.
- A confirmed sender signature or a verified domain to send from
- An approved account if the AI will email people outside your own verified domains. Postmark reviews new accounts by hand, usually in under 24 hours on weekdays.

## Get your credentials

### 1. Open API Tokens in your account

Sign in at `account.postmarkapp.com` as the Account Owner or an Account Admin. In the Account section, open API Tokens and copy the Account API token. This one token lets you connect any of your servers.

Screen: https://account.postmarkapp.com/servers

### 2. Or copy one server's Server API token

To connect a single server only, open Servers, choose the server and click its API Tokens tab. A server can hold up to 3 tokens; copy any one of them. With a server token, the account-level tools (servers, domains, sender signatures, template push, data removals) stay unavailable.

Screen: https://account.postmarkapp.com/servers

### 3. Confirm a sender you can send from

Open Sender Signatures or Domains and check that the address or domain the AI should send from is confirmed or verified. Note one address if you want it as the default From.

Screen: https://account.postmarkapp.com/servers

### 4. Request account approval if Postmark asks for it

A new account is reviewed by Postmark staff before it can send to anyone outside your own verified domains. If your account shows it is pending approval, the Account Owner can request approval from inside the account. Reading, templates and test sends to your own domain work meanwhile.

Screen: https://postmarkapp.com/support/article/1084-how-does-the-account-approval-process-work

### 5. Paste the token into PopMCP

Paste the token into Postmark API token. Optionally fill Default From address (optional) with a confirmed sender, used when the AI sends without naming one. With the Account API token, PopMCP lists your servers next: pick each server and the workspace it belongs in.

## Fields PopMCP asks for

- Postmark API token (apiToken) [required]: Best: your Account API token, from Postmark → Account → API Tokens (only the account owner and admins can see it). It connects any of your servers and adds domains, sender signatures and server management. Or paste one server's Server API token, from Postmark → Servers → your server → API Tokens, to connect just that server. We detect which kind you pasted. Stored encrypted, used server-side only.
- Default From address (optional) (defaultFrom): Used when your AI sends an email without saying who it's from. Must be a confirmed sender signature or an address on a verified domain in Postmark.

## Verify

PopMCP shows Postmark as Verified under the server's name, one connection per server you picked. Ask how many emails bounced this week: postmark_get_bounce_counts or postmark_list_bounces answers from that server instead of an ErrorCode 10 token error.

## Troubleshooting

### "Postmark didn't accept that token as a Server API token or as an Account API token"

Cause: The token was copied incompletely, or it was removed from the server or account.

Fix: Copy it again from Account, API Tokens (account token) or Servers, your server, API Tokens (server token) and paste it on its own, with no header name or quotes.

### "POSTMARK_API_TEST is Postmark's shared test token"

Cause: The sample token from Postmark's docs was pasted.

Fix: Paste your server's own Server API token or the Account API token.

### A tool for servers, domains or sender signatures says it needs an Account API token

Cause: The connection was made with a Server API token, which Postmark doesn't accept on account-level endpoints (ErrorCode 10).

Fix: Reconnect with the Account API token. Every server-level tool keeps working meanwhile.

### Sends fail with ErrorCode 412: recipients must share the domain of the From address

Cause: The account is still pending Postmark's manual approval.

Fix: Have the Account Owner request approval in Postmark. Until then, send only to addresses on your own verified domains.

### Sends fail because the From address isn't a confirmed sender

Cause: The From address (or the Default From address) is not a confirmed sender signature and not on a verified domain.

Fix: Confirm the signature or verify the domain in Postmark, or change the Default From address to one that is confirmed.

### ErrorCode 406: inactive recipient

Cause: Postmark deactivated the address after a hard bounce, a spam complaint or an unsubscribe.

Fix: Ask the AI to run postmark_diagnose_delivery. A bounce can be reactivated with postmark_activate_bounce when its CanActivate is true; spam-complaint suppressions can only be lifted by Postmark support.

### ErrorCode 14 on send_bulk_email, or 614 on a stats tool

Cause: The Bulk API needs separate approval from Postmark, and the stats API is only included on some Postmark plans.

Fix: Contact Postmark support to enable bulk sending, use postmark_send_email_batch for transactional sends, or upgrade the plan for stats.

---

Source: https://www.docs.popmcp.com/docs/integrations/postmark/