Members
GET /v1/members
Section titled “GET /v1/members”List members
Scope: members:read
curl https://app.rieck.nu/api/v1/members \ -H "Authorization: Bearer $RIECK_API_KEY"const svar = await rieck.request("GET", "/v1/members");PATCH /v1/members/{userId}
Section titled “PATCH /v1/members/{userId}”Assign role
The last admin is protected. Privilege-escalation surface — grant members:manage sparingly.
Scope: members:manage
curl -X PATCH https://app.rieck.nu/api/v1/members/9b2f1c1e-… \ -H "Authorization: Bearer $RIECK_API_KEY" \ -H "Idempotency-Key: order-2041" \ -d '{ "role": "admin" }'const svar = await rieck.request("PATCH", "/v1/members/9b2f1c1e-…", { body: { "role": "admin" },});Request body — fuldt JSON Schema
{ "type": "object", "properties": { "role": { "type": "string", "minLength": 1, "maxLength": 60 } }, "required": [ "role" ], "additionalProperties": false}GET /v1/roles
Section titled “GET /v1/roles”Role catalogue
Scope: members:read
curl https://app.rieck.nu/api/v1/roles \ -H "Authorization: Bearer $RIECK_API_KEY"const svar = await rieck.request("GET", "/v1/roles");