Skip to main content

Developer Guide

The Developer Guide provides resources for developers who want to perform advanced functions or build applications that integrate with Moogsoft Enterprise.

If you want to build a new integration or create a custom reporting dashboard, this guide outlines how you can expose API endpoints to invoke various actions and functionality.

You can use the following APIs and modules:

  • Graze API: Main API that you can use to create, retrieve, and update data in Moogsoft Enterprise.

  • Stats API: API that you can use to retrieve statistics from Moogsoft Enterprise for reporting and dashboards.

  • Topologies API: API that allows you to create, modify, retrieve and delete topologies and their nodes and links.

  • Integrations API: Acts as an integration point for external services and exposes selected Moogsoft Enterprise functionality to authorized external clients.

  • Moobot modules: Allows you to create bots to perform automated tasks and expose functions in different Moolets.

  • Programmatic LAM: A custom polling LAM that you can use to accept API calls and parse the responses into Moogsoft Enterprise events.

You can also use these APIs to perform tasks such as Situation enrichment. See Enrichment for more information.

Graze API

You can use the Graze API to perform actions including the following:

  • Assign and de-assign alerts.

  • Create and close Situations.

  • Add processes and services.

  • Create and update SAML realms.

  • Create and delete maintenance windows.

The Graze API is useful if you want to perform repeated actions. For example, sending repeated cURL commands using a script. For example, you can create a ticketing integration to enable bi-directional communication between Moogsoft Enterprise and a ticketing system. See Integrations for available ticketing integrations in Moogsoft Enterprise.

An integration can raise and close Moogsoft Enterprise alerts in line with ticketing events, assign users and replicate comments. For all available endpoints see Graze API.

Stats API

You can use the Stats API to retrieve statistics about:

  • Your Moogsoft Enterprise system's performance.

  • Teams' performance.

  • Individual users' performance.

You can use this statistical data to populate dashboards. For example, you can use call getNewEventsPerSituationsStats to see the noise reduction from events to Situations for your Moogsoft Enterprise system.

These endpoints have been designed and optimized for Grafana. See Stats API for all available endpoints. See the Grafana Setup Tutorial for more installation and configuration instructions.

Topologies API

You can use the Topologies API to create, configure and retrieve information about:

  • Topologies

  • Nodes

  • Links

See Topologies API for more information.

Integrations API

You can use the Integrations API to create, configure and retrieve information about:

  • Brokers

  • Integrations

  • Workflows

See Integrations API for more information.

Moobot modules

You can create and configure Moobot modules to perform automated tasks and expose functions including:

  • Access external databases.

  • Access an external RESTful API via HTTP.

  • Read configuration files within LAMbots and Moobots.

  • Build a key value dictionary shared across Moobots.

  • Query and manipulate entities in the Moogsoft Enterprise databases. See MoogDb V2 for all available methods.

  • Send an email in response to events occurring in Moogsoft Enterprise.

For more information see Moobot Modules.

Programmatic LAM

The Programmatic LAM is a custom polling LAM. It is an advanced version of the REST Client LAM. The REST Client LAM sends a single API call and parses the responses it receives into Moogsoft Enterprise events. The Programmatic LAM can send multiple calls but you must define the processing yourself in the LAMbot using JavaScript.

For more information see Programmatic LAM.