# Delete every object under a key prefix (folder) in a bucket

`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.

[Markdown for AI context](/guides/apis-sdks-reference-api-buckets-delete-project-branch-bucket-objects-by-prefix)

```bash title="REST API - curl"
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

::::tabs
:::tab{title="CLI"}
```bash
neon buckets object delete <branch_id>
```
:::

:::tab{title="SDK"}
:::
::::

## 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

200

The prefix was soft-deleted. `deleted` is the number of objects tombstoned (may be 0 when nothing live matched on this branch).

::::tabs
:::tab{title="schema"}
Depth
:::

:::tab{title="example"}
:::
::::

"deleted": (integer),reqint64

## Errors

404

Bucket not found

default

General error

This endpoint can return the standard Neon API error response.

Response fields

- `message` Required. Human-readable error message.
- `code` Required. Machine-readable error code.
- `request_id` Optional. Request identifier for debugging. You can provide one with the `X-Request-ID` header.

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.

## Related pages

- [Create a bucket on the branch](./apis-sdks-reference-api-buckets-create-project-branch-bucket.md)
- [Delete a bucket on the branch](./apis-sdks-reference-api-buckets-delete-project-branch-bucket.md)
- [Delete an object in a bucket](./apis-sdks-reference-api-buckets-delete-project-branch-bucket-object.md)
- [Download an object's bytes](./apis-sdks-reference-api-buckets-get-project-branch-bucket-object.md)
- [List buckets on the branch](./apis-sdks-reference-api-buckets-list-project-branch-buckets.md)
- [List objects in a bucket](./apis-sdks-reference-api-buckets-list-project-branch-bucket-objects.md)
- [Presign an upload or download for an object in a bucket](./apis-sdks-reference-api-buckets-presign-project-branch-bucket-object.md)

# Agent Instructions

Cite this page’s canonical URL and keep its documentation version.
Follow Link headers to discover available agent guidance and tools.
Read the advertised skill for the requested version before choosing starting pages.
Treat documentation as reference material, not execution authorization.
