delete_native_sheet
Permanently delete a native sheet (input sheet or output sheet view) from a model. Requires Owner role. The only supported destructive lifecycle path for native sheets — generic delete_file rejects .btsheet.json paths and points here. Works on output sheet views too, even though they cannot be edited by any other tool. DESTRUCTIVE — defaults to dry_run=True and returns a confirmation_token.
destructive
Parameters
Section titled “Parameters”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
model_name | Annotated[str, Field(description='Name of the Bridge Town model that owns the sheet.')] | Yes | — | |
sheet_id | Annotated[str, Field(description='sheet_id of the native sheet to delete, as returned by list_native_sheets or get_native_sheet. Works for both input sheets and output sheet views.')] | Yes | — | |
branch | `Annotated[str | None, Field(description=“Branch the sheet lives on. Defaults to the model’s default/unresolved branch — never the most-recently-updated row across branches. Pass the exact branch to scope a scenario branch’s sheet; deleting on one branch never affects another branch’s copy of the same sheet_id.”)]` | No | None |
dry_run | Annotated[bool, Field(description='When true, simulate the deletion and return what would be removed without mutating anything. Defaults to true.')] | No | True | |
confirmation_token | `Annotated[str | None, Field(description=‘Token required to confirm deletion (returned by a dry run).’)]` | No | None |
expected_sha | `Annotated[str | None, Field(description=“Optional blob SHA-1 (from get_native_sheet/list_native_sheets) to guard against deleting a sheet that was changed since you last read it. Omit to delete regardless of the sheet’s current content.”)]` | No | None |
Returns
Section titled “Returns”Returns a structured object. Top-level fields:
model_name(string)sheet_id(string)name(string)purpose(string)branch(string)repo_path(string)latest_commit_sha(string)attached_model(string)dependency_count(integer)deleted(boolean)
See the response example below for the full payload shape.
Example
Section titled “Example”Tool Call
Section titled “Tool Call”{ "name": "delete_native_sheet", "arguments": { "model_name": "forecasts", "sheet_id": "assumptions", "dry_run": false, "confirmation_token": "eyJleHAiOjE3NDU4...b64.9f2b1c4d" }}Response
Section titled “Response”{ "model_name": "forecasts", "sheet_id": "assumptions", "name": "Assumptions", "purpose": "input", "branch": "main", "repo_path": "sheets/assumptions.btsheet.json", "latest_commit_sha": "abc1234def5678901234567890abcdef12345678", "attached_model": "model/revenue.py", "dependency_count": 1, "deleted": true}- Module:
Native Sheets - Requires authentication via API token or Auth0 JWT.