Presign an upload or download for an object in a bucket

Returns a presigned URL that transfers bytes directly to or from the
object's bucket on the specified branch, without the caller ever
handling S3 credentials. The operation field selects the direction:

  • upload returns a presigned PUT URL (the caller PUTs the file
    bytes straight to url with the returned headers). Authorized with
    project write access.
  • download returns a presigned GET URL (the caller GETs the
    bytes straight from url). Authorized with project read access.

The platform mints a short-lived credential and builds the SigV4-signed
URL against the branch's S3 data-plane host, returning it together with
the HTTP method, any headers the caller must echo, and the URL's expiry.

Served by the user's session (no customer S3 credentials required).

Note: This endpoint is currently in Private Beta.

Path Params
string
required
^[a-z0-9-]{1,60}$

The Neon project ID

string
required
^[a-z0-9-]{1,60}$

The Neon branch ID

string
required
length between 1 and 255

The bucket name

string
required
length between 1 and 1024

The object key. Keys may contain /; the / characters of nested
keys must be percent-encoded (%2F) in the path segment.

Body Params

Options for the presigned URL. The operation selects upload (PUT)
or download (GET); the remaining fields are optional.

string
enum
required

The transfer direction. upload returns a presigned PUT URL;
download returns a presigned GET URL.

Allowed:
string

The Content-Type to bind into the signed request. Only meaningful
for upload: when set, the caller MUST send the same Content-Type
header on the PUT, and the value is echoed back in the response
headers. Ignored for download.

int64
1 to 604800
Defaults to 900

How long the presigned URL stays valid, in seconds. Defaults to 900
(15 minutes); capped at 604800 (7 days).

Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json