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 the display name.

GET /v1/iam/organizations

Addresshttps://api.hanzo.ai/v1/iam/organizations
MethodGET
OperationlistOrganizations
AuthAuthorization: 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.

FieldInTypeRequiredDescription
qquerystring—
limitqueryinteger—
cursorquerystring—
X-Forwarded-Forheaderstring—

Response

StatusBodyMeaning
200iam.ListOrganizationsOutputok
202Approvalheld for approval
defaultproblem-detailsrefused

200 body — 77 fields.

FieldInTypeAlwaysDescription
cursorbodystring—
organizationsbodyiam.Organization[]—
organizations[].accountItemsbodyiam.AccountItem[]—
organizations[].accountItems[].modifyRulebodystring—
organizations[].accountItems[].namebodystring—
organizations[].accountItems[].regexbodystring—
organizations[].accountItems[].tabbodystring—
organizations[].accountItems[].viewRulebodystring—
organizations[].accountItems[].visiblebodyboolean—
organizations[].accountMenubodystring—
organizations[].avatarbodystring—How the organization appears across Hanzo — the square mark beside its name — as an image or as one emoji, never both.
organizations[].balanceCreditbodynumber (double)—
organizations[].balanceCurrencybodystring—
organizations[].countryCodesbodystring[]—
organizations[].createdAtbodystring (date-time)—
organizations[].createdTimebodystring—
organizations[].dcrPolicybodystring—
organizations[].defaultApplicationbodystring—
organizations[].defaultAvatarbodystring—
organizations[].defaultPasswordbodystring—
organizations[].deletedbodyboolean—
organizations[].disableSigninbodyboolean—
organizations[].displayNamebodystring—
organizations[].emojibodystring—
organizations[].enableSoftDeletionbodyboolean—
organizations[].enableTourbodyboolean—
organizations[].failedSigninFrozenTimebodyinteger (int64)—
organizations[].failedSigninLimitbodyinteger (int64)—Per-organization signin throttle.
organizations[].faviconbodystring—
organizations[].founderbodystring—Founder is the stable storage id of the identity that provisioned this org (self-service onboarding).
organizations[].hasPrivilegeConsentbodyboolean—
organizations[].idbodystring—
organizations[].initScorebodyinteger (int64)—
organizations[].ipRestrictionbodystring—
organizations[].ipWhitelistbodystring—
organizations[].isPersonalbodyboolean—
organizations[].isProfilePublicbodyboolean—
organizations[].kerberosKdcHostbodystring—
organizations[].kerberosKeytabbodystring—
organizations[].kerberosRealmbodystring—
organizations[].kerberosServiceNamebodystring—
organizations[].languagesbodystring[]—
organizations[].ldapAttributesbodystring[]—
organizations[].logobodystring—
organizations[].logoDarkbodystring—
organizations[].masterPasswordbodystring—
organizations[].masterVerificationCodebodystring—
organizations[].mfaItemsbodyiam.MfaItem[]—
organizations[].mfaItems[].namebodystring—
organizations[].mfaItems[].rulebodystring—
organizations[].mfaRememberInHoursbodyinteger (int64)—
organizations[].namebodystring—
organizations[].navItemsbodystring[]—
organizations[].orgBalancebodynumber (double)—Balance fields are read-only mirrors; authoritative balances live in Commerce (billing.hanzo.ai).
organizations[].ownerbodystring—
organizations[].passwordExpireDaysbodyinteger (int64)—
organizations[].passwordObfuscatorKeybodystring—
organizations[].passwordObfuscatorTypebodystring—
organizations[].passwordOptionsbodystring[]—
organizations[].passwordSaltbodystring—
organizations[].passwordTypebodystring—
organizations[].platformbodyboolean—Platform marks an organization the platform itself declares (init_data.json): the brand orgs and the others the seed creates, never one a customer made.
organizations[].tagsbodystring[]—
organizations[].themeDatabodyiam.ThemeData—
organizations[].themeData.borderRadiusbodyinteger (int64)—
organizations[].themeData.colorPrimarybodystring—
organizations[].themeData.isCompactbodyboolean—
organizations[].themeData.isEnabledbodyboolean—
organizations[].themeData.themeTypebodystring—
organizations[].updatedAtbodystring (date-time)—
organizations[].useEmailAsUsernamebodyboolean—
organizations[].usePermanentAvatarbodyboolean—
organizations[].userBalancebodynumber (double)—
organizations[].userNavItemsbodystring[]—
organizations[].userTypesbodystring[]—
organizations[].websiteUrlbodystring—
organizations[].widgetItemsbodystring[]—

Failure carries the platform error shape — see Errors.

Examples

hanzo iam organizations list
import { 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 := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.IamAPI.ListOrganizations(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::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.setBearerToken(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": {}
         }
       }
     }'

IAM API · All Hanzo APIs · Interactive reference

Was this page useful?