Creating an organization
1
Open the org switcher
Click the workspace name at the top of the sidebar, then Create organization…. (The same form is the Create a new organization option during onboarding.)
2
Name it
Enter a display name. The slug is auto-generated from the name; override it if you want a specific URL fragment. Slug availability is checked live.
3
Land inside the new org
The dashboard switches context and lands you on the overview. The org is created with a default
server_managed profile in the same transaction, so you can store secrets immediately — there’s no separate profile-bootstrap step.Switching organizations
The org switcher lists every organization (and personal account) you belong to. Selecting one updates the active context; org-scoped views — items, agents, permissions, audit — refetch for the new org. The switcher also offers Create organization… and Join another organization…. The active organization is persisted locally, so subsequent dashboard visits land in the same place. Members apply to team organizations only. A personal account is a single-user vault, so the Members section is hidden in its Settings.Inviting members
1
Open Settings → Members → Invite member
The members table and invite card are available to
owner and admin roles.2
Pick a role and generate a link
Choose
owner, admin, or member, then Generate link. The dashboard returns a one-time invite link.3
Send the invite link
Copy the link from the card and send it through your usual channel. The link expires after 7 days; the token can be redeemed exactly once.
4
Recipient accepts
The recipient signs in (or creates an account) and opens the link (
/invite/accept?token=...). They can also paste the raw token or URL at /join or via the org switcher’s Join another organization… dialog. After confirming the org name and role, they’re added with the assigned role.Member roles
Managing members
The members table on Settings → Members lists each member’s name, role, and join time. Owners and admins can Remove a member; removal disables that member’s agents and deletes their permissions. (Removal is confirmed in a dialog.)Personal API keys
Settings → API keys lets you mint personal API keys to script the management surface without a browser. Each key is bound to your user and the active org.1
Create the key
In the Create API key card, give it a name and pick an expiry (Never, 30 days, 90 days, or 1 year), then Create key.
2
Copy the secret
The card then shows the full
abu_... secret exactly once, with a warning. The server stores only its SHA-256 hash plus a short prefix.3
Use it as a bearer token
Send
Authorization: Bearer abu_..., or pass it as the sessionToken to AbadgeUserClient.Removing the organization
Settings → Danger zone deletes the organization (or personal account). Deletion cascades to its agents, permissions, profiles, and items. Audit entries persist (they have no foreign-key constraints). This is irreversible. Deletion is not blocked when items exist — those items are deleted along with everything else. Because the action is destructive, the confirmation dialog requires two things, both re-checked server-side:1
Type the exact workspace name
Type the organization (or personal account) name to confirm you know which workspace you’re deleting (GitHub-style). It must match the current name. Re-verified by the server — a mismatch returns
CONFIRMATION_MISMATCH.2
Re-enter your account password
Owning the org is not enough; the server re-authenticates the password against your credential account. A wrong password returns
REAUTH_FAILED and is shown inline on the password field, so you can correct it without re-opening the dialog. A social-login-only account with no password set returns REAUTH_PASSWORD_REQUIRED (set a password via password reset first).