1. Message lifecycle & statuses
PressOne eSIM Developer Platform
  • OVERVIEW
    • Introduction
    • Attribute descriptions
    • FAQ
    • User journeys
      • Top-up Journey
      • Purchase Journey
    • Guides
      • eSIM installation methods for API Partners
      • How to generate the QR code for an eSIM
  • REST API
    • Data / Data + Voice + SMS eSIM
      • Introduction
      • Error handling
      • Endpoints
        • Authenticate
          • Get token information
          • Refresh access token
          • Request access token
        • Check balance
          • Get balance
        • Compatible devices
          • Get compatible device lite list
        • Browse packages
          • Get packages
        • Place order
          • Submit order
        • Manage orders
          • Get order list
          • Get order
        • Manage eSIMs
          • Get eSIM by ICCID
          • Get eSIMs list
          • Get eSIM package history
        • Install eSIM
          • Get installation instructions
        • Monitor usage
          • Get usage (data, text & voice)
        • Place top up order
          • Get top-up package list
          • Submit top-up order
    • Voice-only eSIM
      • Getting Started
      • Error handling
      • Endpoints
        • List Available Numbers
        • Claim Number
        • Renew Number
        • List User
    • SMS
      • Introduction
      • Authentication
      • Conventions
        • Response envelope
        • Errors
        • Rate limits
        • Idempotency
        • Date ranges & timezone
        • Pagination
      • Endpoints
        • Send an SMS
          • Send SMS /api/sms/send
        • List message logs
          • List message logs /api/sms/logs
        • Get statistics
          • Get statistics /api/sms/statistics
        • Export logs (CSV)
          • Export logs (CSV) /api/sms/export
        • Analytics
          • Overview
            • Overview /api/sms/analytics/overview
          • Message volume
            • Message volume /api/sms/analytics/message-volume
          • Delivery status distribution
            • Delivery status distribution /api/sms/analytics/delivery-status
          • Delivery report
            • Delivery report - /api/sms/analytics/delivery-report
        • Check wallet balance
          • Check wallet balance /api/sms/balance
        • Send an OTP
          • Send an OTP /api/sms/otp/send
        • Verify an OTP
          • Verify an OTP /api/sms/otp/verify
      • Delivery webhooks
        • Delivery webhooks
      • Message lifecycle & statuses
        • Message lifecycle & statuses
      • Appendix: message object
        • Appendix: message object
  1. Message lifecycle & statuses

Message lifecycle & statuses

POST /sms/send → "accepted"  (provider accepted; wallet provisionally charged)
        │
        ▼  provider delivery report (DLR)
   ┌────────────┬───────────────┐
   │  "sent"    │  "delivered"  │  "failed"
   └────────────┴───────────────┘
StatusMeaning
acceptedReturned by /sms/send; handed to the provider, no DLR yet.
sentProvider accepted/submitted to the carrier; not yet confirmed delivered.
deliveredConfirmed delivered to the handset; delivered_at is set; cost trued-up.
failedCould not be delivered; error_message explains why; charge refunded if the send was rejected outright.
Status only ever moves forward (pending → sent → failed → delivered by rank) — out-of-order
provider reports never downgrade a message that's already delivered.
Modified at 2026-06-23 09:20:25
Previous
Delivery webhooks
Next
Appendix: message object
Built with