DocsCreate account
// MESSAGE INFRASTRUCTURE

A simpler protocol
for product email.

Send, receive and understand every message through one deliberate API.

Start sending — free
LIVE DELIVERY•••
POSTA_8F2Atransactional
API response201
TransportManaged route
MESSAGE RECORDED
One product surface across
REST APINODE SDKCLIMOBILE
// THE PROTOCOL

Infrastructure that keeps the difficult parts quiet.

POSTA connects application intent to a complete delivery route. The interface stays small while identity, retries, provider responses and inbound events remain coordinated behind it.

Read the specification
REQUEST EXAMPLEPOST /api/v1/emails
TOmaya@example.net
{ "template": "welcome", "variables": {…} }201 CREATED · email_msg_…
// REQUEST CONTRACT

See the exact endpoint, response status and object returned by a real send.

YOUR APPrequest
POSTA APIpolicy + quota
AZURE ACSdelivery transport
// DELIVERY ROUTE

Watch one message move from application intent to a verified remote response.

// IMPLEMENTATION CONSOLE / 01

A small API surface.
A complete delivery protocol.

The quiet interface above opens into one inspectable system below.

POSTA / DELIVERY CONSOLEmsg_8f2a9d4cPRODUCTION
send.ts
import { Posta } from "@esaart/posta";

const posta = new Posta(process.env.POSTA_API_KEY);

const message = await posta.emails.send({
  from: "Product <hello@mail.acme.dev>",
  to: "maya@example.net",
  subject: "Your workspace is ready",
  html: "<strong>Welcome to Acme.</strong>",
  idempotencyKey: "welcome/user_482"
});

console.log(message.id);
›posta inspect msg_8f2a9d4c --followCONNECTED
APPLICATIONPOST /api/v1/emails
POSTA APIquota + suppression
AZURE ACSdelivery transport
YOUR ENDPOINTsigned event
AZURE ACS DELIVERYDKIM / SPF / DMARCSEARCHABLE EVENTS5 WEBHOOK ATTEMPTS
// PLATFORM INDEX

Everything required to move a message through production.

Start with the same small API. Add only the surfaces your product needs.

01 / SEND

Email API

REST and a typed Node SDK with batch, scheduling and idempotency keys.

POST /api/v1/emails
02 / OBSERVE

Logs & events

Message status, provider events and webhook delivery attempts in the dashboard.

GET /api/v1/emails
03 / TRUST

Domain identity

Publish the ownership, SPF, DKIM and DMARC records shown in the dashboard.

DASHBOARD / DOMAINS
04 / AUTOMATE

Webhooks

HMAC-SHA256 signed events with durable retries and visible attempt history.

Posta-Signature
05 / RECEIVE

Inbound email

Parse replies, content, headers and attachments into structured application data.

email.received
06 / DEVELOP

Recipient validation

Check syntax, common typos, disposable domains, role addresses and MX records.

POST /api/v1/validate
// CAPABILITIES

One system across the full message lifecycle.

Choose a surface to inspect its role in the protocol.

REQUEST / POST /API/V1/EMAILS201 CREATED
import { Posta } from "@esaart/posta";

await posta.emails.send({
  from: "Product <hello@mail.acme.dev>",
  to: "maya@example.net",
  template: "workspace-ready",
  idempotencyKey: "welcome/user_482"
});
PROVIDER AZURE ACSSTATUS SENTMESSAGE email_msg_8f2a
PLATFORM SURFACE / 01

Send

Transactional, scheduled and batch delivery through one idempotent API.

POST /api/v1/emailsEXPLORE THE API
PLATFORM SURFACE / 02

Observe

Inspect the request, provider response and every event on the route.

accepted → deliveredEXPLORE THE API
PLATFORM SURFACE / 03

Trust

Verify domain identity and keep reputation policy continuously observable.

DKIM / SPF / DMARCEXPLORE THE API
PLATFORM SURFACE / 04

Receive

Turn replies into hosted conversations and normalized signed events.

email.receivedEXPLORE THE API
// OBSERVABILITY

Every state is part of the product.

Search the complete route instead of guessing what happened after the request left your code.

DELIVERED / LAST 12 MINUTES LIVE
828384858687888990919293
894DELIVERED EVENTS
EXAMPLE WINDOW
SAMPLE UPDATED 1s AGO
Automatic retries ACTIVESigned webhooks ACTIVEDomain health PASS
// OPERATING PRINCIPLES

The guarantees product email should make explicit.

01
A retry should never create a duplicate message. Idempotency belongs in the send contract, not in application folklore.
SAFE RETRIESIDEMPOTENCY / FIRST-CLASS