List inbox

Returns the caller's notifications, newest first, each with the channel or document it is about and the message that caused it.

GET /v1/team/inbox

Addresshttps://api.hanzo.ai/v1/team/inbox
MethodGET
Operationget_team_inbox
AuthAuthorization: Bearer $HANZO_API_KEY

Returns the caller's notifications, newest first, each with the channel or document it is about and the message that caused it.

These are the rows the Team client's Inbox reads, so a notification cleared there is cleared here. Only the caller's own notifications are ever listed.

Request

2 fields.

FieldInTypeRequiredDescription
spacequerystring—Space is the space uuid.
archivedqueryboolean—Archived lists the archived notifications instead of the live ones.

Response

StatusBodyMeaning
200team.teamInboxok
defaultproblem-detailsrefused

200 body — 33 fields.

FieldInTypeAlwaysDescription
itemsbodyteam.teamInboxItem[]—Items are the notifications, newest first, at most 200.
items[].archivedbodyboolean—Archived reports that the caller archived it.
items[].channelbodystring—Channel is the channel it is about, when it is about a channel.
items[].createdOnbodyinteger (int64)—CreatedOn is when it was filed, unix milliseconds.
items[].docbodystring—Doc is the document it is about, when it is about a document.
items[].idbodystring—ID is the notification's own id — what read and archive address.
items[].messagebodyteam.teamMessage—
items[].message.authorbodystring—Author is the team account uuid that wrote it.
items[].message.channelbodystring—Channel is the channel it was said in — the same id the channel listing answers with, so a caller holding a message can name its channel without a second read.
items[].message.createdOnbodyinteger (int64)—CreatedOn is unix MILLIseconds, which is what the platform stamps.
items[].message.docbodystring—Doc is the document this message is a comment on.
items[].message.editedOnbodyinteger (int64)—EditedOn is when the author last edited the message, unix milliseconds.
items[].message.filesbodyteam.teamFile[]—Files are the files attached to the message.
items[].message.files[].filebodystring—File is the blob id, readable at GET /v1/team/files/{space}/{name}?file={file}.
items[].message.files[].idbodystring—ID is the attachment document's own id.
items[].message.files[].namebodystring—Name is the file's name as the person uploaded it.
items[].message.files[].sizebodyinteger (int64)—Size is the file's length in bytes, as the uploader stated it.
items[].message.files[].typebodystring—Type is the media type the uploader declared.
items[].message.idbodystring—ID is the message document's own id.
items[].message.lastReplybodyinteger (int64)—LastReply is when the thread was last answered, unix milliseconds.
items[].message.mentionsbodystring[]—Mentions are the account uuids the message @-mentions — exactly the people notify.go told they were mentioned.
items[].message.reactionsbodyteam.teamReaction[]—Reactions are the emoji people reacted with, one entry per emoji, in the order each emoji was first used.
items[].message.reactions[].accountsbodystring[]—Accounts are the account uuids that reacted with it, earliest first.
items[].message.reactions[].countbodyinteger (int64)—Count is how many people reacted with it.
items[].message.reactions[].emojibodystring—Emoji is the reaction itself, as the person picked it.
items[].message.repliesbodyinteger (int64)—Replies is how many replies the message's thread holds.
items[].message.textbodystring—Text is the message as PLAIN TEXT.
items[].message.threadbodystring—Thread is the message this one replies to.
items[].readbodyboolean—Read reports that the caller has seen it.
items[].reasonbodystring—Reason is why it was filed: "mention", "dm" (a direct message), "reply" (in a thread the caller is in), "comment" (on something the caller follows), "assigned", or "other".
items[].spacebodystring—Space is the space uuid it was filed in.
items[].threadbodystring—Thread is the message whose thread it is about, for a reply.
unreadbodyinteger (int64)—Unread is how many of the caller's live (unarchived) notifications are unread — the number a badge shows, counted over all of them rather than the page.

Failure carries the platform error shape — see Errors.

Examples

hanzo team inbox list
import { Configuration, TeamApi } from 'hanzoai';

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

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

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

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

let result = team_api::get_team_inbox(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.TeamApi;

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

var result = new TeamApi(client).getTeamInbox();
curl https://api.hanzo.ai/v1/team/inbox \
  -H "Authorization: Bearer $HANZO_API_KEY"

Tool team, op get_team_inbox — 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": "team",
         "arguments": {
           "op": "get_team_inbox",
           "input": {}
         }
       }
     }'

Team API · All Hanzo APIs · Interactive reference

Was this page useful?
Broken link or missing step? Drop it in #docs on Discord or open a PR.