# List billing organizations

Lists every organization you are an active member of, for the **Bill to** choice when renting a Forge cloud server. Forge is not tied to one organization: a server is billed to the organization its [create](/docs/api-reference/forge-compute/create-host) names in `organization_id`, and this list is where that choice comes from. Show `title` as the picker's label, `help` beneath it, and each organization's `reason` when it cannot be chosen; every sentence is written by the backend.

An organization is `selectable` when all three hold there:

- Forge cloud compute is switched on for the organization;
- you hold the `use_forge` capability in it;
- Aitronos servers are offered to you in it (not switched off for the organization, and not offered to Aitronos staff only).


A spending limit never makes an organization unselectable: once it is chosen, the [catalog](/docs/api-reference/forge-compute/list-offerings) explains the limit in `blocked_reason`, and a create past it is refused with `402 FORGE_COMPUTE_SPEND_LIMIT_REACHED`.

It names no organization (it is about you, across all of yours) and requires a credential that acts for a person (a bearer token, or a key belonging to a person). A credential confined to some organizations is shown those alone. Removed memberships and deleted organizations are never listed.

## Returns

**`default_organization_id`** string or `null` — the organization to preselect: your saved choice (see [Choose the default billing organization](/docs/api-reference/forge-compute/choose-billing-organization)) while it is still selectable, else your current organization if it is selectable, else the first selectable one; `null` when none is selectable.

**`title`** string — the picker's label, e.g. `Bill to`.

**`help`** string — a sentence explaining the picker, e.g. `Rented servers are billed to this organization's Forge cloud compute.`

**`organizations`** array — every organization you are an active member of, in `order`. Each entry:

- **`id`** string — the organization's id. Send it as `organization_id` when creating a server.
- **`name`** string — the organization's name.
- **`logo_url`** string or `null` — the organization's logo, as a public URL.
- **`selectable`** boolean — whether servers can be billed to it now.
- **`reason`** string or `null` — why it cannot be chosen, as a sentence to show; `null` when `selectable`. One of: `Cloud servers are not available for this organization.`, `Cloud servers could not be checked for this organization right now. Try again in a moment.` (the switch could not be read; ask again later), `You don't have permission to rent servers in this organization.`, `Aitronos servers are not offered to you in this organization.`
- **`month_to_date_label`** string or `null` — what the organization has spent on cloud servers this calendar month, as a sentence to show, e.g. `CHF 0.52 on servers this month`. Only for members holding `view_billing` there; `null` otherwise, or when it cannot be read right now.
- **`order`** integer — display position from 0: selectable organizations first, then by name.



```json
{
  "default_organization_id": "org_3c1e9a7b5d2f4e8a9b0c6d1e2f3a4b5c",
  "title": "Bill to",
  "help": "Rented servers are billed to this organization's Forge cloud compute.",
  "organizations": [
    {
      "id": "org_3c1e9a7b5d2f4e8a9b0c6d1e2f3a4b5c",
      "name": "Acme Engineering",
      "logo_url": "https://cdn.example.com/logos/acme.png",
      "selectable": true,
      "reason": null,
      "month_to_date_label": "CHF 0.52 on servers this month",
      "order": 0
    },
    {
      "id": "org_8f2d4b6a1c3e4f5a8b7c9d0e1f2a3b4c",
      "name": "Side Project",
      "logo_url": null,
      "selectable": true,
      "reason": null,
      "month_to_date_label": null,
      "order": 1
    },
    {
      "id": "org_1a2b3c4d5e6f4a7b8c9d0e1f2a3b4c5d",
      "name": "Client Workspace",
      "logo_url": null,
      "selectable": false,
      "reason": "You don't have permission to rent servers in this organization.",
      "month_to_date_label": null,
      "order": 2
    },
    {
      "id": "org_9e8d7c6b5a4f4e3d2c1b0a9f8e7d6c5b",
      "name": "Research Lab",
      "logo_url": null,
      "selectable": false,
      "reason": "Cloud servers are not available for this organization.",
      "month_to_date_label": null,
      "order": 3
    }
  ]
}
```

## Errors

| Status | Code | When |
|  --- | --- | --- |
| 401 | `AUTHENTICATION_REQUIRED` | No valid credential. |
| 403 | `API_KEY_PERSON_REQUIRED` | An organization API key: it has no person of its own. |



```bash cURL
curl "https://api.aitronos.com/v1/forge/compute/billing-organizations" \
  -H "Authorization: Bearer $ACCESS_TOKEN"
```


