> ## Documentation Index
> Fetch the complete documentation index at: https://hyperspeed.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Spaces

> Create and manage spaces (projects) within an organization.

A **space** is the top-level container for a Hyperspeed workspace. Each space has its own board, file tree, chat rooms, and automations.

## List spaces

```
GET /api/v1/organizations/{orgId}/spaces
```

Returns all spaces in the organization visible to the authenticated user.

**Path parameters**

<ParamField path="orgId" type="string" required>
  Organization UUID.
</ParamField>

**Example**

```bash theme={null}
curl https://your-hostname/api/v1/organizations/YOUR_ORG_ID/spaces \
  -H "Authorization: Bearer YOUR_TOKEN"
```

**Response** `200 OK`

```json theme={null}
{
  "spaces": [
    {
      "id": "018e1234-abcd-7000-8000-000000000001",
      "organization_id": "018e1234-abcd-7000-8000-000000000000",
      "name": "Product Launch",
      "description": "Q3 product launch campaign",
      "created_at": "2024-03-01T10:00:00Z"
    }
  ]
}
```

<ResponseField name="spaces" type="array">
  Array of space objects.
</ResponseField>

<ResponseField name="spaces[].id" type="string">
  Space UUID.
</ResponseField>

<ResponseField name="spaces[].organization_id" type="string">
  Parent organization UUID.
</ResponseField>

<ResponseField name="spaces[].name" type="string">
  Human-readable space name.
</ResponseField>

<ResponseField name="spaces[].description" type="string">
  Optional description.
</ResponseField>

<ResponseField name="spaces[].created_at" type="string">
  ISO 8601 creation timestamp.
</ResponseField>

***

## Create a space

```
POST /api/v1/organizations/{orgId}/spaces
```

Creates a new space. The authenticated user is automatically added as owner.

**Path parameters**

<ParamField path="orgId" type="string" required>
  Organization UUID.
</ParamField>

**Request body**

<ParamField body="name" type="string" required>
  Display name for the space.
</ParamField>

<ParamField body="description" type="string">
  Optional description for the space.
</ParamField>

**Example**

```bash theme={null}
curl -X POST https://your-hostname/api/v1/organizations/YOUR_ORG_ID/spaces \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "Engineering", "description": "Engineering team space"}'
```

**Response** `201 Created`

```json theme={null}
{
  "id": "018e1234-abcd-7000-8000-000000000002",
  "organization_id": "018e1234-abcd-7000-8000-000000000000",
  "name": "Engineering",
  "description": "Engineering team space",
  "created_at": "2024-03-15T09:00:00Z"
}
```

***

## Get a space

```
GET /api/v1/organizations/{orgId}/spaces/{spaceId}
```

**Path parameters**

<ParamField path="orgId" type="string" required>
  Organization UUID.
</ParamField>

<ParamField path="spaceId" type="string" required>
  Space UUID.
</ParamField>

**Example**

```bash theme={null}
curl https://your-hostname/api/v1/organizations/YOUR_ORG_ID/spaces/YOUR_SPACE_ID \
  -H "Authorization: Bearer YOUR_TOKEN"
```

**Response** `200 OK`

Returns a single space object (same shape as the list item above).

***

## Update a space

The space update endpoint is not exposed as a standalone `PATCH /spaces/{spaceId}` on the current API version. Space names and descriptions are managed through the web UI. Use the [boards endpoints](#) or settings panel for space-level changes.

***

## Delete a space

Space deletion is not available via the REST API in the current version. Use the web UI to archive or delete a space.

***

## Get the board for a space

```
GET /api/v1/organizations/{orgId}/spaces/{spaceId}/board
```

Returns the default board and its columns for the space.

**Example**

```bash theme={null}
curl https://your-hostname/api/v1/organizations/YOUR_ORG_ID/spaces/YOUR_SPACE_ID/board \
  -H "Authorization: Bearer YOUR_TOKEN"
```

**Response** `200 OK`

```json theme={null}
{
  "board": {
    "id": "018e1234-abcd-7000-8000-000000000010",
    "space_id": "018e1234-abcd-7000-8000-000000000002",
    "name": "Main Board",
    "created_at": "2024-03-15T09:00:00Z"
  },
  "columns": [
    {
      "id": "018e1234-abcd-7000-8000-000000000020",
      "board_id": "018e1234-abcd-7000-8000-000000000010",
      "name": "To Do",
      "position": 0
    },
    {
      "id": "018e1234-abcd-7000-8000-000000000021",
      "board_id": "018e1234-abcd-7000-8000-000000000010",
      "name": "In Progress",
      "position": 1
    }
  ]
}
```

The `column.id` values are used as `column_id` when creating tasks.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.