List members

Returns the caller org's bots as space members — each with the member account uuid and the Person reference the roster addresses it by.

GET /v1/bot/members

Addresshttps://api.hanzo.ai/v1/bot/members
MethodGET
Operationget_bot_members
AuthAuthorization: Bearer $HANZO_API_KEY

Returns the caller org's bots as space members — each with the member account uuid and the Person reference the roster addresses it by.

A deployment that runs no team subsystem has no spaces and therefore no roster, which is an empty list rather than an error: ErrNoPeer is the ONE error that means "this deployment does not run that app", and every other failure is an outage and says so.

Request

GET /v1/bot/members takes no parameters and no body — the credential is the whole request.

Response

StatusBodyMeaning
200bot.BotRosterok
defaultproblem-detailsrefused

200 body — 6 fields.

FieldInTypeAlwaysDescription
botsbodybot.BotMember[]—Bots is one entry per bot, each carrying the member account uuid and the Person reference the space roster addresses it by.
bots[].activebodyboolean—Active is whether the agent projects as a LIVE space member, derived from its registry status: empty, "active" and "ready" are live, anything else (archived/retired) is not.
bots[].idbodystring—ID is the agent id.
bots[].namebodystring—Name is the display name.
bots[].personRefbodystring—PersonRef is the projected Person _id.
bots[].userIdbodystring—UserID is the derived member account uuid (personUuid).

Failure carries the platform error shape — see Errors.

Examples

hanzo bot members get
import { Configuration, BotApi } from 'hanzoai';

const api = new BotApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getBotMembers();
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import BotApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = BotApi(client).get_bot_members()
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.BotAPI.GetBotMembers(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::apis::{configuration::Configuration, bot_api};

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

let result = bot_api::get_bot_members(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.BotApi;

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

var result = new BotApi(client).getBotMembers();
curl https://api.hanzo.ai/v1/bot/members \
  -H "Authorization: Bearer $HANZO_API_KEY"

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

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_bot_members"
         }
       }
     }'

Bot API · All Hanzo APIs · Interactive reference

Was this page useful?