Providers
Providers are the bridge between SendPipe and your messaging services. Connect your own provider credentials, assign priorities, and let SendPipe handle routing, failover, and health monitoring automatically.
Priority-Based Routing
Each provider has a numeric priority within its channel. When you send a message, SendPipe picks the highest-priority healthy provider for that channel. If the send fails, it automatically falls over to the next provider in the priority list.
email).healthy status.FAILED.Per-Channel Isolation
Failover operates strictly within a single channel per organization. A WhatsApp message that exhausts all WhatsApp providers will never be re-routed to email or SMS. Each channel maintains its own independent provider stack and priority ordering.
Health Scoring
SendPipe continuously monitors provider health based on recent send outcomes. Health status determines whether a provider is eligible for routing.
| Status | Condition | Routing Behavior |
|---|---|---|
| healthy | Error rate below 5% over last 100 sends | Eligible for routing at assigned priority |
| degraded | Error rate between 5%--25% | Deprioritized; used only if no healthy providers remain |
| unhealthy | Error rate above 25% or consecutive failures | Excluded from routing until recovery |
Endpoints
/v1/providersList all providers for the current project, ordered by priority.
/v1/providersAdd a new provider from an installed marketplace package.
/v1/providers/:idUpdate provider name, credentials, or enabled status.
/v1/providers/:idRemove a provider. Messages in-flight will fail over to the next provider.
/v1/providers/reorderSet the priority order for all providers within a channel.
Create Provider Body
POST /v1/providers
| Name | Type | Required | Description |
|---|---|---|---|
packageName | string | Yes | Name of the installed marketplace package (e.g. "provider-ses", "provider-meta-cloud"). |
name | string | Yes | A friendly display name for this provider instance (e.g. "Production SES"). |
credentials | object | Yes | Provider-specific credentials. Schema is defined by the package's getCredentialSchema(). |
Marketplace Packages
SendPipe ships with 11 provider packages across three channels. Email packages are free and bundled with every organization. WhatsApp and SMS packages are paid add-ons available from the Marketplace.
5 providers · Free
SES, SendGrid, Mailgun, Resend, SMTP
3 providers · Paid
Meta Cloud API, 360dialog, Twilio
SMS
3 providers · Paid
Africa's Talking, Twilio, Termii
Example: Add a Provider
curl -X POST https://api.sendpipe.io/v1/providers \
-H "X-SendPipe-Key: sp_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"packageName": "provider-ses",
"name": "Production SES",
"credentials": {
"accessKeyId": "AKIA...",
"secretAccessKey": "wJal...",
"region": "us-east-1"
}
}'Example: Reorder Providers
Pass an ordered array of provider IDs to set the priority for a channel. The first ID gets the highest priority.
curl -X POST https://api.sendpipe.io/v1/providers/reorder \
-H "X-SendPipe-Key: sp_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"channel": "email",
"providerIds": ["prv_primary", "prv_backup", "prv_tertiary"]
}'