# API keys
The API keys tab lists all API keys associated with your account and provides information on each key's capabilities and restrictions. You can [create a new API key](#create) and manage an existing one.
## Create a new API key
The following steps create a new API Key:
* Click **Create a new API key**.
* Assign a friendly name.
* Give the new API key a descriptive name (e.g. chat app key) so it is easy to identify later.
To manage an API key: set [capabilities](https://ably.com/docs/auth/capabilities.md), define resource restrictions, use revocable tokens for security, and adjust key settings as needed.
### Capabilities
[Capabilities](https://ably.com/docs/auth/capabilities.md) provide permissions required for managing message flow, user presence, notifications, channel information, and access controls, these depend on what you require the API key to have access to:
| Capability | Description |
| ---------- | ----------- |
| **Publish** | Allow clients to publish messages to channels. |
| **Subscribe** | Allow clients to receive messages and presence state changes. |
| **History** | Allow clients to retrieve message and presence history. |
| **Presence** | Allow clients to register presence on a channel. |
| **Channel metadata** | Allow clients to query channel metadata. |
| **Push admin and push-subscribe** | Allow clients to manage and subscribe to push notifications. |
| **Statistics** | Allow clients to query usage statistics. |
| **Privileged headers** | Allow clients to set privileged headers, such as to skip channel rules. |
### Set resource restrictions
Set resource restrictions to control access to channels and queues, ranging from unrestricted access to specific, rule-based permissions:
| Restriction | Description |
| ----------- | ----------- |
| None | No restrictions; access any channel or queue. |
| Only channels | Access any channel but not queues. |
| Only queues | Access any queue but not channels. |
| Selected channels and queues | Specify explicit rules for access. |
When specifying selected channels and queues, you can provide a comma-separated list of resources. Each resource can match a single channel (e.g., `channel-name`) or multiple channels using wildcards (e.g., `namespace:*`). Queues use the prefix `[queue]` and meta channels use `[meta]`. See [capabilities documentation](https://ably.com/docs/auth/capabilities.md#wildcards) for detailed wildcard syntax.
### Revocable tokens
[Revocable tokens](https://ably.com/docs/auth/revocation.md#revocable-tokens) enhance security by allowing shorter token lifetimes and the ability to revoke tokens issued via the API key.
| Option | Description |
| ------ | ----------- |
| Revocable tokens | Implement security measures by setting shorter token lifetimes and enabling the ability to revoke tokens issued by the API key. |
### Change your API key settings
Click **Settings** on the required API key to change its settings. The same settings apply as when creating a new API key.