> ## Documentation Index
> Fetch the complete documentation index at: https://product-discovery.developer.voyado.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Content Information

> Content Information is intended to be used to lookup information on specific content (specified by content keys).

## GET

Content Information is intended to be used to lookup information on specific content (specified by content keys). A content information query will return a list of content items.

```http theme={null}
GET https://{cluster-id}.elevate-api.cloud/api/storefront/v3/queries/content-information
```

### Request

<AccordionGroup>
  <Accordion title="Request header parameters">
    | Name              | Description                                   | Example |
    | ----------------- | --------------------------------------------- | ------- |
    | `Accept-Encoding` | Allows responses to be compressed using Gzip. | `gzip`  |
  </Accordion>

  <Accordion title="Request query parameters">
    | Name            | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | Example                                |
    | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------- |
    | `contentKeys`\* | A pipe-separated list of keys of the content items to be fetched.                                                                                                                                                                                                                                                                                                                                                                                                              | `c1\|c2\|c3`                           |
    | `customerKey`\* | A key that uniquely identifies the current visitor.<br />Using <a href="https://en.wikipedia.org/wiki/Universally_unique_identifier">UUIDs</a> as keys are recommended.<br />This field is **required** unless `userContext` is set to `ANONYMOUS` or `UNPERSONALIZED` in which case it is not allowed.<br />If `userContext` is set to `SYNTHETIC` this is optional.                                                                                                          | `0b05119e-eeb8-418a-bbfb-defa0dde417e` |
    | `locale`\*      | The visitor locale. Must match an available locale identifier on the current market in the <a href="https://docs.elevate.voyado.cloud/elevate/4/integration/essentials/markets-and-locales/#markets">data feed</a>.                                                                                                                                                                                                                                                            | `en-GB`                                |
    | `market`\*      | The visitor market identifier. Must match the corresponding market identifier in the <a href="https://docs.elevate.voyado.cloud/elevate/4/integration/essentials/markets-and-locales/#markets">data feed</a>.                                                                                                                                                                                                                                                                  | `UK`                                   |
    | `sessionKey`\*  | A unique key, identifying the session.<br />Using <a href="https://en.wikipedia.org/wiki/Universally_unique_identifier">UUIDs</a> as keys are recommended.<br />This field is **required** unless `userContext` is set to `ANONYMOUS` in which case it is not allowed.<br />If `userContext` is set to `SYNTHETIC` this is optional.                                                                                                                                           | `0b05119e-eeb8-418a-bbfb-defa0dde417e` |
    | `touchpoint`\*  | The visitor's touchpoint. Supported values: `DESKTOP`, `MOBILE`.                                                                                                                                                                                                                                                                                                                                                                                                               | `DESKTOP`                              |
    | `notify`        | A boolean that can be used to disable notifications and behavioural registration for the query. May not be combined with any userContext.<br /><br />You are recommended to set an appropriate userContext instead.                                                                                                                                                                                                                                                            | `false`                                |
    | `userContext`   | Specifies the level of consent for data tracking. Can also be used to flag requests as synthetic to not contribute to statistics. If omitted, the request will be treated as if PERSONALIZED is used.<br /><br />See <a href="https://docs.elevate.voyado.cloud/elevate/4/integration/site-integration/query-integration/query-parameters/#user-context">user context</a> for more details.<br />Supported values: `PERSONALIZED`, `UNPERSONALIZED`, `ANONYMOUS`, `SYNTHETIC`. | `PERSONALIZED`                         |
    | `viewId`        | A parameter that is used to show the page in either production or preview mode. Can be `production` or `preview`. Defaults to `production` if omitted in the query. For more information, see <a href="https://docs.elevate.voyado.cloud/elevate/4/integration/site-integration/app-integration/">App Integration</a>. Supported values: `PRODUCTION`, `PREVIEW`.                                                                                                              | `PRODUCTION`                           |
  </Accordion>

  <Accordion title="Example request">
    ```bash title="bash" theme={null}
    curl -i \
    -X GET \
    -H 'Accept-Encoding: null' \
    "https://{cluster-id}.elevate-api.cloud/api/storefront/v3/queries/content-information?contentKeys=contentKeys&customerKey=customerKey&locale=locale&market=market&sessionKey=sessionKey&touchpoint=touchpoint&notify=notify&userContext=userContext&viewId=viewId"
    ```
  </Accordion>
