Delete a bucket object
Soft-deletes one object so its bytes immediately stop counting toward your storage usage, then removes the stored bytes.
Soft-deletes one object so its bytes immediately stop counting toward your storage usage, then removes the stored bytes. An id that is not in this bucket returns 404. Returns no content on success. To remove many objects at once, use batch delete instead of calling this per object. Requires buckets:write.
Scope: buckets:write. Send the API key as a bearer token; Scopes lists what each one reaches.
Request
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
bucketId | string | yes | Bucket identifier (buk_*). |
objectId | string (uuid) | yes | Storage object identifier. |
Response
200 Success. Body: application/json, BucketObject.
| Field | Type | Required | Description |
|---|---|---|---|
object | "bucket_object" | yes | |
id | string (uuid) | yes | |
filename | string | yes | |
contentType | string or null | no | |
bytes | integer | yes | (minimum 0) |
scanStatus | "pending", "clean", "infected", "failed", "skipped" | yes | Async malware-scan verdict (W2.2). Objects start 'pending' (owner-only, not publicly served) and become 'clean' or 'infected'/'failed' once the scanner runs. Public links (/d/, /s/) and native attach require 'clean' (or trusted 'skipped'). |
createdAt | string (date-time) | yes |
Errors
Every error has the same body, {"error": {"type", "code", "message", "param"}}; branch on code. Errors lists every code.
| Status | Meaning |
|---|---|
400 | The request is malformed or a value is invalid (invalid_request, invalid_domain, idempotency_key_mismatch). |
401 | The API key is missing or invalid. |
403 | The key lacks the scope this endpoint needs (scope_missing) or may not do this (not_permitted). |
404 | No such resource in this account (resource_not_found). |
409 | The resource already exists or its state does not allow this (duplicate_resource or a condition-specific code). |
422 | The request is well-formed but a field failed validation (validation_failed). |
429 | Rate limit, plan limit, budget or spend cap reached (rate_limited, plan_limit_reached, budget_exceeded, spend_cap_reached). |
500 | An unexpected error; retry with backoff, then contact support (internal_error). |
Get an object download URL
Returns a time-limited downloadUrl for the object, valid for 3600 seconds (expiresInSeconds).
List an object's share links
Returns every share link over one object, newest first, each with its policy (hasPassword, maxUses, expiresAt, oneTime), live usesCount, and revoked flag.