API and keys
API and keys
Webhooks · SeleQueue · SeleMail · Email Routing · Push · Bot protection · API and keys
The events API uses the same API keys as SeleStorage, so one key works across products. Send it as Authorization: Bearer <key>. Keys are stored only as hashes and every request is limited to your own project.
| Scope | Allows |
|---|---|
| read | Lists, delivery log, usage, suppression list |
| write | Emit events, replay deliveries, send email, register devices, send push |
| admin | Endpoints, routing, bounce reports, overage limit, dead-letter retry |
Endpoints
POST /v1/events { "type": "user.created", "data": {} }
GET /v1/webhooks/deliveries delivery log with every attempt
POST /v1/webhooks/deliveries/{id}/replay
POST /v1/mail/send { "from", "to", "subject", "text", "html" }
PUT /v1/mail/overage-limit { "cents": 70 } (0 = hard stop at the allowance)
POST /v1/mail/bounces { "email", "kind": "hard|soft|complaint" }
POST /v1/push/devices { "userId", "platform", "token" }
POST /v1/push/send { "userId", "title", "body" }
GET /v1/queue/dead POST /v1/queue/dead/{id}/retry
GET /v1/usage
Limits and errors
Monthly allowances are enforced atomically: when one is used up, requests stop with 429 until the next month or a plan change. Email overage is billed at $0.70 per 1,000 only if you set an overage limit. Failed deliveries are retried with growing delays and then listed as dead letters, where you can retry them.