---
slug: dashboard/settings
title: Settings in the dashboard
kind: reference
surface: dashboard
summary: Reference for the Settings area of the Aetherfy dashboard — identity and account deletion, API keys, plan and payment, the developer quick start and the GitHub integration — with every label each tab shows and the afy CLI and REST equivalents.
sources:
  - dashboard/src/app/(authenticated)/dashboard/settings/tabs.tsx
  - dashboard/src/app/(authenticated)/dashboard/settings/page.tsx
  - dashboard/src/app/(authenticated)/dashboard/settings/api-keys/page.tsx
  - dashboard/src/app/(authenticated)/dashboard/settings/developer/page.tsx
  - dashboard/src/app/(authenticated)/dashboard/settings/integrations/page.tsx
  - dashboard/src/components/api-keys/CreateKeyModal.tsx
  - dashboard/src/components/api-keys/RenameKeyModal.tsx
  - dashboard/src/lib/api-keys/page-utils.js
  - dashboard/src/lib/agents/github-account-kind.js
  - dashboard/src/lib/agents/github-callback-banners.js
  - dashboard/src/pages/api/dashboard/user.js
  - aetherfy-control-plane:shared/auth_service.py
  - aetherfy-control-plane:shared/api_key_usage.py
  - vectordb:backend/services/apiKeyUsage.js
  - vectordb:backend/services/keyLiveness.js
---

# Settings in the Aetherfy dashboard

## The Aetherfy dashboard's Settings tabs

The Settings area of the Aetherfy dashboard, at
[app.aetherfy.com/dashboard/settings](https://app.aetherfy.com/dashboard/settings),
holds account-level configuration in five tabs:

| Label | Address | What it holds |
|---|---|---|
| `IDENTITY` | `/dashboard/settings` | Your sign-in email, and account deletion |
| `API KEYS` | `/dashboard/settings/api-keys` | The API keys you created |
| `BILLING` | `/dashboard/settings/billing` | Plan, payment method, spend limit and invoices — see [Usage and billing](/dashboard/usage-and-billing) |
| `DEVELOPER` | `/dashboard/settings/developer` | A quick start: a key, a first request, the base URL |
| `INTEGRATIONS` | `/dashboard/settings/integrations` | The GitHub accounts connected to Aetherfy |

Secrets are not a Settings tab: an Aetherfy secret belongs to an agent or a
workspace, never to the account, so they have their own area — [Secrets](/dashboard/secrets).
There is no account-level region setting either: a resource's region is chosen
when it is created ([Regions and replication](/platform/regions)).

## Aetherfy identity and account deletion

The `IDENTITY` tab shows the email you sign in with and when you last signed in,
and deletes the account.

| Label | Meaning |
|---|---|
| `LAST SIGN-IN` | The last time you signed in, as the sign-in service recorded it |
| `TERMINATE IDENTITY` | Deletes the account and everything in it: agents, collections, secrets and API keys |
| `CONFIRMATION STEP` | What deletion does to billing: usage already invoiced for a closed period is charged now, and a paid subscription is cancelled at once with no refund for the rest of the period |
| `CONFIRM PASSWORD` | Deletion is confirmed with your password, not by typing a name |

Aetherfy tears your agents down first and then erases the account; you are signed
out at once. Account deletion has no CLI or REST equivalent.

## Aetherfy API keys

The `API KEYS` tab lists the keys you created, by name, with the first characters
of each key, the date it was issued and when it was last used. What a key can reach, and the per-plan
key limits, are at [API keys](/platform/api-keys).

| Label | Meaning |
|---|---|
| `DEFAULT` | The key Aetherfy created for you the first time the dashboard showed it to you, on the welcome screen |
| `TOKEN ALIAS` | The key's name. Renaming it does not change the key |
| `LAST USED` | How long ago the vector API or the agents API last accepted a request made with the key, such as `4m ago`; hover it for the exact time. Accurate to 30 minutes: a key's use is recorded at most once every 30 minutes, so a key in constant use can read up to `30m ago`. A refused request (an unknown key, a suspended account) is not a use. `Never` means no request with the key has been accepted yet |
| `I HAVE COPIED THIS TOKEN` | Closes the new key's one-time display, once you have used its copy button. The plaintext is never shown again |

| Action | What happens |
|---|---|
| **GENERATE_NEW_TOKEN** | Creates a key and shows its plaintext once. Disabled at your plan's key limit |
| Rename | Changes the key's name only |
| Revoke — type the key's name to confirm | Deletes the key. The agents API refuses it on its very next request, because it checks that a key still exists on every request. The vector API refuses it once each region drops its cached copy, which revoking does at once; a region that missed it still refuses the key within 60 seconds. Cannot be undone |

The list shows no status: every key in it works, because a revoked key is deleted
rather than marked. Keys have no expiry and no scopes, and there is no rotate action: rotate by
creating a new key, moving your clients to it, then revoking the old one
([rotating](/platform/api-keys)). Keys are managed only here — the CLI and the
REST API use a key, they do not create one.

## The Aetherfy developer tab

The `DEVELOPER` tab is a starting point: a link to create a key, a first request
that lists your collections, the vector API's base URL, and its routes, generated
from the same OpenAPI document the docs publish. The authoritative reference for
every route is [the vector REST API](/vectors/api) and [the agent REST API](/agents/api).

## Aetherfy GitHub integration

The `INTEGRATIONS` tab connects GitHub accounts to Aetherfy, so a linked agent
deploys on every push ([GitHub integration](/agents/github)).

| Label | Meaning |
|---|---|
| `CONNECTED` | At least one GitHub account is connected |
| `NOT CONNECTED` | No GitHub account is connected |
| `(organization)` | Beside an account: a GitHub organization |
| `(personal account)` | Beside an account: a personal GitHub account |
| `GitHub connected.` | You just came back from GitHub and the account was connected |
| `The Aetherfy App is installed on GitHub but not linked to this account yet. Click Connect GitHub to finish.` | Finish by connecting again |
| `Your request was sent to the organization's administrators. Once they approve it, click Connect GitHub again to link the installation.` | An organization owner has to approve the installation |
| `That link expired before the installation was recorded. Click Connect GitHub for a fresh one.` | Start the connection again |
| `GitHub did not answer, so nothing was changed. Click Connect GitHub to try again.` | GitHub was unreachable |

| Action | CLI | REST |
|---|---|---|
| **CONNECT GITHUB**, **CONNECT ANOTHER ACCOUNT** | `afy github connect` ([GitHub](/cli/github)) | `GET /api/v1/auth/github` ([account API](/agents/api-account)) |
| See the connected accounts | `afy github status` | `GET /api/v1/auth/github/status` |
| **DISCONNECT** one account | `afy github disconnect <account>` | `DELETE /api/v1/auth/github` |

Disconnecting an account stops the agents linked through it from deploying on push;
their links are kept, and reconnecting resumes them. Which repositories the Aetherfy
App may read is changed on GitHub (**MANAGE ON GITHUB**), and an agent is linked to
a repository from its card in the [Agents area](/dashboard/agents), not here.
Disconnecting every account at once is `afy github disconnect` with no account.
