Skip to content

The sendsavedmms action

The sendsavedmms action sends a previously saved MMS template to a single mobile number. The request must include a valid mms-id that exists under the same account/API key.

The sender number must be provisioned for the account and authorized for MMS. Optional group-display recipients may be included through to-displayonly.

Endpoint and headers

POST https://api.ci.mblox.com/ep/v2/
Content-Type: application/json; charset=utf-8
x-api-key: YOUR_API_KEY_HERE

Request parameters

ParameterRequired/OptionalTypeDescription
actionRequiredStringMust be sendsavedmms.
mms-idRequiredStringMMS template ID returned by savemms/N003.
service-idRequired if configured for the accountStringCampaign or service identifier when required by account configuration.
toRequiredStringDestination phone number with country code.
to-displayonlyOptionalStringComma-separated list of display-only group participants.
fromRequiredStringProvisioned Short Code, Toll-Free, or 10DLC sender with country code.
from-maskOptionalStringAlphanumeric sender mask where supported. Not supported in the USA.
message-subjectOptionalStringOverrides the subject saved in the MMS template.
fallback-sms-textRequired when fallback is enabled and disable-fallback-sms is falseStringOverrides fallback SMS text saved in the MMS template.
disable-fallback-smsOptionalBooleanOverrides the saved template fallback SMS setting.
disable-fallback-sms-linkOptionalBooleanOverrides the saved template fallback SMS link setting.
fallback-sms-link-expirationOptionalString date-timeExpiration for SMS fallback link. Defaults to 1 year. Maximum 1 year.
mms-expiry-timestampOptionalString date-timeStops delivery attempts after this timestamp. Defaults to 3 days. Maximum 3 days.
client-referenceOptionalStringCustomer transaction ID. Passed back in postbacks. Maximum 64 characters.
custom-slidesOptionalArrayReplaces text on specified saved template slides at send time.

custom-slides parameters

custom-slides can be used to replace the text on one or more slides in the saved template at send time. This is supported for replacing slide text, not for unsupported dynamic personalization or merge tag behavior.

ParameterRequired/OptionalTypeDescription
custom-slides[].custom-slideRequired when custom-slides is usedString/integerSlide number whose text will be replaced.
custom-slides[].custom-message-textRequired when custom-slides is usedStringReplacement text for the specified saved template slide. Line breaks are supported.

Fallback SMS considerations

If an MMS is too large to deliver or if a carrier does not support MMS delivery, the API may deliver the content as fallback SMS if enabled. Fallback SMS consists of fallback-sms-text and, by default, a link to view the MMS content.

FieldBehavior
fallback-sms-textText sent when MMS is delivered as SMS fallback. Required when fallback is enabled and disable-fallback-sms is false.
disable-fallback-smsWhen true, fallback SMS delivery is disabled.
disable-fallback-sms-linkWhen true, the hosted MMS content link is not appended to fallback SMS text.
fallback-sms-link-expirationExpiration date/time for the fallback SMS link. Defaults to 1 year. Maximum 1 year.

Group messaging with to-displayonly

Group messaging or group chat display behavior is supported by using the to-displayonly field. The field contains a comma-separated list of phone numbers with country code.

Note

to-displayonly is a display/pass-through field. Delivery is only attempted to the recipient in the to field. To deliver to every participant, submit one API request per recipient in the to field and include the other participants in to-displayonly.

Special considerations

  • Always submit destination and sender numbers in international number format. Include the country code and phone number. Do not include dialing prefixes such as 00 or 001 and do not include the plus sign.
  • The mms-id must exist under the same account/API key.
  • custom-slides only replaces text on saved template slides. It does not provide dynamic image, contact, calendar, or merge tag behavior.
  • Line breaks are supported in custom-message-text.

Example: Send saved MMS without group messaging

curl -i -X POST \
  https://api.ci.mblox.com/ep/v2/ \
  -H 'Content-Type: application/json; charset=utf-8' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -d '{
    "action": "sendsavedmms",
    "mms-id": "123456",
    "service-id": "campaign-123",
    "to": "17745550001",
    "from": "18885551234",
    "fallback-sms-text": "We could not deliver the MMS. View it here:",
    "disable-fallback-sms": false,
    "client-reference": "send-001"
  }'

Example: Send saved MMS with group messaging display

curl -i -X POST \
  https://api.ci.mblox.com/ep/v2/ \
  -H 'Content-Type: application/json; charset=utf-8' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -d '{
    "action": "sendsavedmms",
    "mms-id": "123456",
    "service-id": "campaign-123",
    "to": "17745550001",
    "to-displayonly": "17745550002,17745550003",
    "from": "18885551234",
    "fallback-sms-text": "We could not deliver the MMS. View it here:",
    "disable-fallback-sms": false,
    "client-reference": "group-send-001"
  }'

Example: Send saved MMS with custom-slides

curl -i -X POST \
  https://api.ci.mblox.com/ep/v2/ \
  -H 'Content-Type: application/json; charset=utf-8' \
  -H 'x-api-key: YOUR_API_KEY_HERE' \
  -d '{
    "action": "sendsavedmms",
    "mms-id": "123456",
    "service-id": "campaign-123",
    "to": "17745550001",
    "from": "18885551234",
    "client-reference": "custom-slide-001",
    "custom-slides": [
      {
        "custom-slide": "1",
        "custom-message-text": "Reminder: your appointment is tomorrow at 2 PM."
      }
    ]
  }'

Success response example

{
  "status": "success",
  "mms-id": "123456",
  "tracking-id": "abc123xyz",
  "to": "17745550001",
  "from": "18885551234",
  "status-details": "MMS request accepted and queued for delivery."
}

Failure response example

{
  "status": "failure",
  "error-code": "E241",
  "error-info": "Invalid MMS ID or MMS does not exist."
}

Response schema

FieldPresenceTypeDescription
statusAlwaysStringsuccess or failure.
status-detailsSuccess onlyStringAdditional information about the accepted request.
tracking-idSuccess for send actionsStringTransaction ID used to link API requests to postbacks.
mms-idSuccess for sendsavedmmsStringMMS template ID.
toSuccess for sendsavedmmsStringDestination phone number.
fromSuccess for sendsavedmmsStringSender number.
error-codeFailure onlyStringError code identifying the failure condition.
error-infoFailure onlyStringHuman-readable error details.