Organizations & Teams
Organizations let you collaborate with teammates under a single billing account. Every PromptGuard user starts with a personal organization. You can create additional team organizations, invite members, and control access with role-based permissions.
Concepts
| Concept | Description |
|---|
| Organization | A shared workspace that owns projects, API keys, and billing |
| Member | A user who belongs to the organization |
| Role | Permission level assigned to each member |
| Invitation | A pending invite sent via email |
Roles & Permissions
| Capability | Owner | Admin | Member | Viewer |
|---|
| View projects and analytics | Yes | Yes | Yes | Yes |
| Create and manage API keys | Yes | Yes | Yes | No |
| Manage security policies | Yes | Yes | Yes | No |
| Invite and remove members | Yes | Yes | No | No |
| Update organization settings | Yes | Yes | No | No |
| Promote members to admin | Yes | No | No | No |
| Transfer ownership | Yes | No | No | No |
| Delete organization | Yes | No | No | No |
Getting Started
Create a Team
- Go to Dashboard > Settings > Team
- Click “Create Team”
- Enter a team name
- Your new organization appears alongside your personal workspace
Invite Members
- Navigate to Dashboard > Settings > Team
- Under Invitations, enter the email address and select a role
- Click “Send Invite”
- The invitee receives an email with a link to accept
Invitations expire after 7 days. You can cancel a pending invitation and resend if needed.
Switch Organizations
Use the organization selector at the top of the dashboard sidebar to switch between your personal workspace and team organizations.
Managing Members
Change a Member’s Role
- Go to Dashboard > Settings > Team
- Find the member in the Members table
- Select the new role from the dropdown
- Confirm the change
Remove a Member
- Go to Dashboard > Settings > Team
- Click the remove button next to the member
- Confirm removal
Removing a member revokes their access immediately. Their individual API keys remain valid for projects they created, but they lose access to the organization’s shared projects.
Ownership
Transfer Ownership
- Go to Dashboard > Settings > Team > Danger Zone
- Click “Transfer Ownership”
- Select the new owner from existing members
- Confirm the transfer
After transfer, the previous owner is demoted to admin.
Delete an Organization
- Go to Dashboard > Settings > Team > Danger Zone
- Click “Delete Organization”
- Type the organization name to confirm
Deleting an organization permanently removes all projects, API keys, scan history, and member associations. This cannot be undone. Personal organizations cannot be deleted.
API Reference
The Organizations API is session-authenticated (Dashboard API). All endpoints live under /dashboard/organizations.
List Organizations
curl https://api.promptguard.co/dashboard/organizations \
-H "Authorization: Bearer YOUR_SESSION_TOKEN"
Create Organization
curl -X POST https://api.promptguard.co/dashboard/organizations \
-H "Authorization: Bearer YOUR_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "Acme Security Team"}'
Response
{
"id": "org_abc123",
"name": "Acme Security Team",
"slug": "acme-security-team",
"type": "team",
"owner_id": "usr_def456",
"settings": {},
"created_at": "2026-02-15T10:30:00Z",
"updated_at": "2026-02-15T10:30:00Z"
}
Invite a Member
curl -X POST https://api.promptguard.co/dashboard/organizations/org_abc123/invitations \
-H "Authorization: Bearer YOUR_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{"email": "teammate@company.com", "role": "member"}'
Update Member Role
curl -X PATCH https://api.promptguard.co/dashboard/organizations/org_abc123/members/usr_ghi789 \
-H "Authorization: Bearer YOUR_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{"role": "admin"}'
Remove a Member
curl -X DELETE https://api.promptguard.co/dashboard/organizations/org_abc123/members/usr_ghi789 \
-H "Authorization: Bearer YOUR_SESSION_TOKEN"
Transfer Ownership
curl -X POST https://api.promptguard.co/dashboard/organizations/org_abc123/transfer-ownership \
-H "Authorization: Bearer YOUR_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{"new_owner_id": "usr_ghi789"}'
Delete Organization
curl -X DELETE https://api.promptguard.co/dashboard/organizations/org_abc123 \
-H "Authorization: Bearer YOUR_SESSION_TOKEN"
Best Practices
- Use the least privilege role — assign Viewer to stakeholders who only need read access
- One organization per team — avoid mixing production and personal projects
- Rotate ownership proactively — transfer ownership before an owner leaves the company
- Audit members regularly — remove inactive members to reduce your attack surface