---
title: "Annotations and terms"
slug: "annotations-and-terms"
abstract: "Describes the annotations and terms used in Sitecore Discover API topics."
---
# Annotations and terms

This topic describes the annotations and terms used in the Sitecore Discover API and documentation.

<details>
<summary><h2>Angle brackets</h2></summary>

The JSON snippets in the Sitecore Discover documentation use angle brackets (`< >`) to denote the explanation of the value. For example, the following means that the string represents a content type.

```JSON
"<content_type>"
```

</details>

## Type of object

An object is a dictionary of key-value pairs. The key is a string, and the data structure of the value has different types depending on the key. The data structure of the value can be an object, a list, a string, or a number (float or integer).

The following is an example of an object:

```JSON
{
  "<key_1>": <value_1>,
  "<key_2>": <value_2>
}
```

## Type of value object

A value object is a dictionary that contains a key-value where the key is a value, and the value is an array of items. There might be other keys in the value object.

The following is an example of a value object:

```JSON
{
  "value": [
    <item_1>, <item_2>, ...
  ],
  "<key_1>": <value_1>
}
```

#### Short representation

A value object can be represented in a short form if `value` is the only key in the value object. The short representation allows us to put the value of the value object without the enclosing object.

The following is an example of a full representation:

```JSON
"<key>": {
  "value": [
    <value_1>,
    <value_2>
  ]
}
"<key>": {
  "value": [
    <value_1>
  ]
}
```

The following is an example of a short representation:

```JSON
"<key>": [
  <value_1>,
  <value_2>
]

"<key>": <value_1>
```

#### Overwriting values

If a value object contains a list of objects, the key in the object overwrites the key in the enclosing object.

In the following example, type A has a `value_2` for `key_1` and type B uses the enclosing object's value (`value_1`).

```JSON
{
  "value": [
    {"type": "A", "<key_1>": <value_2>},
    {"type": "B"}
  ],
  "<key_1>": <value_1>
}
```

In the following example, `product` is sorted in ascending order and `article` is sorted in descending order:

```JSON
{
  "value": [
    {"type": "product", "sort": "asc"},
    {"type": "article"}
  ],
  "sort": "desc"
}
```

## The ID type

Some keys in the request and the response might have values with type `<id>`. The type `<id>` is a string with no readable meaning and refers to any ID specified from the API that might be used or referred to in subsequent requests.