ServerOps.ggbeta
API ReferenceMedia

Delete a file

Soft-deletes a file. The file remains accessible for 30 days and can be recovered within that window from the dashboard. After 30 days a nightly purge removes it from storage permanently.

Requires media:write scope.

DELETE
/media/{id}

Authorization

bearerAuth media:write
AuthorizationBearer <token>

API token from your dashboard.

Format: so_live_... (production) or so_test_... (test mode).

Tokens carry one or more scopes. Request only the scopes your integration needs:

ScopeGrants
media:readList and retrieve files
media:writeUpload and delete files
logs:readRead log entries
logs:writeIngest log entries
cases:readRead cases
cases:writeCreate and update cases
apps:readRead apps
apps:writeSubmit apps
usage:readRead quota usage
members:readList organisation members
members:writeInvite and remove members
billing:readRead billing and subscription info
tokens:writeCreate and revoke API tokens

In: header

Scope: media:write

Path Parameters

id*string

File ID (ULID with f_ prefix)

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X DELETE "https://example.com/media/f_01HZXXXXXXXXXXXXXXXXXXXXX"
{
  "id": "f_01HZXXXXXXXXXXXXXXXXXXXXX",
  "deleted": true,
  "purges_at": "2026-06-14T12:00:00Z"
}
{
  "error": {
    "code": "unauthorized",
    "message": "missing or invalid authorization token"
  }
}

{
  "error": {
    "code": "forbidden",
    "message": "token does not have the required scope"
  }
}

{
  "error": {
    "code": "not_found",
    "message": "file not found"
  }
}
{
  "error": {
    "code": "internal",
    "message": "an unexpected error occurred"
  }
}