NevarMail

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

ProviderTypeStatus
SendGridsendgridAvailable
MailgunmailgunComing soon
Amazon SESsesComing soon
PostmarkpostmarkComing soon
SMTPsmtpComing 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

FieldTypeRequiredDescription
namestringYesDisplay name for this provider
typestringYesProvider type (see table above)
configobjectNoProvider-specific configuration
prioritynumberNoPriority for provider selection (lower = higher priority)
rateLimitPerMinutenumberNoMaximum sends per minute
rateLimitPerHournumberNoMaximum sends per hour
rateLimitPerDaynumberNoMaximum sends per day

List providers

GET /api/providers

Returns 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/providers

Requires 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/:id

Returns { "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.

On this page