---
title: "Delete plan"
method: DELETE
path: "/api/v1/plans/{planId}"
tags: ["Product Catalog"]
---

# Delete plan

`DELETE /api/v1/plans/{planId}`

Soft delete plan by plan.id.

Once a plan is deleted it cannot be undeleted.

## Path parameters

- `planId` string, required

## Response `204`

There is no content to send for this request, but the headers may be useful.

## Other responses

- `400` — The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
- `401` — The request has not been applied because it lacks valid authentication credentials for the target resource.
- `403` — The server understood the request but refuses to authorize it.
- `404` — The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
- `412` — One or more conditions given in the request header fields evaluated to false when tested on the server.
- `500` — The server encountered an unexpected condition that prevented it from fulfilling the request.
- `503` — The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.
- `default` — An unexpected error response.

## Changes

- **2025-11-03** `c3cb6da407e3` — 8 info
  - added the optional property `allOf[#/components/schemas/UnexpectedProblemResponse]/extensions` to the response with the `400` status
  - added the optional property `allOf[#/components/schemas/UnexpectedProblemResponse]/extensions` to the response with the `401` status
  - added the optional property `allOf[#/components/schemas/UnexpectedProblemResponse]/extensions` to the response with the `403` status
  - added the optional property `allOf[#/components/schemas/UnexpectedProblemResponse]/extensions` to the response with the `404` status
  - …4 more
- **2025-09-15** `ad7d1b82d0fa` — 8 warning
  - removed the optional property `allOf[#/components/schemas/UnexpectedProblemResponse]/extensions` from the response with the `400` status
  - removed the optional property `allOf[#/components/schemas/UnexpectedProblemResponse]/extensions` from the response with the `401` status
  - removed the optional property `allOf[#/components/schemas/UnexpectedProblemResponse]/extensions` from the response with the `403` status
  - removed the optional property `allOf[#/components/schemas/UnexpectedProblemResponse]/extensions` from the response with the `404` status
  - …4 more

[Change history](https://skmtc.dev/openmeterio/apis/openmeter-api/changes/api/v1/plans/:planId/delete.md)

---

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