Skip to main content
POST
/
v1
/
mms
/
send
Send Single MMS
curl --request POST \
  --url https://api.example.com/v1/mms/send \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <x-api-key>' \
  --data '
{
  "campaign_id": "<string>",
  "phone_number": "<string>",
  "media_url": "<string>",
  "message": "<string>"
}
'
{
  "success": true,
  "message": "<string>",
  "phone_number": "<string>",
  "campaign_id": "<string>",
  "media_url": "<string>",
  "thread_qualified": true,
  "ai_disabled": true,
  "human_takeover": true
}

Send Single MMS

Send a manual MMS message with a media attachment to a contact within a campaign. This enables live agents to share images, documents, or other media with contacts.

Authentication

X-API-Key
string
required
Your API key

Request Body

campaign_id
string
required
The campaign ID containing the contact
phone_number
string
required
The contact’s phone number (E.164 format recommended: +15551234567)
media_url
string
required
URL to the media file. Must be a publicly accessible HTTP/HTTPS URL - the carrier will fetch this URL directly to deliver the media.
message
string
Optional text message to accompany the media

Media URL Requirements

The media_url must be publicly accessible without authentication. The carrier fetches this URL directly to deliver the media to the recipient.
Recommended Storage Options:
  • Amazon S3 - Use public buckets or pre-signed URLs with long expiration
  • Google Cloud Storage - Use public objects or signed URLs
  • Azure Blob Storage - Use public containers or SAS tokens
  • Cloudinary - Provides direct public URLs
  • Any CDN - As long as the URL is publicly accessible
Requirements:
  • URL must start with http:// or https://
  • URL must not require authentication headers or cookies
  • URL should remain accessible for at least 24 hours (carriers may retry)
  • File must be within size limits (see table below)
Example Valid URLs:
https://your-bucket.s3.amazonaws.com/images/product.jpg
https://storage.googleapis.com/your-bucket/brochure.pdf
https://res.cloudinary.com/your-cloud/image/upload/photo.png

Supported Media Types

TypeExtensionsMax Size
Imagesjpg, jpeg, png, gif5 MB
Videomp4, 3gp10 MB
Audiomp3, wav, ogg5 MB
Documentspdf5 MB

Response

success
boolean
Whether the MMS was sent successfully
message
string
Status message
phone_number
string
The normalized phone number the message was sent to
campaign_id
string
The campaign ID
media_url
string
The media URL that was sent
thread_qualified
boolean
Whether the conversation thread was marked as qualified
ai_disabled
boolean
Whether AI follow-ups have been disabled for this contact
human_takeover
boolean
Indicates this was a human takeover action

Example Request

curl -X POST "https://api.teli.ai/v1/mms/send" \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "campaign_id": "campaign_abc123",
    "phone_number": "+15551234567",
    "media_url": "https://example.com/product-brochure.pdf",
    "message": "Here is the brochure you requested!"
  }'

Example Response

{
  "success": true,
  "message": "MMS sent successfully",
  "phone_number": "+15551234567",
  "campaign_id": "campaign_abc123",
  "media_url": "https://example.com/product-brochure.pdf",
  "thread_qualified": true,
  "ai_disabled": true,
  "human_takeover": true,
  "powered_by": "Teli"
}

Use Cases

  • Product Images - Share product photos with interested leads
  • Brochures/PDFs - Send informational documents
  • Location Maps - Share directions or maps
  • Promotional Content - Send special offers with images

Error Responses

{
  "success": false,
  "error": "Missing required field: media_url"
}
{
  "success": false,
  "error": "media_url must be a valid HTTP/HTTPS URL"
}

Notes

Important: You are responsible for hosting and serving the media files. Store your media in cloud storage (S3, GCS, Azure, Cloudinary, etc.) and provide the public URL.
  • Media URL must be publicly accessible - No authentication, API keys, or session cookies
  • The media file is fetched directly by the carrier network to deliver to the recipient
  • URLs should remain valid for at least 24 hours (carriers may retry failed deliveries)
  • Some carriers may have additional size or format restrictions
  • Like SMS, sending MMS disables AI follow-ups for the contact
  • The contact must already exist in the specified campaign