Skip to content

Files

Delete an uploaded file

Deletes an uploaded file right away. It can no longer be sent by file_id. Messages already sent with it keep their own copy, so their media_url keeps working. A file that was sent is kept until you delete it; an unsent one is deleted by itself after 24 hours.

DELETE/api/v1/files/{id}
  • Bearer API key
  • Scope: write or admin
  • or app session
  • Workspace: X-Tenant-ID (optional with a key)

Path parameters

  • iduuidrequired

    File id: the id returned by Upload a file.

    Example
    4f1c2d3e-4a5b-4c7d-8e9f-0a1b2c3d4e5f

Headers

  • Authorizationstringrequired

    Your API key as Bearer <key>. The word Bearer and the space are case-sensitive. Browser clients signed in to the app use the session cookie instead.

    Constraints
    Keys start with pk_live_ and are 56 characters long.
    Example
    Bearer pk_live_…
  • X-Tenant-IDuuidoptional

    Workspace id. Optional with an API key (a key always acts in its own workspace); if you send it, it must match the key’s workspace. Required with a session cookie. You can pass ?tenant=<id> instead.

    Example
    8d0f6c2e-3b1a-4c55-9a7e-2f4b6d1e9c30

Response

Status codes

  • 204No content. The file was deleted. There is no body.
  • 400Bad request. The id is not a valid UUID (invalid file id).
  • 401Unauthorized. The API key is unknown, revoked or expired (invalid or expired API key), or there is no key and no signed-in session (unauthorized).
  • 402Payment required. Only when subscriptions are enforced and the workspace has no active subscription. The body includes code: "payment_required".
  • 403Forbidden. The API key has the read scope, which only allows GET requests (API key is read-only). A key in another workspace gets API key belongs to a different workspace; a key used from an IP address outside its allowed_ips gets this API key is not allowed from your IP address (code: "ip_not_allowed").
  • 404Not found. No such file in this workspace (file not found): the id is unknown, the file was deleted or has expired, or it belongs to another workspace.
  • 500Server error. Something went wrong on our side. Retry with backoff.

Each delete is recorded in the audit log as file.deleted.