Create/Update OIM Configuration

Open Integration Manager v1 Configuration

The Open Integration Manager v1 API Configuration should only be used by customers who onboarded the BigPanda platform prior to 2023.

In the future, we plan to make v2 available to customers that were onboarded prior to 2023. An upgrade will not be required and both configuration versions will continue to be supported.

🚧

Authentication

All BigPanda APIs require Bearer Token Authorization in the call headers.

This API uses the Org Token type of Authorization token.

📘

Sample Payload

For field validation, BigPanda checks against an existing sample JSON payload from the integration. For all create calls to the API, a sample must be included in the body of all calls. For update calls to the API, the sample payload field must be included, but can be blank.

All payload fields referenced in configuration settings must be included in the sample.

Sample Call

curl --request POST \
     --url https://integrations.bigpanda.io/configurations/alerts/oim/{APP_KEY} \
     --header 'Authorization: Bearer {YOUR ORG TOKEN}' \
     --header 'Content-Type: application/json' \
     --data '
    {
      "config": {
        "is_array": true,
        "array_source": "alerts",
        "status": {
          "source": [
            "@alert.status",
            "@alert.labels.severity"
          ],
          "default_to": "critical",
          "status_map": {
            "critical": [
              "page",
              "critical"
            ],
            "warning": [
              "warn",
              "warning"
            ],
            "acknowledged": [
              "acknowledged"
            ],
            "ok": [
              "resolved"
            ]
          }
        },
        "primary_property": {
          "source": [
            "@alert.labels.instance",
            "@alert.labels.job",
            "@alert.labels.alertname"
          ]
        },
        "secondary_property": {
          "source": [
            "@alert.labels.monitor",
            "@alert.labels.alertname"
          ]
        },
        "timestamp": {
          "source": [
            "@alert.annotations.timestamp",
            "@alert.startsAt",
            "@alert.endsAt"
          ]
        },
        "additional_attributes": [
          {
            "source": ["@alert.startsAt"]
          },
          {
            "source": ["@alert.endsAt"]
          },
          {
            "source": ["@alert.generatorURL"]
          },
          {
            "source": ["@alert.annotations"],
            "flatten": true
          },
          {
            "source": ["@alert.labels"],
            "flatten": true
          },
          {
            "source": ["@alert.fingerprint"]
          }
        ],
        "map_remaining": false
      },
      "sample_payload": {
        "alerts": [
          {
            "generatorURL": "https://some-url.io",
            "fingerprint": "123456789",
            "annotations": {
              "description": "This alert is used to check the CPU utilization of this non-existent server",
              "runbook_url": "https://runbook.io/cpu-check"
            },
            "startsAt": "2022-07-05T19:59:25.661Z",
            "endsAt": "0001-01-01T00:00:00Z",
            "status": "firing",
            "labels": {
              "severity": "page",
              "instance": "bigpanda-server",
              "alertname": "BigPanda Test",
              "team": "metrics",
              "env": "test",
              "job": "CPU Check",
              "locale": "ca",
              "timestamp": "1.657051103137505e+09"
            }
          }
        ],
        "commonLabels": {
          "instance": "bigpanda-server",
          "alertname": "BigPanda Test",
          "team": "metrics",
          "env": "test",
          "job": "CPU Check",
          "locale": "ca",
          "timestamp": "1.657051103137505e+09"
        },
        "externalURL": "https://external-url.io",
        "groupLabels": {
          "instance": "bigpanda-server",
          "alertname": "BigPanda Test",
          "team": "metrics",
          "env": "test",
          "job": "CPU Check",
          "locale": "ca",
          "timestamp": "1.657051103137505e+09"
        },
        "receiver": "bigpanda",
        "version": "4",
        "commonAnnotations": {
          "description": "This alert is used to check the CPU utilization of this non-existent server",
          "runbook_url": "https://runbook.io/cpu-check"
        },
        "status": "firing"
      }
    }'
curl --request POST \
     --url https://eu.integrations.bigpanda.io/configurations/alerts/oim/{APP_KEY} \
     --header 'Authorization: Bearer {YOUR ORG TOKEN}' \
     --header 'Content-Type: application/json' \
     --data '
    {
      "config": {
        "is_array": true,
        "array_source": "alerts",
        "status": {
          "source": [
            "@alert.status",
            "@alert.labels.severity"
          ],
          "default_to": "critical",
          "status_map": {
            "critical": [
              "page",
              "critical"
            ],
            "warning": [
              "warn",
              "warning"
            ],
            "acknowledged": [
              "acknowledged"
            ],
            "ok": [
              "resolved"
            ]
          }
        },
        "primary_property": {
          "source": [
            "@alert.labels.instance",
            "@alert.labels.job",
            "@alert.labels.alertname"
          ]
        },
        "secondary_property": {
          "source": [
            "@alert.labels.monitor",
            "@alert.labels.alertname"
          ]
        },
        "timestamp": {
          "source": [
            "@alert.annotations.timestamp",
            "@alert.startsAt",
            "@alert.endsAt"
          ]
        },
        "additional_attributes": [
          {
            "source": ["@alert.startsAt"]
          },
          {
            "source": ["@alert.endsAt"]
          },
          {
            "source": ["@alert.generatorURL"]
          },
          {
            "source": ["@alert.annotations"],
            "flatten": true
          },
          {
            "source": ["@alert.labels"],
            "flatten": true
          },
          {
            "source": ["@alert.fingerprint"]
          }
        ],
        "map_remaining": false
      },
      "sample_payload": {
        "alerts": [
          {
            "generatorURL": "https://some-url.io",
            "fingerprint": "123456789",
            "annotations": {
              "description": "This alert is used to check the CPU utilization of this non-existent server",
              "runbook_url": "https://runbook.io/cpu-check"
            },
            "startsAt": "2022-07-05T19:59:25.661Z",
            "endsAt": "0001-01-01T00:00:00Z",
            "status": "firing",
            "labels": {
              "severity": "page",
              "instance": "bigpanda-server",
              "alertname": "BigPanda Test",
              "team": "metrics",
              "env": "test",
              "job": "CPU Check",
              "locale": "ca",
              "timestamp": "1.657051103137505e+09"
            }
          }
        ],
        "commonLabels": {
          "instance": "bigpanda-server",
          "alertname": "BigPanda Test",
          "team": "metrics",
          "env": "test",
          "job": "CPU Check",
          "locale": "ca",
          "timestamp": "1.657051103137505e+09"
        },
        "externalURL": "https://external-url.io",
        "groupLabels": {
          "instance": "bigpanda-server",
          "alertname": "BigPanda Test",
          "team": "metrics",
          "env": "test",
          "job": "CPU Check",
          "locale": "ca",
          "timestamp": "1.657051103137505e+09"
        },
        "receiver": "bigpanda",
        "version": "4",
        "commonAnnotations": {
          "description": "This alert is used to check the CPU utilization of this non-existent server",
          "runbook_url": "https://runbook.io/cpu-check"
        },
        "status": "firing"
      }
    }'
Language
Authorization
Bearer
JWT