{"owner":"prometheus","repo":"alertmanager","hasSpec":true,"specFile":"api/v2/openapi.yaml","branch":"HEAD","format":"yaml","version":"2.0 (YAML)","title":"alertmanager","description":"","endpoints":[],"spec":"---\n\nswagger: '2.0'\n\ninfo:\n  version: 0.0.1\n  title: Alertmanager API\n  description: API of the Prometheus Alertmanager (https://github.com/prometheus/alertmanager)\n  license:\n    name: Apache 2.0\n    url: http://www.apache.org/licenses/LICENSE-2.0.html\n\nconsumes:\n  - \"application/json\"\nproduces:\n  - \"application/json\"\n\nbasePath: \"/api/v2/\"\n\npaths:\n  /status:\n    get:\n      tags:\n        - general\n      operationId: getStatus\n      description: Get current status of an Alertmanager instance and its cluster\n      responses:\n        '200':\n          description: Get status response\n          schema:\n            $ref: '#/definitions/alertmanagerStatus'\n  /receivers:\n    get:\n      tags:\n        - receiver\n      operationId: getReceivers\n      description: Get list of all receivers (name of notification integrations)\n      parameters:\n        - $ref: '#/parameters/receiverMatchers'\n      responses:\n        '200':\n          description: Get receivers response\n          schema:\n            type: array\n            items:\n              $ref: '#/definitions/receiver'\n        '400':\n          $ref: '#/responses/BadRequest'\n  /silences:\n    get:\n      tags:\n        - silence\n      operationId: getSilences\n      description: Get a list of silences\n      responses:\n        '200':\n          description: Get silences response\n          schema:\n            $ref: '#/definitions/gettableSilences'\n        '400':\n          $ref: '#/responses/BadRequest'\n        '500':\n          $ref: '#/responses/InternalServerError'\n      parameters:\n        - name: filter\n          in: query\n          description: A matcher expression to filter silences. For example `alertname=\"MyAlert\"`. It can be repeated to apply multiple matchers.\n          required: false\n          type: array\n          collectionFormat: multi\n          items:\n            type: string\n        - in: query\n          name: active\n          type: boolean\n          description: Include active silences in results. If false, excludes active silences.\n          default: true\n        - in: query\n          name: expired\n          type: boolean\n          description: Include expired silences in results. If false, excludes expired silences.\n          default: true\n        - in: query\n          name: pending\n          type: boolean\n          description: Include pending silences in results. If false, excludes pending silences.\n          default: true\n    post:\n      tags:\n        - silence\n      operationId: postSilences\n      description: Post a new silence or update an existing one\n      parameters:\n        - in: body\n          name: silence\n          description: The silence to create\n          required: true\n          schema:\n            $ref: '#/definitions/postableSilence'\n      responses:\n        '200':\n          description: Create / update silence response\n          schema:\n            type: object\n            properties:\n              silenceID:\n                type: string\n        '400':\n          $ref: '#/responses/BadRequest'\n        '404':\n          description: A silence with the specified ID was not found\n          schema:\n            type: string\n  /silence/{silenceID}:\n    parameters:\n      - in: path\n        name: silenceID\n        type: string\n        format: uuid\n        required: true\n        description: ID of the silence to get\n    get:\n      tags:\n        - silence\n      operationId: getSilence\n      description: Get a silence by its ID\n      responses:\n        '200':\n          description: Get silence response\n          schema:\n            $ref: '#/definitions/gettableSilence'\n        '404':\n          description: A silence with the specified ID was not found\n        '500':\n          $ref: '#/responses/InternalServerError'\n    delete:\n      tags:\n        - silence\n      operationId: deleteSilence\n      description: Delete a silence by its ID\n      parameters:\n        - in: path\n          name: silenceID\n          type: string\n          format: uuid\n          required: true\n          description: ID of the silence to get\n      responses:\n        '200':\n          description: Delete silence response\n        '404':\n          description: A silence with the specified ID was not found\n        '500':\n          $ref: '#/responses/InternalServerError'\n  /alerts:\n    get:\n      tags:\n        - alert\n      operationId: getAlerts\n      description: Get a list of alerts\n      parameters:\n        - in: query\n          name: active\n          type: boolean\n          description: Include active alerts in results. If false, excludes active alerts and returns only suppressed (silenced or inhibited) alerts.\n          default: true\n        - in: query\n          name: silenced\n          type: boolean\n          description: Include silenced alerts in results. If false, excludes silenced alerts. Note that true (default) shows both silenced and non-silenced alerts.\n          default: true\n        - in: query\n          name: inhibited\n          type: boolean\n          description: Include inhibited alerts in results. If false, excludes inhibited alerts. Note that true (default) shows both inhibited and non-inhibited alerts.\n          default: true\n        - in: query\n          name: unprocessed\n          type: boolean\n          description: Include unprocessed alerts in results. If false, excludes unprocessed alerts. Note that true (default) shows both processed and unprocessed alerts.\n          default: true\n        - name: filter\n          in: query\n          description: A matcher expression to filter alerts. For example `alertname=\"MyAlert\"`. It can be repeated to apply multiple matchers.\n          required: false\n          type: array\n          collectionFormat: multi\n          items:\n            type: string\n        - name: receiver\n          in: query\n          description: A regex matching receivers to filter alerts by\n          required: false\n          type: string\n        - $ref: '#/parameters/receiverMatchers'\n      responses:\n        '200':\n          description: Get alerts response\n          schema:\n            '$ref': '#/definitions/gettableAlerts'\n        '400':\n          $ref: '#/responses/BadRequest'\n        '500':\n          $ref: '#/responses/InternalServerError'\n    post:\n      tags:\n        - alert\n      operationId: postAlerts\n      description: Create new Alerts\n      parameters:\n        - in: body\n          name: alerts\n          description: The alerts to create\n          required: true\n          schema:\n            $ref: '#/definitions/postableAlerts'\n      responses:\n        '200':\n          description: Create alerts response\n        '500':\n          $ref: '#/responses/InternalServerError'\n        '400':\n          $ref: '#/responses/BadRequest'\n  /alerts/groups:\n    get:\n      tags:\n        - alertgroup\n      operationId: getAlertGroups\n      description: Get a list of alert groups\n      parameters:\n        - in: query\n          name: active\n          type: boolean\n          description: Include active alerts within the returned groups. If false, excludes active alerts from groups and only shows suppressed (silenced or inhibited) alerts.\n          default: true\n        - in: query\n          name: silenced\n          type: boolean\n          description: Include silenced alerts within the returned groups. If false, excludes silenced alerts from groups. Note that true (default) shows both silenced and non-silenced alerts.\n          default: true\n        - in: query\n          name: inhibited\n          type: boolean\n          description: Include inhibited alerts within the returned groups. If false, excludes inhibited alerts from groups. Note that true (default) shows both inhibited and non-inhibited alerts.\n          default: true\n        - in: query\n          name: muted\n          type: boolean\n          description: Include muted (silenced or inhibited) alert groups in results. If false, excludes entire groups where all alerts are muted.\n          default: true\n        - name: filter\n          in: query\n          description: A matcher expression to filter alert groups. For example `alertname=\"MyAlert\"`. It can be repeated to apply multiple matchers.\n          required: false\n          type: array\n          collectionFormat: multi\n          items:\n            type: string\n        - name: receiver\n          in: query\n          description: A regex matching receivers to filter alerts by\n          required: false\n          type: string\n        - '$ref': '#/parameters/receiverMatchers'\n      responses:\n        '200':\n          description: Get alert groups response\n          schema:\n            '$ref': '#/definitions/alertGroups'\n        '400':\n          $ref: '#/responses/BadRequest'\n        '500':\n          $ref: '#/responses/InternalServerError'\n\nresponses:\n  BadRequest:\n    description: Bad request\n    schema:\n      type: string\n  InternalServerError:\n    description: Internal server error\n    schema:\n      type: string\n\nparameters:\n  receiverMatchers:\n    name: receiver_matchers\n    in: query\n    description: A matcher expression to filter by receiver labels. For example `owner=\"my-team\"`. Can be repeated to apply multiple matchers.\n    required: false\n    type: array\n    collectionFormat: multi\n    items:\n      type: string\n\ndefinitions:\n  alertmanagerStatus:\n    type: object\n    properties:\n      cluster:\n        $ref: '#/definitions/clusterStatus'\n      versionInfo:\n        $ref: '#/definitions/versionInfo'\n      config:\n        $ref: '#/definitions/alertmanagerConfig'\n      uptime:\n        type: string\n        format: date-time\n    required:\n      - cluster\n      - versionInfo\n      - config\n      - uptime\n  clusterStatus:\n    type: object\n    properties:\n      name:\n        type: string\n      status:\n        type: string\n        enum: [\"ready\", \"settling\", \"disabled\"]\n      peers:\n        type: array\n        items:\n          $ref: '#/definitions/peerStatus'\n    required:\n      - status\n  alertmanagerConfig:\n    type: object\n    properties:\n      original:\n        type: string\n    required:\n      - original\n  versionInfo:\n    type: object\n    properties:\n      version:\n        type: string\n      revision:\n        type: string\n      branch:\n        type: string\n      buildUser:\n        type: string\n      buildDate:\n        type: string\n      goVersion:\n        type: string\n    required:\n      - version\n      - revision\n      - branch\n      - buildUser\n      - buildDate\n      - goVersion\n  peerStatus:\n    type: object\n    properties:\n      name:\n        type: string\n      address:\n        type: string\n    required:\n      - name\n      - address\n  silence:\n    type: object\n    properties:\n      matchers:\n        $ref: '#/definitions/matchers'\n      startsAt:\n        type: string\n        format: date-time\n      endsAt:\n        type: string\n        format: date-time\n      createdBy:\n        type: string\n      comment:\n        type: string\n      annotations:\n        $ref: \"#/definitions/labelSet\"\n    required:\n      - matchers\n      - startsAt\n      - endsAt\n      - createdBy\n      - comment\n  gettableSilence:\n    allOf:\n      - type: object\n        properties:\n          id:\n            type: string\n          status:\n            $ref: '#/definitions/silenceStatus'\n          updatedAt:\n            type: string\n            format: date-time\n        required:\n          - id\n          - status\n          - updatedAt\n          - annotations\n      - $ref: '#/definitions/silence'\n  postableSilence:\n    allOf:\n      - type: object\n        properties:\n          id:\n            type: string\n      - $ref: '#/definitions/silence'\n  silenceStatus:\n    type: object\n    properties:\n      state:\n        type: string\n        enum: [\"expired\", \"active\", \"pending\"]\n    required:\n      - state\n  gettableSilences:\n    type: array\n    items:\n      $ref: '#/definitions/gettableSilence'\n  matchers:\n    type: array\n    items:\n      $ref: '#/definitions/matcher'\n    minItems: 1\n  matcher:\n    type: object\n    properties:\n      name:\n        type: string\n      value:\n        type: string\n      isRegex:\n        type: boolean\n      isEqual:\n        type: boolean\n        default: true\n    required:\n      - name\n      - value\n      - isRegex\n  alert:\n    type: object\n    properties:\n      labels:\n        $ref: '#/definitions/labelSet'\n      generatorURL:\n        type: string\n        format: uri\n    required:\n      - labels\n  gettableAlerts:\n    type: array\n    items:\n      $ref: '#/definitions/gettableAlert'\n  gettableAlert:\n    allOf:\n      - type: object\n        properties:\n          annotations:\n            $ref: '#/definitions/labelSet'\n          receivers:\n            type: array\n            items:\n              $ref: '#/definitions/receiverReference'\n          fingerprint:\n            type: string\n          startsAt:\n            type: string\n            format: date-time\n          updatedAt:\n            type: string\n            format: date-time\n          endsAt:\n            type: string\n            format: date-time\n          status:\n            $ref: '#/definitions/alertStatus'\n        required:\n          - receivers\n          - fingerprint\n          - startsAt\n          - updatedAt\n          - endsAt\n          - annotations\n          - status\n      - $ref: '#/definitions/alert'\n  postableAlerts:\n    type: array\n    items:\n      $ref: '#/definitions/postableAlert'\n  postableAlert:\n    allOf:\n      - type: object\n        properties:\n          startsAt:\n            type: string\n            format: date-time\n          endsAt:\n            type: string\n            format: date-time\n          annotations:\n            $ref: '#/definitions/labelSet'\n      - $ref: '#/definitions/alert'\n  alertGroups:\n    type: array\n    items:\n      $ref: '#/definitions/alertGroup'\n  alertGroup:\n    type: object\n    properties:\n      labels:\n        $ref: '#/definitions/labelSet'\n      routeLabels:\n        $ref: '#/definitions/labelSet'\n      receiver:\n        $ref: '#/definitions/receiverReference'\n      alerts:\n        type: array\n        items:\n          $ref: '#/definitions/gettableAlert'\n    required:\n      - labels\n      - routeLabels\n      - receiver\n      - alerts\n  alertStatus:\n    type: object\n    properties:\n      state:\n        type: string\n        enum: ['unprocessed', 'active', 'suppressed']\n      silencedBy:\n        type: array\n        items:\n          type: string\n      inhibitedBy:\n        type: array\n        items:\n          type: string\n      mutedBy:\n        type: array\n        items:\n          type: string\n    required:\n      - state\n      - silencedBy\n      - inhibitedBy\n      - mutedBy\n  receiver:\n    type: object\n    properties:\n      name:\n        type: string\n      labels:\n        $ref: '#/definitions/labelSet'\n    required:\n      - name\n  receiverReference:\n    type: object\n    properties:\n      name:\n        type: string\n    required:\n      - name\n  labelSet:\n    type: object\n    additionalProperties:\n      type: string\n\n\ntags:\n  - name: general\n    description: General Alertmanager operations\n  - name: receiver\n    description: Everything related to Alertmanager receivers\n  - name: silence\n    description: Everything related to Alertmanager silences\n  - name: alert\n    description: Everything related to Alertmanager alerts\n"}