---
title: "Delete an existing stream by id."
method: DELETE
path: "/streams/{id}"
tags: ["Stream Operations"]
---

# Delete an existing stream by id.

`DELETE /streams/{id}`

## Request

- Base URL: `https://replace-with-account.api.decodable.co/v1alpha2`
- URL: `https://replace-with-account.api.decodable.co/v1alpha2/streams/{id}`
- Auth: one of:
  - HTTP bearer
  - OAuth 2
    - Authorization code: `https://auth.decodable.co/authorize?audience=https://api.decodable.co/`
    - Token URL: `https://auth.decodable.co/oauth/token` scopes: `write:stream`
- TypeScript: <https://skmtc.dev/decodable/apis/decodable-control-plane/docs/streams/:id/delete.ts> (a function with typed inputs; its response is checked against the schema)

Requires permission matching: `stream:write:default.<name>`.

## Response `200`

Stream successfully deleted.

## Other responses

- `400`: An invalid request was received.
- `403`: Access denied: requesting user lacks a required permission.
- `404`: The requested resource does not exist.
- `409`: A resource conflict has been detected.
- `default`: An error has occurred.

---

[API](https://skmtc.dev/decodable/apis/decodable-control-plane.md) - [All operations](https://skmtc.dev/decodable/apis/decodable-control-plane/llms.txt) - [OpenAPI document](https://skmtc.dev/decodable/apis/decodable-control-plane/revisions/9718a3019da8?raw)
