delete_application

Generated automatically from the published contract sources.

Build metadata: Registered in this build. Registration describes the default dispatcher in this build. It does not guarantee that a caller has the required credential or grant, that a tool is listed for that connection, or that the required service is configured.

A script calls this action over HTTPS at POST https://turnzero.ai/api/v1/actions/delete_application, with a bearer credential and the action's payload as the JSON body.

Contract description

Delete an application and everything provisioned for it: its environments, its database and the database credential, and its end-user realm. The deletion also takes the storage areas bound to it with their files, the secrets stored at its scope, and the upstream declarations bound to it. Secrets at the account scope stay. Destructive: needs a credential holding the destructive class (a signed-in session, or a token minted with `destructive`). The call creates a pending action whose description counts what will be destroyed by kind, and answers an approval URL. The deletion runs only after a person approves it in the browser, and `read_pending_action` reports the outcome with one receipt per kind. The metering history stays.

Access and action metadata

{
  "name": "delete_application",
  "resource": "application",
  "tier": "destructive",
  "summary": "Delete the application and everything provisioned for it.",
  "annotations": {
    "readOnlyHint": false,
    "destructiveHint": true,
    "openWorldHint": true
  }
}

MCP catalog entry

{
  "name": "delete_application",
  "tier": "destructive",
  "scenario": "CHI-L0-10",
  "summary": "Delete an application and everything provisioned for it: its environments, its database and the database credential, and its end-user realm. The deletion also takes the storage areas bound to it with their files, the secrets stored at its scope, and the upstream declarations bound to it. Secrets at the account scope stay. Destructive: needs a credential holding the destructive class (a signed-in session, or a token minted with `destructive`). The call creates a pending action whose description counts what will be destroyed by kind, and answers an approval URL. The deletion runs only after a person approves it in the browser, and `read_pending_action` reports the outcome with one receipt per kind. The metering history stays.",
  "owners": [
    "MAPI-05"
  ]
}

request

JSON pointer Description and constraints
"" (root) Type: object
Required fields: ["application"]
/properties/application The application id, from `list_applications`.

Type: string
/properties/request_id Your request identity for this pending action: any string you choose. Repeating the call with the same request_id, from the same account, while the earlier pending action is still live — requested, approved, or executing — answers that pending action again and creates no second one. Once it has completed, failed, been declined, or expired, the same request_id starts a new one. Omitted, every call creates a new pending action.

Type: string

response

JSON pointer Description and constraints
"" (root) The 202 creation envelope: the pending action and its approval link (API-L0-07); the terminal outcome rides the pending record via read_pending_action. On a failed walk the outcome carries `receipts`, one receipt per kind for the members that ran before the failing member, beside `execution_failed`; a retry of the deletion runs the walk again, and a member already run answers zero removals (PLD-L0-66).

Type: object
Required fields: ["contract_version","pending_action","approval_url"]
/properties/contract_version Required value: 1
/properties/reference The short reference the platform recorded this call under, ten lowercase hexadecimal characters, the value the call’s record row carries; quote it when reporting the call.

Type: string
Pattern: ^[0-9a-f]{10}$
/properties/pending_action $ref: #/shapes/pending_action
/properties/approval_url Type: string
/properties/detail Type: string

Complete payload contract

{
  "request": {
    "type": "object",
    "required": [
      "application"
    ],
    "properties": {
      "application": {
        "type": "string",
        "description": "The application id, from `list_applications`."
      },
      "request_id": {
        "type": "string",
        "description": "Your request identity for this pending action: any string you choose. Repeating the call with the same request_id, from the same account, while the earlier pending action is still live — requested, approved, or executing — answers that pending action again and creates no second one. Once it has completed, failed, been declined, or expired, the same request_id starts a new one. Omitted, every call creates a new pending action."
      }
    }
  },
  "response": {
    "type": "object",
    "description": "The 202 creation envelope: the pending action and its approval link (API-L0-07); the terminal outcome rides the pending record via read_pending_action. On a failed walk the outcome carries `receipts`, one receipt per kind for the members that ran before the failing member, beside `execution_failed`; a retry of the deletion runs the walk again, and a member already run answers zero removals (PLD-L0-66).",
    "required": [
      "contract_version",
      "pending_action",
      "approval_url"
    ],
    "properties": {
      "contract_version": {
        "const": 1
      },
      "reference": {
        "type": "string",
        "pattern": "^[0-9a-f]{10}$",
        "description": "The short reference the platform recorded this call under, ten lowercase hexadecimal characters, the value the call’s record row carries; quote it when reporting the call."
      },
      "pending_action": {
        "$ref": "#/shapes/pending_action"
      },
      "approval_url": {
        "type": "string"
      },
      "detail": {
        "type": "string"
      }
    }
  }
}

Shared contracts