---
title: Content links
slug: cms-saas/docs/content-links-saas
docTags: 
createdAt: 2026-07-30T20:18:09.000Z
---

Links in [Optimizely Graph](docId\:aM0WpNsNXe_n26IhkX5sG) are a way to define relations between indexed items. See [Joins with linking](docId\:dERIsBL2GW2inAhZJK9y9) in the Optimizely Graph documentation. Some links are available when querying Content Management System (CMS) (SaaS) content from Optimizely Graph.

## ITEMS

The `ITEMS` link type is the default if no type is specified. It returns all content items contained within the current item, similar to child items in a tree structure.

```json
query ItemsQuery {
  _Content {
    items {
      _metadata {
        displayName
      }
      _link {
        _Content {
          items {
            _metadata {
              displayName
            }
          }
        }
      }
    }
  }
}
```

Example: Query the `displayName` for a content item and its items.

## PATH

The `PATH` link type returns the containers for a content item, potentially across several levels, similar to ancestor nodes in a tree.

```json
query PathQuery {
  _Content(where: { _metadata: { displayName: { eq: "Whitepaper" } } }) {
    items {
      _metadata {
        displayName
        locale
      }
      _link(type: PATH) {
        _Content(where: { _metadata: { locale: { eq: "en" } } }) {
          items {
            _metadata {
              displayName
            }
          }
        }
      }
    }
  }
}
```

Example: Query the `displayName` for a content item and the display names of its containers.

## ASSETS

The `ASSETS` link type returns exclusive assets associated with a content item. These assets display in the CMS (SaaS) UI in the For This Page, For This Block, or For This Content folders.

```json
query AssetsQuery {
  _Content(where: { _metadata: { displayName: { eq: "Start" } } }) {
    items {
      _metadata {
        displayName
      }
      _link(type: ASSETS) {
        _Content {
          items {
            _metadata {
              displayName
              type
            }
          }
        }
      }
    }
  }
}
```

Example: Query the `displayName` and `type` for assets linked to a content item.

## Querying linked blocks in a folder

In some cases, content items are linked through `_link`, which lets you traverse relationships not covered by the default items, path, or assets link types. The following query retrieves all blocks located in a specific folder by using `_link` and specifying a component link target.

```json
query MyQuery {
  _Folder(
    where: { _metadata: { key: { eq: "<folder guid>" } } }
  ) {
    item {
      _link {
        _Component {
          items {
            _metadata {
              key
              displayName
            }
          }
        }
      }
    }
  }
}
```

This query is not recursive—it only returns the blocks directly inside the specified folder, not those in subfolders.

Example: Query the `key` and `displayName` for blocks in a folder by its GUID.

This approach is especially useful when you want to avoid placing a large number of blocks into a `ContentArea`. It lets you structure folder-based querying without overloading a single container.
