Guides
Teams & Permissions
Manage workspace members and roles
Nahook workspaces support multiple members with role-based access control. Invite your team and control who can manage endpoints, API keys, and billing.
Teams are available on the Pro plan and above. Free and Starter plans are limited to a single member.
Roles
| Role | Manage Endpoints | Manage API Keys | Manage Members | Billing |
|---|---|---|---|---|
| Owner | Yes | Yes | Yes | Yes |
| Admin | Yes | Yes | Yes | No |
| Member | Yes | Yes | No | No |
| Viewer | Read only | Read only | No | No |
Each workspace has exactly one Owner (the creator). Ownership cannot be transferred.
Inviting Members
Dashboard
Go to your workspace settings and click Invite Member. Enter the email address and select a role for each workspace.
API
curl -X POST https://api.nahook.com/api/team/invite-batch \
-H "Authorization: Bearer YOUR_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"email": "[email protected]",
"assignments": [
{
"workspaceId": "ws_abc123",
"role": "admin"
}
]
}'await fetch("https://api.nahook.com/api/team/invite-batch", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_SESSION_TOKEN",
"Content-Type": "application/json",
},
body: JSON.stringify({
email: "[email protected]",
assignments: [
{
workspaceId: "ws_abc123",
role: "admin",
},
],
}),
});Invite Flow
- You invite a user by email with a role assignment
- If the user doesn't have a Nahook account, one is created as a stub
- An email is sent with a link to accept the invite and set a password
- Once accepted, they have immediate access to the workspace
Invites expire after 7 days. You can revoke pending invites from the team management page.
Managing Members
- Change role:
PATCH /api/team/:memberId/rolewith{ "role": "member" } - Remove member:
DELETE /api/team/:memberId - Revoke invite:
POST /api/team/:memberId/revoke(pending invites only)
Seat Limits
| Plan | Max Seats |
|---|---|
| Free | 1 |
| Starter | 3 |
| Pro | 10 |
| Enterprise | Unlimited |
Inviting beyond your plan's seat limit returns a 403 error. Upgrade your plan to add more team members.