Error Codes
The ColdSend API uses standard HTTP status codes and returns structured error responses.HTTP Status Codes
| Code | Status | Description |
|---|---|---|
| 200 | OK | Request succeeded |
| 201 | Created | Resource created successfully |
| 400 | Bad Request | Invalid request parameters |
| 401 | Unauthorized | Missing or invalid API key |
| 403 | Forbidden | Insufficient permissions |
| 404 | Not Found | Resource does not exist |
| 409 | Conflict | Resource already exists |
| 422 | Unprocessable Entity | Validation error |
| 429 | Too Many Requests | Rate limit exceeded |
| 500 | Internal Server Error | Platform error |
Error Response Format
Errors are returned in a consistent JSON format:Authentication Errors
Missing API Key
X-API-Key header in your request.
Invalid or Revoked Key
Insufficient Scopes
Validation Errors
Field Required
Value Constraints
Invalid Format
Campaign Errors
Campaign Not Found
Campaign Not in Draft
Step Progression Error
current_step + 1.
Variant Distribution Error
distribution_percent values sum to exactly 100.
Inbox Validation Error
Sender Account Errors
Email Already Exists
Connection Failed
Inbox in Use
Rate Limit Error
Handling Errors
Python Example
Best Practices
- Always check status codes before processing responses
- Implement retry logic for 429 and 500 errors
- Log error details for debugging
- Handle validation errors by displaying field-specific messages
- Don’t retry 400 errors - fix the request instead

