# Errors & statuses

> Every error is a plain sentence telling you what to fix.

## Error format

Example errorCopy
```
{
  "error": "'to' must be a valid phone number"
}
```

## HTTP status codes

  
| Code | Meaning | 
  
| 200 | Success. | 
  
| 400 | Something in your request needs fixing. The error says exactly what. | 
  
| 401 | Missing or wrong workspace key. | 
  
| 403 | The contact opted out. Beam will not message them. | 
  
| 404 | That message or contact does not exist in your workspace. | 
  
| 409 | The action no longer applies, for example cancelling a message that already delivered. | 
  
| 502 | The network rejected the action. Safe to retry once after a short wait. | 

## Message statuses

queued → sent → delivered (texts), or failed / cancelled / no_channel. Full table in Get a message.
