Refusals
When the Astris API refuses a request, it answers with an HTTP error status and a JSON body. The error field names the refusal, and some refusals add a reason and a message. Each page gives the exact body and what to do.
| Refusal | HTTP status |
|---|---|
| unauthorized | 401 |
| read_only_key | 403 |
| project_scope | 403 |
| upgrade_required | 403 |
| preview | 403 |
| compose_unavailable | 403 |
| bucket_limit | 403 |
| not_found | 404 |
| bad_request | 400 |
| document_required | 400 |
| confirm_required | 400 |
| confirm_mismatch | 400 |
| conflict | 409 |
| plan_active | 409 |
| bucket_not_empty | 409 |
| payload_too_large | 413 |
| rate_limited | 429 |
| internal | 500 |
| upstream | 502 |
| unavailable | 503 |
| storage_unavailable | 503 |
The pre-flight check is not a refusal of the API: it answers 200 with a verdict on your repository.
