deleteDatabaseRows
Move rows of a table to the trash: up to 500 by id, or every row that matches. Call getDatabase with table first for the field names where takes. They can be restored in the app for 30 days, after which they are gone for good. Needs delete access: admin, or write access with can delete switched o...
This record as markdown: /tools/io-stablebaseline-sb/deletedatabaserows.md
What deleteDatabaseRows does on Stable Baseline
AI agents call deleteDatabaseRows to permanently remove resources in Stable Baseline, typically in cleanup and lifecycle workflows. It does its job in a single call, and there is no undo.
| Parameter | Type | Required | Description |
|---|---|---|---|
mode | string | — | Every row that matches only: preview (the default) changes nothing yet; apply does it now. |
stop | boolean | — | With changeId: stop it; what it deleted stays in the trash. |
undo | string | — | A finished delete's changeId: bring its rows back. |
view | string | — | A saved view: its filter picks the rows too. |
table | string | Yes | The table's id or name. |
where | object | — | Every row that matches: queryDatabaseRows' where. |
rowIds | array | — | The rows' ids. Leave out to delete every row that matches. |
maxRows | integer | — | With mode apply: refuse when more rows match. |
changeId | string | — | With mode apply: apply that preview. Alone: how it is going. |
timeZone | string | — | For today, such as Australia/Sydney. Default UTC. |
weekStart | string | — | The day a week starts on, for in_period's weeks. Default monday. |
databaseId | string | Yes | The database's id, friendly id (DB-12) or exact name. |
Parameters from the server's own tool schema.
Why deleteDatabaseRows is rated Critical
An AI agent that decides to call deleteDatabaseRows doesn't hesitate, doesn't double-check, and doesn't stop at one. Whatever it removes from Stable Baseline is gone. There is no undo for destructive operations.
Risk signalsHigh parameter count (12 properties) · Admin/system-level operation
Attacks that exploit this kind of access
The rule that runs deleteDatabaseRows safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Stable Baseline, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For deleteDatabaseRows, this is the rule to start with:
deleteDatabaseRows is removed from the agent's tool list entirely, so the agent never calls it. The rest of the server keeps working.
The button opens the PolicyLayer dashboard: create your workspace, connect Stable Baseline, apply this rule, and every deleteDatabaseRows call is checked against it from then on.
Questions about deleteDatabaseRows
Move rows of a table to the trash: up to 500 by id, or every row that matches. Call getDatabase with table first for the field names where takes. They can be restored in the app for 30 days, after which they are gone for good. Needs delete access: admin, or write access with can delete switched on. Every row that matches: where (or view) previews them with a changeId; mode "apply" deletes them, in the same call or by changeId; undo brings them back. getDatabaseGuide topic deleting. It is categorised as a Destructive tool in the Stable Baseline MCP Server, which means it can permanently delete or destroy data. Block by default and require explicit approval.
deleteDatabaseRows accepts 12 parameters: mode, stop, undo, view, table, where, rowIds, maxRows, changeId, timeZone, weekStart, databaseId. Required: table, databaseId. The full parameter table on this page comes from the server's own tool schema.
Register the Stable Baseline MCP server in PolicyLayer and add a rule for deleteDatabaseRows: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Stable Baseline. Nothing to install.
deleteDatabaseRows is a Destructive tool with critical risk. Critical-risk tools should be blocked by default and only enabled with explicit human approval.
Yes. Add a rate_limit block to the deleteDatabaseRows rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for deleteDatabaseRows. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
deleteDatabaseRows is provided by the Stable Baseline MCP server (https://api.stablebaseline.io/functions/v1/cloud-serve/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Stable Baseline, and thousands of servers like it.
Across the catalogue