Spaces

Meshery Spaces serve as a gathering point for your team-based work by grouping resources and controlling their access.

Spaces is where an organization keeps its workspaces, environments, and the connections those environments hold. A workspace groups teams, environments, designs, and views. An environment groups connections into a deploy target. For the model, read Workspaces and Environments. For the tasks, use the workspace guides. For every endpoint’s schema, see the REST API Reference, and for base URL and authentication see the Cloud API. All paths below sit under /api.

PropertyWorkspaceEnvironment
NameUp to 255 characters. Not required or unique on the API.Up to 255 characters. Not required or unique on the API.
DescriptionUp to 255 characters. May be empty.Up to 255 characters. May be empty.
OrganizationRequired on create. Fixed for the life of the workspace.Required on create (organizationId is required). Fixed for the life of the environment.
OwnerThe user who created it.Not recorded on create.
Starting stateNo teams, environments, designs, or views.No connections, in no workspace.
KindSingle kind.Ordinary when created through the API. Platform-provisioned environments exist and are protected.
UpdateOnly the fields sent change.Name and description are both replaced; an omitted field becomes empty.
Plan checkNone.None. The feature matrix lists environments under Enterprise.
Count limitsNone. An organization must keep at least one workspace.None.

Layer5 Cloud creates My Workspace in any organization that has no workspace.

QuestionAnswer
Who sees a workspace or environment in a list?Every member of its organization. Team membership does not narrow the list.
How is the organization chosen?A list request carries one organization identifier. The all-organizations value needs View All Organizations and otherwise returns HTTP 403.
What does a missing or foreign identifier return?HTTP 404, workspace not found or environment not found.
Can a workspace or environment move to another organization?No.
Which relationships can cross organizations?None for teams and environments: both must share the workspace’s organization (HTTP 403 otherwise). A design assigned to a workspace takes on that workspace’s organization.

Layer5 Cloud checks each key in the organization that owns the workspace or environment. Operations marked UI only are hidden in the interface but not checked by the server. Default holders are listed in Default Permissions.

OperationPermission
POST /workspacesCreate Workspace (organization from the request body)
GET /workspaces, GET /workspaces/{id}UI only (View Workspace); organization scoping applies
PUT /workspaces/{id}Edit Workspace
DELETE /workspaces/{id}Delete Workspace
POST, DELETE /workspaces/{id}/teams/{teamId}Assign team to workspace, Remove team from workspace
POST, DELETE /workspaces/{id}/environments/{environmentId}Assign environment to workspace, Remove environment from workspace
POST, DELETE /workspaces/{id}/designs/{designId}Assign Designs to Workspaces, Remove Designs from Workspaces
POST, DELETE /workspaces/{id}/views/{viewId}Assign Views to Workspace, Unassign Views from Workspace
GET /workspaces/{id}/views, GET /workspaces/{id}/eventsView Workspace
GET /workspaces/{id}/teams, /environments, /designsNone
POST /environmentsCreate Environment (organization from the request body)
GET /environments, GET /environments/{id}UI only (View Environment); organization scoping applies
PUT /environments/{id}Edit Environment
DELETE /environments/{id}Delete Environment
POST, DELETE /environments/{id}/connections/{connectionId}Assign connections to environment, Remove connections from environment
GET /environments/{id}/connectionsView Environment
ParameterApplies toMeaning
orgIdWorkspace and environment listsThe organization to list. Required.
searchAll listsCase-insensitive match on name or description.
orderAll listsOrder by created_at or updated_at. Environment connection lists also accept name. Default is newest first.
page, pageSizeAll listsZero-based page and page size.
filterLists of a workspace’s teams, environments, designs, views, and an environment’s connections{"assigned": true} (default) lists what is in; {"assigned": false} lists what is not yet in. For designs, the not-yet-in list holds only designs the caller owns.
visibilityLists of a workspace’s designs and viewsRepeatable. Keeps only designs or views with that visibility.
OperationConditionResponse
Create workspaceOrganization missing or malformedHTTP 400, organizationId is required or invalid organizationId format
Create workspaceName or description over 255 charactersHTTP 500, Unable to create workspace
Update workspaceEmpty or null bodyHTTP 400, Unable to update workspace
Update or delete workspaceNot in the caller’s organizationsHTTP 404, workspace not found
Delete workspaceLast live workspace in the organizationHTTP 500, cannot delete workspace: at least one workspace must exist for the organization
Assign team or environmentTeam or environment in another organizationHTTP 403, unable to add team to workspace or unable to add environment to workspace
Assign environmentPlatform-provisioned environmentHTTP 403, this environment is provisioned by the platform and cannot be added to a workspace
Remove environment from workspaceNever attachedHTTP 404, no such environment assignment
Create environmentOrganization missingHTTP 400, organizationId is required
Delete environmentPlatform-provisionedHTTP 403, this environment is provisioned by the platform and cannot be deleted here
Delete environmentNo live environmentHTTP 404, no environment with the requested id
Assign connectionPlatform-provisioned environmentHTTP 403, this connection cannot be assigned to this environment
Remove connectionPlatform-provisioned environmentHTTP 403, this connection cannot be detached from this environment
Remove connectionNever assignedHTTP 404, no such connection assignment

Assigning a team or environment that is already assigned succeeds and returns the existing assignment. Every workspace create, update, delete, assign, and unassign writes an event to the workspace’s activity log, and a failure writes an error event.

Deleting aEndsLeaves in place
WorkspaceTeam, environment, design, and view assignmentsTeams, environments, connections, designs, views, and their owners
EnvironmentConnection assignments and workspace attachmentsConnections, credentials, workspaces, and the connections’ other environments

Access that flowed through a deleted or detached link ends at once. See Access Control for Connections and Credentials.


Workspaces

Understand the core concepts of Workspaces.

Environments

Environments are how you organize your deployment targets (whether on-premises servers or cloud services) into resource groups.

Profiles

A profile is a named record that represents one person or persona in an organization, groups the connections it publishes through, and is shared through workspaces.

Related Reading