---
title: "Revoke an org member (owner-only, v1.77)"
method: DELETE
path: "/orgs/v1/{org_id}/members/{principal_id}"
tags: ["Org"]
---

# Revoke an org member (owner-only, v1.77)

`DELETE /orgs/v1/{org_id}/members/{principal_id}`

## Request

- Base URL: `https://api.run402.com`
- URL: `https://api.run402.com/orgs/v1/{org_id}/members/{principal_id}`
- Auth: API key in header `SIGN-IN-WITH-X`

Owner-only. Revokes a member (status='revoked', a single row, no key rotation, ownership unchanged). The org always keeps ≥1 active owner (LAST_OWNER guard). Audited.

## Path parameters

- `org_id` string, uuid, required
- `principal_id` string, uuid, required

## Headers

- `SIGN-IN-WITH-X` string, required

## Response `200`

Member revoked

- object

## Other responses

- `403`: Owner role required (FORBIDDEN)
- `409`: Cannot revoke the last active owner (LAST_OWNER)

---

[API](https://skmtc.dev/run402/apis/run402-api.md) · [All operations](https://skmtc.dev/run402/apis/run402-api/llms.txt) · [OpenAPI document](https://skmtc.dev/run402/apis/run402-api/revisions/893607557f50?raw)
