# Delete a row

Source: https://neondeerdata.com/docs/api/lookup-tables/delete-row/

Remove a row from a custom lookup table.

## Request

```http
DELETE /v1/lookup-tables/{table_id}/rows/{row_id}

```

Deletes a row from a table your organization built. Send the row's version as expected_version to delete it only if it has not changed since you read it. Needs an API key that can write and can read every field of the table. This can't be undone.

Requires `lookup_tables:write`. The connection also needs access to the relevant tables, objects, or workflows.

MCP action: `delete_lookup_row`. Its argument names match the fields below; an HTTP header is passed using its argument name in MCP.

## Parameters

| Name               | Send in | Required | Type or allowed values | Notes |
| ------------------ | ------- | -------- | ---------------------- | ----- |
| `table_id`         | path    | Yes      | string                 |       |
| `row_id`           | path    | Yes      | string                 |       |
| `expected_version` | query   | No       | integer                |       |

## Response

| HTTP status | Result              |
| ----------- | ------------------- |
| `200`       | The row is deleted. |

Required fields are required within their containing object. Notes identify fields that apply only to a particular response alternative.

| Response field | Type           | Required in object | Notes |
| -------------- | -------------- | ------------------ | ----- |
| `data`         | object         | Yes                |       |
| `data.id`      | string (uuid)  | Yes                |       |
| `data.object`  | `"lookup_row"` | Yes                |       |
| `data.deleted` | `true`         | Yes                |       |

## Errors

| HTTP status | Meaning                                                                                                                                                   |
| ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `400`       | One of: invalid_request, invalid_filter, invalid_value, invalid_cursor, credential_in_url.                                                                |
| `401`       | One of: missing_credential, invalid_credential, credential_expired, credential_revoked.                                                                   |
| `402`       | One of: payment_overdue.                                                                                                                                  |
| `403`       | One of: plan_required, not_available, insufficient_scope, operation_not_allowed, field_not_writable, plan_capacity_exceeded.                              |
| `404`       | One of: resource_not_found.                                                                                                                               |
| `409`       | One of: table_filling, table_fill_failed, lookup_key_required, key_conflict, version_conflict, table_busy, table_capacity_exceeded, idempotency_conflict. |
| `413`       | One of: request_too_large.                                                                                                                                |
| `422`       | One of: batch_rejected.                                                                                                                                   |
| `423`       | One of: organization_reopening.                                                                                                                           |
| `428`       | One of: customer_agreement_required.                                                                                                                      |
| `429`       | One of: rate_limited.                                                                                                                                     |
| `503`       | One of: service_unavailable.                                                                                                                              |

See [errors and recovery](https://neondeerdata.com/docs/api/errors/) and [safe retries](https://neondeerdata.com/docs/api/requests/) before repeating a write.

The [public OpenAPI document](https://neondeerdata.com/docs/api/meta/openapi/) lists generally available API families. Alpha operations may not appear in that document; their request and response fields are listed on this page. Use the [API Playground](https://neondeerdata.com/docs/api/testing/) to inspect a real response with your connection's access.
