Hanzo

Team

Package team is your org's shared workspace: documents edited together, files, seats, and agents as teammates.

Package team is your org's shared workspace: documents edited together, files, seats, and agents as teammates.

Base URLhttps://api.hanzo.ai
Operations17
AuthAuthorization: Bearer $HANZO_API_KEY

team

get_v1_team_account_auth_by_provider_callback

GET /v1/team/account/auth/{provider}/callback

ParameterInTypeRequiredDescription
providerpathstringyes

get_v1_team_account_auth_by_provider

GET /v1/team/account/auth/{provider}

ParameterInTypeRequiredDescription
providerpathstringyes

PUT /v1/team/account/cookie

DELETE /v1/team/account/cookie

ClearCookie signs this browser out of team by expiring the HttpOnly account-token cookie the OAuth callback set. It is the counterpart of the cookie PUT, it takes nothing — the cookie it clears is named by this service, never by the caller — and it is unconditional: a caller with no cookie, an expired one or a forged one all get the same acknowledgement, because clearing something that is not there is the same outcome as clearing something that is.

It clears ONLY the team session cookie. The IAM access-token cookie the same callback set is a different credential with a different lifetime and is left alone, so this is a team sign-out, not a platform one.

ListProviders returns the identity providers this deployment starts a login with.

GET /v1/team/account/providers

ListProviders returns the identity providers this deployment starts a login with. It is always exactly one — hanzo.id. Which identities that door accepts (Google, GitHub, passkey, password) is IAM's question, answered on IAM's own page next to the identity check and the training-data consent that must precede a first session; listing them here would be a second place holding that answer, and the two drift the moment IAM gains or drops one.

post_v1_team_account

POST /v1/team/account

ReadPlan returns the plan and seat counts for the caller's OWN org, resolved from the VERIFIED team session token — never a client header.

GET /v1/team/billing/plan

ReadPlan returns the plan and seat counts for the caller's OWN org, resolved from the VERIFIED team session token — never a client header. Seats and guests are the org's distinct active human members (a bot member is not a seat); the plan comes from the licensing entitlement and is empty when that read is unavailable, so the page shows an honest dash rather than a fabricated tier. A caller with no verified session gets 401, and a real seat-read failure is a 502 rather than a false "0 members".

get_v1_team_billing_ui_by_wildcard1

GET /v1/team/billing/ui/{wildcard1}

ParameterInTypeRequiredDescription
wildcard1pathstringyes

get_v1_team_billing_ui

GET /v1/team/billing/ui

SyncBots re-projects the caller org's agents as workspace members into EVERY workspace of the org, and removes the ones whose agent is gone.

POST /v1/team/bots/sync

SyncBots re-projects the caller org's agents as workspace members into EVERY workspace of the org, and removes the ones whose agent is gone. It is idempotent, and admin only: mutating a workspace's roster requires the gateway-minted admin flag, which a client can never forge. It answers how many roster entries the reconcile touched.

ListBots returns the caller org's bot members — the org's agents projected as the workspace Employees they become, each with the member account uuid and Person reference the roster addresses it by.

GET /v1/team/bots

ListBots returns the caller org's bot members — the org's agents projected as the workspace Employees they become, each with the member account uuid and Person reference the roster addresses it by. An agents subsystem that is not mounted answers an empty list, never an error.

get_v1_team_files_by_workspace_by_filename

GET /v1/team/files/{workspace}/{filename}

ParameterInTypeRequiredDescription
workspacepathstringyes
filenamepathstringyes

DeleteBlob removes one blob from a workspace's file store.

DELETE /v1/team/files/{workspace}/{filename}

DeleteBlob removes one blob from a workspace's file store. The caller must hold a verified session AND be a member of the workspace; anything else — an unknown workspace, another tenant's workspace, a workspace the caller is not in — answers the same 404, so a probe learns nothing about what exists.

It is IDEMPOTENT: deleting a present or an absent blob both answer 204, so a delete never confirms a blob's existence and a foreign blob id (a physical key the caller can never name into another tenant's box) is a harmless no-op. A storage backend that is unavailable fails closed with 502 rather than lying about success.

ParameterInTypeRequiredDescription
workspacepathstringyesWorkspace is the workspace uuid the blob belongs to, from the path.
filenamepathstringyesFilename is the last path segment, which the front sets to the blob id when it sends no explicit file.
filequerystringFile is the blob id, and wins over the path segment when both are present.

post_v1_team_files_by_workspace

POST /v1/team/files/{workspace}

ParameterInTypeRequiredDescription
workspacepathstringyes

get_v1_team_transactor_by_token

GET /v1/team/transactor/{token}

ParameterInTypeRequiredDescription
tokenpathstringyes

Statistics returns the transactor's live sessions for the workspace the caller's token names — the endpoint the front's workspace switcher and server panel poll on the transactor base.

GET /v1/team/transactor/api/v1/statistics

Statistics returns the transactor's live sessions for the workspace the caller's token names — the endpoint the front's workspace switcher and server panel poll on the transactor base. The token is verified exactly like the WebSocket upgrade is, and activeSessions carries ONLY that token's own workspace, never another tenant's sessions. An invalid or expired token is 401.

ParameterInTypeRequiredDescription
tokenquerystringToken is the workspace token minted by selectWorkspace.

Statistics returns the transactor's live sessions for the workspace the caller's token names — the endpoint the front's workspace switcher and server panel poll on the transactor base.

GET /v1/team/transactor/statistics

Statistics returns the transactor's live sessions for the workspace the caller's token names — the endpoint the front's workspace switcher and server panel poll on the transactor base. The token is verified exactly like the WebSocket upgrade is, and activeSessions carries ONLY that token's own workspace, never another tenant's sessions. An invalid or expired token is 401.

ParameterInTypeRequiredDescription
tokenquerystringToken is the workspace token minted by selectWorkspace.

All Hanzo APIs · Interactive reference

How is this guide?

On this page