/projects/{project_id}/branches/{branch_id}/buckets/{bucket_name}/objects/{object_key}/presignPresign 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:
uploadreturns a presignedPUTURL (the callerPUTs the file bytes straight tourlwith the returnedheaders). Authorized with project write access.downloadreturns a presignedGETURL (the callerGETs the bytes straight fromurl). 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 Beta.
- IdempotentThe SDK sends
Idempotency-Key, so a retried request is only applied once.
A 404 is returned: Bucket or branch not found. Any other status is an error: General Error.
The request may or may not be safe to retry, depending on the HTTP method, response status code, and whether a response was received.
- If no response is returned from the API, a network error or timeout likely occurred.
- In some cases, the request may have reached the server and been successfully processed, but the response failed to reach the client. As a result, retrying non-idempotent requests can lead to unintended results.
The following HTTP methods are considered non-idempotent: POST, PATCH, DELETE, and PUT. Retrying these methods is generally not safe.
The following methods are considered idempotent: GET, HEAD, and OPTIONS. Retrying these methods is safe in the event of a network error or timeout.
Any request that returns a 503 Service Unavailable response is always safe to retry.
Any request that returns a 423 Locked response is safe to retry. 423 Locked indicates that the resource is temporarily locked, for example, due to another operation in progress.