delete · projects:write
Archive a project
Pauses every monitor and archives the project. Mentions and consumed usage stay. Requires the exact current project name plus confirm_deletion:true — never infer consent from knowing the name. MCP clients must explain the consequences and wait for the user before calling.
REST
/api/v1/projects/{id}curl "https://herculeradar.com/api/v1/projects/:id" \
--request DELETE \
--header "Authorization: Bearer hr_live_…" \
--header "Content-Type: application/json" \
--header "Idempotency-Key: $(uuidgen)" \
--data '{"confirmation_name":"Acme","confirm_deletion":"Acme"}'MCP
Tool name delete_project. It takes the same input and returns the same { data, meta } envelope as REST, because both call the same function.
Archive the project and pause every monitor. Mentions and usage stay. Before calling: explain the consequences, ask the user to confirm this specific project, then pass confirmation_name (exact current name) and confirm_deletion:true. Never infer consent from knowing the name.
Parameters
| idrequired | string | Project id |
Request body
{
"type": "object",
"required": [
"confirmation_name",
"confirm_deletion"
],
"properties": {
"confirmation_name": {
"type": "string",
"description": "Exact current project name confirmed by the user"
},
"confirm_deletion": {
"type": "boolean",
"description": "Must be true only after the user confirms this specific deletion",
"const": true
}
}
}Response
{
"data": {
"archived": true,
"id": "uuid"
},
"meta": {
"capability": "delete_project",
"requestId": "req_9f2b4a8c1d0e",
"idempotencyReplayed": false,
"docs": "https://herculeradar.com/docs/reference/delete_project"
}
}Authorization
Requires the projects:write scope. A credential without it gets 403 FORBIDDEN. Resources in projects the credential cannot reach answer 404 NOT_FOUND rather than 403, so ids cannot be probed across tenants.
Send an Idempotency-Key header. A completed response is replayed for 24 hours, so a retry after a timeout cannot create a duplicate.