</AccordionGroup>

### Response

<AccordionGroup>
  <Accordion title="Response codes">
    | Status | Description                                                                                                       |
    | ------ | ----------------------------------------------------------------------------------------------------------------- |
    | `200`  | Query accepted, content flattened and serialised to JSON.                                                         |
    | `400`  | Invalid or missing required arguments.                                                                            |
    | `404`  | Endpoint is not valid.                                                                                            |
    | `503`  | Service unavailable, no products found in the cluster.                                                            |
    | `500`  | Server error such as cluster unavailable or busy. The response body may contain more information about the error. |
  </Accordion>

  <Accordion title="Example response">
    ```json theme={null}
    {
      "items" : [ {
        "custom" : {
          "tags" : [ {
            "id" : "78",
            "label" : "Guide"
          }, {
            "id" : "223",
            "label" : "Jeans"
          } ]
        },
        "description" : "To wash or not to wash? And how?! Those are questions jeans shoppers are asking.",
        "image" : {
          "alt" : "A woman wearing a white t-shirt",
          "caption" : "The model is 176 cm tall and is wearing size S",
          "custom" : { },
          "sources" : [ {
            "url" : "https://cdn.example.com/img/j12_prod.jpg",
            "height" : 820,
            "width" : 420
          } ]
        },
        "key" : "wash_care",
        "link" : "/wash-guide",
        "releaseDate" : "2021-10-01T00:00:00Z",
        "ticket" : "Oy9mYXNoaW9uL0RFU0tUT1AvQ09OVEVOVF9TRUFSQ0hfUEFHRS9QUklNQVJZX0xJU1Q7Iztjb250ZW50X2tleTtkMDAxOyM7IzsjOyM7",
        "title" : "How to wash jeans",
        "type" : "article"
      } ]
    }
    ```
  </Accordion>

  <Accordion title="Response body schema">
    #### ContentInformationResult

    The object representation of content information. Content Information is intended to be used to lookup information on specific content (specified by content keys). The content information query will return a list of content items.

    | Name  | Type                           | Description                            |
    | ----- | ------------------------------ | -------------------------------------- |
    | items | [ContentItem](#contentitem)\[] | A list of the requested content items. |
  </Accordion>
</AccordionGroup>

## POST

Content Information is intended to be used to lookup information on specific content (specified by content keys). A content information query will return a list of content items.

```http theme={null}
POST https://{cluster-id}.elevate-api.cloud/api/storefront/v3/queries/content-information
```

### Request

<AccordionGroup>
  <Accordion title="Request header parameters">
    | Name              | Description                                   | Example           |
    | ----------------- | --------------------------------------------- | ----------------- |
    | `Accept-Encoding` | Allows responses to be compressed using Gzip. | `gzip`            |
    | `User-Agent`      | Enables internal tracking.                    | `some-user-agent` |
  </Accordion>

  <Accordion title="Request query parameters">
    | Name            | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | Example                                |
    | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------- |
    | `contentKeys`\* | A pipe-separated list of keys of the content items to be fetched.                                                                                                                                                                                                                                                                                                                                                                                                              | `c1\|c2\|c3`                           |
    | `customerKey`\* | A key that uniquely identifies the current visitor.<br />Using <a href="https://en.wikipedia.org/wiki/Universally_unique_identifier">UUIDs</a> as keys are recommended.<br />This field is **required** unless `userContext` is set to `ANONYMOUS` or `UNPERSONALIZED` in which case it is not allowed.<br />If `userContext` is set to `SYNTHETIC` this is optional.                                                                                                          | `0b05119e-eeb8-418a-bbfb-defa0dde417e` |
    | `locale`\*      | The visitor locale. Must match an available locale identifier on the current market in the <a href="https://docs.elevate.voyado.cloud/elevate/4/integration/essentials/markets-and-locales/#markets">data feed</a>.                                                                                                                                                                                                                                                            | `en-GB`                                |
    | `market`\*      | The visitor market identifier. Must match the corresponding market identifier in the <a href="https://docs.elevate.voyado.cloud/elevate/4/integration/essentials/markets-and-locales/#markets">data feed</a>.                                                                                                                                                                                                                                                                  | `UK`                                   |
    | `sessionKey`\*  | A unique key, identifying the session.<br />Using <a href="https://en.wikipedia.org/wiki/Universally_unique_identifier">UUIDs</a> as keys are recommended.<br />This field is **required** unless `userContext` is set to `ANONYMOUS` in which case it is not allowed.<br />If `userContext` is set to `SYNTHETIC` this is optional.                                                                                                                                           | `0b05119e-eeb8-418a-bbfb-defa0dde417e` |
    | `touchpoint`\*  | The visitor's touchpoint. Supported values: `DESKTOP`, `MOBILE`.                                                                                                                                                                                                                                                                                                                                                                                                               | `DESKTOP`                              |
    | `notify`        | A boolean that can be used to disable notifications and behavioural registration for the query. May not be combined with any userContext.<br /><br />You are recommended to set an appropriate userContext instead.                                                                                                                                                                                                                                                            | `false`                                |
    | `userContext`   | Specifies the level of consent for data tracking. Can also be used to flag requests as synthetic to not contribute to statistics. If omitted, the request will be treated as if PERSONALIZED is used.<br /><br />See <a href="https://docs.elevate.voyado.cloud/elevate/4/integration/site-integration/query-integration/query-parameters/#user-context">user context</a> for more details.<br />Supported values: `PERSONALIZED`, `UNPERSONALIZED`, `ANONYMOUS`, `SYNTHETIC`. | `PERSONALIZED`                         |
    | `viewId`        | A parameter that is used to show the page in either production or preview mode. Can be `production` or `preview`. Defaults to `production` if omitted in the query. For more information, see <a href="https://docs.elevate.voyado.cloud/elevate/4/integration/site-integration/app-integration/">App Integration</a>. Supported values: `PRODUCTION`, `PREVIEW`.                                                                                                              | `PRODUCTION`                           |
  </Accordion>

  <Accordion title="Example request">
    ```bash title="bash" theme={null}
    curl -i \
    -X POST \
    -H 'Accept-Encoding: null' \
    -H 'User-Agent: null' \
    "https://{cluster-id}.elevate-api.cloud/api/storefront/v3/queries/content-information?contentKeys=contentKeys&customerKey=customerKey&locale=locale&market=market&sessionKey=sessionKey&touchpoint=touchpoint&notify=notify&userContext=userContext&viewId=viewId"
    ```
  </Accordion>
</AccordionGroup>

### Response

<AccordionGroup>
  <Accordion title="Response codes">
    | Status | Description                                                                                                       |
    | ------ | ----------------------------------------------------------------------------------------------------------------- |
    | `200`  | Query accepted, content flattened and serialised to JSON.                                                         |
    | `400`  | Invalid or missing required arguments.                                                                            |
    | `404`  | Endpoint is not valid.                                                                                            |
    | `503`  | Service unavailable, no products found in the cluster.                                                            |
    | `500`  | Server error such as cluster unavailable or busy. The response body may contain more information about the error. |
  </Accordion>

  <Accordion title="Example response">
    ```json theme={null}
    {
      "items" : [ {
        "custom" : {
          "tags" : [ {
            "id" : "78",
            "label" : "Guide"
          }, {
            "id" : "223",
            "label" : "Jeans"
          } ]
        },
        "description" : "To wash or not to wash? And how?! Those are questions jeans shoppers are asking.",
        "image" : {
          "alt" : "A woman wearing a white t-shirt",
          "caption" : "The model is 176 cm tall and is wearing size S",
          "custom" : { },
          "sources" : [ {
            "url" : "https://cdn.example.com/img/j12_prod.jpg",
            "height" : 820,
            "width" : 420
          } ]
        },
        "key" : "wash_care",
        "link" : "/wash-guide",
        "releaseDate" : "2021-10-01T00:00:00Z",
        "ticket" : "Oy9mYXNoaW9uL0RFU0tUT1AvQ09OVEVOVF9TRUFSQ0hfUEFHRS9QUklNQVJZX0xJU1Q7Iztjb250ZW50X2tleTtkMDAxOyM7IzsjOyM7",
        "title" : "How to wash jeans",
        "type" : "article"
      } ]
    }
    ```
  </Accordion>

  <Accordion title="Response body schema">
    #### ContentInformationResult

    The object representation of content information. Content Information is intended to be used to lookup information on specific content (specified by content keys). The content information query will return a list of content items.

    | Name  | Type                           | Description                            |
    | ----- | ------------------------------ | -------------------------------------- |
    | items | [ContentItem](#contentitem)\[] | A list of the requested content items. |
  </Accordion>
</AccordionGroup>

## Inner Schemas

### ContentItem

Object representation of the content item.

| Name        | Type                                              | Description                                                                                                                                                                                   |
| ----------- | ------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| custom      | \<string, [CustomAttribute](#customattribute)\[]> | Custom attributes of the content item, represented as key-value pairs.<br /><br />Examples: `{"tags":[{"id":"78","label":"Guide"},{"id":"223","label":"Jeans"}]}`                             |
| description | string                                            | Description of the content item. Undefined if omitted during import.<br /><br />Examples: `"To wash or not to wash? And how?! Those are questions jeans shoppers are asking."`                |
| image       | [Image](#image)                                   | Image information. Undefined if omitted during import.                                                                                                                                        |
| key         | string                                            | Content identifier<br /><br />Examples: `"wash_care"`                                                                                                                                         |
| link        | string                                            | Link to the page representing this content item.<br /><br />Examples: `"/wash-guide"`                                                                                                         |
| releaseDate | string                                            | Release date of the content item. Undefined if omitted during import.<br /><br />Examples: `"2021-10-01T00:00:00Z"`                                                                           |
| ticket      | string                                            | Used in notification calls to register visitor interaction.<br /><br />Examples: `"Oy9mYXNoaW9uL0RFU0tUT1AvQ09OVEVOVF9TRUFSQ0hfUEFHRS9QUklNQVJZX0xJU1Q7Iztjb250ZW50X2tleTtkMDAxOyM7IzsjOyM7"` |
| title       | string                                            | Title of the content item.<br /><br />Examples: `"How to wash jeans"`                                                                                                                         |
| type        | string                                            | Type of the content item.<br /><br />Examples: `"article"`                                                                                                                                    |

### CustomAttribute

| Name  | Type   | Description                                                                                                                              |
| ----- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------- |
| id    | string | Id of the attribute (the actual value).<br /><br />Examples: `"summer"`                                                                  |
| label | string | The label of the attribute (the name attribute in the feed - currently not available for content items).<br /><br />Examples: `"Summer"` |

### Image

The object representation of an image.

| Name    | Type                 | Description                                                                                                                                                                                            |
| ------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| alt     | string               | Element of image specifying the alt text of an image. The alt text should describe the image. Always returned along with the image.<br /><br />Examples: `"A woman wearing a white t-shirt"`           |
| caption | string               | Element of image specifying the caption for the image, only returned on the product page (or content information for content).<br /><br />Examples: `"The model is 176 cm tall and is wearing size S"` |
| custom  | \<string, string>    | Custom attributes of the image.                                                                                                                                                                        |
| sources | [Source](#source)\[] | All valid image URLs and dimensions. If no images are valid, one arbitrary URL will be selected.                                                                                                       |

### Source

| Name   | Type    | Description                                                                                                                                |
| ------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| url\*  | string  | The URL of the image source.<br /><br />Examples: `"https://cdn.example.com/img/j12_prod.jpg"`                                             |
| height | integer | The height of the image. Undefined if height was not specified.<br /><br />Examples: `820`                                                 |
| width  | integer | The width of the image. Undefined if width was not specified and hasn't yet been assessed by the image service.<br /><br />Examples: `420` |
