# Plans and permissions

> Besides the user's role, a valid request can be stopped by a **feature** your
> subscriptions don't include.

## Features

Some endpoints need a feature that comes with your subscriptions. Parklio sets your
account's features from what you subscribe to; you don't manage them through the API.
When a feature is missing, the endpoint returns **403** with error code **`30`**
("Account missing proper authorization").

| Feature | Needed for |
| --- | --- |
| `REMOTE_CONTROL` | Operating products: [`POST /v2/products/{id}/state`](/api/endpoints/products-change-state), [`POST /v2/products/{id}/settings`](/api/endpoints/products-change-settings) |
| `KEY_SHARE` | Creating operation keys: [`POST /v2/operation-keys`](/api/endpoints/operation-keys-create-many) and its single and file-upload variants |
| `QR_CODE_SHARE` | Creating QR codes: [`POST /v2/qr-codes`](/api/endpoints/qr-codes-create) |
| `LPR_CONTROL` | Opening and rebooting LPR cameras: `POST /v2/lpr-cameras/{id}/state` and `/reboot` |
| `LPR_RECOGNITION` | License-plate alerts (`/v2/license-plate-alerts`) |
| `PARKING_DETECTION` | Creating and updating parking places, parking-place history, violation zones and their events, and parking-detection camera frames |
| `PARKING_DETECTION` or `LPR_RECOGNITION` | Proactive alerts (`/v2/proactive-alerts`) |

Features follow the licenses on your account:

- licenses for **products** (barriers, gates, chains, bollards, brains) bring the
  remote-control and sharing features;
- licenses for **LPR cameras** bring `LPR_CONTROL` and `LPR_RECOGNITION`;
- licenses for **parking places** bring `PARKING_DETECTION`.

If you get code `30`, check the product's subscription at
[subscriptions.parklio.com](https://subscriptions.parklio.com/?product=api), or contact
[info@parklio.com](mailto:info@parklio.com).

## Roles

Separately, each account user's role (Super Admin, Admin or Operator) decides what they
can do, and on which lots. A role problem returns **403** with code `4` ("No
permission"). API tokens act as the account's first Super Admin. See
[Data model](/concepts/data-model#account-users-and-roles).

## Next

- [Access and keys](/concepts/access-and-keys)
- [Errors](/api/errors)
