Connect and monitor your email provider
Connect the account you send through, check its health, and understand what NevarMail does and does not do on your behalf.
Providers are the email delivery services that NevarMail uses to send your emails.
Supported providers
| Provider | Type | Status |
|---|---|---|
| SendGrid | sendgrid | Available |
| Mailgun | mailgun | Coming soon |
| Amazon SES | ses | Coming soon |
| Postmark | postmark | Coming soon |
| SMTP | smtp | Coming soon |
SendGrid is the only provider you can connect and send through today. The endpoints below are built against NevarMail's provider integration layer so that connecting additional providers in the future won't change how you call the API.
Session-only vs. API key access
The /api/providers* endpoints below (add, list, health, test, update, delete, auto-detection) require a signed-in dashboard session -- they are not reachable with an API key. An API-key request to these routes gets a 403 SESSION_ONLY. If you need read-only provider info from an API-key integration, use GET /api/v1/providers instead.
Add a provider
POST /api/providers
{
"name": "SendGrid Production",
"type": "sendgrid",
"config": { "region": "us" },
"priority": 0,
"rateLimitPerMinute": 100,
"rateLimitPerHour": 5000,
"rateLimitPerDay": 50000
}Provider fields
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Display name for this provider |
type | string | Yes | Provider type (see table above) |
config | object | No | Provider-specific configuration |
priority | number | No | Priority for provider selection (lower = higher priority) |
rateLimitPerMinute | number | No | Maximum sends per minute |
rateLimitPerHour | number | No | Maximum sends per hour |
rateLimitPerDay | number | No | Maximum sends per day |
List providers
GET /api/providersReturns all configured providers with their health status and current usage counts.
List providers via the v1 public API
API-key integrations can list configured providers read-only via the v1 API:
GET /api/v1/providersRequires the providers:read scope (or *). Returns a paginated envelope of { id, displayName, providerType, isActive } ordered by priority. Credentials and provider config are never included; connecting or editing a provider is a dashboard flow.
Provider health
NevarMail monitors each provider's health status automatically. You can also check a specific provider's status:
GET /api/providers/:id/status{
"id": "...",
"name": "...",
"isHealthy": true,
"lastHealthCheck": "2026-03-22T12:00:00.000Z",
"usageMinute": 5,
"usageHour": 120,
"usageDay": 1500,
"rateLimitPerMinute": 100,
"rateLimitPerHour": 5000,
"rateLimitPerDay": 50000
}name is the provider's id (a UUID), not a display name.
Test a connection
Verify that a provider is correctly configured and reachable:
POST /api/providers/:id/test{
"success": true,
"latencyMs": 750,
"message": "Successfully connected to SendGrid"
}Update a provider
PUT /api/providers/:id
{
"rateLimitPerDay": 100000,
"priority": 1
}Delete a provider
DELETE /api/providers/:idReturns { "removed": true } on success.
Auto-detection
NevarMail can detect which providers are available based on environment variables. Only providers with their required environment variable(s) set are returned -- an unconfigured provider is omitted from the response entirely, not listed with configured: false:
GET /api/config/providers[
{ "name": "SendGrid", "type": "sendgrid", "configured": true, "envVars": ["SENDGRID_API_KEY"] }
]Failover
When a provider becomes unhealthy or reaches its rate limit, NevarMail automatically routes emails to the next available provider based on priority. This happens transparently -- your sending code does not need to change. Today, with only SendGrid available, failover has nothing to fail over to; the mechanism is in place for when additional providers can be connected.