> ## 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

> Your current account context, the accounts under your organization, membership access, and notification preferences

An **account** is the entity the authenticated user is operating as. Every buyer request runs in the context of one account, identified by a numeric `id` and carrying a `role` (`MEMBER`, `ADMIN`, or `SUPER_ADMIN`) that gates what the caller can do. A user can belong to several accounts; the account API lets you read the current context, list the accounts you can access, and switch your integration between them.

## Account model

Full user-context responses returned by account creation and switching separate
the product an account uses from its access and approval state:

| Field                                     | Meaning                                                                                                                                                                                                                                                                                                         |
| ----------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `nodeKind`                                | `ACCOUNT` for a product workspace or `CONTAINER` for an organization that governs accounts.                                                                                                                                                                                                                     |
| `accountType`                             | `BUYER` or `SELLER` for accounts. Some compatibility responses use `PARTNER` to project the organization's sales-agent offering; it is not a separate account. An organization container has no core account type.                                                                                              |
| `customerRole`                            | Compatibility field for Buyer and Seller integrations. Use `accountType` for new Buyer and Seller reads. The sales-agent offering has no `customerRole` equivalent.                                                                                                                                             |
| `enabled`                                 | Whether people and API clients can enter the account. It does not grant Buyer live-spend eligibility or Partner registration, certification, or commercial approval.                                                                                                                                            |
| `buyerAccessPosture`                      | Deprecated compatibility projection. It is not operation authority; use Buyer Setup capability verdicts.                                                                                                                                                                                                        |
| `registrationStatus` / `commercialStatus` | Independent states on an organization's sales-agent offering. Registration is `AVAILABLE` or `REGISTERED`; commercial status is `INACTIVE`, `ACTIVE`, `SUSPENDED`, or `EXITED`. A newly enabled offering starts `AVAILABLE` / `INACTIVE`, and registration or certification does not grant commercial approval. |

Each account has its own registered `customerDomain` and membership settings.
When an enterprise organization manages more than one account, organization
membership grants management access through that hierarchy but does not create
direct account membership. Separately, each user manages their own
**notification preferences** — the set of event types and channels (`email`,
`in_app`) they opt into.

## Key concepts

| Concept                  | Description                                                                                                                                 |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------- |
| Current account          | The account context the request authenticates as — `id`, `company`, `name`, `role`, `customerDomain`                                        |
| Organization             | The top-level entity in the hierarchy; only accounts created under an organization can be deleted                                           |
| `customerDomain`         | The account's registered domain; required before domain auto-join can be enabled                                                            |
| Operator identity        | The seller-facing AdCP key for this buyer account: its operator domain and, only for a specific operating unit, a stable `operator_unit.id` |
| Membership               | Per-account access settings, notably `allowDomainAutoJoin`; defaults on for top-level organizations and off for child accounts              |
| Notification preferences | Per-user opt-ins of `notificationType` × `channel`                                                                                          |
| Role                     | `MEMBER`, `ADMIN`, or `SUPER_ADMIN`; admin-only operations require `ADMIN` on the target account                                            |

## Task reference

<CardGroup cols={2}>
  <Card title="Set up buyer identity" href="/v2/buyer/account/setup" icon="id-card">
    Confirm whole-operator or specific-unit scope before new AdCP 3.2 provisioning
  </Card>

  <Card title="Get current account" href="/v2/buyer/account/tasks/get-current-account" icon="circle-user">
    `GET /accounts/current` — your current context
  </Card>

  <Card title="List accounts" href="/v2/buyer/account/tasks/list-customer-accounts" icon="list">
    `GET /accounts` — accounts you can access
  </Card>

  <Card title="Update account domain" href="/v2/buyer/account/tasks/update-customer-domain" icon="globe">
    `PATCH /accounts/:customerId/domain` — set the registered domain
  </Card>

  <Card title="Get membership" href="/v2/buyer/account/tasks/get-membership" icon="users">
    `GET /accounts/:customerId/membership` — read access settings
  </Card>

  <Card title="Update membership" href="/v2/buyer/account/tasks/update-membership" icon="user-gear">
    `PATCH /accounts/:customerId/membership` — toggle domain auto-join
  </Card>

  <Card title="Get notification preferences" href="/v2/buyer/account/tasks/get-notification-preferences" icon="bell">
    `GET /notification-preferences` — your opt-ins
  </Card>

  <Card title="Update notification preferences" href="/v2/buyer/account/tasks/update-notification-preferences" icon="bell-concierge">
    `PUT /notification-preferences` — replace your opt-ins
  </Card>
</CardGroup>
