---
title: "Delete a CloudFS filesystem"
method: DELETE
path: "/storage/cloudfs/{id}"
tags: ["cloudfs filesystems"]
---

# Delete a CloudFS filesystem

`DELETE /storage/cloudfs/{id}`

Permanently deletes a CloudFS filesystem, removing its S3 bucket and its metadata database. Deletion is synchronous: the response returns the filesystem's final state with status `deleted`. There is no restore. A filesystem that is still `provisioning` returns a `409`. If the filesystem still contains data, the request may be rejected with a `409` — drain the bucket and retry.

## Path parameters

- `id` string, uuid, required

## Response `200`

CloudFS filesystem deleted; the returned filesystem has status `deleted`

- CloudfsFilesystemDetailResponseWrapper
  - `data` CloudfsFilesystemDetail — A CloudFS filesystem as returned by get, update, and delete. `meta_url` omits the credential and there is no `meta_token` field — the token is only returned by create and rotate-meta-token.
    - `record_type` string
    - `id` string, uuid
    - `name` string
    - `status` 'provisioning' | 'ready' | 'needs_format' | 'deleting' | 'failed' | 'deleted' — Lifecycle status of the filesystem. `ready` means it is fully provisioned and usable. `needs_format` means the storage bucket and metadata database were provisioned but the filesystem has not yet been formatted — run `juicefs format` with the filesystem's `meta_url` before mounting. `failed` means the last lifecycle action failed — see the filesystem's `error` message. `deleted` appears only in the delete response: deleted filesystems are excluded from list results and return a `404` on retrieval.
    - `meta_url` string — PostgreSQL connection URL for the filesystem's metadata database, without the credential. Combine it with your stored metadata token, or issue a new token with rotate-meta-token.
    - `s3_endpoint` string — URL of the Telnyx Cloud Storage endpoint backing this filesystem.
    - `s3_bucket` string — Name of the bucket that stores this filesystem's data. Created during provisioning.
    - `region` string
    - `error` string — Explanation of the most recent failed lifecycle action. Present only when the filesystem is in a `failed` state.
    - `created_at` string, date-time
    - `updated_at` string, date-time

## Other responses

- `401` — Unauthorized
- `404` — CloudFS filesystem not found
- `409` — Conflict — the filesystem is not in a state that allows deletion (for example, still `provisioning`), or its bucket still contains data that must be drained first
- `422` — Unprocessable entity — `id` is not a valid UUID
- `500` — Internal server error

---

[API](https://skmtc.net/team-telnyx/apis/telnyx-api-2.md) · [All operations](https://skmtc.net/team-telnyx/apis/telnyx-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/team-telnyx/telnyx-api-2/versions/8f5f4e537994/schema)
