---
title: "Delete a permission definition by ID"
method: DELETE
path: "/permissions/{id}"
tags: ["Permission"]
---

# Delete a permission definition by ID

`DELETE /permissions/{id}`

Permanently removes the permission record identified by {id} from the tenant's permission catalog. Use this to retire a resource/action pair that is no longer needed.

Preconditions: the caller must be authenticated and hold the DELETE_PERMISSION permission for the tenant.

On success, returns an empty response body. Returns 404 when no permission with that id exists for the tenant.

## Path parameters

- `id` string, required

## Headers

- `tenant-id` string, required

## Response `204`

The permission was deleted; the response body is empty.

## Other responses

- `400` — Returned when the request is malformed, such as an invalid id format.
- `404` — No permission with the given id exists in this tenant's catalog. Verify the id and tenant-id header before retrying.
- `500` — An unexpected error occurred while deleting the permission, typically a downstream data-service failure. Retry the request or contact support if the error persists.

---

[API](https://skmtc.net/certifyos/apis/certify-api-layer.md) · [All operations](https://skmtc.net/certifyos/apis/certify-api-layer/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/certifyos/certify-api-layer/revisions/563848e0ecc0/schema)
