Can an AI agent use Postmark?

As of 6 Oct 2026, an AI agent can't use Postmark on its own: reCAPTCHA picture challenge on sign-up form.

Level 1 · Needs a personAgents can't get in on their own.
  • Find: Docs for agents: llms.txt, an OpenAPI and an MCP server.
  • Access: Can't sign up.
  • Use: Work not reached.
  • Pay: Payment not reached.
  • Leave: Leaving not reached.

To reach L2 · Gets in: let an agent sign up on its own.

With an account set up by a person: not measured yet.

What the levels mean

Driven 6 Oct 2026Same level in 2 drives in a rowRules of 15 Oct 2026Claim this page

Written and checked by our agents from this drive's record. How we write.

Who gets in

  • Agents on a serverTurned away when they send the sign-up form.
  • Signed agentsThe sign-up page opens. The check on the form still applies.
  • Agents in a person's browserNot measured yet.

Sign-up page checked 12 Oct 2026. Signed agents: the ones Cloudflare verifies. Where agents come from

What an agent can do in Postmark.

On its own

  • Read the full documentation, including guides written specifically for AI agents
  • Try out the 'send a test email' request without creating an account, though nothing is actually delivered

What it can't, and why

  • Create an accountthe sign-up form showed a picture puzzle only a human can solve
  • Get a real API keyPostmark only hands out API keys through a person using the website
  • Send a real email, build a template, or check domains/bouncesall of these need a real account, which could not be created
1 more
  • Use Postmark's official AI-agent plugin (MCP server)it refuses to start without a real API key
Needs a person

Can an AI agent sign up for Postmark on its own?

No. Sign-up: needs a human. Web form only (no sign-up API). Headless POST returns 400 with an empty body; in the browser the invisible reCAPTCHA escalated to a visible picture challenge (crosswalks).

Official server · no call worked

Does Postmark have an MCP server, and can an agent connect to it?

Yes. Postmark has an official MCP server. The server runs on the agent's own machine and lists 24 tools.

A new agent can't get in on its own: in the drive of 6 Oct 2026, our agent stopped at sign up (it needs a person). Through the MCP server, 0 of our agent's 1 attempt worked.

What the drive found

APIOpenAPIMCP · official–CLISDKllms.txtWebhooksSandbox

Not reached in this drive: the API key, deleting the account and paying. Every checkpoint, in detail

For the team behind Postmark.

Where agents stop in Postmark today, and the fixes that get them further, highest impact first.

Stops at sign up

The fixes, highest impact first

  1. Let verified agents sign up without CAPTCHAStep-by-step guide
  2. Offer a headless path to a Server tokenStep-by-step guide
  3. Let the MCP server start with the test tokenStep-by-step guide
2 more fixes
  1. Publish OpenAPI 3.x specs Step-by-step guide
  2. Add a billing and account-delete API Step-by-step guide
  • Claim it free and reply next to the result.
  • A Drive, $49: your private report, with where agents stop, the evidence and the fixes that move your level.
  • Fixed something? Order a Drive ($49) any time, or the Monthly drive ($29/month).
See the example report
Details

Your API, MCP server or CLI is the product? An Audit ($299) also checks every documented route, MCP tool and CLI command against your docs. Compare plans.

Already claimed it? Open it in your dashboard.

Rather not be driven? Block AgentDrivesAgent in robots.txt or write to us. We stop driving it ourselves; this page stays, with its date.

Embed the badge on your site

Driven · L1 · Needs a person badge

Behind the level.

Our agent couldn't get into Postmark, so the work, its reliability and the crash test aren't measured. The part scores are what it could judge from the outside.

Part scores · level history · paid plans

Part scores

Agent-ready setup

  • llms.txt: found
  • OpenAPI: found
  • MCP server: found
  • CLI: not found

Not measured in this drive: Holds up, Docs match (part of an Audit).

Level history

  1. 1 Oct 2026L1Needs a person
  2. 6 Oct 2026L1Needs a person

Needs a paid plan

Not counted in the level.

Needs a paid plan
CapabilityPlan
Receive and parse inbound emailPro or Platform

For agents and builders.

The drive as data, every checkpoint and all 31 attempts.

How an agent connects · 5 tips
  • Start with POSTMARK_API_TEST: it validates /email and /email/batch shapes without sending; every other endpoint answers 403 ErrorCode 10.
  • Auth is X-Postmark-Server-Token / X-Postmark-Account-Token headers, never Bearer; 401 ErrorCode 10 is terminal.
  • Read /auth.md and /.well-known/ai-catalog.json first; the api-catalog links both Swagger specs.
  • Ask your human for a dedicated server's Server token: sign-up has a reCAPTCHA picture challenge and tokens come only from the UI.
  • The MCP server needs a real Server token at startup; it will not start with the test token.
