Xeonr Developer Docs
UplApiUploads

List objects

POST
/uplim.api.v1.BucketUploadsService/ListObjects

Lists a bucket by S3 object key rather than by folder: a flat recursive listing, or directory mode (delimiter "/") where immediate sub-folders come back as common_prefixes. An object's key is its folder path and slug with the leading slash dropped ("photos/a.jpg"). Objects and prefixes are ordered lexicographically by key and paginate together; pass next_continuation_token back as continuation_token for the next page, and an empty next_continuation_token means the listing is complete. max_keys of 0 falls back to 1000. Integration-hidden uploads and the contents of virtual-file folders are omitted. This is the same listing the S3 endpoint serves for ListObjectsV2.

Access: bucket-wide read. Callers whose access is narrower than the whole bucket (a folder or upload share, a RAR grant, a folder-scoped integration, or a token path-restricted by RAR) are refused with PermissionDenied, because a key listing would reveal names outside what they were given.

Authorization

OAuth2 upl:bucket:read
AuthorizationBearer <token>

OAuth 2.0 authorization

In: header

Scope: upl:bucket:read

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*&
prefix?string

Only keys starting with this prefix (no leading slash). Empty lists the whole bucket.

Lengthlength <= 1024
delimiter?string

"" lists recursively; "/" lists one level and rolls deeper keys up into common_prefixes. No other delimiter is supported.

Value in"" | "/"
continuationToken?string

The previous page's next_continuation_token. Empty starts from the beginning.

Lengthlength <= 2048
maxKeys?integer

Page size, 1-1000. 0 means 1000.

Formatint32
Range0 <= value <= 1000
[key: string]?never

Response Body

application/json

application/json

curl -X POST "https://uploads-api.xeonr.io/uplim.api.v1.BucketUploadsService/ListObjects" \  -H "Connect-Protocol-Version: 1" \  -H "Connect-Timeout-Ms: 1000" \  -H "Content-Type: application/json" \  -d '{    "bucketRef": {}  }'
{
  "objects": [
    {
      "key": "string",
      "size": "string",
      "etag": "string",
      "contentType": "string",
      "lastModified": "2023-01-15T01:30:15.01Z",
      "uploadId": "string"
    }
  ],
  "commonPrefixes": [
    "string"
  ],
  "nextContinuationToken": "string"
}
{
  "code": "not_found",
  "message": "string",
  "details": [
    {
      "type": "string",
      "value": "string",
      "debug": {}
    }
  ]
}