---
title: "Set User Role"
method: PUT
path: "/api/v1/admin/super-admins/role"
tags: ["super_admins"]
---

# Set User Role

`PUT /api/v1/admin/super-admins/role`

## Request

- Base URL: `https://api.getanana.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getanana.com/api/v1/admin/super-admins/role`
- Auth: none declared

Make an email SUPER_ADMIN or USER, whether or not they have signed in.

An existing user is promoted or demoted. Someone who has not signed in yet
is invited, or has their invite cancelled. Refuses to demote the caller, so
the last super admin cannot lock everyone out.

## Request body

- SetUserRoleRequest
  - `email` string, email, required
  - `role` 'SUPER_ADMIN' | 'USER', required

## Response `200`

Successful Response

- SetUserRoleResponse
  - `email` string, required
  - `outcome` 'promoted' | 'demoted' | 'unchanged' | 'invited' | 'invite_cancelled', required

## Other responses

- `404`: Demoting an email with no user and no pending invite
- `409`: Demoting yourself, or an email pending only through INTERNAL_USER_EMAILS
- `422`: Validation Error

## Changes

> 55 revisions in range; 1 not diffed.

- **2026-10-18** `512200d910e2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/getanana/apis/cleon-api/changes/api/v1/admin/super-admins/role/put.md)

---

[API](https://skmtc.dev/getanana/apis/cleon-api.md) · [All operations](https://skmtc.dev/getanana/apis/cleon-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getanana/apis/cleon-api/revisions/4d9d38769a75?raw)
