Sluby
REST APIKeys

Rename an API key.

Changes only the name; the secret, scopes and rate limit stay. An unknown key, a revoked key and a key past its grace period answer 404.

PATCH
/api/v1/keys/{id}

Changes only the name; the secret, scopes and rate limit stay. An unknown key, a revoked key and a key past its grace period answer 404.

Authorization

bearerAuth
headerAuthorizationBearer <token>

A Sluby API key (sluby_...) sent as Authorization: Bearer <key>. Keys carry scopes: upload, read, manage.

Path Parameters

id*string

Key id.

Request Body

application/json
  1. body
name*string

Trimmed; no control characters.

Length1 <= length <= 100

Response Body

The renamed key.

application/json
  1. response
id*string
Formatuuid
name*string
scopes*array<>
rate_limit*integer

Requests per minute.

is_active*boolean
created_at*string
Formatdate-time
expires_at*|

Set while a rotated-out key is in its grace period.

Formatdate-time
prefix*|

The first 12 characters of the key (sluby_ and 6 more), to tell keys apart. Null for keys created before prefixes were stored.

last_used_at*|

When the key last authenticated a request, to the minute: it is written at most once a minute per key. Null if never used since this was recorded.

Formatdate-time
created_by*|

The member who made the key; it acts with their current role and stops while they are removed. Null for a key made from the server (BOOTSTRAP_API_KEY, npm run db:seed-key), made by such a key, or whose maker was deleted: it acts as an admin.

Example Request
curl -X PATCH 'https://sluby.example.com/api/v1/keys/string' \  -H 'Content-Type: application/json' \  -d '{  "name": "string"}'
Example Response
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "name": "string",  "scopes": [    "upload"  ],  "rate_limit": 0,  "is_active": true,  "created_at": "2019-08-24T14:15:22Z",  "expires_at": "2019-08-24T14:15:22Z",  "prefix": "string",  "last_used_at": "2019-08-24T14:15:22Z",  "created_by": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "name": "string"  }}