---
title: Property schemas
slug: cms-saas/docs/property-schemas-saas
docTags: 
createdAt: 2026-07-30T20:18:10.000Z
---

The standard primitive types in GraphQL include types like `String`, `Int`, `Boolean`, `DateTime`, and `Float`. Optimizely Graph also includes the type `JSON`. Optimizely Content Management System (SaaS) expands the property types with some additional types that are described here. [Property types](docId\:jdTC5_kRcYYdkpBfKOiLg) are the building blocks of content types.

## Link

[Link](docId\:b_V9u3_NM19Fa14zgLfTm) is a property that is used when a content item has a link to another content item. It is modeled in the CMS (SaaS) UI as a Content property of type `LinkItem` or `Link Collection` (or in the REST API as a component with the content type `link`, with optional format `LinkCollection`). The graph schema for Link is defined as the following:

| Field    | Type       | Description                                                    |
| -------- | ---------- | -------------------------------------------------------------- |
| `url`    | ContentUrl | The URL representing the link.                                 |
| `title`  | String     | The title for the link.                                        |
| `text`   | String     | The link text.                                                 |
| `target` | String     | Optional setting that specifies how the link should be opened. |

### DAM asset URLs in Link properties

When a DAM asset is referenced in a `LinkItem` property, the `url` field uses `_AssetItem.url` for the `default` and `hierarchical` values. This applies to CMS (SaaS) instances connected to Optimizely DAM with the `_AssetItem` configuration.

For instances using a legacy DAM configuration, URL values reflect the internal URL. Contact Optimizely Support to update your DAM configuration.

## ContentReference

[ContentReference](docId:_LNPrj81Ijp15B0VBhsRj) is a property that is used when a content item has a reference to another content item. It is modeled in CMS UI as a Content property of type `Content Reference` (or in the REST API as type `contentReference`). The graph schema for ContentReference is defined as the following:

| Field | Type       | Description                             |
| ----- | ---------- | --------------------------------------- |
| `key` | String     | The key to the referenced content item. |
| `url` | ContentUrl | The URL to the referenced content item. |

## ContentUrl

[ContentUrl](docId\:R7xBmgs9na8wI023R8zl_) is a property that is used to represent URLs for a content item. It is used for metadata, like \_metadata.url, and for content type properties modeled in the CMS UI as a Link of type URL (or in integration API as type URL). The graph schema for ContentUrl is defined as the following:

| Field          | Type   | Description                                                                                                                                                                                 |
| -------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `type`         | String | Describes the type for `default` value. See possible values below this table.                                                                                                               |
| `default`      | String | The default URL for the content item. The value is dependent on the `type`. For media content items, the default value is an absolute URL with authority set to the CMS (SaaS) application. |
| `hierarchical` | String | The path for the content item is based on the hierarchical structure within CMS (SaaS).                                                                                                     |
| `internal`     | String | A permanent URL to the content item. This format is used within the CMS to reference content items.                                                                                         |
| `base`         | String | The authority for the content item. This is dependent on the application configuration with CMS (SaaS).                                                                                     |

### URL types

- **HIERARCHICAL** – The path is based on the hierarchical structure of content within CMS (SaaS).
- **SIMPLE** – The editor defined a simple address for the content item, which is used as the default URL.
- **SHORTCUT** – The editor defined a shortcut for the content item. The default URL is to the content item referenced by the shortcut.
- **INTERNAL** – The default URL is in internal format. This default is for blocks or components not intended to be addressed directly in an application.
- **EXTERNAL** – The editor defined an external shortcut for the content item. The default URL is the external URL.
- **INACTIVE** – The editor chose a shortcut to inactivate the content item. The `default` URL is empty.

### URL resolve

The URL for a content item is indexed in relation to the defined [applications](docId\:pJ4vlSUPXi2UNVyq0KG0i). If a content item does not belong to an application (that is, it is not under a start page for an application), then the hierarchical path is resolved from the Root page, and there is a language segment in the URL. There is no `base` for the URL.

If the content item belongs to an application (is located under a start page for an application), the hierarchical path is resolved from that application's start page. The URL indexing selects a host and base depending on the hosts defined for the application, given the locale of the current content item. If the selected host has a language mapping, the language segment is omitted from the hierarchical path.

The base for media items is the CMS (SaaS) application. So media is served from CMS (SaaS) (or mostly from the CDN in front of CMS (SaaS)).

## RichText and SearchableRichText

RichText is a property that is used when a [text property](docId\:BaRJWKyAWdiLbjZgZFr2_) in the CMS (SaaS) UI is selected to be of type XHTML string (or a string property in the REST API is defined with format `html`). In Graph, a rich text property is defined as `RichText` or `SearchableRichText` depending on the `indexingType` setting on the corresponding content type property. If the property is marked as searchable, `SearchableRichText` is used and the property's value is also indexed to be included in free text searches. The graph schema for `RichText` and `SearchableRichText` is defined as the following:

| Field  | Type   | Description                                 |
| ------ | ------ | ------------------------------------------- |
| `html` | String | The rich text in HTML format.               |
| `json` | JSON   | The rich text in a slate-based JSON format. |

### Slate format

The JSON format for rich text is based on the [slate ](https://docs.slatejs.org/) format. It is based on nodes with a field `type` specifying which element type it is, with optional additional attributes describing the style. The leaf nodes are the actual text elements with a field `text` with the text value and optionally additional attributes describing the style of the text.
