Emails
Send Email
Start sending transactional or marketing email through the PSend Email API.
POST
/v1/emailsBearer authHeaders
Idempotency-KeystringOptional unique key to prevent duplicate sends. Keys expire after 24 hours and max length is 256 characters.
Body Parameters
fromstringrequiredSender address. Friendly name supported: Acme <[email protected]>.tostring[]requiredRecipient addresses. Pass one or more strings.subjectstringrequiredEmail subject line.htmlstringHTML body of the message.textstringPlain-text body. Recommended alongside HTML for deliverability.ccstring[]CC recipients.bccstring[]BCC recipients.reply_tostring[]Reply-To addresses.scheduled_atstringISO 8601 timestamp to schedule delivery (e.g. 2026-08-05T11:52:01.858Z).category"marketing" | "transactional"Set marketing to attach List-Unsubscribe headers. Marketing sends to suppressed addresses return 409.tagsobjectCustom key/value identifiers for filtering analytics.headersobjectCustom SMTP headers as string key/value pairs.attachmentsarrayBase64 attachments: filename, content, optional content_type / content_id.topic_idstringTopic preference check. Opted-out contacts are rejected for that topic.templateobjectSend from a published template: { id, variables }. When set, html/text come from the template.
Notes
- Dashboard session tokens are accepted with the same Authorization Bearer header.
- Live keys start with ps_live_; test keys with ps_test_.