---
title: "Request ownership transfer (secure page)"
locale: en
url: https://tlg.builera.app/en/docs/reference/rest/groups.request_transfer
verified: 2026-10-24
app_version: "2.0"
generated: true
---

# Request ownership transfer (secure page)

Ask to hand a group / channel to another member. Always asks the user first. Returns `secureUrl`: the user opens it (signed in, workspace owner / manager) and types the account's 2FA password there — the assistant never receives the password. The request expires after 30 minutes; follow it with groups.transfer_status.

Ask to hand a group / channel to another member. Always asks the user first. Returns `secureUrl`: the user opens it (signed in, workspace owner / manager) and types the account's 2FA password there — the assistant never receives the password. The request expires after 30 minutes; follow it with groups.transfer_status.

## Overview

| Name | Value |
| --- | --- |
| Code | `groups.request_transfer` |
| Scope needed | `groups.admin` |
| Risk | Dangerous |
| May need confirmation | Yes |
| Runs as | Answers right away |
| Needs `Idempotency-Key` | No |
| Member roles allowed | `owner`, `manager` |
| In the app | Assistant → secure page /secure/transfer |

## Input fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `conversationId` | `uuid` | Yes |   |
| `user` | `object` | Yes |   |

## Example request

```bash
curl -X POST https://tlg.builera.app/api/public/v2/ops/groups.request_transfer \
  -H "Authorization: Bearer $TELEGRAM_AUTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"conversationId":"00000000-0000-0000-0000-000000000000","user":"…"}'
```

## Output fields (`data`)

| Field | Type | Required |
| --- | --- | --- |
| `ok` | `true` | Yes |
| `transferId` | `text` | Yes |
| `secureUrl` | `text` | Yes |
| `expiresAt` | `text` | Yes |
| `status` | `"awaiting_password"` | Yes |

## Example answer

```json
{
  "data": {
    "ok": true,
    "transferId": "00000000-0000-4000-8000-000000000000",
    "secureUrl": "text",
    "expiresAt": "2026-10-22T12:00:00.000Z",
    "status": "awaiting_password"
  }
}
```

## Using it over MCP

Not listed on any profile: call `tools_describe` then `tools_run` with `code: "groups.request_transfer"`. Tool name when listed: `groups_request_transfer`.
