Generate Upload URL
const url = 'https://example.com/storage/v1/workspaces/example/engines/example/buckets/example/presigned-urls:upload';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"workspace":"example","engine":"example","bucket":"example","object_key":"example","content_type":"example","expiry":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/storage/v1/workspaces/example/engines/example/buckets/example/presigned-urls:upload \ --header 'Content-Type: application/json' \ --data '{ "workspace": "example", "engine": "example", "bucket": "example", "object_key": "example", "content_type": "example", "expiry": "example" }'Generates a pre-signed PUT URL for uploading an object directly to the storage data plane.
Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The workspace the bucket belongs to
The cloud provider: qibdo, aws, gcp, or azure
The bucket to generate the upload URL for
Request Body required
Section titled “Request Body required ”GenerateUploadUrlRequest
Request message for GenerateUploadUrl. Carries the parent workspace and bucket, the target cloud provider, the object key, an optional content type, and the URL validity duration.
object
The workspace the bucket belongs to
The cloud provider: qibdo, aws, gcp, or azure
The bucket to generate the upload URL for
The object key for the upload
Optional MIME type restriction for the upload
URL validity duration (default 1h, max 24h)
Example generated
{ "workspace": "example", "engine": "example", "bucket": "example", "object_key": "example", "content_type": "example", "expiry": "example"}Responses
Section titled “ Responses ”OK
PresignedUrlResponse
Response message for GenerateUploadUrl and GenerateDownloadUrl. Carries the pre-signed URL, its expiry timestamp, and the cloud provider the URL targets.
object
The pre-signed URL (direct to the storage data plane)
ISO 8601 timestamp when the URL expires
The cloud provider this URL targets
Example
{ "engine": "ENGINE_UNSPECIFIED"}default
Section titled “default ”Default error response
The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide.
object
The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
A list of messages that carry the error details. There is a common set of message types for APIs to use.
Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.
object
The type of the serialized message.
Example generated
{ "code": 1, "message": "example", "details": [ { "@type": "example" } ]}