# X_STORAGE_UPLOAD_FAILED

## Means

the signed upload was refused

## Typical cause

the presigned `PUT` answered non-2xx, or never reached the disk (`status: 0`)

## Fix

call `uploadFile({ file, grant })` again for a fresh grant; a 4xx here is the constraint named in the body, not a transport fault

[Storage](/error-codes#storage)
