Email Streams
Separate transactional / marketing / notification sending profiles. Each has its own from-address, SES configuration set, and IP pool.
Create a stream
POST /api/streams
Scopes: streams:write
| Field | Type | Required | Description |
|---|---|---|---|
name | string (64 chars, A-Za-z0-9_-) | Yes | Unique per tenant. |
type | enum | No | transactional (default), marketing, notifications. |
description | string | No | Human-friendly label. |
defaultFrom | No | Fallback From if a send doesn't specify one. | |
configSet | string | No | SES configuration set name to attach to sends. |
ipPool | string | No | SES dedicated IP pool name. |
enabled | boolean | No | Default true. |
List streams
GET /api/streams
Get a stream
GET /api/streams/:id
Delete a stream
DELETE /api/streams/:id
Using a stream in a send
Pass streamId in POST /api/emails. Mailgrid resolves the stream, applies its configSet + defaultFrom, and stamps X-InboxOS-Stream on the outbound headers.
Best practice
Create at least two streams from day one: transactional for password resets / receipts (high deliverability priority) and marketing for promotional content (different IP pool, separate reputation).