Every checkpoint, in detail · 9 checkpoints
  1. DocsHeadlessllms.txt, AI catalog, RFC 9727 api-catalog, Swagger 2.0 specs for Server and Account API, auth.md, agent-skills index and markdown docs via Accept: text/markdown, all fetched headless.
  2. Sign upNeeds a humanWeb form only (no sign-up API). Headless POST returns 400 with an empty body; in the browser the invisible reCAPTCHA escalated to a visible picture challenge (crosswalks).
  3. VerifyNot reachedNot reached: sign-up never completed.
  4. KeyNot reachedTokens are issued only by a human in the web UI (auth.md); no OAuth, device flow or agent registration. Not reached because sign-up was blocked.
  5. First callHeadlessPOST /email with the documented test token POSTMARK_API_TEST, no account needed: 200 'Test job accepted'. The test token works only on /email and /email/batch.
  6. First actionNot reachedNothing can be created without a real Server token; test-token sends are accepted but not stored or delivered.
  7. PayNot reachedFree Developer plan (100 emails/month, never expires). Paid plans: 'Buy Now' goes to the same reCAPTCHA-gated sign-up form; no 402, x402, MPP, UCP or billing API found, and not listed in the x402 Bazaar or mpp.dev. The checkout itself was not seen; the human gate is the reCAPTCHA in front of it.
  8. CancelNot reachedNo plan was started (no account). Account API has no billing endpoints.
  9. DeleteNot reachedNo account was created. The Account API has no account-delete endpoint; deletion route not tested.
