> Adsly docs index: https://adsly.pro/docs/llms.txt · every page in one file: https://adsly.pro/docs/llms-full.txt · OpenAPI: https://adsly.pro/docs/api/openapi.yaml

# Cabinets (accounts)

GET /v1/account/info — the cabinets a key reaches, with currency, balance, minimum budget, your access level and which optional ad fields each cabinet supports.

A **cabinet** (account) is one Telegram Ads ad account in Adsly. Every campaign belongs to exactly one cabinet, identified by `account_id`.

## GET /v1/account/info

The cabinets this key reaches, right now.

```bash
curl -s https://app.adsly.pro/api/v1/account/info -H "X-API-Key: $ADSLY_API_KEY"
```

```json
{
  "success": true,
  "data": [
    {
      "id": 53,
      "name": "Main cabinet",
      "cabinet_type": "euro",
      "is_active": true,
      "access_level": "owner",
      "currency": "EUR",
      "balance": "250.00",
      "balance_updated_at": "2026-10-08T09:40:12.000Z",
      "min_budget": 1,
      "features": { "ad_button": true, "crypto_filters": true }
    },
    {
      "id": 61,
      "name": "Client B",
      "cabinet_type": "ton",
      "is_active": true,
      "access_level": "viewer",
      "currency": "TON",
      "balance": "84.20",
      "balance_updated_at": "2026-10-08T09:35:51.000Z",
      "min_budget": 1,
      "features": { "ad_button": false, "crypto_filters": false }
    }
  ]
}
```

| Field | Meaning |
|---|---|
| `id` | The `account_id` to pass to other calls. |
| `cabinet_type` | `euro`, `ton` or `stars`. |
| `currency` | `EUR`, `TON` or `STARS` — the currency of **every** money field in this cabinet: balance, budget, spent, CPM. Never add up money across cabinets of different currencies. |
| `access_level` | Your access: `owner`, `manager` (agency member who can change campaigns) or `viewer` (agency member, read-only). Writes need `owner` or `manager`. |
| `balance` | Money on the cabinet, not yet given to campaigns (decimal string). Refreshed when the cabinet syncs — see `balance_updated_at`. |
| `min_budget` | The smallest non-zero `budget` a new campaign in this cabinet can have. |
| `features.ad_button` | The cabinet's ad form has a custom button (`button` field on create/edit). |
| `features.crypto_filters` | The cabinet's ad form has crypto-channel filters. |

`balance` is `null` for special partner keys that show adjusted figures.

## Notes

- `GET /v1/account/info` costs one read request — call it at start-up and when a write returns `ACCOUNT_NOT_FOUND`, not before every call.
- A cabinet disappears from the list when it is deactivated or your access to it is removed.
- Cabinets are added in the Adsly panel; the API manages campaigns inside them.

---
Page: https://adsly.pro/docs/api/accounts/ · Updated: 2026-10-08
