List organizations
Returns the organizations you can act in, the ones you belong to first and the rest after, newest first, narrowed by an optional query against the name or…
GET /v1/iam/organizations
| Address | https://api.hanzo.ai/v1/iam/organizations |
| Method | GET |
| Operation | listOrganizations |
| Auth | Authorization: Bearer $HANZO_API_KEY |
Returns the organizations you can act in, the ones you belong to first and the rest after, newest first, narrowed by an optional query against the name or the display name.
Platform operators see every organization; everyone else sees their own. Pass the cursor from the previous page to continue; an empty cursor in the answer means there is nothing more.
THE SCOPE IS THE HANDLER'S OWN, so it holds at every endpoint. The Guard refuses a bearerless request before this runs, but the MCP server carries a typed op to its handler with no middleware in front of it — a handler that read no principal would answer such a caller with the whole registry. Reading the principal here is what makes the answer the same one over both.
Request
4 fields.
| Field | In | Type | Required | Description |
|---|---|---|---|---|
q | query | string | — | |
limit | query | integer | — | |
cursor | query | string | — | |
X-Forwarded-For | header | string | — |
Response
| Status | Body | Meaning |
|---|---|---|
200 | iam.ListOrganizationsOutput | ok |
200 body — 76 fields.
| Field | In | Type | Always | Description |
|---|---|---|---|---|
cursor | body | string | — | |
organizations | body | iam.Organization[] | — | |
organizations[].accountItems | body | iam.AccountItem[] | — | |
organizations[].accountItems[].modifyRule | body | string | — | |
organizations[].accountItems[].name | body | string | — | |
organizations[].accountItems[].regex | body | string | — | |
organizations[].accountItems[].tab | body | string | — | |
organizations[].accountItems[].viewRule | body | string | — | |
organizations[].accountItems[].visible | body | boolean | — | |
organizations[].accountMenu | body | string | — | |
organizations[].avatar | body | string | — | How the organization appears across Hanzo — the square mark beside its name — as an image or as one emoji, never both. |
organizations[].balanceCredit | body | number | — | |
organizations[].balanceCurrency | body | string | — | |
organizations[].countryCodes | body | string[] | — | |
organizations[].createdAt | body | string (date-time) | — | |
organizations[].createdTime | body | string | — | |
organizations[].dcrPolicy | body | string | — | |
organizations[].defaultApplication | body | string | — | |
organizations[].defaultAvatar | body | string | — | |
organizations[].defaultPassword | body | string | — | |
organizations[].deleted | body | boolean | — | |
organizations[].disableSignin | body | boolean | — | |
organizations[].displayName | body | string | — | |
organizations[].emoji | body | string | — | |
organizations[].enableSoftDeletion | body | boolean | — | |
organizations[].enableTour | body | boolean | — | |
organizations[].failedSigninFrozenTime | body | integer | — | |
organizations[].failedSigninLimit | body | integer | — | Per-organization signin throttle. Zero means "inherit the application default"; a non-zero value overrides it. |
organizations[].favicon | body | string | — | |
organizations[].founder | body | string | — | Founder is the stable storage id of the identity that provisioned this org (self-service onboarding). |
organizations[].hasPrivilegeConsent | body | boolean | — | |
organizations[].id | body | string | — | |
organizations[].initScore | body | integer | — | |
organizations[].ipRestriction | body | string | — | |
organizations[].ipWhitelist | body | string | — | |
organizations[].isPersonal | body | boolean | — | |
organizations[].isProfilePublic | body | boolean | — | |
organizations[].kerberosKdcHost | body | string | — | |
organizations[].kerberosKeytab | body | string | — | |
organizations[].kerberosRealm | body | string | — | |
organizations[].kerberosServiceName | body | string | — | |
organizations[].languages | body | string[] | — | |
organizations[].ldapAttributes | body | string[] | — | |
organizations[].logo | body | string | — | |
organizations[].logoDark | body | string | — | |
organizations[].masterPassword | body | string | — | |
organizations[].masterVerificationCode | body | string | — | |
organizations[].mfaItems | body | iam.MfaItem[] | — | |
organizations[].mfaItems[].name | body | string | — | |
organizations[].mfaItems[].rule | body | string | — | |
organizations[].mfaRememberInHours | body | integer | — | |
organizations[].name | body | string | — | |
organizations[].navItems | body | string[] | — | |
organizations[].orgBalance | body | number | — | Balance fields are read-only mirrors; authoritative balances live in Commerce (billing.hanzo.ai). |
organizations[].owner | body | string | — | |
organizations[].passwordExpireDays | body | integer | — | |
organizations[].passwordObfuscatorKey | body | string | — | |
organizations[].passwordObfuscatorType | body | string | — | |
organizations[].passwordOptions | body | string[] | — | |
organizations[].passwordSalt | body | string | — | |
organizations[].passwordType | body | string | — | |
organizations[].tags | body | string[] | — | |
organizations[].themeData | body | iam.ThemeData | — | |
organizations[].themeData.borderRadius | body | integer | — | |
organizations[].themeData.colorPrimary | body | string | — | |
organizations[].themeData.isCompact | body | boolean | — | |
organizations[].themeData.isEnabled | body | boolean | — | |
organizations[].themeData.themeType | body | string | — | |
organizations[].updatedAt | body | string (date-time) | — | |
organizations[].useEmailAsUsername | body | boolean | — | |
organizations[].usePermanentAvatar | body | boolean | — | |
organizations[].userBalance | body | number | — | |
organizations[].userNavItems | body | string[] | — | |
organizations[].userTypes | body | string[] | — | |
organizations[].websiteUrl | body | string | — | |
organizations[].widgetItems | body | string[] | — |
Failure carries the platform error shape — see Errors.
Examples
hanzo iam organizations listimport { Configuration, IamApi } from 'hanzoai';
const api = new IamApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.listOrganizations();from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import IamApi
client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = IamApi(client).list_organizations()cfg := cloud.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := cloud.NewAPIClient(cfg)
resp, _, err := client.IamAPI.ListOrganizations(context.Background()).Execute()
if err != nil {
return err
}use hanzo_cloud::apis::{configuration::Configuration, iam_api};
let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();
let result = iam_api::list_organizations(&cfg, Default::default()).await?;import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.IamApi;
ApiClient client = new ApiClient();
client.setRequestInterceptor(b -> b.header("Authorization", "Bearer " + System.getenv("HANZO_API_KEY")));
var result = new IamApi(client).listOrganizations();curl https://api.hanzo.ai/v1/iam/organizations \
-H "Authorization: Bearer $HANZO_API_KEY"Tool iam, op listOrganizations — POST the JSON-RPC envelope to https://api.hanzo.ai/v1/mcp.
curl -X POST https://api.hanzo.ai/v1/mcp \
-H "Authorization: Bearer $HANZO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "iam",
"arguments": {
"op": "listOrganizations",
"input": {}
}
}
}'How is this guide?