# List members

URL: https://docs.hanzo.ai/docs/openapi/billing/get-billing-accounts-by-id-members

> Answers one billing account's roster.

`GET /v1/billing/accounts/{id}/members`

> [Billing →](https://docs.hanzo.ai/docs/openapi/billing) · [All API references →](https://docs.hanzo.ai/docs/openapi) · [Get started →](https://docs.hanzo.ai/docs/guides)

|               |                                                         |
| ------------- | ------------------------------------------------------- |
| **Address**   | `https://api.hanzo.ai/v1/billing/accounts/{id}/members` |
| **Method**    | `GET`                                                   |
| **Operation** | `get_billing_accounts_by_id_members`                    |
| **Auth**      | `Authorization: Bearer $HANZO_API_KEY`                  |

Answers one billing account's roster.

commerce stores no roster — that is IAM's — so the only member it can name is
the caller, and that is what comes back. What it does enforce is that the
account named in the path is the caller's own: a foreign id is 403, not an
empty list, because "no members" and "not your account" are different answers.

A named handler, not a closure, so zipdoc can lift this prose into the registry.

## Request

1 field.

| Field | In   | Type   | Required | Description                                                             |
| ----- | ---- | ------ | -------- | ----------------------------------------------------------------------- |
| `id`  | path | string | yes      | ID is the billing account id, which for this store is the org's own id. |

## Response

| Status    | Body              | Meaning |
| --------- | ----------------- | ------- |
| `200`     | billing.Holder\[] | ok      |
| `default` | problem-details   | refused |

`200` body — 5 fields.

| Field        | In   | Type   | Always | Description |
| ------------ | ---- | ------ | ------ | ----------- |
| `[].addedAt` | body | string | —      |             |
| `[].email`   | body | string | —      |             |
| `[].id`      | body | string | —      |             |
| `[].role`    | body | string | —      |             |
| `[].userId`  | body | string | —      |             |

Failure carries the platform error shape — see [Errors](https://docs.hanzo.ai/docs/errors).

## Examples

**CLI**

```bash
hanzo billing accounts members <id>
```

**SDK**

**.ts**

```ts
import { Configuration, BillingApi } from 'hanzoai';

const api = new BillingApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getBillingAccountsByIdMembers({ id: 'id' });
```

**.py**

```python
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import BillingApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = BillingApi(client).get_billing_accounts_by_id_members(id='id')
```

**.go**

```go
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.BillingAPI.GetBillingAccountsByIdMembers(context.Background()).Execute()
if err != nil {
	return err
}
```

**.rs**

```rust
use hanzo_client::apis::{configuration::Configuration, billing_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = billing_api::get_billing_accounts_by_id_members(&cfg, Default::default()).await?;
```

**.java**

```java
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.BillingApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new BillingApi(client).getBillingAccountsByIdMembers();
```

**HTTP**

```bash
curl https://api.hanzo.ai/v1/billing/accounts/<id>/members \
  -H "Authorization: Bearer $HANZO_API_KEY"
```

**MCP**

MCP reaches **billing** through the `billing` tool, which names its 39 operations with its own verbs — this one among them, under a name only MCP declares. `describe` explains any of them:

```bash
curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "describe",
         "arguments": {
           "op": "list_billing_accounts"
         }
       }
     }'
```

---

[Billing API](https://docs.hanzo.ai/docs/openapi/billing) · [All Hanzo APIs](https://docs.hanzo.ai/docs/openapi) · [Interactive reference](https://docs.hanzo.ai/docs/openapi/reference)
