Create a tenant import request from verified uploads
POST
/api/admin/tenant-backups/imports
Code sample: Shell / cURL
curl --request POST \ --url https://auth.example.com/api/admin/tenant-backups/imports \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "idempotencyKey": "example", "selection": { "settings": true, "users": true, "admin": true, "artifacts": true, "logs": { "audit": true, "other": true, "sensitive": true, "period": 7 } }, "source": { "tenantId": "example", "issuer": "https://example.com", "productVersion": "example" }, "uploadIds": [ "example" ] }'Requires backup read, manage, and import permissions plus fresh human administrator authentication. The client reads the source identity from the locally decrypted manifest; the server fixes the target tenant and product version, then requires the authenticated uploaded manifest to match that source identity. One to 32 completed uploads are atomically pinned by R2 key, version, ETag, size, and SHA-256 digest. The operation waits for the administrator to submit the bundle content key before validation or staging begins.
Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ” Media type application/json
object
idempotencyKey
required
string
selection
required
object
source
required
object
tenantId
required
string
issuer
required
string format: uri
productVersion
required
string
key
additional properties
uploadIds
required
Array<string>
key
additional properties
Responses
Section titled “ Responses ”The durable import request exists and waits for its content key.
Media type application/json
object
id
required
string
kind
required
string
state
required
string
phase
required
string
revision
required
integer
key
additional properties
Example
{ "kind": "import", "state": "waiting", "phase": "unlock"}Invalid selection
Missing permission or fresh administrator authentication
Upload ownership
The request body exceeds 32768 bytes
Import storage