> 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/assets/groups.md).

# Asset groups

Complete reference for asset groups: group types with membership rules, groups, memberships, and history.

{% 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 %}

Asset groups allow organizing assets into logical collections for easier management and reporting.

## Queries

### assetGroupTypes

Lists asset group types for a workspace.

```graphql
assetGroupTypes(
    workspaceId: ID!
    filter: CatalogItemFilter
    first: Int
    after: String
    last: Int
    before: String
    orderBy: CatalogItemOrder = { field: ORDER, direction: ASC }
  ): AssetGroupTypeConnection!
```

**Arguments**

| Name          | Type                | Description                                                                                   |
| ------------- | ------------------- | --------------------------------------------------------------------------------------------- |
| `workspaceId` | `ID!`               | The workspace to retrieve asset group types for.                                              |
| `filter`      | `CatalogItemFilter` | Filtering options for the returned asset group types.                                         |
| `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`     | `CatalogItemOrder`  | The ordering options for the returned asset group types.                                      |

**Input types:**

<details>

<summary>CatalogItemFilter</summary>

Filtering options for catalog items.

| Field           | Type                                                                   | Description                                         |
| --------------- | ---------------------------------------------------------------------- | --------------------------------------------------- |
| `titleContains` | `String`                                                               | Partial match on title (case-insensitive contains). |
| `codes`         | \[[Code](/docs/navixy-graphql-api/core-api-reference/common.md#code)!] | Match any of these codes.                           |

</details>

<details>

<summary>CatalogItemOrder</summary>

Ordering options for catalog items.

| Field       | Type                                                                                                                                      | Description             |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |
| `field`     | [CatalogItemOrderField](/docs/navixy-graphql-api/business-data-repository/api-reference/catalogs/catalog-items.md#catalogitemorderfield)! | 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>AssetGroupTypeConnection</summary>

A paginated list of AssetGroupType items.

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

| Field      | Type                                                                         | Description                                                |
| ---------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------- |
| `edges`    | \[[AssetGroupTypeEdge](#assetgrouptypeedge)!]!                               | A list of edges.                                           |
| `nodes`    | \[[AssetGroupType](#assetgrouptype)!]!                                       | 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>

***

### assetGroup (query)

Retrieves an asset group by its ID.

```graphql
assetGroup(id: ID!): AssetGroup
```

**Arguments**

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

**Output types:**

<details>

<summary>AssetGroup</summary>

A group of assets.

**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.                                                                                                                                                                          |
| `workspace`     | [Workspace](/docs/navixy-graphql-api/business-data-repository/api-reference/workspaces.md#workspace)!         | The workspace that owns this group.                                                                                                                                                                       |
| `type`          | [AssetGroupType](#assetgrouptype)                                                                             | The group type with membership constraints. Immutable after creation.                                                                                                                                     |
| `color`         | [HexColorCode](/docs/navixy-graphql-api/core-api-reference/common.md#hexcolorcode)                            | The color for UI display in hexadecimal format.                                                                                                                                                           |
| `currentAssets` | [AssetConnection](/docs/navixy-graphql-api/business-data-repository/api-reference/assets.md#assetconnection)! | The assets currently in this group.                                                                                                                                                                       |
| `history`       | [AssetGroupItemConnection](#assetgroupitemconnection)!                                                        | The full membership history for this group.                                                                                                                                                               |

</details>

***

### assetGroups

Lists asset groups for a workspace.

```graphql
assetGroups(
    workspaceId: ID!
    filter: AssetGroupFilter
    first: Int
    after: String
    last: Int
    before: String
    orderBy: AssetGroupOrder = { field: TITLE, direction: ASC }
  ): AssetGroupConnection!
```

**Arguments**

| Name          | Type               | Description                                                                                   |
| ------------- | ------------------ | --------------------------------------------------------------------------------------------- |
| `workspaceId` | `ID!`              | The workspace to retrieve asset groups for.                                                   |
| `filter`      | `AssetGroupFilter` | Filtering options for the returned asset groups.                                              |
| `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`     | `AssetGroupOrder`  | The ordering options for the returned asset groups.                                           |

**Input types:**

<details>

<summary>AssetGroupFilter</summary>

Filtering options for asset groups.

| Field           | Type     | Description                                         |
| --------------- | -------- | --------------------------------------------------- |
| `typeIds`       | `[ID!]`  | Filter by group types (OR within field).            |
| `titleContains` | `String` | Partial match on title (case-insensitive contains). |

</details>

<details>

<summary>AssetGroupOrder</summary>

Ordering options for asset groups.

| Field       | Type                                                                                    | Description             |
| ----------- | --------------------------------------------------------------------------------------- | ----------------------- |
| `field`     | [AssetGroupOrderField](#assetgrouporderfield)!                                          | 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>AssetGroupConnection</summary>

A paginated list of AssetGroup items.

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

| Field      | Type                                                                         | Description                                                |
| ---------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------- |
| `edges`    | \[[AssetGroupEdge](#assetgroupedge)!]!                                       | A list of edges.                                           |
| `nodes`    | \[[AssetGroup](#assetgroup)!]!                                               | 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>

***

## Mutations

### assetGroupCreate

Creates a new asset group.

```graphql
assetGroupCreate(
    input: AssetGroupCreateInput!
  ): AssetGroupPayload
```

**Arguments**

| Name    | Type                     | Description                                    |
| ------- | ------------------------ | ---------------------------------------------- |
| `input` | `AssetGroupCreateInput!` | The input fields for creating the asset group. |

**Input types:**

<details>

<summary>AssetGroupCreateInput</summary>

Input for creating a new asset group.

| Field         | Type                                                                               | Description                                    |
| ------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------- |
| `workspaceId` | `ID!`                                                                              | The workspace that will own the group.         |
| `typeId`      | `ID`                                                                               | The group type ID. Immutable after creation.   |
| `title`       | `String!`                                                                          | The group display name.                        |
| `color`       | [HexColorCode](/docs/navixy-graphql-api/core-api-reference/common.md#hexcolorcode) | The color for UI display.                      |
| `assetIds`    | `[ID!]`                                                                            | Initial list of asset IDs to add to the group. |

</details>

**Output types:**

<details>

<summary>AssetGroupPayload</summary>

The result of an asset group mutation.

| Field        | Type                       | Description                         |
| ------------ | -------------------------- | ----------------------------------- |
| `assetGroup` | [AssetGroup](#assetgroup)! | The created or updated asset group. |

</details>

<details>

<summary>AssetGroup (entity)</summary>

A group of assets.

**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.                                                                                                                                                                          |
| `workspace`     | [Workspace](/docs/navixy-graphql-api/business-data-repository/api-reference/workspaces.md#workspace)!         | The workspace that owns this group.                                                                                                                                                                       |
| `type`          | [AssetGroupType](#assetgrouptype)                                                                             | The group type with membership constraints. Immutable after creation.                                                                                                                                     |
| `color`         | [HexColorCode](/docs/navixy-graphql-api/core-api-reference/common.md#hexcolorcode)                            | The color for UI display in hexadecimal format.                                                                                                                                                           |
| `currentAssets` | [AssetConnection](/docs/navixy-graphql-api/business-data-repository/api-reference/assets.md#assetconnection)! | The assets currently in this group.                                                                                                                                                                       |
| `history`       | [AssetGroupItemConnection](#assetgroupitemconnection)!                                                        | The full membership history for this group.                                                                                                                                                               |

</details>

***

### assetGroupUpdate

Updates an existing asset group.

```graphql
assetGroupUpdate(
    input: AssetGroupUpdateInput!
  ): AssetGroupPayload
```

**Arguments**

| Name    | Type                     | Description                                    |
| ------- | ------------------------ | ---------------------------------------------- |
| `input` | `AssetGroupUpdateInput!` | The input fields for updating the asset group. |

**Input types:**

<details>

<summary>AssetGroupUpdateInput</summary>

Input for updating an existing asset group.

| Field      | Type                                                                               | Description                                                                                     |
| ---------- | ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `id`       | `ID!`                                                                              | The asset group ID to update.                                                                   |
| `version`  | `Int`                                                                              | The current version for optimistic locking. If omitted, auto-increments without conflict check. |
| `title`    | `String`                                                                           | The new display name.                                                                           |
| `color`    | [HexColorCode](/docs/navixy-graphql-api/core-api-reference/common.md#hexcolorcode) | The new color.                                                                                  |
| `assetIds` | `[ID!]`                                                                            | Full replacement list of asset IDs in the group. If provided, replaces all current memberships. |

</details>

**Output types:**

<details>

<summary>AssetGroupPayload</summary>

The result of an asset group mutation.

| Field        | Type                       | Description                         |
| ------------ | -------------------------- | ----------------------------------- |
| `assetGroup` | [AssetGroup](#assetgroup)! | The created or updated asset group. |

</details>

<details>

<summary>AssetGroup (entity)</summary>

A group of assets.

**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.                                                                                                                                                                          |
| `workspace`     | [Workspace](/docs/navixy-graphql-api/business-data-repository/api-reference/workspaces.md#workspace)!         | The workspace that owns this group.                                                                                                                                                                       |
| `type`          | [AssetGroupType](#assetgrouptype)                                                                             | The group type with membership constraints. Immutable after creation.                                                                                                                                     |
| `color`         | [HexColorCode](/docs/navixy-graphql-api/core-api-reference/common.md#hexcolorcode)                            | The color for UI display in hexadecimal format.                                                                                                                                                           |
| `currentAssets` | [AssetConnection](/docs/navixy-graphql-api/business-data-repository/api-reference/assets.md#assetconnection)! | The assets currently in this group.                                                                                                                                                                       |
| `history`       | [AssetGroupItemConnection](#assetgroupitemconnection)!                                                        | The full membership history for this group.                                                                                                                                                               |

</details>

***

### assetGroupDelete

Deletes an asset group.

```graphql
assetGroupDelete(
    input: AssetGroupDeleteInput!
  ): DeletePayload
```

**Arguments**

| Name    | Type                     | Description                                    |
| ------- | ------------------------ | ---------------------------------------------- |
| `input` | `AssetGroupDeleteInput!` | The input fields for deleting the asset group. |

**Input types:**

<details>

<summary>AssetGroupDeleteInput</summary>

Input for deleting an asset group.

| Field     | Type  | Description                                                                                     |
| --------- | ----- | ----------------------------------------------------------------------------------------------- |
| `id`      | `ID!` | The asset group ID to delete.                                                                   |
| `version` | `Int` | The current version for optimistic locking. If omitted, auto-increments without conflict check. |

</details>

**Output types:**

<details>

<summary>DeletePayload</summary>

The result of a delete mutation.

| Field       | Type  | Description                   |
| ----------- | ----- | ----------------------------- |
| `deletedId` | `ID!` | The ID of the deleted entity. |

</details>

***

### assetGroupItemsAdd

Adds assets to a group.

```graphql
assetGroupItemsAdd(
    input: AssetGroupItemsAddInput!
  ): AssetGroupPayload
```

**Arguments**

| Name    | Type                       | Description                                      |
| ------- | -------------------------- | ------------------------------------------------ |
| `input` | `AssetGroupItemsAddInput!` | The input fields for adding assets to the group. |

**Input types:**

<details>

<summary>AssetGroupItemsAddInput</summary>

Input for adding assets to a group.

| Field      | Type     | Description           |
| ---------- | -------- | --------------------- |
| `groupId`  | `ID!`    | The group ID.         |
| `assetIds` | `[ID!]!` | The asset IDs to add. |

</details>

**Output types:**

<details>

<summary>AssetGroupPayload</summary>

The result of an asset group mutation.

| Field        | Type                       | Description                         |
| ------------ | -------------------------- | ----------------------------------- |
| `assetGroup` | [AssetGroup](#assetgroup)! | The created or updated asset group. |

</details>

<details>

<summary>AssetGroup (entity)</summary>

A group of assets.

**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.                                                                                                                                                                          |
| `workspace`     | [Workspace](/docs/navixy-graphql-api/business-data-repository/api-reference/workspaces.md#workspace)!         | The workspace that owns this group.                                                                                                                                                                       |
| `type`          | [AssetGroupType](#assetgrouptype)                                                                             | The group type with membership constraints. Immutable after creation.                                                                                                                                     |
| `color`         | [HexColorCode](/docs/navixy-graphql-api/core-api-reference/common.md#hexcolorcode)                            | The color for UI display in hexadecimal format.                                                                                                                                                           |
| `currentAssets` | [AssetConnection](/docs/navixy-graphql-api/business-data-repository/api-reference/assets.md#assetconnection)! | The assets currently in this group.                                                                                                                                                                       |
| `history`       | [AssetGroupItemConnection](#assetgroupitemconnection)!                                                        | The full membership history for this group.                                                                                                                                                               |

</details>

***

### assetGroupItemsRemove

Removes assets from a group.

```graphql
assetGroupItemsRemove(
    input: AssetGroupItemsRemoveInput!
  ): AssetGroupPayload
```

**Arguments**

| Name    | Type                          | Description                                          |
| ------- | ----------------------------- | ---------------------------------------------------- |
| `input` | `AssetGroupItemsRemoveInput!` | The input fields for removing assets from the group. |

**Input types:**

<details>

<summary>AssetGroupItemsRemoveInput</summary>

Input for removing assets from a group.

| Field      | Type     | Description              |
| ---------- | -------- | ------------------------ |
| `groupId`  | `ID!`    | The group ID.            |
| `assetIds` | `[ID!]!` | The asset IDs to remove. |

</details>

**Output types:**

<details>

<summary>AssetGroupPayload</summary>

The result of an asset group mutation.

| Field        | Type                       | Description                         |
| ------------ | -------------------------- | ----------------------------------- |
| `assetGroup` | [AssetGroup](#assetgroup)! | The created or updated asset group. |

</details>

<details>

<summary>AssetGroup (entity)</summary>

A group of assets.

**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.                                                                                                                                                                          |
| `workspace`     | [Workspace](/docs/navixy-graphql-api/business-data-repository/api-reference/workspaces.md#workspace)!         | The workspace that owns this group.                                                                                                                                                                       |
| `type`          | [AssetGroupType](#assetgrouptype)                                                                             | The group type with membership constraints. Immutable after creation.                                                                                                                                     |
| `color`         | [HexColorCode](/docs/navixy-graphql-api/core-api-reference/common.md#hexcolorcode)                            | The color for UI display in hexadecimal format.                                                                                                                                                           |
| `currentAssets` | [AssetConnection](/docs/navixy-graphql-api/business-data-repository/api-reference/assets.md#assetconnection)! | The assets currently in this group.                                                                                                                                                                       |
| `history`       | [AssetGroupItemConnection](#assetgroupitemconnection)!                                                        | The full membership history for this group.                                                                                                                                                               |

</details>

***

### assetGroupTypeCreate

Creates a new asset group type.

```graphql
assetGroupTypeCreate(
    input: AssetGroupTypeCreateInput!
  ): AssetGroupTypePayload
```

**Arguments**

| Name    | Type                         | Description                                         |
| ------- | ---------------------------- | --------------------------------------------------- |
| `input` | `AssetGroupTypeCreateInput!` | The input fields for creating the asset group type. |

**Input types:**

<details>

<summary>AssetGroupTypeCreateInput</summary>

Input for creating an asset group type.

| Field               | Type                                                                                                                                   | Description                                                      |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
| `workspaceId`       | `ID!`                                                                                                                                  | The workspace that will own the item.                            |
| `code`              | [Code](/docs/navixy-graphql-api/core-api-reference/common.md#code)                                                                     | The machine-readable code. Auto-generated from title if omitted. |
| `title`             | `String!`                                                                                                                              | The display name.                                                |
| `order`             | `Int`                                                                                                                                  | The display order. Auto-calculated as last position if omitted.  |
| `allowedAssetTypes` | \[[AssetGroupTypeConstraintInput](#assetgrouptypeconstraintinput)!]                                                                    | The allowed asset types with optional limits.                    |
| `meta`              | [CatalogItemMetaInput](/docs/navixy-graphql-api/business-data-repository/api-reference/catalogs/catalog-items.md#catalogitemmetainput) | The display properties.                                          |

</details>

<details>

<summary>AssetGroupTypeConstraintInput</summary>

Input for a constraint defining allowed asset types in an asset group type.

| Field         | Type  | Description                                            |
| ------------- | ----- | ------------------------------------------------------ |
| `assetTypeId` | `ID!` | The asset type ID.                                     |
| `maxItems`    | `Int` | The maximum assets of this type. Null means unlimited. |

</details>

<details>

<summary>CatalogItemMetaInput</summary>

Display properties for catalog items.

| Field         | Type      | Description                                       |
| ------------- | --------- | ------------------------------------------------- |
| `description` | `String`  | The description.                                  |
| `hidden`      | `Boolean` | Whether the item is hidden from regular UI lists. |

</details>

**Output types:**

<details>

<summary>AssetGroupTypePayload</summary>

The result of an asset group type mutation.

| Field            | Type                               | Description                              |
| ---------------- | ---------------------------------- | ---------------------------------------- |
| `assetGroupType` | [AssetGroupType](#assetgrouptype)! | The created or updated asset group type. |

</details>

<details>

<summary>AssetGroupType (entity)</summary>

A type for asset groups with membership constraints.

**Implements:** [CatalogItem](/docs/navixy-graphql-api/business-data-repository/api-reference/catalogs/catalog-items.md#catalogitem), [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.                                                   |
| `version`           | `Int!`                                                                                                                        | The version number for optimistic locking.                                      |
| `title`             | `String!`                                                                                                                     | The human-readable display name. Can be localized.                              |
| `code`              | [Code](/docs/navixy-graphql-api/core-api-reference/common.md#code)!                                                           | A machine-readable code, unique within the catalog scope.                       |
| `order`             | `Int!`                                                                                                                        | The display order within the same level or category.                            |
| `catalog`           | [Catalog](/docs/navixy-graphql-api/business-data-repository/api-reference/catalogs/catalog-items.md#catalog)!                 | The catalog this item belongs to.                                               |
| `workspace`         | [Workspace](/docs/navixy-graphql-api/business-data-repository/api-reference/workspaces.md#workspace)                          | The workspace that owns this item. Null for system items.                       |
| `meta`              | [CatalogItemMeta](/docs/navixy-graphql-api/business-data-repository/api-reference/catalogs/catalog-items.md#catalogitemmeta)! | Metadata about this item including description, origin, and display properties. |
| `allowedAssetTypes` | \[[AssetGroupTypeConstraint](#assetgrouptypeconstraint)!]!                                                                    | The asset types allowed in groups of this type, with optional quantity limits.  |

</details>

***

### assetGroupTypeUpdate

Updates an asset group type.

```graphql
assetGroupTypeUpdate(
    input: AssetGroupTypeUpdateInput!
  ): AssetGroupTypePayload
```

**Arguments**

| Name    | Type                         | Description                                         |
| ------- | ---------------------------- | --------------------------------------------------- |
| `input` | `AssetGroupTypeUpdateInput!` | The input fields for updating the asset group type. |

**Input types:**

<details>

<summary>AssetGroupTypeUpdateInput</summary>

Input for updating an asset group type.

| Field               | Type                                                                                                                                   | Description                                                                                     |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `id`                | `ID!`                                                                                                                                  | The item ID to update.                                                                          |
| `version`           | `Int`                                                                                                                                  | The current version for optimistic locking. If omitted, auto-increments without conflict check. |
| `title`             | `String`                                                                                                                               | The new display name.                                                                           |
| `order`             | `Int`                                                                                                                                  | The new display order.                                                                          |
| `allowedAssetTypes` | \[[AssetGroupTypeConstraintInput](#assetgrouptypeconstraintinput)!]                                                                    | Replace allowed asset types. Null means no change.                                              |
| `meta`              | [CatalogItemMetaInput](/docs/navixy-graphql-api/business-data-repository/api-reference/catalogs/catalog-items.md#catalogitemmetainput) | The display properties.                                                                         |

</details>

<details>

<summary>AssetGroupTypeConstraintInput</summary>

Input for a constraint defining allowed asset types in an asset group type.

| Field         | Type  | Description                                            |
| ------------- | ----- | ------------------------------------------------------ |
| `assetTypeId` | `ID!` | The asset type ID.                                     |
| `maxItems`    | `Int` | The maximum assets of this type. Null means unlimited. |

</details>

<details>

<summary>CatalogItemMetaInput</summary>

Display properties for catalog items.

| Field         | Type      | Description                                       |
| ------------- | --------- | ------------------------------------------------- |
| `description` | `String`  | The description.                                  |
| `hidden`      | `Boolean` | Whether the item is hidden from regular UI lists. |

</details>

**Output types:**

<details>

<summary>AssetGroupTypePayload</summary>

The result of an asset group type mutation.

| Field            | Type                               | Description                              |
| ---------------- | ---------------------------------- | ---------------------------------------- |
| `assetGroupType` | [AssetGroupType](#assetgrouptype)! | The created or updated asset group type. |

</details>

<details>

<summary>AssetGroupType (entity)</summary>

A type for asset groups with membership constraints.

**Implements:** [CatalogItem](/docs/navixy-graphql-api/business-data-repository/api-reference/catalogs/catalog-items.md#catalogitem), [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.                                                   |
| `version`           | `Int!`                                                                                                                        | The version number for optimistic locking.                                      |
| `title`             | `String!`                                                                                                                     | The human-readable display name. Can be localized.                              |
| `code`              | [Code](/docs/navixy-graphql-api/core-api-reference/common.md#code)!                                                           | A machine-readable code, unique within the catalog scope.                       |
| `order`             | `Int!`                                                                                                                        | The display order within the same level or category.                            |
| `catalog`           | [Catalog](/docs/navixy-graphql-api/business-data-repository/api-reference/catalogs/catalog-items.md#catalog)!                 | The catalog this item belongs to.                                               |
| `workspace`         | [Workspace](/docs/navixy-graphql-api/business-data-repository/api-reference/workspaces.md#workspace)                          | The workspace that owns this item. Null for system items.                       |
| `meta`              | [CatalogItemMeta](/docs/navixy-graphql-api/business-data-repository/api-reference/catalogs/catalog-items.md#catalogitemmeta)! | Metadata about this item including description, origin, and display properties. |
| `allowedAssetTypes` | \[[AssetGroupTypeConstraint](#assetgrouptypeconstraint)!]!                                                                    | The asset types allowed in groups of this type, with optional quantity limits.  |

</details>

***

### assetGroupTypeDelete

Deletes an asset group type.

```graphql
assetGroupTypeDelete(
    input: CatalogItemDeleteInput!
  ): DeletePayload
```

**Arguments**

| Name    | Type                      | Description                                         |
| ------- | ------------------------- | --------------------------------------------------- |
| `input` | `CatalogItemDeleteInput!` | The input fields for deleting the asset group type. |

**Input types:**

<details>

<summary>CatalogItemDeleteInput</summary>

Input for deleting a catalog item.

| Field     | Type  | Description                                                                                     |
| --------- | ----- | ----------------------------------------------------------------------------------------------- |
| `id`      | `ID!` | The catalog item ID to delete.                                                                  |
| `version` | `Int` | The current version for optimistic locking. If omitted, auto-increments without conflict check. |

</details>

**Output types:**

<details>

<summary>DeletePayload</summary>

The result of a delete mutation.

| Field       | Type  | Description                   |
| ----------- | ----- | ----------------------------- |
| `deletedId` | `ID!` | The ID of the deleted entity. |

</details>

***

## Objects

### AssetGroupType

A type for asset groups with membership constraints.

**Implements:** [CatalogItem](/docs/navixy-graphql-api/business-data-repository/api-reference/catalogs/catalog-items.md#catalogitem), [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.                                                   |
| `version`           | `Int!`                                                                                                                        | The version number for optimistic locking.                                      |
| `title`             | `String!`                                                                                                                     | The human-readable display name. Can be localized.                              |
| `code`              | [Code](/docs/navixy-graphql-api/core-api-reference/common.md#code)!                                                           | A machine-readable code, unique within the catalog scope.                       |
| `order`             | `Int!`                                                                                                                        | The display order within the same level or category.                            |
| `catalog`           | [Catalog](/docs/navixy-graphql-api/business-data-repository/api-reference/catalogs/catalog-items.md#catalog)!                 | The catalog this item belongs to.                                               |
| `workspace`         | [Workspace](/docs/navixy-graphql-api/business-data-repository/api-reference/workspaces.md#workspace)                          | The workspace that owns this item. Null for system items.                       |
| `meta`              | [CatalogItemMeta](/docs/navixy-graphql-api/business-data-repository/api-reference/catalogs/catalog-items.md#catalogitemmeta)! | Metadata about this item including description, origin, and display properties. |
| `allowedAssetTypes` | \[[AssetGroupTypeConstraint](#assetgrouptypeconstraint)!]!                                                                    | The asset types allowed in groups of this type, with optional quantity limits.  |

***

### AssetGroupTypeConstraint

A constraint defining which asset types can be included in an asset group type.

| Field       | Type                                                                                              | Description                                                                           |
| ----------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `assetType` | [AssetType](/docs/navixy-graphql-api/business-data-repository/api-reference/assets.md#assettype)! | The asset type allowed in the group.                                                  |
| `maxItems`  | `Int`                                                                                             | The maximum number of assets of this type allowed in one group. Null means unlimited. |

***

### AssetGroup

A group of assets.

**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.                                                                                                                                                                          |
| `workspace`     | [Workspace](/docs/navixy-graphql-api/business-data-repository/api-reference/workspaces.md#workspace)!         | The workspace that owns this group.                                                                                                                                                                       |
| `type`          | [AssetGroupType](#assetgrouptype)                                                                             | The group type with membership constraints. Immutable after creation.                                                                                                                                     |
| `color`         | [HexColorCode](/docs/navixy-graphql-api/core-api-reference/common.md#hexcolorcode)                            | The color for UI display in hexadecimal format.                                                                                                                                                           |
| `currentAssets` | [AssetConnection](/docs/navixy-graphql-api/business-data-repository/api-reference/assets.md#assetconnection)! | The assets currently in this group.                                                                                                                                                                       |
| `history`       | [AssetGroupItemConnection](#assetgroupitemconnection)!                                                        | The full membership history for this group.                                                                                                                                                               |

***

### AssetGroupItem

A record of an asset's membership in a group.

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

| Field        | Type                                                                                      | Description                                                                                              |
| ------------ | ----------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| `id`         | `ID!`                                                                                     | A globally unique identifier. This ID is opaque and should not be parsed by clients.                     |
| `group`      | [AssetGroup](#assetgroup)!                                                                | The group containing the asset.                                                                          |
| `asset`      | [Asset](/docs/navixy-graphql-api/business-data-repository/api-reference/assets.md#asset)! | The asset in the group.                                                                                  |
| `attachedAt` | [DateTime](/docs/navixy-graphql-api/core-api-reference/common.md#datetime)!               | The date and time when the asset was added to the group.                                                 |
| `detachedAt` | [DateTime](/docs/navixy-graphql-api/core-api-reference/common.md#datetime)                | The date and time when the asset was removed from the group. Null means the asset is currently attached. |

***

### AssetGroupPayload

The result of an asset group mutation.

| Field        | Type                       | Description                         |
| ------------ | -------------------------- | ----------------------------------- |
| `assetGroup` | [AssetGroup](#assetgroup)! | The created or updated asset group. |

***

### AssetGroupTypePayload

The result of an asset group type mutation.

| Field            | Type                               | Description                              |
| ---------------- | ---------------------------------- | ---------------------------------------- |
| `assetGroupType` | [AssetGroupType](#assetgrouptype)! | The created or updated asset group type. |

***

## Inputs

### AssetGroupFilter

Filtering options for asset groups.

| Field           | Type     | Description                                         |
| --------------- | -------- | --------------------------------------------------- |
| `typeIds`       | `[ID!]`  | Filter by group types (OR within field).            |
| `titleContains` | `String` | Partial match on title (case-insensitive contains). |

***

### AssetGroupOrder

Ordering options for asset groups.

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

***

### AssetGroupItemFilter

Filtering options for asset group items.

| Field        | Type      | Description                                    |
| ------------ | --------- | ---------------------------------------------- |
| `activeOnly` | `Boolean` | If true, return only currently attached items. |

***

### AssetGroupItemOrder

Ordering options for asset group items.

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

***

### AssetGroupCreateInput

Input for creating a new asset group.

| Field         | Type                                                                               | Description                                    |
| ------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------- |
| `workspaceId` | `ID!`                                                                              | The workspace that will own the group.         |
| `typeId`      | `ID`                                                                               | The group type ID. Immutable after creation.   |
| `title`       | `String!`                                                                          | The group display name.                        |
| `color`       | [HexColorCode](/docs/navixy-graphql-api/core-api-reference/common.md#hexcolorcode) | The color for UI display.                      |
| `assetIds`    | `[ID!]`                                                                            | Initial list of asset IDs to add to the group. |

***

### AssetGroupUpdateInput

Input for updating an existing asset group.

| Field      | Type                                                                               | Description                                                                                     |
| ---------- | ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `id`       | `ID!`                                                                              | The asset group ID to update.                                                                   |
| `version`  | `Int`                                                                              | The current version for optimistic locking. If omitted, auto-increments without conflict check. |
| `title`    | `String`                                                                           | The new display name.                                                                           |
| `color`    | [HexColorCode](/docs/navixy-graphql-api/core-api-reference/common.md#hexcolorcode) | The new color.                                                                                  |
| `assetIds` | `[ID!]`                                                                            | Full replacement list of asset IDs in the group. If provided, replaces all current memberships. |

***

### AssetGroupDeleteInput

Input for deleting an asset group.

| Field     | Type  | Description                                                                                     |
| --------- | ----- | ----------------------------------------------------------------------------------------------- |
| `id`      | `ID!` | The asset group ID to delete.                                                                   |
| `version` | `Int` | The current version for optimistic locking. If omitted, auto-increments without conflict check. |

***

### AssetGroupItemsAddInput

Input for adding assets to a group.

| Field      | Type     | Description           |
| ---------- | -------- | --------------------- |
| `groupId`  | `ID!`    | The group ID.         |
| `assetIds` | `[ID!]!` | The asset IDs to add. |

***

### AssetGroupItemsRemoveInput

Input for removing assets from a group.

| Field      | Type     | Description              |
| ---------- | -------- | ------------------------ |
| `groupId`  | `ID!`    | The group ID.            |
| `assetIds` | `[ID!]!` | The asset IDs to remove. |

***

### AssetGroupTypeCreateInput

Input for creating an asset group type.

| Field               | Type                                                                                                                                   | Description                                                      |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- |
| `workspaceId`       | `ID!`                                                                                                                                  | The workspace that will own the item.                            |
| `code`              | [Code](/docs/navixy-graphql-api/core-api-reference/common.md#code)                                                                     | The machine-readable code. Auto-generated from title if omitted. |
| `title`             | `String!`                                                                                                                              | The display name.                                                |
| `order`             | `Int`                                                                                                                                  | The display order. Auto-calculated as last position if omitted.  |
| `allowedAssetTypes` | \[[AssetGroupTypeConstraintInput](#assetgrouptypeconstraintinput)!]                                                                    | The allowed asset types with optional limits.                    |
| `meta`              | [CatalogItemMetaInput](/docs/navixy-graphql-api/business-data-repository/api-reference/catalogs/catalog-items.md#catalogitemmetainput) | The display properties.                                          |

***

### AssetGroupTypeUpdateInput

Input for updating an asset group type.

| Field               | Type                                                                                                                                   | Description                                                                                     |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| `id`                | `ID!`                                                                                                                                  | The item ID to update.                                                                          |
| `version`           | `Int`                                                                                                                                  | The current version for optimistic locking. If omitted, auto-increments without conflict check. |
| `title`             | `String`                                                                                                                               | The new display name.                                                                           |
| `order`             | `Int`                                                                                                                                  | The new display order.                                                                          |
| `allowedAssetTypes` | \[[AssetGroupTypeConstraintInput](#assetgrouptypeconstraintinput)!]                                                                    | Replace allowed asset types. Null means no change.                                              |
| `meta`              | [CatalogItemMetaInput](/docs/navixy-graphql-api/business-data-repository/api-reference/catalogs/catalog-items.md#catalogitemmetainput) | The display properties.                                                                         |

***

### AssetGroupTypeConstraintInput

Input for a constraint defining allowed asset types in an asset group type.

| Field         | Type  | Description                                            |
| ------------- | ----- | ------------------------------------------------------ |
| `assetTypeId` | `ID!` | The asset type ID.                                     |
| `maxItems`    | `Int` | The maximum assets of this type. Null means unlimited. |

***

## Enums

### AssetGroupOrderField

Fields available for ordering asset groups.

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

***

### AssetGroupItemOrderField

Fields available for ordering asset group items.

| Value         | Description               |
| ------------- | ------------------------- |
| `ATTACHED_AT` | Order by attachment date. |

***

## Pagination types

### AssetGroupConnection

A paginated list of AssetGroup items.

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

| Field      | Type                                                                         | Description                                                |
| ---------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------- |
| `edges`    | \[[AssetGroupEdge](#assetgroupedge)!]!                                       | A list of edges.                                           |
| `nodes`    | \[[AssetGroup](#assetgroup)!]!                                               | 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.              |

***

### AssetGroupEdge

An edge in the AssetGroup 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`   | [AssetGroup](#assetgroup)! | The asset group at the end of the edge. |

***

### AssetGroupItemConnection

A paginated list of AssetGroupItem items.

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

| Field      | Type                                                                         | Description                                                |
| ---------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------- |
| `edges`    | \[[AssetGroupItemEdge](#assetgroupitemedge)!]!                               | A list of edges.                                           |
| `nodes`    | \[[AssetGroupItem](#assetgroupitem)!]!                                       | 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.              |

***

### AssetGroupItemEdge

An edge in the AssetGroupItem 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`   | [AssetGroupItem](#assetgroupitem)! | The asset group item at the end of the edge. |

***

### AssetGroupTypeConnection

A paginated list of AssetGroupType items.

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

| Field      | Type                                                                         | Description                                                |
| ---------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------- |
| `edges`    | \[[AssetGroupTypeEdge](#assetgrouptypeedge)!]!                               | A list of edges.                                           |
| `nodes`    | \[[AssetGroupType](#assetgrouptype)!]!                                       | 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.              |

***

### AssetGroupTypeEdge

An edge in the AssetGroupType 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`   | [AssetGroupType](#assetgrouptype)! | The asset group type 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/assets/groups.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.
