delete_v1_platform_sites_slug
DeleteProject deletes a project and takes its site off the internet.
DeleteProject deletes a project and takes its site off the internet.
The metadata delete is authoritative and everything after it is best-effort,
in this order: the public <slug> subdomain binding is released so the slug is
free to reclaim, the release rows are dropped so a reclaimed slug never
inherits the previous owner's rollback menu, the S3 origin is purged under
BOTH <org>/<slug>/ and the site's sibling release space, and the edge
cache-tag is flushed. A failure in any of those is logged and the delete still
answers 204 — resurrecting a project because a purge missed would be worse
than a leaked prefix.
Scope: a validated principal is required (403 without one) and the project is resolved within that principal's org, so another tenant's slug is a 404 and nothing of theirs is touched.
| Tool | delete_v1_platform_sites_slug |
| Door | https://api.hanzo.ai/v1/mcp |
| Method | tools/call (JSON-RPC 2.0) |
| Arguments | 1 |
| Operation | DELETE /v1/platform/sites/{slug} |
| Product | platform |
Arguments
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
slug | string | — | — | Slug is the project to act on, from the path. It is unique within the caller's org and nowhere else, so another tenant's slug is a 404. |
This tool's schema does not declare which fields are required, nor any default, nor any enumerated value set. The columns above are empty because the door publishes nothing there, not because the answer is "none" — where a field is constrained, the constraint is stated in that field's own description.
Call it
A tools/call carries every argument in one flat object — nothing binds to a path or a query string. Every declared argument is shown, because the door marks none of them required.
curl -X POST https://api.hanzo.ai/v1/mcp \
-H "Authorization: Bearer $HANZO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "delete_v1_platform_sites_slug",
"arguments": {
"slug": "<slug>"
}
}
}'Values are placeholders derived from each field's declared type. tools/list needs no credential; tools/call does — called without one the door answers HTTP 200 with a JSON-RPC result whose isError is set and whose text says what was missing. How to get a key →
The operation behind it
| Operation | Route | Product | Summary |
|---|---|---|---|
cloud_delete_v1_platform_sites_by_slug | DELETE /v1/platform/sites/{slug} | platform | — |
The same capability over plain HTTP is in the platform API reference, on https://api.hanzo.ai.
All 834 tools · The door · API reference
Generated from tools/list on https://api.hanzo.ai/v1/mcp — 834 tools captured 2026-08-01 (this build read the vendored copy; the door was unreachable).
How is this guide?