Every HookDeploy account operates within one or more organizations that own endpoints, requests, and billing.
What is an organization?
An organization is a workspace that contains:
- Webhook endpoints
- Captured requests
- Team members and their roles
- A subscription and usage counters
- API keys
All product data is scoped to an organization. Row Level Security in the database ensures members only see data for orgs they belong to.
Personal vs team organizations
When you sign up, HookDeploy automatically creates a personal organization:
- Named after your display name
- Flagged
is_personal = true - You’re the owner with
super_adminrole - Starts on the Free plan
Create additional organizations for teams, clients, or environments. Personal orgs and team orgs work identically — the flag is informational.
Organization structure
| Field | Description |
|---|---|
name | Display name shown in the org switcher |
slug | URL-safe identifier used in dashboard routes (/app/org/{slug}) |
owner_id | User who owns the org — can transfer ownership |
is_personal | Whether this is an auto-created personal org |
stripe_customer_id | Stripe customer for billing (null on free plan) |
Members and roles
Organizations have members. Each member has exactly one role:
| Role | Typical use |
|---|---|
super_admin | Org owner — full access including ownership transfer |
admin | Team lead — manage members, billing, endpoints |
developer | Day-to-day work — create endpoints, replay requests |
viewer | Read-only — inspect requests, replay, no writes |
finance | Billing only — view and manage subscription, no endpoint access |
Roles map to 16 granular permissions. See Roles & permissions for the complete matrix.
Switching organizations
The dashboard org switcher in the top bar lets you switch between orgs you belong to. All endpoints, requests, and settings are scoped to the active org.
Each org has independent:
- Endpoint list and request history
- Usage counters and plan limits
- Billing subscription
- API keys
Inviting members
Admins and super admins can invite members by email. Invitations:
- Specify the target role
- Expire after 7 days
- Generate a unique accept link (
/accept-invite/{token}) - Require the invitee to sign up or log in before joining
See Members for the invitation flow.
Ownership
The org owner (owner_id) is the only user who can:
- Transfer ownership to another member
- Delete the organization (future)
Ownership transfer requires the org.transfer_ownership permission, which only super admins have — and only the current owner is super admin by default.
Plan limits are per organization
Usage limits (endpoints, requests/month, members) apply per organization, not per user. A user in three orgs gets separate quotas for each.
Check limits via the dashboard Billing page or:
curl -s "https://api.hookdeploy.dev/v1/usage" \
-H "Authorization: Bearer hd_live_YOUR_KEY"
Next steps
- Members — Invite and manage team members
- Roles & permissions — Full permission matrix
- Plans — Plan limits per organization