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

# Account

> Read your current storefront account, manage membership, and set notification preferences

The **account** endpoints expose your current storefront account. Use them to read its context, list accounts you can switch into, set the registered company domain, control domain auto-join, and manage notification opt-ins.

## Account model

Full user-context responses returned by account creation and switching use
`nodeKind` to distinguish a Buyer or Seller account from an organization
container. `accountType` is the canonical product field for those accounts;
`customerRole` remains as a compatibility field for Buyer and Seller
integrations. Some compatibility responses use `accountType: PARTNER` to
project the organization's sales-agent offering. That projection is not a
separate account and has no legacy `customerRole` equivalent.

`enabled` only controls whether people and API clients can enter the account.
It does not make a Buyer live-eligible or grant Commercial Partner approval.
Some compatibility responses still expose `buyerAccessPosture`; it is deprecated
and is never operation authority. Buyer Setup derives the applicable Buyer
capabilities instead. Sales-agent offering projections expose registration as `AVAILABLE` or
`REGISTERED` and commercial status as `INACTIVE`, `ACTIVE`, `SUSPENDED`, or
`EXITED`. A newly enabled offering starts `AVAILABLE` / `INACTIVE`, so
enabling, registration, or certification never implies commercial access.

All examples use the storefront base URL:

```
https://api.apostra.com/api/v2/storefront
```

Authenticate every request with `Authorization: Bearer $SCOPE3_API_KEY`. Your
account context is resolved from the API key. Domain and membership operations
require the `ADMIN` role on the target account.

## Key concepts

* **Registered domain.** An account can carry one `customerDomain`. It gates domain auto-join and, for `SELLER` accounts, identifies the company operating the storefront. It initially seeds the storefront's operator domain and remains separate from its public listing domain.
* **Storefront operator domain.** A storefront has its own `operatorDomain`, which is the canonical domain the storefront operates as for AAO and buyer-facing identity. It may differ from the account's `customerDomain`. Updating `customerDomain` syncs the storefront only while the storefront operator domain is missing or still mirrors the account's previous registered domain.
* **Domain auto-join.** Users with a verified matching-domain email join as members without admin approval when `allowDomainAutoJoin` is true. It defaults on for top-level organizations and off for child accounts, and requires a `customerDomain` to be set. Admins can explicitly override the default.
* **Notification opt-ins.** Preferences are a full set of `{ notificationType, channel }` pairs. The update call replaces all existing opt-ins.

## Task reference

<CardGroup cols={2}>
  <Card title="Get current account" href="/v2/storefront/account/tasks/get-current-account" icon="id-card">
    Authenticated account context
  </Card>

  <Card title="List accounts" href="/v2/storefront/account/tasks/list-customer-accounts" icon="list">
    Accounts you can switch into
  </Card>

  <Card title="Update account domain" href="/v2/storefront/account/tasks/update-customer-domain" icon="globe">
    Set the account's registered domain
  </Card>

  <Card title="Get membership" href="/v2/storefront/account/tasks/get-membership" icon="users">
    Read domain auto-join setting
  </Card>

  <Card title="Update membership" href="/v2/storefront/account/tasks/update-membership" icon="user-gear">
    Toggle domain auto-join
  </Card>

  <Card title="Get notification preferences" href="/v2/storefront/account/tasks/get-notification-preferences" icon="bell">
    Read your opt-ins
  </Card>

  <Card title="Update notification preferences" href="/v2/storefront/account/tasks/update-notification-preferences" icon="bell-on">
    Replace your opt-ins
  </Card>
</CardGroup>

## Related

<CardGroup cols={2}>
  <Card title="All account tasks" href="/v2/storefront/account/tasks" icon="list-check">
    Every operation in one place
  </Card>

  <Card title="Activity & reporting" href="/v2/storefront/activity/overview" icon="chart-line">
    Audit feed and reporting metrics
  </Card>

  <Card title="Errors" href="/v2/reference/errors" icon="triangle-exclamation">
    Shared error contract
  </Card>
</CardGroup>
