Xeonr Developer Docs

Create S3 access key

POST
/uplim.api.v1.S3CredentialsService/CreateS3Credential

Creates an access key with optional per-bucket grants. The secret access key is returned exactly once and cannot be retrieved again.

AuthorizationBearer <token>

JWT access token obtained via OAuth2 flow or service account

In: header

Header Parameters

Connect-Protocol-Version*number

Define the version of the Connect protocol

Value in1
Connect-Timeout-Ms?number

Define the timeout, in ms

Request Body

application/json

label?string
Length1 <= length <= 64
grants?
Itemsitems <= 100
ownerTeam?string|null

Mint the key owned by this team (urn:xeonr:auth:team:) instead of by the caller. Requires the upl "admin" team role in that team, and every grant must name a bucket owned by the same team. Omit for a personal key.

[key: string]?never

Response Body

application/json

application/json

curl -X POST "https://uploads-api.xeonr.io/uplim.api.v1.S3CredentialsService/CreateS3Credential" \  -H "Connect-Protocol-Version: 1" \  -H "Content-Type: application/json" \  -d '{}'
{
  "credential": {
    "id": "string",
    "accessKeyId": "string",
    "label": "string",
    "grants": [
      {
        "bucketId": 0,
        "level": "BUCKET_PERMISSION_LEVEL_UNSPECIFIED"
      }
    ],
    "disabled": true,
    "createdAt": "2023-01-15T01:30:15.01Z",
    "lastUsedAt": "2023-01-15T01:30:15.01Z",
    "ownerTeam": "string",
    "ownerTeamSlug": "string",
    "createdByUserId": "string"
  },
  "secretAccessKey": "string"
}
{
  "code": "not_found",
  "message": "string",
  "details": [
    {
      "type": "string",
      "value": "string",
      "debug": {}
    }
  ]
}