Create a virtual data plane
Create a virtual data plane in an organization. The parent organization is identified by the
org_id path parameter alone; the x-hh-org-id header does not participate. Your
organization’s id is listed on the API keys page of your organization settings in the
HoneyHive app.
A virtual data plane is a logical tenant boundary hosted on a physical cluster, and several of them commonly share one cluster. Workspaces are created inside it.
cluster_id is optional, and omitting it is the common case: the new virtual data plane is
placed on the same cluster as the organization’s existing ones. Two situations require it
explicitly, and both return a 400 that says so rather than guessing: an organization whose
existing virtual data planes span more than one cluster, and an organization that has none
yet. Every response includes cluster_id, so reading an existing virtual data plane tells
you which value to send.
A cluster admits an organization only if your control plane administrator configured it to,
so a cluster_id you can read from a sibling virtual data plane is not necessarily one you
may place a new virtual data plane on. A cluster that does not admit this organization
returns a 403. When you named the cluster, the fix is a configuration change your
administrator makes. When this endpoint inferred the cluster, send an explicit cluster_id
to place the virtual data plane on another cluster.
Deployments differ in who places virtual data planes. Where HoneyHive assigns them to organizations automatically, this endpoint returns a 403 for every request and the placement is not yours to make. Deployments whose administrators own the scope tree are the ones this endpoint serves.
The optional dataplane_creator field names the user (by email) who receives the
dataplane-creator membership on the new virtual data plane. The named user must already be a
member of the organization. When omitted, it is created without any membership. The field is
only accepted on API-key-initiated requests; user-initiated creation always makes the
calling user the creator, so sending the field returns a 400.
The roles that membership carries come from your organization’s role configuration. An organization that grants no role on dataplane creation is a supported case: the request still succeeds and the named user receives no access. A 200 response is not by itself confirmation that the named user was granted anything.
A dataplane_creator who is already signed in does not see the new virtual data plane
immediately. A session captures its scope tree and permission grants when it is created, so
a membership granted afterwards is not reflected in it; the refresh takes effect on their
next request to the control plane.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The unique identifier of the organization the virtual data plane is created in
Body
Request body for creating a virtual dataplane
Virtual dataplane display name. Allowed characters are letters, digits, space, underscore, hyphen, apostrophe and ampersand. The name must contain at least one letter or digit, and must not start with a space.
200Physical cluster to host this virtual dataplane. Omit to place it alongside the existing virtual dataplanes in this org; required when the org has none yet, or when its virtual dataplanes span more than one cluster.
1Email of the user to grant the dataplane-creator membership to (API key actors only). A signed-in user does not see the new dataplane until their session refreshes, which happens on their next request to the control plane.