Skip to main content


  • Message Expiry

    What is message expiry?

    Some text messages have a limited useful lifetime. If they’re not delivered within a certain period, they become useless. By default, Plivo expires messages that remain in the messaging queues after three hours. These messages are marked “failed” with error code 420 and are not charged to customers.

    Why might a message expire?

    When customers send a message through Plivo, it spends a short time in Plivo’s messaging queue before we forward it to a carrier. Typically this time is on the order of seconds, but it might be longer, typically due to messaging rate limits or an outage.

    Each Plivo account and sender (the source number in the API) has an upper cap of how many messages it can handle, because we need to comply with carrier-level guidelines in each country. For instance, a short code in the US supports throughput of 100 messages per second. Sending messages at a higher rate results in queuing delays.

    Another common cause of message expiry is an outage, either on Plivo’s side or on carriers’, that causes messages to be delayed.

    In such cases your users might be getting messages at a time later than you expected — sometimes too late to be useful. A one-time password (OTP) that gets delayed by 15 minutes is no good when your application expects the OTP to be entered within one minute.

    How can I customize the expiry of my messages with Plivo?

    You can set the expiry time for each message with our send message API by passing the parameter message_expiry. Its default value is 10,800 seconds (three hours); you can set the expiry time to be 5 to 10,799 seconds. 

    When Plivo dequeues each message to send it to the carrier, we evaluate the time it has spent in Plivo’s messaging queue and compare that value with the expiry interval. If the elapsed time is more than the expiry period of the message, we mark the messages as failed and don’t charge for it.

    What does Plivo recommend for message expiry values?

    If your use case revolves around authentication, set message expiry to a value of between 60 and 600 seconds, depending on the time your application allows for a value to be input. For less time-sensitive use cases, such as promotional messaging, you can keep the default value of three hours or lower it to one hour (3,600 seconds).

    Setting a too aggressive message expiry period might mean your messages don’t reach your customers, so choose your expiry period based on the upper limit of when the message will be useful.

    You can check for message expiry by filtering your message log for an error code of 420.

    Expiry.pngIf you see messages expiring frequently, you might be sending too many messages in too short a period, beyond the allowed limit for your account or number type. Your customer success manager or our support team can help you resolve the issue.

  • Bitrix24 Integration

    Sign up for a free Plivo account, and register for or log in to a Bitrix24 account. Then search for Plivo in the Bitrix24 Marketplace, and install Plivo by clicking on the Install button.


    You'll then be redirected to the Plivo Application page. Enter your Plivo Auth ID, Auth Token, and sender ID details. Save the details, then click on the Test SMS button to validate the integration. 


    Please note that sender ID refers to the source number. You can rent a Plivo US/Canada number if the destination number is a US/Canada number.   

    Test and validate

    Once you're done with the implementation, you can test the setup from the Test SMS page. You can trigger a test SMS message by entering a destination number and message content. 


    • You can trigger bulk SMS messages to multiple recipients by providing a list of destination numbers separated with the delimiter "<" (e.g. 14156667777<14157778888<14158889999).
    • Bitrix24/Plivo integration supports only outbound SMS.
  • How can I enable SMS and MMS through toll-free numbers?

    Starting October 1, 2022, if the messaging volume from your toll-free numbers toward US subscribers exceeds these limits, you must verify those numbers. Messages in excess of these limits will be marked as undelivered.

    • Daily limit: 2,000 messages per day
    • Weekly limit: 12,000 messages per week
    • Monthly limit: 25,000 messages per month

    All messages, regardless of whether they were successfully delivered, count toward daily/weekly/monthly limits. If, for example, a customer attempts to send 25,000 messages on the first of the month, the first 2,000 messages will be sent and the remaining 23,000 will be blocked because of the daily limit. However, all 25,000 messages will count toward the weekly and monthly limits. Any attempt to send more messages the following day will fail with error code 960 because of the weekly limit.

    The day resets at 12:00 midnight PST, while the week resets on Sunday at 12:00 midnight PST. A month refers specifically to a calendar month.

    These limits apply only to US destinations. All messages toward Canada must be sent from verified numbers starting October 1, 2022.

    To submit a verification request, fill out the Plivo Toll-Free Verification form

    • The details you enter in the form should apply to the business that will be sending out the messages. This means that if you’re submitting a toll-free verification request on behalf of a customer, the form information for fields such as use case and opt-in flow should apply to the customer.
    • You don’t need to provide message samples for every message you plan to send, but we recommend that you provide enough samples to be representative of most of your messaging traffic.
    • Snowshoeing is strictly prohibited on toll-free numbers. If your business has a legitimate requirement for using multiple numbers for the same use case, provide a clear and detailed justification in the Use Case field.
    • Any images you uploaded (for opt-in workflow, for instance) should be clear and in JPG or PNG format.

    The verification process may take up to six weeks; the process is outlined in our documentation. We’re working on reducing this time. 

    If you need to submit verification requests for multiple numbers at once, please create a ticket with our support team.


  • How can I add a line break in my SMS or MMS message?

    To include line breaks in messages sent from Plivo, you may need to encode the newline escape sequence "\n" in your code. Here’s an example of how this works:

    curl -X POST<auth_id>/Message/ \
      -u <auth_id>:<auth_token> -H 'Content-Type: application/json' \
      -d '{  "src" : "14845355114", 
      "dst" : "14845355111"  , 
      "text": "Here is my first line\nHere is my second line" 

    This example sends an outbound message from the sender (484) 535-5114 (+14845355114) to the recipient at (484) 535-5111 (+14845355111), and includes the message:

    Here is my first line
    Here is my second line

    In your own applications, you can use similar syntax, updating several <variables> and strings:

    • Line 1 — your Auth ID
    • Line 2 — your Auth ID and Auth Token
    • Line 3 — a valid sender/from number
    • Line 4 — a valid destination number
    • Line 5 — the desired message text
  • What countries do you support for SMS?

    We support inbound SMS in the following countries:

    United Kingdom
    United States

    We support outbound SMS in more than 200 countries.

  • What's the difference between promotional and transactional SMS messages?

    A promotional SMS message is sent with the objective of promoting a product or service. These are sales and marketing messages which may or may not be solicited by the recipient.

    A transactional SMS message is sent to customers with the purpose of passing on information necessary for using your product or service. For example: 

    • Messages sent for two-factor authentication or one-time passwords
    • Notifications regarding a product or service used by a customer, such as an appointment reminder
  • How to Export Message Detail Records (MDR)

    Customers can generate Message Detail Record (MDR) reports directly from the Plivo console

     To find your MDRs, log in to your account. Navigate to SMS, then Logs. Filter the logs by clicking on Filter Logs. From the drop-down list select either "Select MDRs on this page" or "Select all MDRs," then click Export.

    If the logs are of downloadable size, the file will automatically be downloaded to your device. If the logs are too large, exported logs will be emailed to your registered email address.

    The information included in your MDR export includes: 

    For a downloaded file:

    Message UUID



    To Country ISO2


    Message Time    


    Error Code    

    Error Reason    


    Rate Per Unit (USD)    

    Carrier Surcharge Per Unit (USD)    

    Total Charge Per Unit (USD)    

    Total Charge (USD)

    For an emailed file:

    Message UUID








    Message Rate    

    Message Charge


    We retain MDRs in our transactional databases for 90 days.