The attempt log · 31 attempts
Attempt log
CapabilityRouteResultEvidence
robots/aipref: robots.txt Content-Usage / Content-Signalnonedone ✓robots.txt 200: every group (incl. *) has 'Content-Signal: search=yes, ai-input=yes, ai-train=no' + 'Allow: /'; no Content-Usage line. Cloudflare Content Signals scheme (parses: lowercase, yes/no), though the file comment calls it aipref.
llms.txt: GET /llms.txtnonedone ✓https://postmarkapp.com/llms.txt 200 text/plain 28808 bytes, H1 '# Postmark'; /llms-full.txt 404
AI catalog: GET /.well-known/ai-catalog.jsonnonedone ✓200 application/ai-catalog+json, specVersion 1.0, 7 entries (MCP card, api-catalog, OpenAPI server/account, skills index, auth.md, llms.txt)
MCP server card: GET /.well-known/mcp/server-card.jsonnonedone ✓200 application/mcp-server-card+json: com.postmarkapp/postmark 2.1.1, transport stdio npx -y @activecampaign/postmark-mcp, auth api-key env POSTMARK_SERVER_TOKEN. No remote MCP endpoint, so no /server-card on an HTTP URL.
A2A card: GET /.well-known/agent-card.json, agent.jsonnonefailed ✓both 404 text/html
auth.md / OAuth: GET /auth.md, oauth well-knownsnonedone ✓/auth.md 200 (application/octet-stream): says no OAuth, header tokens X-Postmark-Server-Token / X-Postmark-Account-Token, tokens issued only by a human in the UI; no agent_auth registration. /.well-known/oauth-protected-resource on api 404, oauth-authorization-server 404 (deliberate per auth.md).
API catalog / OpenAPI: GET /.well-known/api-catalog, swaggernonedone ✓RFC 9727 linkset 200 application/linkset+json -> swagger/server.yml (swagger: '2.0', 71 KB) and swagger/account.yml (swagger: '2.0'). Swagger 2.0 is behind current OpenAPI 3.2.1.
Agent skills: GET /.well-known/agent-skills/index.jsonnonedone ✓200 application/json, agentskills discovery 0.2.0 schema, skills postmark, postmark-email-best-practices, postmark-inbound, postmark-send-email, postmark-templates ...
Markdown docs: Accept: text/markdown on /developer/api/email-api; .md URLnonedone ✓Accept: text/markdown -> content-type text/markdown; vary: accept-encoding, accept. /developer/api/email-api.md -> 404
First API call: POST /email with documented test token POSTMARK_API_TEST (no account)apidone ✓200 {ErrorCode:0, Message:'Test job accepted', MessageID:84451fae-...}; headers ratelimit-limit 5000, ratelimit-remaining, ratelimit-reset (old draft-06 names) + x-ratelimit-*-second
Sign up: POST /sign_up form headless (no JS, so no reCAPTCHA/eHawk token)nonefailedHTTP 400, empty body (content-length 0). Form carries invisible reCAPTCHA (recaptcha.net, data-size=invisible) and eHawk Talon device fingerprint (user[talon6]); no signup API documented (auth.md: account and tokens are created by a human in the UI).
Sign up: Browser: fill sign-up form and click 'Let's get started'browserblockedAfter submit, reCAPTCHA (invisible v2) escalated to a visible picture challenge 'Select all images with crosswalks' (visible_challenge: true, shot 004.png). Not solved by the agent.
Sign up: Human handoff for the reCAPTCHA picture challengebrowserblocked(reCAPTCHA v2 image challenge).
Send a single transactional email: POST /email with documented test token POSTMARK_API_TEST to our inboxapipartial200 'Test job accepted' MessageID 47dada84-...; sandbox only, nothing delivered; read-back via GET /messages/outbound/{id}/details needs a real Server token we could not get (sign-up blocked by reCAPTCHA).
Send batch emails in one request: POST /email/batch with POSTMARK_API_TEST, 2 messagesapipartial200, array of 2 'Test job accepted' with MessageIDs b1a6dedf-..., d00c7ec9-...; no Activity read-back without a real token.
Send email using a reusable template: POST /email/withTemplate with POSTMARK_API_TESTapiblocked403 {ErrorCode:10, 'The Postmark Test API Token may only be used on the /email endpoint.'}; real token needs an account (sign-up blocked).
Validate a template before sending: POST /templates/validate with POSTMARK_API_TESTapiblocked403 ErrorCode 10 'test token only on /email'. Needs a real Server token.
Error legibility: POST /email with empty From (test token)apidone ✓422 application/json {ErrorCode:300, Message:"Invalid 'From' value."}: clear, not problem+json.
MCP server: Install @activecampaign/postmark-mcp 2.1.1 (stdio) in run dir; send server/discover (2026-07-28), then initialize, tools/list with POSTMARK_SERVER_TOKEN=POSTMARK_API_TESTmcpblockedServer exits before reading stdin: 'Server initialization failed: Postmark rejected the server token (401 Unauthorized). → Verify POSTMARK_SERVER_TOKEN is correct'. No reply to server/discover or initialize. Package uses @modelcontextprotocol/sdk 1.29.0 (LATEST_PROTOCOL_VERSION '2025-11-25', i.e. a legacy-protocol stdio server); CHANGELOG states 24 tools (sendEmail, sendEmailWithTemplate, sendBatch, sendBatchWithTemplate, list/get/create/edit/delete/validateTemplate, searchOutboundMessages, getMessageDetails, diagnoseDelivery, searchBounces, getBounceDump, activateBounce, list/create/deleteSuppressions, ...).
Test sending without delivering real mail (sandbox mode): POST /email and /email/batch with POSTMARK_API_TEST addressed to our own inbox the agent's inbox, then watch the inboxapidone ✓3 messages accepted (200 'Test job accepted', MessageIDs 47dada84-..., b1a6dedf-..., d00c7ec9-...) at 09:09:26Z; inbox read at ~09:12 and after a further 90 s wait: 'no mail for the agent's inbox'. Test token refused on every other endpoint (403 'may only be used on the /email endpoint').
Send bulk/broadcast emails at scale: Needs a Server or Account API tokennoneblockedNo account: sign-up blocked by a reCAPTCHA picture challenge; per auth.md tokens are only issued by a human in the UI; the test token works only on /email.
Create and edit email templates: Needs a Server or Account API tokennoneblockedNo account: sign-up blocked by a reCAPTCHA picture challenge; per auth.md tokens are only issued by a human in the UI; the test token works only on /email.
Receive and parse inbound email: Needs a Server or Account API tokennoneblockedNo account: sign-up blocked by a reCAPTCHA picture challenge; per auth.md tokens are only issued by a human in the UI; the test token works only on /email.
Track email opens: Needs a Server or Account API tokennoneblockedNo account: sign-up blocked by a reCAPTCHA picture challenge; per auth.md tokens are only issued by a human in the UI; the test token works only on /email.
Verify a sending domain (DKIM/Return-Path/SPF): Needs a Server or Account API tokennoneblockedNo account: sign-up blocked by a reCAPTCHA picture challenge; per auth.md tokens are only issued by a human in the UI; the test token works only on /email.
Create and verify a sender signature: Needs a Server or Account API tokennoneblockedNo account: sign-up blocked by a reCAPTCHA picture challenge; per auth.md tokens are only issued by a human in the UI; the test token works only on /email.
View and manage bounced messages: Needs a Server or Account API tokennoneblockedNo account: sign-up blocked by a reCAPTCHA picture challenge; per auth.md tokens are only issued by a human in the UI; the test token works only on /email.
Verify email: Verification mailnoneblockedNot reached: sign-up never completed (reCAPTCHA). Inbox an inbox received nothing.
Get API credentials: Server API tokennoneblockedNo API or OAuth/device flow issues tokens (auth.md: 'There is no endpoint that issues tokens... a human account holder in the Postmark UI'). Only POSTMARK_API_TEST, limited to /email.
Pay step: Probe 402/agent rails and billingnonedone ✓api.postmarkapp.com/ 302 to /developer, /servers 401 JSON (no 402, no PAYMENT-REQUIRED / WWW-Authenticate Payment); x402./mpp./agents.postmarkapp.com resolve to 50.31.156.110 but connect times out; /openapi.json 404, /.well-known/ucp 404; x402 Bazaar and mpp.dev/api/services: 0 mentions of postmark; llms.txt: no x402/MPP/USDC; account.yml has no billing paths. Pricing: free Developer plan 100 emails/month, never expires; paid Basic $15/mo, Pro $16.50, Platform $18 'Buy Now' -> account.postmarkapp.com/sign_up (same reCAPTCHA form).
Delete account: Find a headless delete routenoneblockedNo account was created. Account API (account.yml) lists only servers, senders, domains, templates/push: no account delete or billing endpoint.

Also in Email infrastructure.