---
title: zenoss.endpoint() function
description: zenoss.endpoint() sends events to Zenoss using data from input rows.
url: https://docs.influxdata.com/flux/v0/stdlib/contrib/bonitoo-io/zenoss/endpoint/
estimated_tokens: 3116
product: Flux
version: v0
---

# zenoss.endpoint() function

-   Flux 0.108.0+
-   View InfluxDB support

`zenoss.endpoint()` is a user-contributed function maintained by the [package author](#package-author-and-maintainer).

`zenoss.endpoint()` sends events to Zenoss using data from input rows.

### Usage

`zenoss.endpoint` is a factory function that outputs another function. The output function requires a `mapFn` parameter.

#### mapFn

A function that builds the object used to generate the POST request. Requires an `r` parameter.

`mapFn` accepts a table row (`r`) and returns an object that must include the following fields:

-   summary
-   device
-   component
-   severity
-   eventClass
-   eventClassKey
-   collector
-   message

For more information, see `zenoss.event()` parameters.

##### Function type signature

```js
(
    url: string,
    ?action: A,
    ?apiKey: B,
    ?method: C,
    ?password: string,
    ?tid: D,
    ?type: E,
    ?username: string,
) => (
    mapFn: (
        r: F,
    ) => {
        G with
        summary: O,
        severity: N,
        message: M,
        eventClassKey: L,
        eventClass: K,
        device: J,
        component: I,
        collector: H,
    },
) => (<-tables: stream[F]) => stream[{F with _sent: string}] where B: Equatable
```

For more information, see [Function type signatures](/flux/v0/function-type-signatures/).

## Parameters

### url

(Required) Zenoss [router endpoint URL](https://help.zenoss.com/zsd/RM/configuring-resource-manager/enabling-access-to-browser-interfaces/creating-and-changing-public-endpoints).

### username

Zenoss username to use for HTTP BASIC authentication. Default is `""` (no authentication).

### password

Zenoss password to use for HTTP BASIC authentication. Default is `""` (no authentication).

### apiKey

Zenoss cloud API key. Default is `""` (no API key).

### action

Zenoss router name. Default is `"EventsRouter"`.

### method

EventsRouter method. Default is `"add_event"`.

### type

Event type. Default is `"rpc"`.

### tid

Temporary request transaction ID. Default is `1`.

## Examples

### Send critical events to Zenoss

```js
import "contrib/bonitoo-io/zenoss"
import "influxdata/influxdb/secrets"

url = "https://tenant.zenoss.io:8080/zport/dmd/evconsole_router"
username = secrets.get(key: "ZENOSS_USERNAME")
password = secrets.get(key: "ZENOSS_PASSWORD")
endpoint = zenoss.endpoint(url: url, username: username, password: password)

crit_events =
    from(bucket: "example-bucket")
        |> range(start: -1m)
        |> filter(fn: (r) => r._measurement == "statuses" and status == "crit")

crit_events
    |> endpoint(
        mapFn: (r) =>
            ({
                summary: "Critical event for ${r.host}",
                device: r.deviceID,
                component: r.host,
                severity: "Critical",
                eventClass: "/App",
                eventClassKey: "",
                collector: "",
                message: "${r.host} is in a critical state.",
            }),
    )()
```

[notification endpoints](/flux/v0/tags/notification-endpoints/) [transformations](/flux/v0/tags/transformations/)
