Allocate an encrypted tenant backup upload
POST
/api/admin/tenant-backups/uploads
Code sample: Shell / cURL
curl --request POST \ --url https://auth.example.com/api/admin/tenant-backups/uploads \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "idempotencyKey": "example", "sizeBytes": 1, "sha256": "example" }'Requires backup read, manage, and import permissions plus fresh human administrator authentication. The upload is tenant- and actor-bound, expires after 24 hours, and accepts at most 10,000 parts of 8 MiB. The declared size and SHA-256 digest cover the complete encrypted artifact.
Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ” Media type application/json
object
idempotencyKey
required
string
sizeBytes
required
integer
sha256
required
string
key
additional properties
Example generated
{ "idempotencyKey": "example", "sizeBytes": 1, "sha256": "example"}Responses
Section titled “ Responses ”The upload and its R2 multipart allocation are ready.
Media type application/json
object
id
required
string
state
required
string
partSize
required
integer
partCount
required
integer
expiresAt
required
integer
key
additional properties
Example
{ "state": "uploading", "partSize": 8388608}Invalid upload declaration
Missing permission or fresh administrator authentication
Idempotency
The request body exceeds 4096 bytes
Import storage or audit persistence is unavailable