Team
Human Brand Manager and handoff.
Privacy and analytics
We use necessary technical cookies and, only with your consent, analytics and marketing pixels to improve the website and measure campaigns.
Human Brand Manager and handoff.
The Nömad person who manages the brand, their availability and who covers when they are away. Presence is derived, never stored.
| Field | Value |
|---|---|
| Kind | Read |
| HTTP method | POST /api/v1/team.manager |
| MCP tool | team_manager |
| Scope | team.read |
| Minimum role | Viewer |
| Human confirmation | No |
| Doors | Nödo, Voice, MCP, API, Chat, Screens, Apps |
| Status | Available |
| Widget | manager |
Input
{}Output
{
manager: {
id: string // uuid
name: string
avatarUrl: string | null
}
| null
state: "available" | "busy" | "break" | "idle" | "off_shift" | "out_of_office" | null
returnsAt: string | null
delegate: {
id: string // uuid
name: string
avatarUrl: string | null
}
| null
}Hands the conversation to the human manager. From a Nödo chat it opens a new team thread linked to that chat, with a team-only summary of it; elsewhere it reuses the open team thread. The message is posted on behalf of the caller. It never starts an agent cover run from this call.
| Field | Value |
|---|---|
| Kind | Write |
| HTTP method | POST /api/v1/team.handoff |
| MCP tool | team_handoff |
| Scope | team.write |
| Minimum role | Member |
| Human confirmation | Yes |
| Doors | Nödo, Chat, Screens, Apps |
| Status | Available |
| Widget | confirm |
Input
{
message: string // ≤ 4000
subject?: string // ≤ 120
}Output
{
ok: true
conversationId: string // uuid
assignee: {
id: string // uuid
name: string
avatarUrl: string | null
}
| null
}Invites an email address to the brand with a role (admin, billing, member, viewer), valid 1, 7 or 30 days. Nobody invites above their own role; inviting an admin needs a sign-in from the last minutes. Never an agent's.
| Field | Value |
|---|---|
| Kind | Write |
| HTTP method | POST /api/v1/team.invitations.create |
| MCP tool | team_invitations_create |
| Scope | team.write |
| Minimum role | Admin |
| Human confirmation | Yes |
| Doors | API, Screens, Apps |
| Status | Available |
Input
{
email: string // ≤ 320
role: "admin" | "billing" | "member" | "viewer"
validDays?: integer // -9007199254740991–9007199254740991
}Output
{
ok: true
}Accepts an invitation to a brand with the token of the link received. It must be the invited account with its email verified; the brand becomes the active one and whoever invited hears it.
| Field | Value |
|---|---|
| Kind | Write |
| HTTP method | POST /api/v1/team.invitations.accept |
| MCP tool | team_invitations_accept |
| Scope | team.write |
| Minimum role | Viewer |
| Human confirmation | No |
| Doors | API, Screens, Apps |
| Status | Available |
Input
{
token: string // ≤ 512
}Output
{
brandId: string
brandShortId: string | null
}Deletes one pending invitation of the brand so its link no longer opens anything. not_found when it belongs to another brand or was already accepted or removed.
| Field | Value |
|---|---|
| Kind | Write |
| HTTP method | POST /api/v1/team.invites.delete |
| MCP tool | team_invites_delete |
| Scope | team.write |
| Minimum role | Admin |
| Human confirmation | Yes |
| Doors | API, MCP, Screens, Apps, Nödo |
| Status | Available |
Input
{
inviteId: string // uuid
}Output
{
ok: true
}The brand's members with their role and profile (name, email, avatar), oldest first.
| Field | Value |
|---|---|
| Kind | Read |
| HTTP method | POST /api/v1/team.members.list |
| MCP tool | team_members_list |
| Scope | team.read |
| Minimum role | Admin |
| Human confirmation | No |
| Doors | API, MCP, Screens, Apps, Nödo |
| Status | Available |
Input
{}Output
{
members: Array<{
user_id: string
role: string
created_at: string
profile: {
id: string
full_name: string | null
avatar_url: string | null
email: string | null
}
| null
}>
}Updated on January 1, 1970