---
title: "Delete a suite"
description: "The suite, its apps, its directory and its addresses, together."
canonical: "https://gtable.app/docs/builder-api/suites/delete"
updated: "2026-10-05"
---

# Delete a suite

`DELETE https://studio.gtable.app/v1/suites/{suiteId}`

The suite, its apps, its directory and its addresses, together.

The hostnames are released FIRST, so a suite whose row says deleted can never still be answering; the apps go the way `apps.delete` sends them, soft, so their rows sit through the grace period and a mistake is ours to undo. Refused to anyone but an administrator of the organisation, and the Studio asks for two separate confirmations before it is called. Send the suite's name as `confirm`. Never offered to the built-in assistant.

Requires the `schema:write` scope. Operation `suites.delete`. MCP tool `suites_delete`. CLI, once published: `gtable suites delete`.

## Path parameters

| Name      | Type   | Required | Description |
| --------- | ------ | -------- | ----------- |
| `suiteId` | string | yes      |             |

## Query parameters

| Name      | Type   | Required | Description           |
| --------- | ------ | -------- | --------------------- |
| `confirm` | string | no       | Up to 200 characters. |

## Headers

| Name              | Type   | Required | Description                                                                                                                                                                                                                                                        |
| ----------------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `Idempotency-Key` | string | no       | Any unique string. Sending the same key with the same request again returns the first response (marked `Idempotency-Replayed: true`) instead of running it twice. Reusing it for a different request is refused with 409. Kept for 24 hours. Up to 255 characters. |
