Launch offer Get 50% off every monthly plan for a limited time. View plans →

Error handling

Every error response uses a consistent envelope:

{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "One or more fields failed validation.",
    "details": { "to": "Must be a valid E.164 phone number." }
  }
}

Successful responses have "success": true and a data key (or data + meta for paginated lists).

Error code reference

CodeHTTPWhen it occurs
MISSING_API_KEY401No Authorization header provided.
INVALID_API_KEY401API key is invalid or revoked.
ACCOUNT_SUSPENDED403The account is suspended.
ACCOUNT_PENDING_KYC403KYC is not yet approved.
INSUFFICIENT_CREDIT402Balance too low for a usage action.
VALIDATION_ERROR422One or more fields failed validation. The details object maps field names to messages.
RATE_LIMIT_EXCEEDED429Per-minute rate limit exceeded.
NUMBER_NOT_FOUND404Number not provisioned to your account.
NUMBER_UNAVAILABLE409No matching number is available to provision.
PLAN_LIMIT_REACHED409Plan number limit reached.
DEVICE_OFFLINE409The device for this number is currently offline.
CROSS_COUNTRY_CALL_NOT_PERMITTED422Voice destination country differs from the source number's country.
MESSAGE_NOT_FOUND404SMS message not found.
CALL_NOT_FOUND404Call session not found.
CALL_ALREADY_ENDED409Call is not in a hangable state (already ended).
CALL_NOT_RINGING409Answer attempted on a call that is not ringing.
WEBHOOK_NOT_FOUND404Webhook not found.
INVALID_EVENT_TYPE422Unknown webhook event type.
© 2026 ReachCell · Terms · Privacy · AUP · API v1 · support@reachcell.com