Skip to content

Create a workspace

POST /admin/v1/workspaces — Create a workspace

Updated View as Markdown
Audience: application-backendPlane: adminAuth: management-keyStatus: beta

Endpoint

POST /admin/v1/workspaces

Operation ID: createWorkspace

Authentication

Send a Nexus Management Key as Authorization: Bearer <management-key>. This credential is control-plane only.

Idempotency

This operation does not declare an Idempotency-Key requirement in the accepted OpenAPI contract.

Request

Parameters

No path, query, or operation-specific header parameters.

application/json body

Required: Yes

Type: CreateWorkspaceDto

Field Required Type Description
name Yes string
slug Yes string

Responses

Status Description Content type Schema
201 application/json WorkspaceDto

Only responses explicitly declared by the accepted Admin OpenAPI contract are shown. The current contract does not declare operation-specific error bodies; the SDK preserves any non-success status and body in AdminApiError.

201 application/json schema

Type: WorkspaceDto

Field Required Type Description
id Yes string
organizationId Yes string
name Yes string
slug Yes string
status Yes string (ACTIVE | SUSPENDED | ARCHIVED)
createdAt Yes string / date-time
updatedAt Yes string / date-time

Examples

TypeScript Management SDK

NexusAdminClient.createWorkspace uses AdminOperationInput<"createWorkspace"> and returns Promise<AdminOperationOutput<"createWorkspace">>.

import { NexusAdminClient } from '@nexus/sdk-typescript';

const nexus = new NexusAdminClient({
  baseUrl: 'https://nexus.microvoid.io',
  managementKey: process.env.NEXUS_MANAGEMENT_KEY,
});

const result = await nexus.createWorkspace({
  body: {
    name: 'Production',
    slug: 'production',
  },
});

Fetch

const response = await fetch('https://nexus.microvoid.io/admin/v1/workspaces', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.NEXUS_MANAGEMENT_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    name: 'Production',
    slug: 'production',
  }),
});

if (!response.ok) throw new Error(`Nexus request failed: ${response.status}`);

curl

curl --request POST \
  "https://nexus.microvoid.io/admin/v1/workspaces" \
  --header "Authorization: Bearer ${NEXUS_MANAGEMENT_KEY}" \
  --header "Content-Type: application/json" \
  --data "{\"name\":\"Production\",\"slug\":\"production\"}"
Navigation

Type to search…

↑↓ navigate↵ selectEsc close