Organization API

Settings, onboarding and the activity log. 7 ops: get_organization, update_organization, list_activity, get_onboarding, get_referral_stats, get_profile, update_profile.

Settings, onboarding and the activity log.

Get organization · POST /api/v1/get_organization · scope organization:read or GET …?input=

The organization this credential acts in: id, slug, name, default timezone and language (used by the inbox, reports and AI agents), and the caller's role. Call first to orient yourself; get_account adds the plan and usage.

curl -X POST https://getwabi.dev/api/v1/get_organization \  -H "Authorization: Bearer wabi_…"

update_organization

writeowner or admin

Update organization · POST /api/v1/update_organization · scope organization:write

Change the organization's name, default timezone (IANA, e.g. Europe/Madrid: business hours, reports, quiet hours) or default language (BCP 47: AI agent replies and template fallbacks when a contact has none). Owners and admins.

curl -X POST https://getwabi.dev/api/v1/update_organization \  -H "Authorization: Bearer wabi_…"

List activity · POST /api/v1/list_activity · scope organization:read or GET …?input=

Every change made through the platform, newest first: who (a person, an API key, an AI agent, a worker), from which surface (dashboard, api, mcp, cli, worker, ai) and what. The audit log (list_audit_log) has the sensitive changes with their details.

curl -X POST https://getwabi.dev/api/v1/list_activity \  -H "Authorization: Bearer wabi_…"

Get onboarding checklist · POST /api/v1/get_onboarding · scope organization:read or GET …?input=

The organization's setup checklist, in order: send a message from the sandbox number, receive a reply, connect a live WhatsApp Business Account, get a template approved, deploy an AI agent, connect a developer surface (API key, MCP or CLI), invite a teammate. Each step has done, a one-line how-to for an agent (which op or command does it) and the dashboard path. Use it to tell a person what to do next in Wabi.

curl -X POST https://getwabi.dev/api/v1/get_onboarding \  -H "Authorization: Bearer wabi_…"

Referral signups (staff) · POST /api/v1/get_referral_stats · scope organization:read or GET …?input=

Wabi team only. Signups by first-touch referral: how many new organizations arrived through a `?ref=<name>` link (a partner, a docs page, an agent surface) or utm_* campaign, per referral_ref, utm_source and utm_medium, in total and within the last `days`. Reads every organization (the only cross-organization read besides the feedback board), returns counts only, never organization names.

curl -X POST https://getwabi.dev/api/v1/get_referral_stats \  -H "Authorization: Bearer wabi_…"

Get my profile · POST /api/v1/get_profile · scope organization:read or GET …?input=

Your own settings, the same in every organization: `locale`, the language the dashboard and every email to you are written in (one of en), or null when you never chose one (the dashboard then follows the browser, emails are English). With an API key, the key creator's profile.

curl -X POST https://getwabi.dev/api/v1/get_profile \  -H "Authorization: Bearer wabi_…"

Update my profile · POST /api/v1/update_profile · scope organization:write

Changes your own settings: `locale` (en) is the language of the dashboard and of every email Wabi sends you; null forgets it. The dashboard's language picker calls this. Returns the profile.

curl -X POST https://getwabi.dev/api/v1/update_profile \  -H "Authorization: Bearer wabi_…" \  -H "Content-Type: application/json" \  -d '{"locale":"en"}'