---
title: "Unlink one of the Bearer actor's OAuth identities"
method: POST
path: "/auth/v1/account/identities/unlink"
tags: ["Auth"]
---

# Unlink one of the Bearer actor's OAuth identities

`POST /auth/v1/account/identities/unlink`

## Request

- Base URL: `https://api.run402.com`
- URL: `https://api.run402.com/auth/v1/account/identities/unlink`
- Auth: API key in header `apikey` and HTTP bearer

Machine route (apikey + user Bearer). Requires auth_time within 5 minutes. Removes the actor-owned OAuth identity selected by provider and provider subject, then revokes all browser sessions when a row was removed. The caller cannot supply a user id and a service-role token is rejected.

## Request body

- object
  - `provider` string, required
  - `subject` string, required: Provider subject id; use provider_sub from an account identity read.

## Response `200`

Identity unlink result; unlinked is false when the actor owns no matching identity.

- object
  - `ok` true, required
  - `unlinked` boolean, required

## Other responses

- `400`: Invalid request body.
- `401`: Missing or invalid authentication. Run402-originated JSON bodies use the canonical ErrorEnvelope.

---

[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)
