Xeonr Developer Docs
UplApiBuckets

Get owner usage

POST
/uplim.api.v1.BucketsService/GetOwnerUsage

Storage totals for everything one owner owns: bytes and live uploads summed over the owner's buckets, with the per-bucket breakdown (largest first) and the per-bucket storage cap. owner_scope.personal covers the caller's own buckets; buckets shared with the caller are not theirs and are not counted. owner_scope.team covers a team's buckets and needs a upl role of reader or above in that team, else PermissionDenied. Totals count the same rows GetBucketStatistics does (every upload not deleted), read from a per-bucket rollup refreshed every few minutes rather than counted per request: computed_at says how fresh they are, and a bucket created since the last refresh is counted live.

Access: a token that reaches the whole owner: a user token, an unrestricted personal access key for personal scope, or a team-wide access key for its own team. Folder- and bucket-scoped integration tokens, client_credentials tokens, and any token carrying RAR authorization details (which includes every access key restricted to particular buckets) are refused with PermissionDenied.

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

ownerScope*|

Whose usage: the caller personally, or a team the caller holds a upl role in.

[key: string]?never

Response Body

application/json

application/json

curl -X POST "https://uploads-api.xeonr.io/uplim.api.v1.BucketsService/GetOwnerUsage" \  -H "Connect-Protocol-Version: 1" \  -H "Connect-Timeout-Ms: 1000" \  -H "Content-Type: application/json" \  -d '{    "ownerScope": {}  }'
{
  "bytesUsed": "string",
  "objectCount": "string",
  "bucketCount": 0,
  "capBytes": "string",
  "buckets": [
    {
      "bucketRef": {
        "bucketHostname": "example.com"
      },
      "bytes": "string",
      "objects": "string"
    }
  ],
  "computedAt": "2023-01-15T01:30:15.01Z"
}
{
  "code": "not_found",
  "message": "string",
  "details": [
    {
      "type": "string",
      "value": "string",
      "debug": {}
    }
  ]
}