---
title: "Plan applying a pack"
locale: en
url: https://tlg.builera.app/en/docs/reference/rest/packs.plan
verified: 2026-10-24
app_version: "2.0"
generated: true
---

# Plan applying a pack

Plan applying a pack to accounts (accountIds and/or tags): per-account field changes and warnings (paused, no session, safe week 1 blocks strangers, never-open schedule, other pack, hand-made drift), workspace items to add. Nothing changes. Returns plan_id valid 15 minutes; then call packs_apply with it.

Plan applying a pack to accounts (accountIds and/or tags): per-account field changes and warnings (paused, no session, safe week 1 blocks strangers, never-open schedule, other pack, hand-made drift), workspace items to add. Nothing changes. Returns plan_id valid 15 minutes; then call packs_apply with it.

## Overview

| Name | Value |
| --- | --- |
| Code | `packs.plan` |
| Scope needed | `automation.write` |
| Risk | Write |
| May need confirmation | No |
| Runs as | Answers right away |
| Needs `Idempotency-Key` | No |
| Member roles allowed | `owner`, `manager` |
| In the app | Automation → Config packs → Apply to accounts → Preview |

## Input fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `packId` | `uuid` | Yes |   |
| `accountIds` | `uuid[]` | No |   |
| `tags` | `text[]` | No |   |

## Example request

```bash
curl -X POST https://tlg.builera.app/api/public/v2/ops/packs.plan \
  -H "Authorization: Bearer $TELEGRAM_AUTO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"packId":"00000000-0000-0000-0000-000000000000"}'
```

## Output fields (`data`)

| Field | Type | Required |
| --- | --- | --- |
| `ok` | `true` | Yes |
| `plan` | `null \| text \| number \| object \| any[] \| true/false` | Yes |

## Example answer

```json
{
  "data": {
    "ok": true,
    "plan": "text"
  }
}
```

## Using it over MCP

Not listed on any profile: call `tools_describe` then `tools_run` with `code: "packs.plan"`. Tool name when listed: `packs_plan`.
