---
title: "Grant an administrative principal"
method: POST
path: "/api/v1/admin/principals"
tags: ["Administration"]
---

# Grant an administrative principal

`POST /api/v1/admin/principals`

## Request body

- object
  - `userId` string, required
  - `role` 'admin' | 'auditor' | 'billing_admin' | 'support', required
  - `reason` string

## Response `200`

Successful response. Stable response schemas are documented in workflow guides when available.

- unknown

## Other responses

- `400` — Invalid request.
- `401` — Missing or invalid authentication.
- `500` — Unexpected server error.

## Changes

- **2026-07-14** `929c37819585` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/layernorm/apis/overlay-web-api/changes/api/v1/admin/principals/post.md)

---

[API](https://skmtc.dev/layernorm/apis/overlay-web-api.md) · [All operations](https://skmtc.dev/layernorm/apis/overlay-web-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/layernorm/overlay-web-api/revisions/cfa601be9fa3/schema)
