Discovery
What this key can do, limits and machine-readable links.
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.
Who am I, and what can this key do
GET/v2- Auth: an API key, or no credentials, or a signed-in human’s token (the Kabu apps).
- Signed-in humans:
member.
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
Kabu-Org |
header | string | Optional | Select a live membership (default personal org); non-member is 404. Human tokens are live-only. Caller user id is distinct from billing owner. |
| Status | Means | Body |
|---|---|---|
200 |
OK | Capabilities |
4XX |
Error | Problem |
5XX |
Error | Problem |
curl "https://usekabu.com/api/v2" \
-H "Authorization: Bearer $KABU_API_KEY"Schemas
Capabilities
| Property | Type | Required | Description |
|---|---|---|---|
object |
"capabilities" |
Required | |
api_version |
string | Required | |
livemode |
boolean | Required | |
org |
string | Required | |
project |
string or null | Required | |
agent |
string or null | Required | |
default_to |
string or null | Required | |
scopes |
array of string | Required | |
limits |
object | Required | e.g. title_max, body_max_bytes, options_max, wait_max, recipients_max. |
features |
array of string | Required | e.g. ask.form, choice.quiz, grants, kickoff, web_push, live_activity, mcp. |
ask_types |
array of string | Required | |
decisions |
array of string | Required | |
priorities |
array of object | Required | |
priorities[].name |
string | Required | |
priorities[].rank |
integer | Required | |
sounds |
array of string | Required | |
links |
object | Required | openapi, llms_txt, mcp, jwks, docs. |
Problem
RFC 9457 problem details with Kabu extensions.
| Property | Type | Required | Description |
|---|---|---|---|
type |
string (uri) | Required | Documentation URL for this problem type. |
title |
string | Required | |
status |
integer | Required | |
code |
string | Required | Stable machine code, e.g. invalid_request, unknown_parameter, unauthorized, forbidden, self_response_forbidden, incompatible_scopes, not_found, idempotency_key_reused, idempotency_key_in_use, already_settled, ask_expired, lease_lost, invalid_ack_transition, rate_limited, quota_exceeded, payload_too_large, unsupported_media_type, checkpoint_expired, checkpoint_filter_mismatch, upload_expired, media_not_ready, unsupported_schema_keyword, invalid_receipt, attempt_expired, precondition_failed, session_ended, project_in_use. Unknown codes must be handled by status. |
detail |
string | Optional | |
param |
string | Optional | JSON pointer to the offending field. |
errors |
array of ProblemFieldError | Optional | |
retryable |
boolean | Required | |
hint |
string | Optional | One actionable sentence an agent can follow to fix the call. |
doc_url |
string (uri) | Optional | |
request_id |
string | Required |
ProblemFieldError
| Property | Type | Required | Description |
|---|---|---|---|
param |
string | Required | |
code |
string | Required | |
detail |
string | Optional |