---
title: "Transfer workspace ownership"
method: POST
path: "/credits/members/{memberId}/transfer-ownership"
tags: ["Workspace members"]
---

# Transfer workspace ownership

`POST /credits/members/{memberId}/transfer-ownership`

## Request

- Base URL: `https://api.paywithlocus.com/api`
- URL: `https://api.paywithlocus.com/api/credits/members/{memberId}/transfer-ownership`
- Auth: HTTP bearer

Requires the current owner's dashboard session, members:manage, and recent MFA or passkey step-up. Admins and secret keys are refused. The target becomes the owner and the acting owner becomes an admin; only the new owner can transfer ownership again.

## Path parameters

- `memberId` string, uuid, required

## Headers

- `X-Locus-Step-Up` string, password

## Response `200`

Ownership transferred; returns the new owner membership

- object
  - `success` unknown, required
  - `member` WorkspaceMember, required
    - `id` string, uuid, required
    - `email` string, email, required
    - `role` 'owner' | 'admin' | 'developer' | 'billing' | 'viewer', required: Owner and admin are workspace-administrator roles. Exactly one member holds owner; it moves only through the transfer-ownership operation, never through role updates or invitations.
    - `cognitoSub` string, required: Cognito subject usage is attributed to; the identity analytics keys member spend by.
    - `createdAt` string, date-time, required

## Other responses

- `403`: Caller is not the owner, lacks members:manage, or has no recent step-up
- `404`: Member not found in this workspace
- `409`: The acting member is not the owner, already owns the workspace, or ownership moved concurrently

---

[API](https://skmtc.dev/paywithlocus/apis/locus-pro-api.md) - [All operations](https://skmtc.dev/paywithlocus/apis/locus-pro-api/llms.txt) - [OpenAPI document](https://skmtc.dev/paywithlocus/apis/locus-pro-api/revisions/aab8fa5d6cef?raw)
