---
title: Event Protocol Reference
slug: n9da0377
canonical_url: https://docs.coveo.com/en/n9da0377/
collection: build-a-search-ui
source_format: adoc
---
# Event Protocol Reference

Using [Event Protocol](https://docs.coveo.com/en/o9je0592.md) involves sending JSON payloads using the Event API.

> **Note**
>
> Coveo highly recommends using [Coveo Headless](https://docs.coveo.com/en/lcdf0493.md), [Atomic](https://docs.coveo.com/en/lcdf0264.md) or the [Relay library](https://docs.coveo.com/en/relay/latest/), which wrap the complexity of the Event API, over using the Event API directly.

To send events to the Event API, make a POST request to

```
https://<ORG_ID>.analytics.org.coveo.com/rest/organizations/<ORG_ID>/events/v1
```

Where `<ORG_ID>` is the unique identifier of your [Coveo organization](https://docs.coveo.com/en/185.md).

To authenticate, use a [search token](https://docs.coveo.com/en/56.md) or an [API key](https://docs.coveo.com/en/105.md) with the [privilege](https://docs.coveo.com/en/228.md) to push [Coveo Analytics data](https://docs.coveo.com/en/259.md) (that is, the **Allowed** access level on the [**Analytics data** domain](https://docs.coveo.com/en/1707.md#analytics-data-domain)).

## Example

```
POST https://barcagroupproductionkwvdy6lp.analytics.org.coveo.com/rest/organizations/barcagroupproductionkwvdy6lp/events/v1 HTTP/1.1
​
Accept: application/json
Content-Type: application/json
Authorization: Bearer **********-****-****-****-************
```

### Payload

> **Important**
>
> The payloads sent to the Event API must be valid JSON arrays, even if the payloads contain a single event.

```json
[
  {
    "meta": {
      "type": "ec.productView",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/products",
      "referrer": "https://www.mydomain.com/l/headlamps",
      "config": {
        "trackingId": "mystore"
      },
      "source": [
        "jolt@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d"
    },
    "currency": "CAD",
    "product": {
      "productId": "XY-1234",
      "name": "Bluewater Canoe",
      "price": 540
    }
  }
]
```

### Event Metadata

Each of the event payloads sent must include a `meta` key describing the provenance of the event. Ensure that each of the events in your payloads conform to this schema.
```json
{
  "type": "ec.productView",
  "ts": 1685557608944,
  "location": "https://www.mydomain.com/l/products",
  "referrer": "https://www.mydomain.com/l/headlamps",
  "config": {
    "trackingId": "mystore"
  },
  "source": [
    "jolt@7.58.0"
  ],
  "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
  "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d"
}
```
Please review the following for detailed descriptions of the `meta` field

.**Meta field descriptions**
<details><summary>Details</summary>

| Property | Type | Description | Example |  |
|---|---|---|---|---|
| `type` | `enum` (required) | Specifies the event type sent to Coveo Analytics. | `ec.productView`   [Available Values](#typeEnumList) |  |
| `ts` | `integer` (required) | Denotes the client-side timestamp when the event occurred. | `1685557608944` |  |
| `location` | `string`\ | `null` (required) | Indicates the URL of the resource where the event originated. | `https://www.mydomain.com/l/products` |
| `referrer` | `string`\ | `null` (required) | Represents the URL that a user visited right before opening the current URL. May be empty. | `https://www.mydomain.com/l/headlamps` |
| `source` | `array<string>` (required) | Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`. | `["jolt@7.58.0"]` |  |
| `userAgent` | `string`\ | `null` (required) | Represents the user agent of the browser. | `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36` |
| `clientId` | `string` (required) | A unique identifier for the browser recording the event. It should adhere to the UUID format. | `61afaffd-f47f-4d81-858a-6a2475b3d46d` |  |
| `config` | `object` (required) | - | `{"trackingId":"mystore"}` |  |
| `config.trackingId` | `string`\ | `null` | Tracking identifier. | `mystore` |

**Available `type` values:**
`itemClick`|`itemView`|`caseAssist.cancel`|`caseAssist.createTicket`|`caseAssist.documentSuggestionClick`|`caseAssist.documentSuggestionFeedback`|`caseAssist.selectFieldClassification`|`caseAssist.start`|`caseAssist.updateField`|`ec.cartAction`|`ec.productClick`|`ec.productView`|`ec.purchase`|`insightPanel.createArticle`|`insightPanel.detachItem`|`insightPanel.expandToFullUI`|`insightPanel.itemAction`|`rga.answerAction`|`rga.answerReceived`|`rga.citationClick`|`rga.citationHover`|`rga.responseLinked`|`rga.submitFeedback`|`smartSnippets.answerAction`|`smartSnippets.sourceClick`|`smartSnippets.submitFeedback`

</details>
## Common events

### itemClick (`object`)

The itemClick event is emitted when a user clicks an item returned by Coveo.

#### Properties

.**responseId**: `string`
<details><summary>Details</summary>

Unique identifier of the service response which returned this item.
A unique identifier for the response of a service which returned the list of relevant items. In a conversational context, use the turnId from the agent turn response.

</details>
.**searchUid**: `string`
<details><summary>Details</summary>

Search Query Unique Identifier
Deprecated - use responseId instead. A unique identifier identifying the query made to a search system.

</details>
.**position**: `integer` (required)
<details><summary>Details</summary>

Item Position
Indicates the position of the clicked item using a 1-based index that accounts for pagination. For example, with 10 items per page, the first item on the second page has a position of 11.
Minimum: 1
Maximum: 32767

</details>
.**itemMetadata**: `object` (required)
<details><summary>Details</summary>

  * **uniqueFieldName**: `string` (required)

    The index field name used to uniquely identify the item.

  * **uniqueFieldValue**: `string` (required)

    The index field value used to uniquely identify the item.

  * **title**: `string`

    The title of the clicked item.

  * **author**: `string`

    The author of the clicked item.

  * **url**: `string`

    The URL identifying the clicked item.

    Format: uri

    Minlength: 1

    Maxlength: 1024

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
#### Sample payload

```json
[
  {
    "meta": {
      "type": "itemClick",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/products",
      "referrer": "https://www.mydomain.com/l/headlamps",
      "source": [
        "relay@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d",
      "config": {
        "trackingId": "mystore"
      }
    },
    "responseId": "000003e8-06f0-21ee-8000-2eb5a363657c",
    "position": 3,
    "itemMetadata": {
      "uniqueFieldName": "permanentid",
      "uniqueFieldValue": "kayak-paddle-01",
      "author": "Barca Sports",
      "url": "https://www.mydomain.com/l/products/kayak-paddle-01",
      "title": "Bamboo Kayak Paddle"
    }
  }
]
```
### itemView (`object`)

The itemView event is emitted when landing on a page dedicated to a Coveo indexed item.

#### Properties

.**itemMetadata**: `object` (required)
<details><summary>Details</summary>

  * **uniqueFieldName**: `string` (required)

    The index field name used to uniquely identify the item.

  * **uniqueFieldValue**: `string` (required)

    The index field value used to uniquely identify the item.

  * **title**: `string`

    The title of the clicked item.

  * **author**: `string`

    The author of the clicked item.

  * **url**: `string`

    The URL identifying the clicked item.

    Format: uri

    Minlength: 1

    Maxlength: 1024

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
#### Sample payload

```json
[
  {
    "meta": {
      "type": "itemView",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/products",
      "referrer": "https://www.mydomain.com/l/headlamps",
      "source": [
        "relay@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d",
      "config": {
        "trackingId": "mystore"
      }
    },
    "itemMetadata": {
      "uniqueFieldName": "permanentid",
      "uniqueFieldValue": "kayak-paddle-01",
      "author": "Barca Sports",
      "url": "https://www.mydomain.com/l/products/kayak-paddle-01",
      "title": "Bamboo Kayak Paddle"
    }
  }
]
```
## Case Assist events

[[caseassist.cancel]]
### caseAssist.cancel (`object`)

The caseAssist.cancel event is emitted when a user cancels the Case Assist flow.

#### Properties

.**reason** (required)
<details><summary>Details</summary>

The reason why the user canceled the ticket creation flow.
Possible values: `solved|quit`

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
#### Sample payload

```json
[
  {
    "meta": {
      "type": "caseAssist.cancel",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/products",
      "referrer": "https://www.mydomain.com/l/headlamps",
      "config": {
        "trackingId": "my_case_assist_experience"
      },
      "source": [
        "jolt@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d"
    },
    "reason": "quit"
  }
]
```
[[caseassist.createticket]]
### caseAssist.createTicket (`object`)

The caseAssist.createTicket event is emitted when a user creates a support ticket with Case Assist.

#### Properties

.**ticket**: `object` (required)
<details><summary>Details</summary>

A support ticket.

  * **id**: `string` (required)

    The support ticket unique id as identified by the origin system.

  * **category**: `string`

    The category of the support ticket.

  * **description**: `string`

    The description of the support ticket.

  * **subject**: `string`

    The subject of the support ticket.

  * **system**: `string`

    The origin system of the support ticket.

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
#### Sample payload

```json
[
  {
    "meta": {
      "type": "caseAssist.createTicket",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/products",
      "referrer": "https://www.mydomain.com/l/headlamps",
      "config": {
        "trackingId": "my_case_assist_experience"
      },
      "source": [
        "jolt@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d"
    },
    "ticket": {
      "id": "16cdbc3b-4321-49ae-1234-d67e93404b71",
      "category": "headlamps",
      "subject": "I need help with my headlamp",
      "description": "I need help with my headlamp",
      "system": "jira"
    }
  }
]
```
[[caseassist.documentsuggestionclick]]
### caseAssist.documentSuggestionClick (`object`)

The caseAssist.documentSuggestionClick event is emitted when a user clicks a Case Assist document suggestion.

#### Properties

.**responseId**: `string` (required)
<details><summary>Details</summary>

Response ID linked to the Case Assist API request that returned the clicked suggestion.

</details>
.**position**: `integer` (required)
<details><summary>Details</summary>

Item Position
Indicates the clicked suggestion's 1-based position within the returned results.
Minimum: 1
Maximum: 32767

</details>
.**itemMetadata**: `object` (required)
<details><summary>Details</summary>

  * **uniqueFieldName**: `string` (required)

    The index field name used to uniquely identify the item.

  * **uniqueFieldValue**: `string` (required)

    The index field value used to uniquely identify the item.

  * **title**: `string`

    The title of the clicked item.

  * **author**: `string`

    The author of the clicked item.

  * **url**: `string`

    The URL identifying the clicked item.

    Format: uri

    Minlength: 1

    Maxlength: 1024

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
#### Sample payload

```json
[
  {
    "meta": {
      "type": "caseAssist.documentSuggestionClick",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/products",
      "referrer": "https://www.mydomain.com/l/headlamps",
      "config": {
        "trackingId": "my_case_assist_experience"
      },
      "source": [
        "jolt@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d"
    },
    "responseId": "98624bc3-d92f-4747-ac2f-907eff1f9e88",
    "itemMetadata": {
      "uniqueFieldName": "permanentid",
      "uniqueFieldValue": "how-to-search",
      "author": "John Doe",
      "url": "https://www.mydomain.com/l/articles/how-to-search",
      "title": "How to search"
    },
    "position": 1
  }
]
```
[[caseassist.documentsuggestionfeedback]]
### caseAssist.documentSuggestionFeedback (`object`)

The caseAssist.documentSuggestionFeedback event is emitted when a user gives feedback on a Case Assist document suggestion.

#### Properties

.**responseId**: `string` (required)
<details><summary>Details</summary>

Response ID linked to the Case Assist API request that returned the document suggestion.

</details>
.**itemMetadata**: `object` (required)
<details><summary>Details</summary>

  * **uniqueFieldName**: `string` (required)

    The index field name used to uniquely identify the item.

  * **uniqueFieldValue**: `string` (required)

    The index field value used to uniquely identify the item.

  * **title**: `string`

    The title of the clicked item.

  * **author**: `string`

    The author of the clicked item.

  * **url**: `string`

    The URL identifying the clicked item.

    Format: uri

    Minlength: 1

    Maxlength: 1024

</details>
.**liked**: `boolean` (required)
<details><summary>Details</summary>

Whether the user liked the document suggestion or not.

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
#### Sample payload

```json
[
  {
    "meta": {
      "type": "caseAssist.documentSuggestionFeedback",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/products",
      "referrer": "https://www.mydomain.com/l/headlamps",
      "config": {
        "trackingId": "my_case_assist_experience"
      },
      "source": [
        "jolt@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d"
    },
    "responseId": "98624bc3-d92f-4747-ac2f-907eff1f9e88",
    "itemMetadata": {
      "uniqueFieldName": "permanentid",
      "uniqueFieldValue": "how-to-search",
      "author": "John Doe",
      "url": "https://www.mydomain.com/l/articles/how-to-search",
      "title": "How to search"
    },
    "liked": true
  }
]
```
[[caseassist.selectfieldclassification]]
### caseAssist.selectFieldClassification (`object`)

The caseAssist.selectFieldClassification event is emitted when a user selects a Case Assist field recommendation.

#### Properties

.**responseId**: `string` (required)
<details><summary>Details</summary>

The unique identifier of the response that contains the field classification.

</details>
.**classificationId**: `string` (required)
<details><summary>Details</summary>

The unique identifier of the field classification.

</details>
.**autoselected**: `boolean` (required)
<details><summary>Details</summary>

Whether the field classification was automatically selected by Coveo Case Assist.

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
#### Sample payload

```json
[
  {
    "meta": {
      "type": "caseAssist.selectFieldClassification",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/products",
      "referrer": "https://www.mydomain.com/l/headlamps",
      "config": {
        "trackingId": "my_case_assist_experience"
      },
      "source": [
        "jolt@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d"
    },
    "responseId": "64624bc3-d92s-4747-ac2f-907eff1f9e97",
    "classificationId": "54624bc3-8e1c-4747-ac2f-907eff1f9eea",
    "autoselected": false
  }
]
```
[[caseassist.start]]
### caseAssist.start (`object`)

The caseAssist.start event is emitted when a user initiates a Case Assist flow.

#### Properties

.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
#### Sample payload

```json
[
  {
    "meta": {
      "type": "caseAssist.start",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/products",
      "referrer": "https://www.mydomain.com/l/headlamps",
      "config": {
        "trackingId": "my_case_assist_experience"
      },
      "source": [
        "jolt@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d"
    }
  }
]
```
[[caseassist.updatefield]]
### caseAssist.updateField (`object`)

The caseAssist.updateField event is emitted when a user edits a Case Assist form field.

#### Properties

.**fieldName**: `string` (required)
<details><summary>Details</summary>

The name of the field that was updated.

</details>
.**fieldValue**: `string` (required)
<details><summary>Details</summary>

The new value of the field.

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
#### Sample payload

```json
[
  {
    "meta": {
      "type": "caseAssist.updateField",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/products",
      "referrer": "https://www.mydomain.com/l/headlamps",
      "config": {
        "trackingId": "my_case_assist_experience"
      },
      "source": [
        "jolt@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d"
    },
    "fieldName": "product",
    "fieldValue": "headlamps"
  }
]
```
## Commerce events

[[ec.cartaction]]
### ec.cartAction (`object`)

The ec.cartAction event is emitted when a user adds or removes a product from the cart or changes a product's quantity.

#### Properties

.**action**: `string` (required)
<details><summary>Details</summary>

Specifies the action. Use "add" to increase quantity and "remove" to decrease it.
Possible values: `add|remove`

</details>
.**currency**: `string` (required)
<details><summary>Details</summary>

List of supported currencies.
Possible values: `AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BRL|BSD|BTC|BTN|BWP|BYN|BZD|CAD|CDF|CHF|CLF|CLP|CNH|CNY|COP|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GGP|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|IMP|INR|IQD|IRR|ISK|JEP|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLL|SOS|SRD|SSP|STD|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|UYU|UZS|VEF|VES|VND|VUV|WST|XAF|XAG|XAU|XCD|XDR|XOF|XPD|XPF|XPT|YER|ZAR|ZMW|ZWL`

</details>
.**product**: `object` (required)
<details><summary>Details</summary>

  * **productId**: `string` (required)

    The unique identifier of the product. The value must match exactly, including case, the values of the [product identifier](https://docs.coveo.com/en/n73f0502.md#define-a-unique-product-identifier) and `permanentid` fields configured in the catalog.

  * **name**: `string` (required)

    The product name.

  * **price**: `number` (required)

    The product price. If the price is not available, set the value to 0.

  * **variantId**: `string`

    The (optional) unique identifier for the specific variant of the product. The identifier should correspond to a variant in your Coveo catalog.

</details>
.**quantity**: `number` (required)
<details><summary>Details</summary>

Represents the change in product quantity, not the total quantity. Can be decimal. Must be greater than 0.

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
#### Sample payload

```json
[
  {
    "meta": {
      "type": "ec.cartAction",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/products",
      "referrer": "https://www.mydomain.com/l/headlamps",
      "config": {
        "trackingId": "mystore"
      },
      "source": [
        "relay@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d"
    },
    "action": "add",
    "currency": "USD",
    "product": {
      "productId": "XY-1234",
      "name": "Bluewater Canoe",
      "price": 540
    },
    "quantity": 1
  }
]
```
[[ec.productclick]]
### ec.productClick (`object`)

The ec.productClick event is emitted when a user clicks a product, be it on a search page, listing page, or recommendation carousel.

#### Properties

.**position**: `integer` (required)
<details><summary>Details</summary>

Indicates the position of the clicked product using a 1-based index that accounts for pagination. For example, with 10 products per page, the first product on the second page has a position of 11.
Minimum: 1
Maximum: 32767

</details>
.**responseId**: `string` (required)
<details><summary>Details</summary>

Response ID linked to the API response that generated the clicked item's impression. In a conversational context, use the turnId from the agent turn response rather than the internal commerce request's responseId.

</details>
.**currency**: `string` (required)
<details><summary>Details</summary>

List of supported currencies.
Possible values: `AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BRL|BSD|BTC|BTN|BWP|BYN|BZD|CAD|CDF|CHF|CLF|CLP|CNH|CNY|COP|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GGP|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|IMP|INR|IQD|IRR|ISK|JEP|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLL|SOS|SRD|SSP|STD|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|UYU|UZS|VEF|VES|VND|VUV|WST|XAF|XAG|XAU|XCD|XDR|XOF|XPD|XPF|XPT|YER|ZAR|ZMW|ZWL`

</details>
.**product**: `object` (required)
<details><summary>Details</summary>

  * **productId**: `string` (required)

    The unique identifier of the product. The value must match exactly, including case, the values of the [product identifier](https://docs.coveo.com/en/n73f0502.md#define-a-unique-product-identifier) and `permanentid` fields configured in the catalog.

  * **name**: `string` (required)

    The product name.

  * **price**: `number` (required)

    The product price. If the price is not available, set the value to 0.

  * **variantId**: `string`

    The (optional) unique identifier for the specific variant of the product. The identifier should correspond to a variant in your Coveo catalog.

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
#### Sample payload

```json
[
  {
    "meta": {
      "type": "ec.productClick",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/products",
      "referrer": "https://www.mydomain.com/l/headlamps",
      "config": {
        "trackingId": "mystore"
      },
      "source": [
        "headless@2.1.7",
        "relay@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d"
    },
    "product": {
      "productId": "XY-1234",
      "name": "Bluewater Canoe",
      "price": 540
    },
    "position": 1,
    "responseId": "35009a79-1a05-49d7-b876-2b884d0f825b",
    "currency": "USD"
  }
]
```
[[ec.productview]]
### ec.productView (`object`)

The ec.productView event is emitted when a user explores a product's details on a Product Detail Page (PDP) or previews the item in a pop-up window (commonly referred to as a modal) from a Product Listing Page (PLP).

#### Properties

.**currency**: `string` (required)
<details><summary>Details</summary>

List of supported currencies.
Possible values: `AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BRL|BSD|BTC|BTN|BWP|BYN|BZD|CAD|CDF|CHF|CLF|CLP|CNH|CNY|COP|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GGP|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|IMP|INR|IQD|IRR|ISK|JEP|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLL|SOS|SRD|SSP|STD|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|UYU|UZS|VEF|VES|VND|VUV|WST|XAF|XAG|XAU|XCD|XDR|XOF|XPD|XPF|XPT|YER|ZAR|ZMW|ZWL`

</details>
.**product**: `object` (required)
<details><summary>Details</summary>

  * **productId**: `string` (required)

    The unique identifier of the product. The value must match exactly, including case, the values of the [product identifier](https://docs.coveo.com/en/n73f0502.md#define-a-unique-product-identifier) and `permanentid` fields configured in the catalog.

  * **name**: `string` (required)

    The product name.

  * **price**: `number` (required)

    The product price. If the price is not available, set the value to 0.

  * **variantId**: `string`

    The (optional) unique identifier for the specific variant of the product. The identifier should correspond to a variant in your Coveo catalog.

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
#### Sample payload

```json
[
  {
    "meta": {
      "type": "ec.productView",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/products",
      "referrer": "https://www.mydomain.com/l/headlamps",
      "config": {
        "trackingId": "mystore"
      },
      "source": [
        "jolt@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d"
    },
    "currency": "CAD",
    "product": {
      "productId": "XY-1234",
      "name": "Bluewater Canoe",
      "price": 540
    }
  }
]
```
[[ec.purchase]]
### ec.purchase (`object`)

The ec.purchase event is emitted when a user completes a purchase.

#### Properties

.**currency**: `string` (required)
<details><summary>Details</summary>

List of supported currencies.
Possible values: `AED|AFN|ALL|AMD|ANG|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BRL|BSD|BTC|BTN|BWP|BYN|BZD|CAD|CDF|CHF|CLF|CLP|CNH|CNY|COP|CRC|CUC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GGP|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS|IMP|INR|IQD|IRR|ISK|JEP|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLL|SOS|SRD|SSP|STD|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|UYU|UZS|VEF|VES|VND|VUV|WST|XAF|XAG|XAU|XCD|XDR|XOF|XPD|XPF|XPT|YER|ZAR|ZMW|ZWL`

</details>
.**products**: `array` (required)
<details><summary>Details</summary>

  * **product**: `object` (required)

    * **productId**: `string` (required)

      The unique identifier of the product. The value must match exactly, including case, the values of the [product identifier](https://docs.coveo.com/en/n73f0502.md#define-a-unique-product-identifier) and `permanentid` fields configured in the catalog.

    * **name**: `string` (required)

      The product name.

    * **price**: `number` (required)

      The product price. If the price is not available, set the value to 0.

    * **variantId**: `string`

      The (optional) unique identifier for the specific variant of the product. The identifier should correspond to a variant in your Coveo catalog.

  * **quantity**: `number` (required)

    Purchased product quantity. Can be decimal. Must be greater than 0.

</details>
.**transaction**: `object` (required)
<details><summary>Details</summary>

  * **id**: `string` (required)

    The transaction ID. You can use it to cross-reference any orders you've exported from Coveo against records in your own system.

  * **revenue**: `number` (required)

    Total revenue from the transaction, including tax, shipping, and discounts.

    Minimum: 0

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
#### Sample payload

```json
[
  {
    "meta": {
      "type": "ec.purchase",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/products",
      "referrer": "https://www.mydomain.com/l/headlamps",
      "config": {
        "trackingId": "mystore"
      },
      "source": [
        "relay@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d"
    },
    "currency": "LBP",
    "products": [
      {
        "product": {
          "productId": "XY-1234",
          "name": "Bluewater Canoe",
          "price": 540
        },
        "quantity": 1
      },
      {
        "product": {
          "productId": "XY-1235",
          "name": "Bamboo Kayak Paddle",
          "price": 120
        },
        "quantity": 2
      },
      {
        "product": {
          "productId": "XY-1247",
          "name": "Mixed Trail Nuts (kg)",
          "price": 2.5
        },
        "quantity": 0.5
      }
    ],
    "transaction": {
      "id": "TRX_1234",
      "revenue": 781.25
    }
  }
]
```
## Insight Panel events

[[insightpanel.createarticle]]
### insightPanel.createArticle (`object`)

The insightPanel.createArticle event is emitted when the agent creates an article from a support case.

#### Properties

.**context**: `object` (required)
<details><summary>Details</summary>

The context in which Insight Panel is used.

  * **targetId**: `string` (required)

    Target ID

    The target's unique id in the original source system. (Example, a Case's id in Salesforce).

    Maxlength: 128

  * **targetType**: `string` (required)

    Target type

    The target's type in the original source system. (Example: 'Case').

    Maxlength: 128

</details>
.**articleType**: `string`
<details><summary>Details</summary>

Article Type
The type of article the agent started to create.

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
#### Sample payload

```json
[
  {
    "meta": {
      "type": "insightPanel.createArticle",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/article",
      "referrer": "https://www.mydomain.com/l/articles",
      "source": [
        "relay@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d",
      "config": {
        "trackingId": "agents"
      }
    },
    "articleType": "Fun fact!",
    "context": {
      "targetType": "Case",
      "targetId": "005000000000001"
    }
  }
]
```
[[insightpanel.detachitem]]
### insightPanel.detachItem (`object`)

The insightPanel.detachItem event is emitted when the agent detaches an item from a record.

#### Properties

.**context**: `object` (required)
<details><summary>Details</summary>

The context in which Insight Panel is used.

  * **targetId**: `string` (required)

    Target ID

    The target's unique id in the original source system. (Example, a Case's id in Salesforce).

    Maxlength: 128

  * **targetType**: `string` (required)

    Target type

    The target's type in the original source system. (Example: 'Case').

    Maxlength: 128

</details>
.**itemMetadata**: `object` (required)
<details><summary>Details</summary>

  * **uniqueFieldName**: `string` (required)

    The index field name used to uniquely identify the item.

  * **uniqueFieldValue**: `string` (required)

    The index field value used to uniquely identify the item.

  * **title**: `string`

    The title of the clicked item.

  * **author**: `string`

    The author of the clicked item.

  * **url**: `string`

    The URL identifying the clicked item.

    Format: uri

    Minlength: 1

    Maxlength: 1024

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
#### Sample payload

```json
[
  {
    "meta": {
      "type": "insightPanel.detachItem",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/article",
      "referrer": "https://www.mydomain.com/l/articles",
      "source": [
        "relay@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d",
      "config": {
        "trackingId": "agents"
      }
    },
    "itemMetadata": {
      "uniqueFieldName": "permanentid",
      "uniqueFieldValue": "how-to-search",
      "author": "John Doe",
      "url": "https://www.mydomain.com/l/articles/how-to-search",
      "title": "How to search"
    },
    "context": {
      "targetType": "Case",
      "targetId": "005000000000001"
    }
  }
]
```
[[insightpanel.expandtofullui]]
### insightPanel.expandToFullUI (`object`)

The insightPanel.expandToFullUI event is emitted when the agent expands an Insight Panel view to full UI.

#### Properties

.**context**: `object` (required)
<details><summary>Details</summary>

The context in which Insight Panel is used.

  * **targetId**: `string` (required)

    Target ID

    The target's unique id in the original source system. (Example, a Case's id in Salesforce).

    Maxlength: 128

  * **targetType**: `string` (required)

    Target type

    The target's type in the original source system. (Example: 'Case').

    Maxlength: 128

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
#### Sample payload

```json
[
  {
    "meta": {
      "type": "insightPanel.expandToFullUI",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/article",
      "referrer": "https://www.mydomain.com/l/articles",
      "source": [
        "relay@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d",
      "config": {
        "trackingId": "agents"
      }
    },
    "context": {
      "targetType": "Case",
      "targetId": "005000000000001"
    }
  }
]
```
[[insightpanel.itemaction]]
### insightPanel.itemAction (`object`)

The insightPanel.itemAction event is emitted when the agent interacts with a search item.

#### Properties

.**action**: `string` (required)
<details><summary>Details</summary>

Action
How the user interacted with the item.
Possible values: `attach|open|copyToClipboard|sendEmail|postToFeed|preview`

</details>
.**context**: `object` (required)
<details><summary>Details</summary>

The context in which Insight Panel is used.

  * **targetId**: `string` (required)

    Target ID

    The target's unique id in the original source system. (Example, a Case's id in Salesforce).

    Maxlength: 128

  * **targetType**: `string` (required)

    Target type

    The target's type in the original source system. (Example: 'Case').

    Maxlength: 128

</details>
.**sourceEntityId**: `string`
<details><summary>Details</summary>

The id of the item in the source repository (ex: A knowledge article record ID in Salesforce).

</details>
.**responseId**: `string`
<details><summary>Details</summary>

Unique identifier of the service response which returned this item.
A unique identifier for the response of a service which returned the list of relevant items. In a conversational context, use the turnId from the agent turn response.

</details>
.**searchUid**: `string`
<details><summary>Details</summary>

Search Query Unique Identifier
Deprecated - use responseId instead. A unique identifier identifying the query made to a search system.

</details>
.**position**: `integer` (required)
<details><summary>Details</summary>

Item Position
Indicates the position of the clicked item using a 1-based index that accounts for pagination. For example, with 10 items per page, the first item on the second page has a position of 11.
Minimum: 1
Maximum: 32767

</details>
.**itemMetadata**: `object` (required)
<details><summary>Details</summary>

  * **uniqueFieldName**: `string` (required)

    The index field name used to uniquely identify the item.

  * **uniqueFieldValue**: `string` (required)

    The index field value used to uniquely identify the item.

  * **title**: `string`

    The title of the clicked item.

  * **author**: `string`

    The author of the clicked item.

  * **url**: `string`

    The URL identifying the clicked item.

    Format: uri

    Minlength: 1

    Maxlength: 1024

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
#### Sample payload

```json
[
  {
    "meta": {
      "type": "insightPanel.itemAction",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/article",
      "referrer": "https://www.mydomain.com/l/articles",
      "source": [
        "relay@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d",
      "config": {
        "trackingId": "agents"
      }
    },
    "responseId": "000003e8-06f0-21ee-8000-2eb5a363657c",
    "position": 3,
    "itemMetadata": {
      "uniqueFieldName": "permanentid",
      "uniqueFieldValue": "how-to-search",
      "author": "John Doe",
      "url": "https://www.mydomain.com/l/articles/how-to-search",
      "title": "How to search"
    },
    "action": "copyToClipboard",
    "context": {
      "targetType": "Case",
      "targetId": "005000000000001"
    },
    "sourceEntityId": "kA0000000000001"
  }
]
```
## ml events

[[ml.conversational.agent]]
### ml.conversational.agent (`object`)

This event is emitted when the Search Agent sends a response to the user.

#### Properties

.**payload** (required)
<details><summary>Details</summary>

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
[[ml.conversational.user]]
### ml.conversational.user (`object`)

This event is emitted when a user sends a request to the Search Agent.

#### Properties

.**payload** (required)
<details><summary>Details</summary>

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
## Relevance Generative Answering events

[[rga.answeraction]]
### rga.answerAction (`object`)

Event to emit when interacting with a generated answer.

#### Properties

.**answerId**: `string` (required)
<details><summary>Details</summary>

The unique identifier of the generated answer.

</details>
.**action**: `string` (required)
<details><summary>Details</summary>

The action taken on the answer.
Possible values: `copyToClipboard|hide|show|expand|collapse|like|dislike`

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
#### Sample payload

```json
[
  {
    "meta": {
      "type": "rga.answerAction",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/products",
      "referrer": "https://www.mydomain.com/l/headlamps",
      "config": {
        "trackingId": "mystore"
      },
      "source": [
        "relay@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d"
    },
    "answerId": "a12308cf-8bc6-4b23-a600-89edbfbfbec3",
    "action": "copyToClipboard"
  }
]
```
[[rga.answerreceived]]
### rga.answerReceived (`object`)

Event to emit when a generated answer has been fully received.

#### Properties

.**answerId**: `string` (required)
<details><summary>Details</summary>

The unique identifier of the generated answer.

</details>
.**answerGenerated**: `boolean` (required)
<details><summary>Details</summary>

Indicates if the answer was generated or not.

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
#### Sample payload

```json
[
  {
    "meta": {
      "type": "rga.answerReceived",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/products",
      "referrer": "https://www.mydomain.com/l/headlamps",
      "config": {
        "trackingId": "mystore"
      },
      "source": [
        "relay@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d"
    },
    "answerId": "16cdbc3b-4321-49ae-1234-d67e93404b71",
    "answerGenerated": true
  }
]
```
[[rga.citationclick]]
### rga.citationClick (`object`)

Event to emit when a generated answer citation item has been clicked.

#### Properties

.**answerId**: `string` (required)
<details><summary>Details</summary>

The unique identifier of the generated answer.

</details>
.**citationId**: `string` (required)
<details><summary>Details</summary>

The citation id. This value needs to match the unique identifier of the answer's citation.

</details>
.**itemMetadata**: `object` (required)
<details><summary>Details</summary>

  * **uniqueFieldName**: `string` (required)

    The index field name used to uniquely identify the item.

  * **uniqueFieldValue**: `string` (required)

    The index field value used to uniquely identify the item.

  * **title**: `string`

    The title of the clicked item.

  * **author**: `string`

    The author of the clicked item.

  * **url**: `string`

    The URL identifying the clicked item.

    Format: uri

    Minlength: 1

    Maxlength: 1024

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
#### Sample payload

```json
[
  {
    "meta": {
      "type": "rga.citationClick",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/products",
      "referrer": "https://www.mydomain.com/l/headlamps",
      "config": {
        "trackingId": "mystore"
      },
      "source": [
        "relay@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d"
    },
    "answerId": "16cdbc3b-4321-49ae-1234-d67e93404b71",
    "citationId": "54624bc3-8e1c-4747-ac2f-907eff1f9eea",
    "itemMetadata": {
      "uniqueFieldName": "permanentid",
      "uniqueFieldValue": "6b5d18cf6b2181df75290a58f87548b4964f5848fcf17ffd7c95d524ea4a",
      "author": "John Doe",
      "url": "https://www.mydomain.com/l/articles/how-to-search",
      "title": "Fix your headlamp issues"
    }
  }
]
```
[[rga.citationhover]]
### rga.citationHover (`object`)

Event to emit when a generated answer citation has been hovered.

#### Properties

.**answerId**: `string` (required)
<details><summary>Details</summary>

The unique identifier of the generated answer.

</details>
.**citationId**: `string` (required)
<details><summary>Details</summary>

The citation id. This value needs to match the unique identifier of the answer's citation.

</details>
.**itemMetadata**: `object` (required)
<details><summary>Details</summary>

  * **uniqueFieldName**: `string` (required)

    The index field name used to uniquely identify the item.

  * **uniqueFieldValue**: `string` (required)

    The index field value used to uniquely identify the item.

  * **title**: `string`

    The title of the clicked item.

  * **author**: `string`

    The author of the clicked item.

  * **url**: `string`

    The URL identifying the clicked item.

    Format: uri

    Minlength: 1

    Maxlength: 1024

</details>
.**citationHoverTimeInMs**: `number` (required)
<details><summary>Details</summary>

The time in milliseconds the citation was hovered.

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
#### Sample payload

```json
[
  {
    "meta": {
      "type": "rga.citationHover",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/products",
      "referrer": "https://www.mydomain.com/l/headlamps",
      "config": {
        "trackingId": "mystore"
      },
      "source": [
        "relay@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d"
    },
    "answerId": "16cdbc3b-4321-49ae-1234-d67e93404b71",
    "citationId": "54624bc3-8e1c-4747-ac2f-907eff1f9eea",
    "itemMetadata": {
      "uniqueFieldName": "permanentid",
      "uniqueFieldValue": "6b5d18cf6b2181df75290a58f87548b4964f5848fcf17ffd7c95d524ea4a",
      "author": "John Doe",
      "url": "https://www.mydomain.com/l/articles/how-to-search",
      "title": "Fix your headlamp issues"
    },
    "citationHoverTimeInMs": 123
  }
]
```
[[rga.responselinked]]
### rga.responseLinked (`object`)

Event to emit to signal that an particular answer is linked to another API response (ex: a search).

#### Properties

.**answerId**: `string` (required)
<details><summary>Details</summary>

The unique identifier of the generated answer.

</details>
.**responseId**: `string` (required)
<details><summary>Details</summary>

The unique identifier of the response (ex: a search) that needs to be linked to the answer.

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
#### Sample payload

```json
[
  {
    "meta": {
      "type": "rga.responseLinked",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/products",
      "referrer": "https://www.mydomain.com/l/headlamps",
      "config": {
        "trackingId": "mystore"
      },
      "source": [
        "relay@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d"
    },
    "answerId": "5b1a5036-d333-4e04-948c-1142ccdc8203",
    "responseId": "16cdbc3b-4321-49ae-1234-d67e93404b71"
  }
]
```
[[rga.submitfeedback]]
### rga.submitFeedback (`object`)

Event to emit when submitting feedback following the evaluation rubric for a generated answer.

#### Properties

.**answerId**: `string` (required)
<details><summary>Details</summary>

The unique identifier of the generated answer.

</details>
.**helpful**: `boolean` (required)
<details><summary>Details</summary>

Whether or not the answer is helpful.

</details>
.**details**: `object` (required)
<details><summary>Details</summary>

Details about the evaluation of the answer.

  * **readable**: `boolean`

    Whether or not the answer is clear and easy to read.

  * **documented**: `boolean`

    Whether or not the question is covered in the documentation.

  * **correctTopic**: `boolean`

    Whether or not the answer is about the correct product or topic.

  * **hallucinationFree**: `boolean`

    Whether or not the answer is free of hallucinated content.

</details>
.**additionalNotes**: `string`
<details><summary>Details</summary>

Additional notes about the evaluation.

</details>
.**correctAnswerUrl**: `string`
<details><summary>Details</summary>

The URL of the correct answer.

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
#### Sample payload

```json
[
  {
    "meta": {
      "type": "rga.submitFeedback",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/products",
      "referrer": "https://www.mydomain.com/l/headlamps",
      "config": {
        "trackingId": "my_support_community"
      },
      "source": [
        "relay@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d"
    },
    "answerId": "000003e8-06f0-21ee-8000-2eb5a363657c",
    "helpful": true,
    "details": {
      "readable": true,
      "documented": true,
      "correctTopic": true,
      "hallucinationFree": true
    },
    "correctAnswerUrl": "https://www.wood-database.com/wood-articles/wood-anatomy/",
    "additionalNotes": "This answer it's too good to be true"
  }
]
```
## Smart Snippets events

[[smartsnippets.answeraction]]
### smartSnippets.answerAction (`object`)

Event to emit when interacting with a snippet.

#### Properties

.**responseId**: `string` (required)
<details><summary>Details</summary>

The id of the response associated with the service that delivered the snippet.

</details>
.**snippetType**: `string` (required)
<details><summary>Details</summary>

The type of snippet the answer belongs to.
Possible values: `SmartSnippet|SmartSnippetSuggestion`

</details>
.**itemMetadata**: `object` (required)
<details><summary>Details</summary>

  * **uniqueFieldName**: `string` (required)

    The index field name used to uniquely identify the item.

  * **uniqueFieldValue**: `string` (required)

    The index field value used to uniquely identify the item.

  * **title**: `string`

    The title of the clicked item.

  * **author**: `string`

    The author of the clicked item.

  * **url**: `string`

    The URL identifying the clicked item.

    Format: uri

    Minlength: 1

    Maxlength: 1024

</details>
.**action**: `string` (required)
<details><summary>Details</summary>

The action taken on the snippet.
Possible values: `expand|collapse|like|dislike`

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
#### Sample payload

```json
[
  {
    "meta": {
      "type": "smartSnippets.answerAction",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/products",
      "referrer": "https://www.mydomain.com/l/headlamps",
      "config": {
        "trackingId": "mystore"
      },
      "source": [
        "relay@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d"
    },
    "responseId": "a12308cf-8bc6-4b23-a600-89edbfbfbec3",
    "snippetType": "SmartSnippetSuggestion",
    "itemMetadata": {
      "uniqueFieldName": "permanentid",
      "uniqueFieldValue": "6b5d18cf6b2181df75290a58f87548b4964f5848fcf17ffd7c95d524ea4a",
      "author": "John Doe",
      "url": "https://www.mydomain.com/l/articles/how-to-search",
      "title": "Fix your headlamp issues"
    },
    "action": "expand"
  }
]
```
[[smartsnippets.sourceclick]]
### smartSnippets.sourceClick (`object`)

Event to emit when a snippet source has been clicked.

#### Properties

.**responseId**: `string` (required)
<details><summary>Details</summary>

The id of the response associated with the service that delivered the snippet.

</details>
.**snippetType**: `string` (required)
<details><summary>Details</summary>

The type of snippet the answer belongs to.
Possible values: `SmartSnippet|SmartSnippetSuggestion`

</details>
.**itemMetadata**: `object` (required)
<details><summary>Details</summary>

  * **uniqueFieldName**: `string` (required)

    The index field name used to uniquely identify the item.

  * **uniqueFieldValue**: `string` (required)

    The index field value used to uniquely identify the item.

  * **title**: `string`

    The title of the clicked item.

  * **author**: `string`

    The author of the clicked item.

  * **url**: `string`

    The URL identifying the clicked item.

    Format: uri

    Minlength: 1

    Maxlength: 1024

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
#### Sample payload

```json
[
  {
    "meta": {
      "type": "smartSnippets.sourceClick",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/products",
      "referrer": "https://www.mydomain.com/l/headlamps",
      "config": {
        "trackingId": "mystore"
      },
      "source": [
        "relay@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d"
    },
    "responseId": "16cdbc3b-4321-49ae-1234-d67e93404b71",
    "snippetType": "SmartSnippet",
    "itemMetadata": {
      "uniqueFieldName": "permanentid",
      "uniqueFieldValue": "6b5d18cf6b2181df75290a58f87548b4964f5848fcf17ffd7c95d524ea4a",
      "author": "John Doe",
      "url": "https://www.mydomain.com/l/articles/how-to-search",
      "title": "Fix your headlamp issues"
    }
  }
]
```
[[smartsnippets.submitfeedback]]
### smartSnippets.submitFeedback (`object`)

Event to emit when submitting the reason of a negative feedback on a snippet.

#### Properties

.**responseId**: `string` (required)
<details><summary>Details</summary>

The id of the response associated with the service that delivered the snippet.

</details>
.**snippetType**: `string` (required)
<details><summary>Details</summary>

The type of snippet the answer belongs to.
Possible values: `SmartSnippet|SmartSnippetSuggestion`

</details>
.**itemMetadata**: `object` (required)
<details><summary>Details</summary>

  * **uniqueFieldName**: `string` (required)

    The index field name used to uniquely identify the item.

  * **uniqueFieldValue**: `string` (required)

    The index field value used to uniquely identify the item.

  * **title**: `string`

    The title of the clicked item.

  * **author**: `string`

    The author of the clicked item.

  * **url**: `string`

    The URL identifying the clicked item.

    Format: uri

    Minlength: 1

    Maxlength: 1024

</details>
.**reason**: `string` (required)
<details><summary>Details</summary>

The reason for the negative feedback.
Possible values: `doesNotAnswer|partiallyAnswers|wasNotAQuestion|other`

</details>
.**additionalNotes**: `string`
<details><summary>Details</summary>

Additional details written in free text.

</details>
.**meta**: `object` (required)
<details><summary>Details</summary>

Meta Object
Common meta information for all events. This information is immutable and cannot be extended.

  * **type**: `string` (required)

    Event type

    Specifies the event type sent to Coveo Analytics.

  * **ts**: `integer` (required)

    Event Client-side timestamp

    Denotes the client-side timestamp when the event occurred.

    Minimum: 1577836800000

  * **location**: `string | null` (required)

    Indicates the URL of the resource where the event originated.

    Format: uri

    Minlength: 1

    Maxlength: 1024

  * **referrer**: `string | null` (required)

    Represents the URL that a user visited right before opening the current URL. May be empty.

    Maxlength: 1024

  * **source**: `array` (required)

    Defines one or more client side libraries that generated the analytics event. The format should be the library's name followed by `@`, and then the version. For example, `[custom.library.js@2.0.0]`.

  * **userAgent**: `string | null` (required)

    Represents the user agent of the browser.

    Minlength: 1

    Maxlength: 1024

  * **clientId**: `string` (required)

    Browser based user identifier

    A unique identifier for the browser recording the event. It should adhere to the UUID format.

  * **config**: `object` (required)

    * **trackingId**: `string | null` (required)

      Tracking identifier.

      Maxlength: 100

</details>
#### Sample payload

```json
[
  {
    "meta": {
      "type": "smartSnippets.submitFeedback",
      "ts": 1685557608944,
      "location": "https://www.mydomain.com/l/products",
      "referrer": "https://www.mydomain.com/l/headlamps",
      "config": {
        "trackingId": "mystore"
      },
      "source": [
        "relay@7.58.0"
      ],
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36",
      "clientId": "61afaffd-f47f-4d81-858a-6a2475b3d46d"
    },
    "responseId": "000003e8-06f0-21ee-8000-2eb5a363657c",
    "snippetType": "SmartSnippetSuggestion",
    "itemMetadata": {
      "uniqueFieldName": "permanentid",
      "uniqueFieldValue": "6b5d18cf6b2181df75290a58f87548b4964f5848fcf17ffd7c95d524ea4a",
      "author": "John Doe",
      "url": "https://www.mydomain.com/l/articles/how-to-search",
      "title": "Fix your headlamp issues"
    },
    "reason": "other",
    "additionalNotes": "it's too good to be true"
  }
]
```