Skip to content

Organizations

Organizations are the top-level container on Dreadnode. Everything — users, workspaces, projects, credits, and billing — is scoped to an organization.

An organization represents a team, company, or group that shares access to the platform. Each organization has:

  • A unique key (URL slug) used in API paths and URLs
  • A display name
  • A member list with role-based access
  • Workspaces that contain projects

Users are added to an organization as members. Each member has a role that determines their permissions:

RoleWhat they can do
OwnerFull access — manage members, workspaces, billing, keys
ContributorCreate and manage workspaces and projects
ReaderView workspaces, projects, and traces

Organization owners can invite users by email. Invitations have an expiration window and can be accepted or rejected by the recipient. External invites can be toggled on or off per organization.

Organization invitations and member management (role updates, removals) are available on all plans and require the Owner role.

Each organization has a configurable maximum member count (default: 500). Platform administrators can adjust this limit.

  • API: Organization details are available at GET /api/v1/org/{org}.
  • Display name: Update the organization display name with PATCH /api/v1/org/{org} (owner role required).
  • Members: List members with GET /api/v1/org/{org}/members. Update roles with PUT /api/v1/org/{org}/members/{user_id} and remove members with DELETE /api/v1/org/{org}/members/{user_id} (returns user_deleted when removing the final org membership).
  • Teams: List teams with GET /api/v1/org/{org}/teams.
  • Workspaces: Listed at GET /api/v1/org/{org}/ws.
  • Platform admin: Update plan type with PUT /api/v1/admin/org/{org}/plan.
  • Platform admin: Manage owners with GET /api/v1/admin/org/{org}/owners, PUT /api/v1/admin/org/{org}/owners, and DELETE /api/v1/admin/org/{org}/owners/{user_id}.
  • Platform admin: Search users with GET /api/v1/admin/users/search?q=<query>&limit=<n>.

For onboarding flows, you can validate usernames and organization keys in real time:

  • Organization keys only need to be unique among other organization keys (they can overlap with usernames).

  • GET /api/v1/user/check-availability?username=<name>

  • GET /api/v1/user/check-availability?org_key=<key>

  • GET /api/v1/user/check-availability?username=<name>&org_key=<key>

Once the user submits onboarding, complete the setup with:

  • POST /api/v1/user/onboarding — accepts username and optional org_name

The org sidebar includes an Explore section for org-scoped package types:

  • Environments for reusable execution environments
  • Capabilities for published agent/tool packages
  • Datasets for versioned dataset artifacts
  • Model Storage for versioned model artifacts

These pages are scoped to the active organization URL and show the versions currently published into that org.

Organization
├── Members (users with roles)
├── Invitations (pending)
├── Workspaces
│ ├── Projects
│ │ ├── Sessions
│ │ └── Traces
│ └── Permissions (user + team)
├── Sandboxes (org-scoped)
└── Credits (SaaS mode)