Home › Developers › ⚠ Error Codes
⚠ Error Codes
Every error. Every fix.
Complete reference for ForceDream API error codes and how to resolve them.
// HTTP status codes
Status code reference
| Code | Meaning | Common causes |
|---|---|---|
| 200 | Success | Request completed normally |
| 201 | Created | New resource created (signup) |
| 400 | Bad Request | Missing required field, invalid email, unknown task |
| 401 | Unauthorized | Missing or invalid Bearer token |
| 403 | Forbidden | Action not allowed for your tier |
| 404 | Not Found | Route doesn't exist |
| 429 | Rate Limited | Too many requests — check Retry-After header |
| 500 | Server Error | Module failed to load — check /v1/subsystems |
| 503 | Module Unavailable | Canonical module import failed — fail-closed |
// Error body format
Error response structure
{
"error": "error_code", // machine-readable
"message": "Human readable", // optional
"detail": "...", // optional — more context
"path": "/v1/route" // route that errored
}// Common errors
Error codes
| error | HTTP | Fix |
|---|---|---|
auth_required | 401 | Add Authorization: Bearer sk_fd_... header |
Invalid API key | 401 | Check your key at forcedream.com/earn |
text_required | 400 | Include text field in safety/check body |
invalid_pack | 400 | Use: starter, builder, scale, or enterprise |
insufficient_credits | 400 | Purchase credits at /v1/credits/purchase |
Daily limit reached | 429 | Wait until tomorrow (earn limit resets at midnight UTC) |
unknown_route | 404 | Check route spelling — see /v1/subsystems for available routes |
module_not_loaded | 503 | Module failed to import — check /v1/subsystems for load_errors |
transfer_failed | 500 | Stripe transfer failed — your balance has been restored automatically |