Savannah Cloud

Team & Invitations

Invite colleagues to your organization and manage their access.

Savannah Cloud uses a token-based invite flow. The owner generates a link, shares it with a colleague, and the colleague sets their password to join.

Invite Flow

Owner → POST /org/invite → gets invite_url
Owner → copies link → sends to colleague
Colleague → opens /join?token=... → sets password
Colleague → auto-logged in, added to org

Step 1 — Send an Invite

From the dashboard, go to Team → enter the invitee's email → click Send invite.

Via API:

curl -X POST http://localhost:8080/org/invite \
  -H "Authorization: Bearer YOUR_JWT" \
  -H "Content-Type: application/json" \
  -d '{"email":"dev@company.com","role":"member"}'

Response:

{
  "invite_url": "https://your-app.com/join?token=abc123...",
  "email": "dev@company.com",
  "expires_at": "2026-05-27T10:00:00Z"
}

Copy the invite_url from the API response or the dashboard copy button. Send it to the colleague via email, Slack, etc.

Invite links expire after 72 hours and are single-use. If the colleague doesn't accept in time, generate a new invite.

Step 3 — Colleague Accepts

The colleague opens the link (/join?token=...) in their browser, sets a password, and is immediately signed in to the organization.

Managing Members

View current members

Go to Team in the dashboard, or:

curl http://localhost:8080/org/members \
  -H "Authorization: Bearer YOUR_JWT"

Remove a member

From the dashboard: Team → click the remove button next to the member.

Via API:

curl -X DELETE http://localhost:8080/org/members/usr_def \
  -H "Authorization: Bearer YOUR_JWT"

Only the owner can remove members. Owners cannot remove themselves.

Role Reference

RoleWho assigns itWhat they can do
ownerAutomatically assigned to org creatorFull access, invite/remove members
adminOwner can set this roleFull access, cannot remove owner
memberDefault for invited usersRead/write jobs and API keys

On this page