Delete the organisation

Permanently deleting the organisation is a three-step process: request (type the organisation's name), confirm from the link emailed to the admin, then a grace period during which it can be cancelled. After the grace period every app's data is purged. The preview shows what would go.

MethodPathSummary
GET/v1/admin/tenant/delete-previewPreview what would be deleted if this tenant were purged
POST/v1/admin/tenant/delete-requestRequest permanent deletion of this tenant
GET/v1/admin/tenant/delete-confirmConfirm a pending tenant deletion via emailed token
POST/v1/admin/tenant/delete-cancelCancel a pending tenant deletion request
GET/v1/admin/tenant/delete-statusCheck for an active deletion request on this tenant

#Preview what would be deleted if this tenant were purged

GET/v1/admin/tenant/delete-preview

Preview what would be deleted if this tenant were purged. Requires the GLOBAL_ADMIN role. Read-only, no side effects — safe to call anytime.

Address
https://<your-org>.brambleit.cloud/api/v1/admin/tenant/delete-preview
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Role: GLOBAL_ADMIN.

Response 200

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/admin/tenant/delete-preview' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Request permanent deletion of this tenant

POST/v1/admin/tenant/delete-request

Request permanent deletion of this tenant. Requires the GLOBAL_ADMIN role. confirm_text must exactly match the tenant's name. Doesn't delete anything immediately — emails a confirmation link (valid 24h) to the requester's recovery email; clicking it schedules a purge after a 14-day grace period, cancellable any time before then.

Address
https://<your-org>.brambleit.cloud/api/v1/admin/tenant/delete-request
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Role: GLOBAL_ADMIN.

Request body JSON

NameTypeDescription
confirm_textstringThe organisation's exact name, as a typed confirmation.

Response 201

FieldTypeDescription
messagestring
previewany
Example response
JSON
{
  "message": "Saved",
  "preview": null
}

Errors

StatusMessage
400The organisation name you typed doesn't match
404Tenant not found
409A deletion request is already pending for this organisation
404User not found

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/admin/tenant/delete-request' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"confirm_text":"string"}'

#Confirm a pending tenant deletion via emailed token

GET/v1/admin/tenant/delete-confirm

The link emailed after a deletion request. It needs no sign-in (the token is the proof), schedules the purge after the grace period, and redirects to the Admin Centre.

Address
https://<your-org>.brambleit.cloud/api/v1/admin/tenant/delete-confirm
Requires
None: public, or protected by a token in the address or body.

Query parameters

NameTypeDescription
tokenstring

Response

A redirect.

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/admin/tenant/delete-confirm' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Cancel a pending tenant deletion request

POST/v1/admin/tenant/delete-cancel

Cancel a pending tenant deletion request. Requires the GLOBAL_ADMIN role. Cancels any request still in pending_confirmation or pending_purge status.

Address
https://<your-org>.brambleit.cloud/api/v1/admin/tenant/delete-cancel
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Role: GLOBAL_ADMIN.

Response 200

FieldTypeDescription
messagestring
Example response
JSON
{
  "message": "Saved"
}

Errors

StatusMessage
404No pending deletion request found

Example request

Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/admin/tenant/delete-cancel' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Check for an active deletion request on this tenant

GET/v1/admin/tenant/delete-status

Check for an active deletion request on this tenant. Requires the GLOBAL_ADMIN role. Powers the BRM-Admin danger-zone banner.

Address
https://<your-org>.brambleit.cloud/api/v1/admin/tenant/delete-status
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Role: GLOBAL_ADMIN.

Response 200

FieldTypeDescription
requestobject, or null
request.statusstring: "pending_confirmation" | "pending_purge" | "cancelled" | "completed"
request.requested_atstring (date-time), or null
request.confirmed_atstring (date-time), or null
request.purge_afterstring (date-time), or null
Example response
JSON
{
  "request": {
    "status": "pending_confirmation",
    "requested_at": "2026-11-12T09:30:00.000Z",
    "confirmed_at": "2026-11-12T09:30:00.000Z",
    "purge_after": "2026-11-12T09:30:00.000Z"
  }
}

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/admin/tenant/delete-status' \
  -H "X-API-Key: $BRAMBLE_KEY"