Prawnwire API
Send email from your application and read your organization's sending activity.
The API sends from domains verified on your organization and hosted on Prawnwire. You can send one message or a batch, read message events, and manage suppressions. These docs are public; you do not need console access to read them.
Connect
Base URL: https://api.prawnwire.com/v1. Send your API key in Authorization: Bearer <key>. Requests with a body use Content-Type: application/json.
An organization admin verifies the sending domain and creates your key. Start with the Quickstart to send a message, or open the send endpoint for its fields and limits.
Postmark compatibility
Prawnwire uses Postmark’s JSON format and supported endpoint paths under /v1. It is not a replacement for every Postmark feature. Account endpoints use their own JSON format.
| Feature | Status | What to expect |
|---|---|---|
| Single and batch email | Supported | PascalCase message fields and one result per message. |
| Attachments, headers and metadata | Supported | Subject to the documented limits and reserved headers. |
| Outbound activity and message details | Supported | Message summaries, bodies and delivery events; 30-day retention. |
| Suppression dump and deletion | Supported | Organization-wide suppressions on the outbound stream. |
| Test keys | Supported | Organization-specific pw_test_ keys. Postmark’s POSTMARK_API_TEST token is not accepted. |
TrackOpens, TrackLinks | Accepted but ignored | No open or click tracking. Activity reports TrackOpens: false and TrackLinks: "None". |
| Webhooks | Not yet | Read message details for events. |
| Templates | Not yet | Render bodies in your application. |
| Other message streams | Not yet | Only outbound is available. |
| Inbound processing | Not yet | There is no inbound API in this send API. |
The verified client integration is postmark.js 5.1.0 for sending, batch sending, and outbound listing. Other Postmark libraries should work for supported endpoints when their host is changed, but are not verified here.
Endpoints
Every endpoint requires an active API key. Scopes are granted when an organization admin creates the key.
| Method and path | Scope |
|---|---|
GET/v1/me | Any active key |
GET/v1/domains | domains:read |
GET/v1/members | members:read |
POST/v1/email | email:send |
POST/v1/email/batch | email:send |
GET/v1/messages/outbound | email:read |
GET/v1/messages/outbound/{MessageID}/details | email:read |
GET/v1/message-streams/outbound/suppressions/dump | email:read |
POST/v1/message-streams/outbound/suppressions/delete | email:send |
Build for production
An accepted request is not a delivery receipt. Keep the MessageID and read message details. Handle errors, rate limits, and your organization’s monthly allowance and daily cap.