> ## Documentation Index
> Fetch the complete documentation index at: https://docs.photon.codes/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Use Stable documentation by default. Honor an explicit Beta request or a URL under /docs/beta/. If the requested version conflicts with the installed CLI package or API origin, clarify the target before writing integration code.
> Pages under /docs/beta/ document Beta; other product pages document Stable. Keep the CLI package, commands, API origin, and credentials within the selected version. State the documentation version in your answer.
> For MCP search, always pass version: Stable or version: Beta. Unfiltered search mixes both versions. For filesystem reads, keep Beta queries under /beta/ and exclude /beta/ from Stable queries; discover paths before reading them.
> The public docs base is https://photon.codes/docs. Convert MCP page paths to public URLs under that base, preserving /beta/ when present. Read https://photon.codes/docs/skill.md for version selection and https://photon.codes/docs/llms.txt for the version indexes.

# Account

> Manage your Photon profile, avatar, and account-level settings.

`photon account` manages the identity you signed in as — your profile, avatar,
OAuth connections, and service keys. None of it depends on your
[active project](/docs/beta/cli/projects#select-an-active-project). 10DLC registrations
are listed here but belong to the
[selected organization](/docs/beta/cli/organizations#select-an-organization).

The payment method and OAuth clients moved to
[`photon org`](/docs/beta/cli/organizations#moved-commands).

<CardGroup cols={2}>
  <Card title="Service keys" icon="robot" href="/docs/beta/cli/service-keys">
    Non-interactive credentials for CI.
  </Card>

  <Card title="OAuth connections" icon="plug" href="/docs/beta/cli/accounts/oauth">
    Scopes and the applications you have authorized.
  </Card>

  <Card title="Organizations" icon="building" href="/docs/beta/cli/organizations">
    Members, OAuth clients, and the payment method.
  </Card>

  <Card title="10DLC registration" icon="building-columns" href="/docs/beta/cli/compliance/10dlc">
    Brands and campaigns for A2P messaging.
  </Card>
</CardGroup>

## Command overview

[Browse the automatic command reference](/docs/beta/cli/reference/index).

## Profile

`account view` returns canonical data from Photon, selecting only documented
fields:

```sh theme={null}
photon account view --json
```

```json theme={null}
{"account":{"accountId":"account_123","createdAt":"2026-07-01T00:00:00.000Z","deletedAt":null,"email":"user@example.com","firstName":"Ada","lastName":"Lovelace","onboarded":true,"phoneNumber":"+14155550123","phoneVerifiedAt":"2026-07-02T00:00:00.000Z","pictureUrl":"https://...","updatedAt":"2026-07-03T00:00:00.000Z"}}
```

<Note>
  `photon whoami` is the compact shortcut, with its own flat
  `{accountId, email, name}` contract. Use `account view` when you want the
  complete resource.
</Note>

`account edit` needs at least one name change. Names are trimmed, bounded, and
rejected when empty or when they contain control or format characters:

```sh theme={null}
photon account edit --first-name Ada
photon account edit --last-name Lovelace
photon account edit --clear-last-name
```

The API has no way to clear a first name, so only `--clear-last-name` exists.

## Avatar

Upload accepts a regular JPEG, PNG, or WebP file up to 5 MiB, detected from the
file's signature rather than its extension:

```sh theme={null}
photon account avatar upload ./avatar.webp
photon account avatar reset
photon account avatar reset --force --json
```

The CLI requests a short-lived presigned form, uploads without a Photon
authorization header, and commits only once storage accepts the file. Presigned
URLs and form values are never printed.

`reset` prompts on an interactive terminal and needs `--force` in scripts.
Declining returns `{"cancelled":true}` and exits `0`.

Upload and reset are journaled. Before the commit step, an unresolved upload
keeps a private copy of the validated image so a replay does not need the
original file. See [Recoverable operations](/docs/beta/cli/operations).

<Note>
  Account deletion, phone verification, onboarding, account-level plans and
  invoices, 10DLC phone-number assignment, and messaging are deliberately
  outside this command surface.
</Note>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.