Relay Reference

This is for:




The EventConfig object provides additonal information for the configuration associated with the event.


  • trackingId: string

    The unique identifier of a web property. See Tracking ID.


The Meta object provides a structured representation of metadata associated with an emitted event. This object is auto-populated by the Relay library.


  • clientId: string

    Persistent unique identifier of a device.

  • config: EventConfig

    Configuration associated with the event.

  • location: nil | string

    Browser Location’s href property if set.

  • referrer: nil | string

    Browser Document’s referrer property if set.

  • source: string[]

    Names and versions of the client side libraries which built and emitted this event.

  • ts: number

    Timestamp when the event was emitted.

  • type: string

    Event’s type that was emitted.

  • userAgent: nil | string

    Browser Navigator’s user agent property if set.


Relay instance. This object provides a comprehensive set of variables and methods for interacting with the Event API.


  • clearStorage

    Removes the visitorId cookie and localStorage key.

    • Returns void

  • emit

    Sends an event to the Event API.

    • Parameters

      • type: string

        Event’s type to be emitted.

      • payload: Record<string> | Record<any>

        Payload to include within the event.

    • Returns Promise<void>

  • getMeta

    Gets the client-side generated meta object.

    • Parameters

      • type: string

        Event’s type that will be included in the meta object.

    • Returns Meta

  • off

    Detach callback(s) from events. If only the "type" parameter is set, all callbacks for the specified type will be removed.

    • Parameters

      • type: string

        Event’s type.

      • callback: EventCallback

        Callback that should be removed.

    • Returns void

  • on

    Attaches an event callback to either all event types or a specific one. The callback set will be called when an event with the specified type is emitted. It’s not possible to modify the payload of the event sent to Coveo using this listener. Setting type as "*" will trigger the callback for all event types. Returns the "off" function to detach the event callback.

    • Parameters

    • Returns Off

  • updateConfig

    Updates Relay’s configuration after its initialization.


  • version: string

    Current version of the Relay library.


The RelayConfig object defines the configuration options for initializing a Relay instance.


  • mode: RelayMode

    Defines the library mode.

  • source: string[]

    Optionally allows a Relay integration to specify the name(s) of software package(s) relay is being called from. These names will be transmitted with each event, along with Relay’s own version. The recommendation is to specify them using a 'softwarename@softwareversion' string.

  • token: string

    Token to authorize the access to the Event API endpoint.

  • trackingId: string

    The unique identifier of a web property. See Tracking ID.

  • url: string

    Endpoint defined to communicate with the Event API.



Initializes the Relay library object.

Type Aliases


Callback to perform an action when a specified event is emitted.

  • Parameters

    • event: RelayEvent

      The Relay event payload that triggered the callback.

  • Returns void


Defines the library mode. The modes available are emit and disabled. emit sends analytics events to Coveo to be stored. disabled prevents the emission of events and does not trigger callbacks.

Default: emit