Delete every object under a key prefix (folder) in a bucket
Soft-deletes every object on the specified branch whose key starts with
DELETE /projects/{project_id}/branches/{branch_id}/buckets/{bucket_name}/objects-by-prefixbeta
Soft-deletes every object on the specified branch whose key starts with prefix, in a single call. Intended to back a "delete folder" action in an object browser: a prefix of app/avatars/ removes every object beneath that folder. Served by the user's session (no customer S3 credentials required).
prefix must be non-empty, end with /, be at most 1024 bytes, and contain no control characters - a partial-segment prefix cannot accidentally delete sibling keys. Returns the number of objects soft-deleted (deleted), which may be 0 when no live object matched the prefix on this branch.
Only objects physically present on this branch are tombstoned; objects inherited from an ancestor branch via copy-on-write (not materialized on this branch) are out of scope.
Note: This endpoint is currently in Beta.
curl "https://console.neon.tech/api/v2/projects/$PROJECT_ID/branches/$BRANCH_ID/buckets/$BUCKET_NAME/objects-by-prefix?prefix=$PREFIX" \
-X DELETE \
-H "Authorization: Bearer $NEON_API_KEY"Every field below is optional. An empty body works too.
Also available in
neon buckets object delete <branch_id>Parameters
Section titled “Parameters”Project ID
project_id
string
The Neon project ID
Branch ID
branch_id
string
The Neon branch ID
Bucket name
bucket_name
string
The bucket name
Prefix
prefix
string
The key prefix (folder) to delete. Must be non-empty and end with /. Every object on this branch whose key starts with this prefix is soft-deleted.
Response
Section titled “Response”200
The prefix was soft-deleted. deleted is the number of objects tombstoned (may be 0 when nothing live matched on this branch).
Depth
"deleted": (integer),reqint64
Errors
Section titled “Errors”404
Bucket not found
default
General error
This endpoint can return the standard Neon API error response.
Response fields
messageRequired. Human-readable error message.codeRequired. Machine-readable error code.request_idOptional. Request identifier for debugging. You can provide one with theX-Request-IDheader.
Retry guidance
If no response is returned, the request may still have reached the server. This is why retry safety depends on the method and status code.
Idempotent methods (GET, HEAD, OPTIONS) are generally safe to retry after a network error or timeout. Non-idempotent methods (POST, PATCH, DELETE, PUT) can change state, so avoid automatic retries unless your workflow can tolerate duplicate effects.
Responses with 423 Locked or 503 Service Unavailable are safe to retry. 423 Locked means the resource is temporarily locked, usually because another operation is in progress.