> ## Documentation Index
> Fetch the complete documentation index at: https://docs.memorylake.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Transfer Ownership

> Transfers ownership of this org team to another active human member (not an API key, not a virtual member)

```
POST /openapi/memorylake/admin/v1/team/transfer-ownership
```

Transfers ownership of this org team to another active human member (not an API key, not a virtual member). The caller becomes an admin and can no longer perform owner-only operations after the transfer, including this one. A retry with the same Idempotency-Key replays the first result to the same caller only; anyone else is refused. Another transfer of the same team in progress answers 409; retry.

<Warning>
  **High-risk operation.** It takes effect immediately. Read what it changes, above, before you call it.
</Warning>

<Note>
  **Permission required:** team owner only
</Note>

### Headers

<ParamField header="Idempotency-Key" type="string">
  Optional. Retrying with the same value replays the first result for the same caller.
</ParamField>

### Request Body

<ParamField body="new_owner_principal_id" type="string" required>
  principal\_id of an active human member who will become the team owner
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST 'https://app.memorylake.ai/openapi/memorylake/admin/v1/team/transfer-ownership' \
    -H 'Authorization: Bearer sk_xxxxxx' \
    -H 'Idempotency-Key: 7c1d2e3f-0a9b-4c8d-b7e6-f5a4d3c2b1a0' \
    -H 'Content-Type: application/json' \
    -d '{
      "new_owner_principal_id": "670048c3ad268485e39c944bbf532eb8"
    }'
  ```
</RequestExample>

### Response

<ResponseField name="data" type="object">
  <Expandable title="Transfer Team Ownership object">
    <ResponseField name="new_owner_principal_id" type="string">New owner principal\_id</ResponseField>
    <ResponseField name="previous_owner_principal_id" type="string">Previous owner principal\_id</ResponseField>
    <ResponseField name="tenant_id" type="string">Team id</ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json Success (200) theme={null}
  {
    "success": true,
    "message": "Operation completed successfully",
    "data": {
      "new_owner_principal_id": "a98ea7f681cc99557e9ff07a98bdfd93",
      "previous_owner_principal_id": "4b00105cd113649644fb6ca4b1b43592",
      "tenant_id": "0b27c6f12b96b127b1157e40a00b0b79"
    }
  }
  ```
</ResponseExample>

### Errors

Errors answer with `success: false`, a `message` and an `error_code`. See [Error Codes](/features/memorylake/api-reference/errors) for every code.

| Status | Meaning |
| - | - |
| `400` | A parameter or the body is invalid |
| `401` | The API key is missing, invalid, disabled or expired |
| `403` | The key is not allowed to do this |
| `409` | The request conflicts with the current state, e.g. a duplicate or a limit reached |
| `422` | The body or a parameter failed validation |
| `429` | Too many requests. Wait for the time in `Retry-After` |
| `500` | Server-side error |
| `503` | Temporarily unavailable. Retry later |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.