...

Text file src/github.com/prometheus/alertmanager/api/v2/openapi.yaml

Documentation: github.com/prometheus/alertmanager/api/v2

     1---
     2
     3swagger: '2.0'
     4
     5info:
     6  version: 0.0.1
     7  title: Alertmanager API
     8  description: API of the Prometheus Alertmanager (https://github.com/prometheus/alertmanager)
     9  license:
    10    name: Apache 2.0
    11    url: http://www.apache.org/licenses/LICENSE-2.0.html
    12
    13consumes:
    14  - "application/json"
    15produces:
    16  - "application/json"
    17
    18basePath: "/api/v2/"
    19
    20paths:
    21  /status:
    22    get:
    23      tags:
    24        - general
    25      operationId: getStatus
    26      description: Get current status of an Alertmanager instance and its cluster
    27      responses:
    28        '200':
    29          description: Get status response
    30          schema:
    31            $ref: '#/definitions/alertmanagerStatus'
    32  /receivers:
    33    get:
    34      tags:
    35        - receiver
    36      operationId: getReceivers
    37      description: Get list of all receivers (name of notification integrations)
    38      responses:
    39        '200':
    40          description: Get receivers response
    41          schema:
    42            type: array
    43            items:
    44              $ref: '#/definitions/receiver'
    45  /silences:
    46    get:
    47      tags:
    48        - silence
    49      operationId: getSilences
    50      description: Get a list of silences
    51      responses:
    52        '200':
    53          description: Get silences response
    54          schema:
    55            $ref: '#/definitions/gettableSilences'
    56        '500':
    57          $ref: '#/responses/InternalServerError'
    58      parameters:
    59        - name: filter
    60          in: query
    61          description: A list of matchers to filter silences by
    62          required: false
    63          type: array
    64          collectionFormat: multi
    65          items:
    66            type: string
    67    post:
    68      tags:
    69        - silence
    70      operationId: postSilences
    71      description: Post a new silence or update an existing one
    72      parameters:
    73        - in: body
    74          name: silence
    75          description: The silence to create
    76          required: true
    77          schema:
    78            $ref: '#/definitions/postableSilence'
    79      responses:
    80        '200':
    81          description: Create / update silence response
    82          schema:
    83            type: object
    84            properties:
    85              silenceID:
    86                type: string
    87        '400':
    88          $ref: '#/responses/BadRequest'
    89        '404':
    90          description: A silence with the specified ID was not found
    91          schema:
    92            type: string
    93  /silence/{silenceID}:
    94    parameters:
    95      - in: path
    96        name: silenceID
    97        type: string
    98        format: uuid
    99        required: true
   100        description: ID of the silence to get
   101    get:
   102      tags:
   103        - silence
   104      operationId: getSilence
   105      description: Get a silence by its ID
   106      responses:
   107        '200':
   108          description: Get silence response
   109          schema:
   110            $ref: '#/definitions/gettableSilence'
   111        '404':
   112          description: A silence with the specified ID was not found
   113        '500':
   114          $ref: '#/responses/InternalServerError'
   115    delete:
   116      tags:
   117        - silence
   118      operationId: deleteSilence
   119      description: Delete a silence by its ID
   120      parameters:
   121        - in: path
   122          name: silenceID
   123          type: string
   124          format: uuid
   125          required: true
   126          description: ID of the silence to get
   127      responses:
   128        '200':
   129          description: Delete silence response
   130        '500':
   131          $ref: '#/responses/InternalServerError'
   132  /alerts:
   133    get:
   134      tags:
   135        - alert
   136      operationId: getAlerts
   137      description: Get a list of alerts
   138      parameters:
   139        - in: query
   140          name: active
   141          type: boolean
   142          description: Show active alerts
   143          default: true
   144        - in: query
   145          name: silenced
   146          type: boolean
   147          description: Show silenced alerts
   148          default: true
   149        - in: query
   150          name: inhibited
   151          type: boolean
   152          description: Show inhibited alerts
   153          default: true
   154        - in: query
   155          name: unprocessed
   156          type: boolean
   157          description: Show unprocessed alerts
   158          default: true
   159        - name: filter
   160          in: query
   161          description: A list of matchers to filter alerts by
   162          required: false
   163          type: array
   164          collectionFormat: multi
   165          items:
   166            type: string
   167        - name: receiver
   168          in: query
   169          description: A regex matching receivers to filter alerts by
   170          required: false
   171          type: string
   172      responses:
   173        '200':
   174          description: Get alerts response
   175          schema:
   176            '$ref': '#/definitions/gettableAlerts'
   177        '400':
   178          $ref: '#/responses/BadRequest'
   179        '500':
   180          $ref: '#/responses/InternalServerError'
   181    post:
   182      tags:
   183        - alert
   184      operationId: postAlerts
   185      description: Create new Alerts
   186      parameters:
   187        - in: body
   188          name: alerts
   189          description: The alerts to create
   190          required: true
   191          schema:
   192            $ref: '#/definitions/postableAlerts'
   193      responses:
   194        '200':
   195          description: Create alerts response
   196        '500':
   197          $ref: '#/responses/InternalServerError'
   198        '400':
   199          $ref: '#/responses/BadRequest'
   200  /alerts/groups:
   201    get:
   202      tags:
   203        - alertgroup
   204      operationId: getAlertGroups
   205      description: Get a list of alert groups
   206      parameters:
   207        - in: query
   208          name: active
   209          type: boolean
   210          description: Show active alerts
   211          default: true
   212        - in: query
   213          name: silenced
   214          type: boolean
   215          description: Show silenced alerts
   216          default: true
   217        - in: query
   218          name: inhibited
   219          type: boolean
   220          description: Show inhibited alerts
   221          default: true
   222        - name: filter
   223          in: query
   224          description: A list of matchers to filter alerts by
   225          required: false
   226          type: array
   227          collectionFormat: multi
   228          items:
   229            type: string
   230        - name: receiver
   231          in: query
   232          description: A regex matching receivers to filter alerts by
   233          required: false
   234          type: string
   235      responses:
   236        '200':
   237          description: Get alert groups response
   238          schema:
   239            '$ref': '#/definitions/alertGroups'
   240        '400':
   241          $ref: '#/responses/BadRequest'
   242        '500':
   243          $ref: '#/responses/InternalServerError'
   244
   245responses:
   246  BadRequest:
   247    description: Bad request
   248    schema:
   249      type: string
   250  InternalServerError:
   251    description: Internal server error
   252    schema:
   253      type: string
   254
   255
   256definitions:
   257  alertmanagerStatus:
   258    type: object
   259    properties:
   260      cluster:
   261        $ref: '#/definitions/clusterStatus'
   262      versionInfo:
   263        $ref: '#/definitions/versionInfo'
   264      config:
   265        $ref: '#/definitions/alertmanagerConfig'
   266      uptime:
   267        type: string
   268        format: date-time
   269    required:
   270      - cluster
   271      - versionInfo
   272      - config
   273      - uptime
   274  clusterStatus:
   275    type: object
   276    properties:
   277      name:
   278        type: string
   279      status:
   280        type: string
   281        enum: ["ready", "settling", "disabled"]
   282      peers:
   283        type: array
   284        items:
   285          $ref: '#/definitions/peerStatus'
   286    required:
   287      - status
   288  alertmanagerConfig:
   289    type: object
   290    properties:
   291      original:
   292        type: string
   293    required:
   294      - original
   295  versionInfo:
   296    type: object
   297    properties:
   298      version:
   299        type: string
   300      revision:
   301        type: string
   302      branch:
   303        type: string
   304      buildUser:
   305        type: string
   306      buildDate:
   307        type: string
   308      goVersion:
   309        type: string
   310    required:
   311      - version
   312      - revision
   313      - branch
   314      - buildUser
   315      - buildDate
   316      - goVersion
   317  peerStatus:
   318    type: object
   319    properties:
   320      name:
   321        type: string
   322      address:
   323        type: string
   324    required:
   325      - name
   326      - address
   327  silence:
   328    type: object
   329    properties:
   330      matchers:
   331        $ref: '#/definitions/matchers'
   332      startsAt:
   333        type: string
   334        format: date-time
   335      endsAt:
   336        type: string
   337        format: date-time
   338      createdBy:
   339        type: string
   340      comment:
   341        type: string
   342    required:
   343      - matchers
   344      - startsAt
   345      - endsAt
   346      - createdBy
   347      - comment
   348  gettableSilence:
   349    allOf:
   350      - type: object
   351        properties:
   352          id:
   353            type: string
   354          status:
   355            $ref: '#/definitions/silenceStatus'
   356          updatedAt:
   357            type: string
   358            format: date-time
   359        required:
   360          - id
   361          - status
   362          - updatedAt
   363      - $ref: '#/definitions/silence'
   364  postableSilence:
   365    allOf:
   366      - type: object
   367        properties:
   368          id:
   369            type: string
   370      - $ref: '#/definitions/silence'
   371  silenceStatus:
   372    type: object
   373    properties:
   374      state:
   375        type: string
   376        enum: ["expired", "active", "pending"]
   377    required:
   378      - state
   379  gettableSilences:
   380    type: array
   381    items:
   382      $ref: '#/definitions/gettableSilence'
   383  matchers:
   384    type: array
   385    items:
   386      $ref: '#/definitions/matcher'
   387    minItems: 1
   388  matcher:
   389    type: object
   390    properties:
   391      name:
   392        type: string
   393      value:
   394        type: string
   395      isRegex:
   396        type: boolean
   397      isEqual:
   398        type: boolean
   399        default: true
   400    required:
   401      - name
   402      - value
   403      - isRegex
   404  alert:
   405    type: object
   406    properties:
   407      labels:
   408        $ref: '#/definitions/labelSet'
   409      generatorURL:
   410        type: string
   411        format: uri
   412    required:
   413      - labels
   414  gettableAlerts:
   415    type: array
   416    items:
   417      $ref: '#/definitions/gettableAlert'
   418  gettableAlert:
   419    allOf:
   420      - type: object
   421        properties:
   422          annotations:
   423            $ref: '#/definitions/labelSet'
   424          receivers:
   425            type: array
   426            items:
   427              $ref: '#/definitions/receiver'
   428          fingerprint:
   429            type: string
   430          startsAt:
   431            type: string
   432            format: date-time
   433          updatedAt:
   434            type: string
   435            format: date-time
   436          endsAt:
   437            type: string
   438            format: date-time
   439          status:
   440            $ref: '#/definitions/alertStatus'
   441        required:
   442          - receivers
   443          - fingerprint
   444          - startsAt
   445          - updatedAt
   446          - endsAt
   447          - annotations
   448          - status
   449      - $ref: '#/definitions/alert'
   450  postableAlerts:
   451    type: array
   452    items:
   453      $ref: '#/definitions/postableAlert'
   454  postableAlert:
   455    allOf:
   456      - type: object
   457        properties:
   458          startsAt:
   459            type: string
   460            format: date-time
   461          endsAt:
   462            type: string
   463            format: date-time
   464          annotations:
   465            $ref: '#/definitions/labelSet'
   466      - $ref: '#/definitions/alert'
   467  alertGroups:
   468    type: array
   469    items:
   470      $ref: '#/definitions/alertGroup'
   471  alertGroup:
   472    type: object
   473    properties:
   474      labels:
   475        $ref: '#/definitions/labelSet'
   476      receiver:
   477        $ref: '#/definitions/receiver'
   478      alerts:
   479        type: array
   480        items:
   481          $ref: '#/definitions/gettableAlert'
   482    required:
   483      - labels
   484      - receiver
   485      - alerts
   486  alertStatus:
   487    type: object
   488    properties:
   489      state:
   490        type: string
   491        enum: ['unprocessed', 'active', 'suppressed']
   492      silencedBy:
   493        type: array
   494        items:
   495          type: string
   496      inhibitedBy:
   497        type: array
   498        items:
   499          type: string
   500    required:
   501      - state
   502      - silencedBy
   503      - inhibitedBy
   504  receiver:
   505    type: object
   506    properties:
   507      name:
   508        type: string
   509    required:
   510      - name
   511  labelSet:
   512    type: object
   513    additionalProperties:
   514      type: string
   515
   516
   517tags:
   518  - name: general
   519    description: General Alertmanager operations
   520  - name: receiver
   521    description: Everything related to Alertmanager receivers
   522  - name: silence
   523    description: Everything related to Alertmanager silences
   524  - name: alert
   525    description: Everything related to Alertmanager alerts

View as plain text