Sntid

API reference

Queue messages with the versioned REST API. Use a scoped API key as a Bearer token and copy your test sender from the dashboard.

Download OpenAPIOpen API keys

Send a test message

Use your workspace sender address. For a self-hosted deployment, replace the API origin. When you retry an identical send request, reuse the same Idempotency-Key. A changed request under that key returns HTTP 409.

curl
curl https://sntid.com/api/v1/emails \  -H "Authorization: Bearer $SNTID_API_KEY" \  -H "Content-Type: application/json" \  -H "Idempotency-Key: first-message" \  -d '{    "from":"hello@YOUR_WORKSPACE.mock.resned.test",    "to":["reader@example.com"],    "subject":"Hello from Sntid",    "text":"This is a test email."  }'
send-email.ts
const res = await fetch('https://sntid.com/api/v1/emails', {  method: 'POST',  headers: {    'Content-Type': 'application/json',    Authorization: `Bearer ${process.env.SNTID_API_KEY}`,    'Idempotency-Key': 'first-message',  },  body: JSON.stringify({    from: 'hello@YOUR_WORKSPACE.mock.resned.test',    to: ['reader@example.com'],    subject: 'Hello from Sntid',    text: 'This is a test email.',  }),});

Endpoints

MethodPathPurpose
POST/api/v1/emailsQueue or schedule a message
POST/api/v1/emails/batchQueue up to 50 messages
GET/api/v1/emailsList or search messages
GET/api/v1/emails/{id}Read message and recipient events
PATCH/api/v1/emails/{id}Change a scheduled message
DELETE/api/v1/emails/{id}Cancel before sending starts
GET/api/v1/webhooksList subscriptions
POST/api/v1/webhooksCreate a signed subscription

SMTP gateway

Connect to your deployment’s SMTP host on port 2465 using implicit TLS. Use resned as the username and a Sntid API key with email:send permission as the password.