Skip to main content
500CallsDocs
Browse the docs

Message error codes

A message's error.code says why it did not reach the handset. It appears on the message, in its status history, and per recipient in a send's response.

  • invalid_recipient
    Status
    • rejected
    Charged?
    No

    Not a valid mobile number once normalised.

  • destination_not_supported
    Status
    • rejected
    Charged?
    No

    The recipient's country is not enabled for sending.

  • recipient_opted_out
    Status
    • rejected
    Charged?
    No

    The number is on your suppression list.

  • duplicate_recipient
    Status
    • rejected
    Charged?
    No

    The same number appears earlier in the request.

  • template_variable_missing
    Status
    • rejected
    Charged?
    No

    A template placeholder had no value and no default. Campaigns only.

  • body_too_long
    Status
    • rejected
    Charged?
    No

    The batch item's body, or a campaign's message once filled in, is longer than 10 segments.

  • sender_id_not_approved
    Status
    • rejected
    Charged?
    No

    The sender ID is not active on any route that serves this recipient.

  • sender_id_suspended
    Status
    • rejected
    Charged?
    No

    The sender ID was suspended before the message was sent.

  • pricing_not_configured
    Status
    • rejected
    Charged?
    No

    No route is priced for the recipient's country.

  • insufficient_balance
    Status
    • rejected
    Charged?
    No

    There were not enough funds for this recipient. Campaigns and test sends only.

  • provider_rejected_recipient
    Status
    • rejected
    Charged?
    No

    The route refused the number when the message was submitted.

  • provider_rejected_sender_id
    Status
    • rejected
    Charged?
    No

    The route refused the sender ID. 500Calls staff are alerted.

  • provider_rejected_content
    Status
    • rejected
    Charged?
    No

    The route refused the message text.

  • dnd_blocked
    Status
    • rejected
    • undelivered
    Charged?
    No when rejected; yes when undelivered

    The number is on the Do-Not-Disturb list and the route cannot deliver to it.

  • no_provider_available
    Status
    • failed
    Charged?
    No

    No route could take the message within 4 hours.

  • provider_error
    Status
    • failed
    Charged?
    No

    Every route failed with a temporary error.

  • absent_subscriber
    Status
    • undelivered
    Charged?
    Yes

    The handset was off or out of coverage until the network gave up.

  • handset_error
    Status
    • undelivered
    Charged?
    Yes

    The handset could not receive the message, for example because its memory is full.

  • network_error
    Status
    • undelivered
    Charged?
    Yes

    The mobile network failed to deliver the message.

  • rejected_by_carrier
    Status
    • undelivered
    Charged?
    Yes

    The mobile network rejected the message after the route accepted it.

  • expired_at_carrier
    Status
    • undelivered
    Charged?
    Yes

    The network's delivery window ran out.

  • delivery_failed
    Status
    • undelivered
    Charged?
    Yes

    Delivery failed for a reason the network did not give.

  • dlr_timeout
    Status
    • expired
    Charged?
    Yes

    No delivery receipt arrived within 72 hours. A late receipt can still update the status.

  • cancelled_by_user
    Status
    • cancelled
    Charged?
    No

    You cancelled it through the API or the dashboard.

  • campaign_cancelled
    Status
    • cancelled
    Charged?
    No

    Its campaign was cancelled.

  • tenant_closed
    Status
    • cancelled
    Charged?
    No

    Your account was closed before it was sent.