Operate
Teams
One balance for up to 10 people. Every member keeps their own keys and logs.
What a team is
A team is a separate account with its own name and balance. Your personal account, keys and balance stay yours.
- Members per team
- 10
- Teams you can own
- 3
- To create one
- $0
Roles
Each team has one owner. Everyone else is a member.
- OwnerFunds the team, sets limits, guardrails, routing and alerts, and manages members.
- MemberMakes keys, presets and guardrails, and sees their own keys, logs and the team balance.
- Create, name, rotate and revoke own keys
- Owner and members
- Set key limits and guardrails
- Owner
- See keys, usage and activity
- Members see their own. The owner sees everyone's.
- Create presets and guardrails
- Owner and members
- Edit presets and guardrails
- Creator or owner
- See the balance
- Owner and members
- Top up, billing history and export, whole team or one member
- Owner
- Invite and remove members
- Owner
Switching
- Open the pillIt sits in the dashboard rail, or the top bar on phones.
- Pick an accountPersonal or a team, with your role.
- Work thereEvery page shows the account you are in.
Invite by email
In Team, choose Invite by email. Enter one address or paste up to 10, separated by commas, semicolons or new lines. Each person gets their own invitation, valid for 7 days.
- Open the invitationSign in, or create an account and save your new key.
- Verify the invited emailIf needed, add the email to your current personal account using a verification code. It becomes a sign-in method; your keys and balance stay yours.
- Choose JoinOnly an account with the invited email verified can join. Forwarding the invitation does not grant access.
If the email belongs to another account, you can sign in to that account. Accounts are never merged automatically.
Owners can cancel or resend invitations. Resending replaces the old invitation. Sent means the mail service accepted it; check the recipient’s inbox to confirm delivery. Could not send and Send status unknown can be recovered with an explicit resend.
Optional invite link
Shared links remain available. Anyone with the link can join; these links are not restricted to an email address.
- Copy the linkEach team has one, shown once. Regenerate to copy it again; the old link stops working.
- Share itValid for 7 days, until it is revoked or the team is full.
- They click JoinSigned-out visitors sign in first, then return to Join.
Keys belong to the member
- Bills the teamEvery request on a team key draws from the team balance.
- Attributed to youThe key shows who made it. Rotation keeps that.
- Yours to manageName, rotate and revoke your own keys.
- Owner sets limitsOnly the owner sets a key's spend limit and guardrail.
Removal decides what happens to a member's keys. See Removal.
Balance
Members see the team balance on the dashboard and in the X-Minirouter-Balance-Usd header of every response.
Only the owner tops up. Low-balance alerts go to the owner.
Account limits apply to the team as a whole, not per member.
- Keys
- 50
- Presets
- 100
- Guardrails
- 20
Personal account only
Switch to your personal account for these.
- Settings
- Sign-in methods
- Passkeys
- Recovery links
- Provider keys
- Plans
- Account merge
- Feedback
These are not offered to teams at all.
- Chat trial
- Rewards
- Free models
- Startup credits
Chat in a team bills the team. Your conversations stay private to you.
Removal
The owner picks what happens to a removed member's keys.
- Revoke nowTheir next request is refused. A stream already running finishes.
- Keep keys activeThe ex-member still holds them, and they keep billing the team.
Leaving revokes your keys. Removal and leaving both end the member's team sessions.
Refusals
Every refusal names the team and links back here. The shape is the same as other errors.
- owner_only
- Only the owner of team Acme can do this. minirouter.sh/docs/teams#roles
- team_context
- Not available in team Acme. Switch to your personal account at minirouter.sh/dashboard. Docs: minirouter.sh/docs/teamsTeam keys get the same refusal on dashboard routes.
- account_context_mismatch
- This tab was in another account context. Reload minirouter.sh/dashboard and try again.
- team_full
- This team is full, so the invite cannot be accepted. minirouter.sh/docs/teams#invite-link
- already_member
- You are already a member of this team. Open it at minirouter.sh/dashboard.
- teams_inactive
- Teams are not enabled yet. minirouter.sh/docs/teams
- insufficient_credits
- Insufficient credits: your team's available balance is $4.23, below this request's worst-case estimate of $5.10, so it was not sent and nothing was charged. Only the team owner can top up. Top up at minirouter.sh/dashboard/billing
- member_removed
- This key's member was removed from team Acme. It still serves inference; dashboard access needs an active membership. minirouter.sh/docs/teams#removal
- membership_removed
- Your membership of this team was removed. Switch to your personal account at minirouter.sh/dashboard. minirouter.sh/docs/teams#removal