Send an email
Queues one email and returns right away with 202. Delivery happens in the background:
listen to webhooks or poll the email to follow its status. Live keys charge one credit
per recipient; test keys never deliver and cost nothing.
Authorizations
Your API key, ps_live_… or ps_test_….
Headers
Any unique string, up to 255 characters. Retrying with the same key returns the original response instead of sending twice. Kept for 24 hours.
Body
Sender address on a verified domain. Accepts Name <address>.
320"Acme <hello@acme.com>"
One address, or a list. Up to 50 recipients in total across to, cc and bcc.
"jane@example.com"
998"Your verification code"
Address replies should go to.
HTML body. Send html, text, or both.
"<p>Your code is <strong>482913</strong></p>"
Plain-text body.
Free-form labels to find and filter emails later. Up to 10.
10256Custom headers, as name → value.
Response
Accepted. The email is queued; follow its status with webhooks or GET /emails/{id}.
Always email.
"email"Unique identifier, prefixed em_.
"em_01jbz8m3k2q7x9c4v5n6p8r0st"
"Acme <hello@acme.com>"
Delivery status. queued → sent → delivered. Final states: delivered, bounced, complained, failed, canceled.
queued, sent, delivered, delivery_delayed, bounced, complained, failed, canceled True when sent with a ps_test_ key. Test emails are never delivered and cost no credits.
Tags you attached when sending.
One credit per recipient (to, cc and bcc). Zero in test mode.
"2026-10-17T09:41:00Z"

