v51

latestOpenAPI 3.0.3raw.githubusercontent.com2026-08-02172186551.1 KB

Create sender

post/v1/senders

Request body

namestring required
phoneNumberstring

Phone number in E.164 format, and it must be a number your project already owns (see GET /v1/phone-numbers). The number is routed to the sender as part of this call, which is what turns the SMS channel on. Passing a number the project does not own, or one already attached to another sender, returns 400 rather than creating a sender that cannot send. Omit for an email-only sender.

enableVoiceboolean

Let this sender place and answer phone calls. Requires phoneNumber; enabling it without one returns 400. Check the channels array on the response to confirm voice is on.

setAsDefaultboolean
webhookUrlstring uri

HTTPS URL for webhook events.

webhookEventsWebhookEvent[]

Events to subscribe to.

emailAddressstring email

From-address for the email channel (e.g. noreply@yourdomain.com). The address's domain must be a verified email domain in your project. Setting this attaches the email channel to the sender.

emailDomainIdstring

ID of the verified email domain to attach. Optional — resolved from emailAddress's domain when omitted.

emailFromNamestring

Display name shown in the recipient's inbox for the email channel.

emailReceivingEnabledboolean

Enable inbound email receiving on this sender. Requires a verified MX record on the domain; ignored otherwise.

Example request

{
  "emailAddress": "noreply@yourdomain.com"
}

Response

Sender created.

idstring required
namestring required
phoneNumberstring required

Phone number in E.164 format.

channelsstring[]

Channels this sender can actually send on right now, computed from its configuration. Empty means the sender cannot send or receive anything yet: a phoneNumber alone does not enable SMS or voice. Check this rather than inferring capability from phoneNumber or emailAddress.

isDefaultboolean

Whether this sender is the project's default.

emailAddressstring

From-address for the email channel, if configured.

emailReceivingEnabledboolean

Whether inbound email receiving is enabled for this sender.

emailCatchAllEnabledboolean

Whether catch-all receiving is enabled. When true (and emailReceivingEnabled is true), this sender receives email addressed to any local part at its domain, not just its own address. The original recipient is delivered in the message.inbound webhook's data.to.

createdAtstring date-time
updatedAtstring date-time

Example response

{
  "id": "sender_12345",
  "name": "Primary sender",
  "phoneNumber": "+13125551212",
  "channels": [
    "sms",
    "voice"
  ],
  "webhook": {
    "url": "https://api.example.com/webhooks/zavu",
    "secret": "whsec_abc123..."
  },
  "whatsapp": {
    "displayPhoneNumber": "+14155551234",
    "paymentStatus": {
      "setupStatus": "COMPLETE",
      "methodStatus": "VALID"
    }
  },
  "emailAddress": "noreply@yourdomain.com"
}