```python Python SDK
# pip install aitronos-sdk
#
# The Python SDK does not expose a typed `forge_compute` namespace yet, so call
# the endpoint directly with the same bearer token you would pass to `Aitronos(...)`.
import httpx

ACCESS_TOKEN = "your-access-token"

picker = httpx.get(
    "https://api.aitronos.com/v1/forge/compute/billing-organizations",
    headers={"Authorization": f"Bearer {ACCESS_TOKEN}"},
).json()
print(picker["title"], "->", picker["default_organization_id"])
for org in picker["organizations"]:
    print(org["name"], "ok" if org["selectable"] else org["reason"])
```


```python Python
import os
import requests

token = os.environ["AITRONOS_TOKEN"]
response = requests.get(
    "https://api.aitronos.com/v1/forge/compute/billing-organizations",
    headers={"Authorization": f"Bearer {token}"},
)
choices = [o for o in response.json()["organizations"] if o["selectable"]]
print(len(choices), "organizations can be billed")
```


```javascript JavaScript
const response = await fetch("https://api.aitronos.com/v1/forge/compute/billing-organizations", {
  headers: { Authorization: `Bearer ${process.env.AITRONOS_TOKEN}` },
});
const { default_organization_id, organizations } = await response.json();
console.log(organizations.map((o) => `${o.name}: ${o.selectable ? "selectable" : o.reason}`));
```

**Response:**

200 OK

```json
{
  "default_organization_id": "org_3c1e9a7b5d2f4e8a9b0c6d1e2f3a4b5c",
  "title": "Bill to",
  "help": "Rented servers are billed to this organization's Forge cloud compute.",
  "organizations": [
    {
      "id": "org_3c1e9a7b5d2f4e8a9b0c6d1e2f3a4b5c",
      "name": "Acme Engineering",
      "logo_url": "https://cdn.example.com/logos/acme.png",
      "selectable": true,
      "reason": null,
      "month_to_date_label": "CHF 0.52 on servers this month",
      "order": 0
    },
    {
      "id": "org_1a2b3c4d5e6f4a7b8c9d0e1f2a3b4c5d",
      "name": "Client Workspace",
      "logo_url": null,
      "selectable": false,
      "reason": "You don't have permission to rent servers in this organization.",
      "month_to_date_label": null,
      "order": 1
    }
  ]
}
```

401 Unauthorized

```json
{
  "success": false,
  "error": {
    "code": "AUTHENTICATION_REQUIRED",
    "message": "Please sign in to continue.",
    "system_message": "Authentication required",
    "type": "authentication_error",
    "status": 401,
    "details": {},
    "trace_id": "3f1c9a52-7d4e-4b8a-9c21-6e0d5f7a8b34",
    "timestamp": "2026-10-01T09:00:00Z"
  }
}
```

## Related Resources

- [Forge cloud compute overview](/docs/api-reference/forge-compute/introduction)
- [List billing organizations](/docs/api-reference/forge-compute/list-billing-organizations)
- [Choose the default billing organization](/docs/api-reference/forge-compute/choose-billing-organization)
- [List project groups](/docs/api-reference/forge-compute/list-project-groups)
- [Register or update a project group](/docs/api-reference/forge-compute/put-project-group)
- [Delete a project group](/docs/api-reference/forge-compute/delete-project-group)
- [List compute offerings](/docs/api-reference/forge-compute/list-offerings)
- [Get offering options](/docs/api-reference/forge-compute/get-offering-options)
- [Resolve a free size](/docs/api-reference/forge-compute/resolve-offering-size)
- [List connected accounts](/docs/api-reference/forge-compute/list-credentials)
- [Connect a cloud account](/docs/api-reference/forge-compute/put-credential)
- [Disconnect a cloud account](/docs/api-reference/forge-compute/delete-credential)
- [Create a server](/docs/api-reference/forge-compute/create-host)
- [List servers](/docs/api-reference/forge-compute/list-hosts)
- [List your servers in every organization](/docs/api-reference/forge-compute/list-my-hosts)
- [Get a server](/docs/api-reference/forge-compute/get-host)
- [Get a server's daily cost and uptime](/docs/api-reference/forge-compute/get-host-usage)
- [List a server's running intervals](/docs/api-reference/forge-compute/list-host-intervals)
- [List a server's event history](/docs/api-reference/forge-compute/list-host-events)
- [Park a server](/docs/api-reference/forge-compute/park-host)
- [Resume a server](/docs/api-reference/forge-compute/resume-host)
- [Delete a server](/docs/api-reference/forge-compute/delete-host)
- [Get compute settings](/docs/api-reference/forge-compute/get-settings)
- [Get spend limits](/docs/api-reference/forge-compute/get-limits)
- [Change the organization's limits](/docs/api-reference/forge-compute/update-organization-limits)
- [Set your own limit](/docs/api-reference/forge-compute/update-my-limit)
- [List member limits](/docs/api-reference/forge-compute/list-member-limits)
- [Set a member's limit](/docs/api-reference/forge-compute/update-member-limit)