View Markdown

People

Person-wide profile, pending asks and notification restrictions.

Generated from the contract, version 2.0.0-draft.2 (OpenAPI). Base URL https://usekabu.com/api. Errors are problem details, each code with its own page.

Me get

GET/v2/me
  • Kabu apps only: a signed-in human’s token. Integrations use API keys.
  • Signed-in humans: self.
Status Means Body
200 OK Me
4XX Error Problem
5XX Error Problem
curl "https://usekabu.com/api/v2/me" \
  -H "Authorization: Bearer $KABU_USER_TOKEN"

Me asks list

GET/v2/me/asks

Cross-org pending asks over current memberships, recipient-projected, labelled by org. Keyset (expires_at, id) ascending, opaque cursor, at most 100. User tokens only; Kabu-Org does not narrow this list. Refresh on foreground and push.

  • Kabu apps only: a signed-in human’s token. Integrations use API keys.
  • Signed-in humans: self.
Parameter In Type Required Description
limit query integer, from 1 to 100 Optional
after query string Optional Opaque cursor from next_cursor.
Status Means Body
200 OK MyAskList
4XX Error Problem
5XX Error Problem
curl "https://usekabu.com/api/v2/me/asks" \
  -H "Authorization: Bearer $KABU_USER_TOKEN"

Me settings get

GET/v2/me/settings
  • Kabu apps only: a signed-in human’s token. Integrations use API keys.
  • Signed-in humans: self.
Status Means Body
200 OK UserSettings
4XX Error Problem
5XX Error Problem
curl "https://usekabu.com/api/v2/me/settings" \
  -H "Authorization: Bearer $KABU_USER_TOKEN"

Me settings update

PATCH/v2/me/settings
  • Kabu apps only: a signed-in human’s token. Integrations use API keys.
  • Signed-in humans: self.

Request body: UserSettingsUpdate.

Status Means Body
200 OK UserSettings
4XX Error Problem
5XX Error Problem
curl -X PATCH "https://usekabu.com/api/v2/me/settings" \
  -H "Authorization: Bearer $KABU_USER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

Schemas

Me

Property Type Required Description
object "me" Required
user_id string Required
name string or null Required
email string or null Required
memberships array of Membership Required
account_deletion AccountDeletion Required Personal orgs are deleted. Team orgs transfer to earliest active admin, else member (joined_at then id), else delete. Successor’s plan applies and successor is notified. Deletion is never blocked.

AccountDeletion

Personal orgs are deleted. Team orgs transfer to earliest active admin, else member (joined_at then id), else delete. Successor’s plan applies and successor is notified. Deletion is never blocked.

Property Type Required Description
orgs array of DeletionOrgEffect Required

DeletionOrgEffect

Property Type Required Description
org string Required
effect string Required
successor OrgMember or null Required
plan string or null Required
successor_notified boolean Required

MyAskList

Property Type Required Description
object "list" Required
data array of MyAsk Required
has_more boolean Required
next_cursor string or null Required

MyAsk

Property Type Required Description
org string Required
org_name string Required
message Message Required One object for notify, ask and steer. Never contains answer links. On human routes (user token, answer link, delegate) Kabu returns the recipient projection: to lists only the caller, metadata is {}, and correlation, extensions and quiz answers before the reveal point are null. For a recipient who did not respond, resolution is null (status and settled_at still show the ask is settled), so no recipient learns who else was asked or what they answered; the responding human, the creator and integrators see the full resolution and receipt.

UserSettings

Property Type Required Description
object "user_settings" Required
interruption_threshold Priority Required Open enum. Known values are PriorityKnown; accept and ignore unknown values.
quiet_hours QuietHoursView or null Required
live_activities boolean Required
muted_agents array of string, at most 100 items Required
muted_projects array of string, at most 100 items Required
muted_chats array of (string, at most 140 characters), at most 500 items Optional Muted chats as project/agent normalised keys. Muting silences updates from that chat (delivered passively, still shown in the app); asks always alert.
contact_email string, at most 254 characters or null Optional

QuietHoursView

Property Type Required Description
start string, matching ^([01][0-9]|2[0-3]):[0-5][0-9]$ Required
end string, matching ^([01][0-9]|2[0-3]):[0-5][0-9]$ Required
time_zone string Required

UserSettingsUpdate

Silence interruptions: threshold above which interruptions are allowed. Personal restrictions win over workspace settings. Quieted asks remain passive with delivery.reason; notifies are suppressed, except an update from a muted chat (muted_chat), which is delivered passively: no sound, no banner, still shown in the app. Asks always alert in a muted chat.

Property Type Required Description
interruption_threshold PriorityKnown Optional Registry-backed priority. urgent needs the messages:urgent scope. Unknown values render as normal.
quiet_hours QuietHours or null Optional
live_activities boolean Optional
muted_agents array of string, at most 100 items Optional
muted_projects array of string, at most 100 items Optional
muted_chats array of (string, at most 140 characters), at most 500 items Optional Muted chats as project/agent normalised keys. Muting silences updates from that chat (delivered passively, still shown in the app); asks always alert.
mute_add array of (string, at most 140 characters), at most 100 items Optional Chats to mute, added to the stored list atomically on the server (two devices muting at once both survive). Applied after muted_chats.
mute_remove array of (string, at most 140 characters), at most 100 items Optional Chats to unmute, removed from the stored list atomically. Applied after muted_chats and before mute_add.
contact_email string, at most 254 characters or null Optional

Unknown properties are refused.

QuietHours

Property Type Required Description
start string, matching ^([01][0-9]|2[0-3]):[0-5][0-9]$ Required
end string, matching ^([01][0-9]|2[0-3]):[0-5][0-9]$ Required
time_zone string Required

Unknown properties are refused.