---
title: "Delete a field"
description: "Drops a field and its values."
canonical: "https://gtable.app/docs/builder-api/fields/delete"
updated: "2026-10-05"
---

# Delete a field

`DELETE https://studio.gtable.app/v1/apps/{appId}/tables/{tableId}/fields/{fieldId}`

Drops a field and its values.

The values, the field and the grants that named it go to the app's trash for thirty days first, so trash.restore can put it back with the same id; the app's point-in-time bookmark is recorded too. Refused with the list of what reads it (409, details.impact) until you send acknowledge=true; `schema.impact` asks the same question without changing anything. Send the field's current name as `confirm`.

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

## Path parameters

| Name      | Type   | Required | Description |
| --------- | ------ | -------- | ----------- |
| `appId`   | string | yes      |             |
| `tableId` | string | yes      |             |
| `fieldId` | string | yes      |             |

## Query parameters

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

## 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. |
