Error Response Format
All error responses are JSON and include a ‘status’ and a machine-readable ‘code’.Validation errors (400)
These errors occur before the auto-furnish process begins.| Status | code | Meaning |
|---|---|---|
| 400 | invalid_file | File is not a supported image/PDF, or cannot be parsed |
| 400 | multiple_pages | PDF contains more than one page |
| 400 | furniture_detected | Floor plan contains visible furniture (remove and re-upload) |
| 400 | dimensions_missing | At least one dimension must be readable |
| 400 | size_unsupported | Dimensions/scale not supported |
| 400 | file_unreadable | Low resolution or corrupted upload |
Authentication & authorization (401 / 403)
These errors occur when authentication headers are missing or invalid.| Status | code | Meaning |
|---|---|---|
| 401 | unauthorized | Missing or invalid X-API-Key / X-API-Secret |
| 403 | forbidden | Key is valid but not allowed for this endpoint |
Processing and system errors
Errors thrown during or after the auto-furnish request.| Status | code | Meaning |
|---|---|---|
| 408 | timeout | Processing exceeded the time limit |
| 413 | payload_too_large | File exceeds 10 MB |
| 415 | unsupported_media_type | Unsupported file type |
| 429 | rate_limited | Too many requests |
| 500 | internal_error | Unexpected internal error |
| 503 | service_unavailable | Service temporarily unavailable |
Handling guidance
- 400-level validation errors: fix the input and retry.
- 401/403: verify credentials and permissions.
- 408: retry with backoff; contact support if persistent.
- 413: reduce file size or upload a smaller file.
- 415: ensure the upload is JPG, PNG, or single-page PDF.
- 429: slow down requests; retry after backoff.
- 500/503: retry with backoff; contact support if persistent.