Skip to main content
POST

Sender

Messages sent with a tenant-scoped key are delivered through your organization’s configured phone number. Pass useShortcode: true in the request body to override and route through the shared Nautilus shortcode instead. Tenants without a configured phone number that omit useShortcode receive a 422 response. Messages sent with a platform key always use the Nautilus shortcode; useShortcode is ignored on this path.

Phone number formats

The to field accepts US phone numbers in several formats: All numbers are validated and normalized to E.164 (+1XXXXXXXXXX) before delivery.

Multi-send behavior

When sending to multiple recipients, each message is dispatched in parallel. The response includes per-recipient results:
  • 200 — All recipients succeeded
  • 207 — At least one recipient failed (check results for details)
Individual failures (invalid number, delivery error) do not block other recipients.

Errors

  • 400 — Validation error
  • 401 — Missing or invalid Bearer token
  • 422 — Tenant-scoped key with no configured phone number, and useShortcode was not set. Configure a phone number or pass useShortcode: true.
  • 500 — Internal server error

Authorizations

Authorization
string
header
required

Clerk tenant API key. The organizationId encoded by the key is the exact and only tenant scope.

Body

application/json
to
required

Recipient phone number(s). Accepts a single number or an array. Numbers can be in E.164 format (+15551234567), raw 10-digit (5551234567), or other common US formats.

Minimum string length: 1
Example:

"+15551234567"

body
string
required

The text content of the SMS message.

Minimum string length: 1
attachments
object[]

Optional list of media attachments (MMS). Each attachment must include a publicly accessible URL.

useShortcode
boolean
default:false

Only meaningful for tenant-scoped keys. When true, the message is routed through the shared Nautilus shortcode instead of the tenant's configured phone number. Ignored on platform keys (they always use the shortcode). Default: false.

Response

All messages sent successfully

success
boolean
required

true when every recipient was sent successfully, false otherwise.

results
object[]
required

Per-recipient delivery results.