> For the complete documentation index, see [llms.txt](https://navixy.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://navixy.com/docs/navixy-graphql-api/business-data-repository/api-reference/workspaces.md).

# Workspaces

Workspaces are isolated tenants that own all business data: members, devices, assets, geo objects, and configuration. Navixy Console provisions and owns them, so this API exposes workspaces read-only.

{% hint style="warning" %}
**Navixy GraphQL API is a work in progress.** This documentation is published for preview purposes only and doesn't reflect a stable release. Structure, field names, and behaviors are subject to change.
{% endhint %}

A workspace is an isolated tenant that owns all business data: its own members, devices, assets, geo objects, and configuration. Workspaces are provisioned and owned by Navixy Console, so they are read-only in Navixy GraphQL API.

## Queries

### workspace (query)

Retrieves a workspace by its ID.

```graphql
workspace(id: ID!): Workspace
```

**Arguments**

| Name | Type  | Description                          |
| ---- | ----- | ------------------------------------ |
| `id` | `ID!` | The ID of the workspace to retrieve. |

**Output types:**

<details>

<summary>Workspace</summary>

A workspace that owns entities and users.

**Implements:** [Node](/docs/navixy-graphql-api/core-api-reference/common.md#node), [Versioned](/docs/navixy-graphql-api/core-api-reference/common.md#versioned), [Titled](/docs/navixy-graphql-api/core-api-reference/common.md#titled)

| Field            | Type                                                                                                                        | Description                                                                                                                                                                                               |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`             | `ID!`                                                                                                                       | A globally unique identifier. This ID is opaque and should not be parsed by clients.                                                                                                                      |
| `version`        | `Int!`                                                                                                                      | The version number for optimistic locking. Incremented on each update. Can be provided in update/delete mutations to prevent lost updates. If omitted, the update proceeds without stale-read protection. |
| `title`          | `String!`                                                                                                                   | The human-readable display name.                                                                                                                                                                          |
| `organizationId` | [UUID](/docs/navixy-graphql-api/core-api-reference/common.md#uuid)!                                                         | The Console-owned organization this workspace belongs to. Opaque here: Console owns the ID scheme, and one organization may own many workspaces.                                                          |
| `externalId`     | `String`                                                                                                                    | An external system identifier for integration purposes.                                                                                                                                                   |
| `isActive`       | `Boolean!`                                                                                                                  | Whether this workspace is active.                                                                                                                                                                         |
| `members`        | [MemberConnection](/docs/navixy-graphql-api/business-data-repository/api-reference/workspaces/members.md#memberconnection)! | The members of this workspace.                                                                                                                                                                            |
| `devices`        | [DeviceConnection](/docs/navixy-graphql-api/business-data-repository/api-reference/devices.md#deviceconnection)!            | The devices owned by this workspace.                                                                                                                                                                      |
| `assets`         | [AssetConnection](/docs/navixy-graphql-api/business-data-repository/api-reference/assets.md#assetconnection)!               | The assets owned by this workspace.                                                                                                                                                                       |
| `geoObjects`     | [GeoObjectConnection](/docs/navixy-graphql-api/business-data-repository/api-reference/geo-objects.md#geoobjectconnection)!  | The geographic objects owned by this workspace.                                                                                                                                                           |
| `schedules`      | [ScheduleConnection](/docs/navixy-graphql-api/business-data-repository/api-reference/schedules.md#scheduleconnection)!      | The schedules owned by this workspace.                                                                                                                                                                    |

</details>

***

### workspaces

Lists workspaces.

```graphql
workspaces(
    filter: WorkspaceFilter
    first: Int
    after: String
    last: Int
    before: String
    orderBy: WorkspaceOrder = { field: TITLE, direction: ASC }
  ): WorkspaceConnection!
```

**Arguments**

| Name      | Type              | Description                                                                                   |
| --------- | ----------------- | --------------------------------------------------------------------------------------------- |
| `filter`  | `WorkspaceFilter` | Filtering options for the returned workspaces.                                                |
| `first`   | `Int`             | The first `n` elements from the [paginated list](/docs/navixy-graphql-api/pagination.md).     |
| `after`   | `String`          | The elements that come after the specified [cursor](/docs/navixy-graphql-api/pagination.md).  |
| `last`    | `Int`             | The last `n` elements from the [paginated list](/docs/navixy-graphql-api/pagination.md).      |
| `before`  | `String`          | The elements that come before the specified [cursor](/docs/navixy-graphql-api/pagination.md). |
| `orderBy` | `WorkspaceOrder`  | The ordering options for the returned workspaces.                                             |

**Input types:**

<details>

<summary>WorkspaceFilter</summary>

Filtering options for workspaces.

| Field      | Type      | Description              |
| ---------- | --------- | ------------------------ |
| `isActive` | `Boolean` | Filter by active status. |

</details>

<details>

<summary>WorkspaceOrder</summary>

Ordering options for workspaces.

| Field       | Type                                                                                    | Description             |
| ----------- | --------------------------------------------------------------------------------------- | ----------------------- |
| `field`     | [WorkspaceOrderField](#workspaceorderfield)!                                            | The field to order by.  |
| `direction` | [OrderDirection](/docs/navixy-graphql-api/core-api-reference/common.md#orderdirection)! | The direction to order. |

</details>

**Output types:**

<details>

<summary>WorkspaceConnection</summary>

A paginated list of Workspace items.

**Implements:** [Connection](/docs/navixy-graphql-api/core-api-reference/common.md#connection)

| Field      | Type                                                                         | Description                                                |
| ---------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------- |
| `edges`    | \[[WorkspaceEdge](#workspaceedge)!]!                                         | A list of edges.                                           |
| `nodes`    | \[[Workspace](#workspace)!]!                                                 | A list of nodes in the connection (without edge metadata). |
| `pageInfo` | [PageInfo](/docs/navixy-graphql-api/core-api-reference/common.md#pageinfo)!  | Information about the current page.                        |
| `total`    | [CountInfo](/docs/navixy-graphql-api/core-api-reference/common.md#countinfo) | The total count of items matching the filter.              |

</details>

***

## Objects

### Workspace

A workspace that owns entities and users.

**Implements:** [Node](/docs/navixy-graphql-api/core-api-reference/common.md#node), [Versioned](/docs/navixy-graphql-api/core-api-reference/common.md#versioned), [Titled](/docs/navixy-graphql-api/core-api-reference/common.md#titled)

| Field            | Type                                                                                                                        | Description                                                                                                                                                                                               |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`             | `ID!`                                                                                                                       | A globally unique identifier. This ID is opaque and should not be parsed by clients.                                                                                                                      |
| `version`        | `Int!`                                                                                                                      | The version number for optimistic locking. Incremented on each update. Can be provided in update/delete mutations to prevent lost updates. If omitted, the update proceeds without stale-read protection. |
| `title`          | `String!`                                                                                                                   | The human-readable display name.                                                                                                                                                                          |
| `organizationId` | [UUID](/docs/navixy-graphql-api/core-api-reference/common.md#uuid)!                                                         | The Console-owned organization this workspace belongs to. Opaque here: Console owns the ID scheme, and one organization may own many workspaces.                                                          |
| `externalId`     | `String`                                                                                                                    | An external system identifier for integration purposes.                                                                                                                                                   |
| `isActive`       | `Boolean!`                                                                                                                  | Whether this workspace is active.                                                                                                                                                                         |
| `members`        | [MemberConnection](/docs/navixy-graphql-api/business-data-repository/api-reference/workspaces/members.md#memberconnection)! | The members of this workspace.                                                                                                                                                                            |
| `devices`        | [DeviceConnection](/docs/navixy-graphql-api/business-data-repository/api-reference/devices.md#deviceconnection)!            | The devices owned by this workspace.                                                                                                                                                                      |
| `assets`         | [AssetConnection](/docs/navixy-graphql-api/business-data-repository/api-reference/assets.md#assetconnection)!               | The assets owned by this workspace.                                                                                                                                                                       |
| `geoObjects`     | [GeoObjectConnection](/docs/navixy-graphql-api/business-data-repository/api-reference/geo-objects.md#geoobjectconnection)!  | The geographic objects owned by this workspace.                                                                                                                                                           |
| `schedules`      | [ScheduleConnection](/docs/navixy-graphql-api/business-data-repository/api-reference/schedules.md#scheduleconnection)!      | The schedules owned by this workspace.                                                                                                                                                                    |

***

## Inputs

### WorkspaceFilter

Filtering options for workspaces.

| Field      | Type      | Description              |
| ---------- | --------- | ------------------------ |
| `isActive` | `Boolean` | Filter by active status. |

***

### WorkspaceOrder

Ordering options for workspaces.

| Field       | Type                                                                                    | Description             |
| ----------- | --------------------------------------------------------------------------------------- | ----------------------- |
| `field`     | [WorkspaceOrderField](#workspaceorderfield)!                                            | The field to order by.  |
| `direction` | [OrderDirection](/docs/navixy-graphql-api/core-api-reference/common.md#orderdirection)! | The direction to order. |

***

## Enums

### WorkspaceOrderField

Fields available for ordering workspaces.

| Value   | Description     |
| ------- | --------------- |
| `TITLE` | Order by title. |

***

## Pagination types

### WorkspaceConnection

A paginated list of Workspace items.

**Implements:** [Connection](/docs/navixy-graphql-api/core-api-reference/common.md#connection)

| Field      | Type                                                                         | Description                                                |
| ---------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------- |
| `edges`    | \[[WorkspaceEdge](#workspaceedge)!]!                                         | A list of edges.                                           |
| `nodes`    | \[[Workspace](#workspace)!]!                                                 | A list of nodes in the connection (without edge metadata). |
| `pageInfo` | [PageInfo](/docs/navixy-graphql-api/core-api-reference/common.md#pageinfo)!  | Information about the current page.                        |
| `total`    | [CountInfo](/docs/navixy-graphql-api/core-api-reference/common.md#countinfo) | The total count of items matching the filter.              |

***

### WorkspaceEdge

An edge in the Workspace connection.

**Implements:** [Edge](/docs/navixy-graphql-api/core-api-reference/common.md#edge)

| Field    | Type                     | Description                           |
| -------- | ------------------------ | ------------------------------------- |
| `cursor` | `String!`                | An opaque cursor for this edge.       |
| `node`   | [Workspace](#workspace)! | The workspace at the end of the edge. |

***

## See also

* [Pagination](/docs/navixy-graphql-api/pagination.md)
* [Filtering and sorting](/docs/navixy-graphql-api/filtering-and-sorting.md)
* [Error handling](/docs/navixy-graphql-api/error-handling.md)
* [Optimistic locking](/docs/navixy-graphql-api/optimistic-locking.md)
* [Limits](/docs/navixy-graphql-api/limits.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://navixy.com/docs/navixy-graphql-api/business-data-repository/api-reference/workspaces.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
