Xeonr Developer Docs
UplApiUploads

Create signed upload intent

POST
/uplim.api.v1.BucketUploadsService/CreateSignedUploadIntent

Creates a signed upload intent token with optional upload constraints and metadata.

Authorization

OAuth2 upl:uploads:create
AuthorizationBearer <token>

OAuth 2.0 authorization

In: header

Scope: upl:uploads:create

Header Parameters

Connect-Protocol-Version?number

Define the version of the Connect protocol

Connect-Timeout-Ms?number

Define the timeout, in ms

Request Body

application/json

bucketRef?&
expiresAt?google.protobuf.Timestamp|null
metadata?|null
constraints?|null
filename?string

Upload options (all concrete at intent creation)

Length1 <= length <= 4096
tags?tags
Itemsitems <= 1000
uploadedBy?string
Lengthlength <= 4096
allowAnyExtension?boolean

validate:skip a bool has no bounds

defaultSlugExtension?string|null
Lengthlength <= 1024
private?boolean|null

validate:skip a bool has no bounds

resourcePermissions?

Resource permissions to grant after upload completion

Itemsitems <= 1000
integrationHidden?boolean|null

Whether this upload is private to the owning integration. When true, only the owning integration (with API key if api_key_enabled) can access it. validate:skip a bool has no bounds

create?

Response Body

application/json

application/json

curl -X POST "https://uploads-api.xeonr.io/uplim.api.v1.BucketUploadsService/CreateSignedUploadIntent" \  -H "Connect-Protocol-Version: 1" \  -H "Connect-Timeout-Ms: 1000" \  -H "Content-Type: application/json" \  -d '{}'
{
  "signedIntentToken": "string",
  "expiresAt": "2023-01-15T01:30:15.01Z"
}
{
  "code": "not_found",
  "message": "string",
  "details": [
    {
      "type": "string",
      "value": "string",
      "debug": {}
    }
  ]
}