---
title: "Delete a custom field"
method: DELETE
path: "/public/v1/custom-fields/{id}"
tags: ["CustomField"]
---

# Delete a custom field

`DELETE /public/v1/custom-fields/{id}`

Deletes a custom field definition and every value ever stored in it. This is a hard delete and it cannot be undone: the definition is removed permanently, and the field's value is erased from the `custom_data` of every record of the field's entity type across your whole company — an order field is scrubbed from every order, a package field from every package, and so on. The erasure happens synchronously in this request, so a 204 means the values are already gone; for a field carrying values on many thousands of records the request can take a while to respond. The field's column also disappears from that entity's table view in the Distru app. Recreating a field with the same name later produces a new field with a new numeric id and no values.

A custom field can always be deleted — no record, value, or setting blocks it, including fields marked `required`. Responds 204 with no body on success, or 404 if no field with that id belongs to your company (a field owned by another company is indistinguishable from one that does not exist). No inventory is created, consumed, or released, and nothing is synced to Metrc or BioTrack.

Required permission: `settings_permissions_custom_fields`.

## Path parameters

- `id` integer, required

## Response `204`

No Content

## Other responses

- `400` — Invalid parameters
- `401` — Missing or invalid API token
- `403` — The API token lacks the required permission
- `404` — Not Found

---

[API](https://skmtc.dev/distru/apis/distru-api.md) · [All operations](https://skmtc.dev/distru/apis/distru-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/distru/distru-api/revisions/eb775b7b6ee0/schema)
