HTTP 500 · Storage
storage_write_failed
Storage write failed
HTTP status500
Retry
Yesthe same request may succeed
FamilyStorage
What the API answers
The file could not be written to the storage backend.
The message stays in English, like every API response: branch your script on error.code, which never changes.
What to do
The file could not be written to the storage. If it is your FTP server, check its free space and write permissions, then try again.
Storage. The storage server did not answer, refused the file, or returned one that did not match. Fixed on the storage server.
For a media upload, retry with the same Idempotency-Key: if the first attempt had gone through, you get the same media back instead of a duplicate.
Full response
JSON
{
"status": "error",
"error": {
"code": "storage_write_failed",
"message": "The file could not be written to the storage backend.",
"docs": "https://aperture-app.preview.moncompanion.cloud/docs/errors/storage_write_failed"
},
"meta": {
"request_id": "01K2R7M8QF3V9XZ4B6NCDT0YAH",
"api_version": "v1",
"duration_ms": 12,
"timestamp": "2026-10-27T14:32:08+00:00"
}
}The meta values are a sample. meta also carries app_version and commit, and a refusal may add error.details with the value at fault.
Codes of the same family
| HTTP | Code | What to do | Retry |
|---|---|---|---|
| 503 | storage_unreachableStorage not answering | The configured storage did not answer in time. If it is your FTP server, check that it is reachable, then try again. | Yes |
| 500 | storage_write_failedStorage write failed | The file could not be written to the storage. If it is your FTP server, check its free space and write permissions, then try again. | Yes |
| 500 | storage_verification_failedStored file did not verify | The file read back after writing did not match the one received, so it was deleted. Check your storage, then send the file again. | No |