---
title: "List workspaces visible to the current management principal"
description: "GET /admin/v1/workspaces — List workspaces visible to the current management principal"
---

> Documentation Index
> Fetch the complete documentation index at: https://nexus.microvoid.io/llms.txt
> Use this file to discover all available pages before exploring further.

# List workspaces visible to the current management principal

## Endpoint

```http
GET /admin/v1/workspaces
```

Operation ID: `listWorkspaces`

## 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

| Name     | Location | Required | Schema   | Description |
| -------- | -------- | -------- | -------- | ----------- |
| `cursor` | query    | No       | `string` | —           |
| `limit`  | query    | No       | `number` | —           |

### Body

_This operation has no request body._

## Responses

| Status | Description | Content type     | Schema                |
| ------ | ----------- | ---------------- | --------------------- |
| `200`  | —           | application/json | `array<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`](/management-sdk/error-handling).

### `200` application/json schema

Type: `array<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.listWorkspaces` uses `AdminOperationInput<"listWorkspaces">` and returns `Promise<AdminOperationOutput<"listWorkspaces">>`.

```ts
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.listWorkspaces();
```

### Fetch

```ts
const response = await fetch('https://nexus.microvoid.io/admin/v1/workspaces', {
  method: 'GET',
  headers: {
    Authorization: `Bearer ${process.env.NEXUS_MANAGEMENT_KEY}`,
  },
});

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

### curl

```bash
curl --request GET \
  "https://nexus.microvoid.io/admin/v1/workspaces" \
  --header "Authorization: Bearer ${NEXUS_MANAGEMENT_KEY}"
```

## Related guide

- [How Nexus works](/docs/how-nexus-works)
- [API Reference overview](/api-reference)

Source: https://nexus.microvoid.io/api-reference/admin/workspaces/list-workspaces/index.mdx
