Phare Alert Rules API

Alert Rules

Business capability
Observability Management BC-4220.20

Operations 5

GET /alert-rules List alert rules #
POST /alert-rules Create an alert rule #
GET /alert-rules/{alertRuleId} Get an alert rule #
POST /alert-rules/{alertRuleId} Update an alert rule #
DELETE /alert-rules/{alertRuleId} Delete an alert rule #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/phare:phare-alert-rules-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

phare-alert-rules-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Phare Alert Rules API
  description: Learn how to use the phare.io API. Most of the things that can be done on the web platform can also be achieved with the API documented on this page.
  termsOfService: https://phare.io/legal/terms-of-service
  contact:
    name: Phare
    email: support@phare.io
  version: '1.0'
servers:
- url: https://api.phare.io
security:
- BearerAuth: []
tags:
- name: Alert Rules
  description: Alert Rules
paths:
  /alert-rules:
    get:
      tags:
      - Alert Rules
      summary: List alert rules
      description: Get a paginated list of alert rules.
      operationId: getAlertRules
      responses:
        '200':
          description: Success, alert rules retrieved
          content:
            application/json:
              schema:
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 1
                        project_id:
                          description: The ID of a project to use as a scope
                          type:
                          - integer
                          - 'null'
                          example: 1
                        event:
                          $ref: '#/components/schemas/Uptime.ProductEvents'
                        integration_id:
                          description: The ID of the integration used to send a notification when the alert rule is executed
                          type: integer
                          example: 1
                        rate_limit:
                          description: Minimum time in minutes between two executions of the alert rule, used to minimized the number of alert received.
                          type: integer
                          example: 5
                          enum:
                          - 0
                          - 5
                          - 10
                          - 30
                          - 60
                          - 180
                          - 720
                          - 1440
                        event_settings:
                          description: Additional settings for the event
                          anyOf:
                          - title: Empty
                            type:
                            - object
                            - 'null'
                          - $ref: '#/components/schemas/Platform.Event.UptimeIncident.AlertRuleSettings'
                          - $ref: '#/components/schemas/Platform.Event.UptimeMonitorCertificateExpiring.AlertRuleSettings'
                        integration_settings:
                          description: Additional settings for the integration
                          anyOf:
                          - title: Empty
                            type:
                            - object
                            - 'null'
                          - $ref: '#/components/schemas/Platform.App.Ntfy.AlertRuleSettings'
                          - $ref: '#/components/schemas/Platform.App.OutgoingWebhook.AlertRuleSettings'
                          - $ref: '#/components/schemas/Platform.App.Pushover.AlertRuleSettings'
                        created_at:
                          description: Date of creation for the entity
                          type: string
                          format: date-time
                        updated_at:
                          description: Date of last update for the entity
                          type: string
                          format: date-time
                      required:
                      - event
                      - integration_id
                      - rate_limit
                  meta:
                    $ref: '#/components/schemas/meta'
                  links:
                    $ref: '#/components/schemas/links'
                type: object
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/per_page'
      - $ref: '#/components/parameters/header_project_id'
      - $ref: '#/components/parameters/header_project_slug'
    post:
      tags:
      - Alert Rules
      summary: Create an alert rule
      operationId: createUptimeAlertRule
      requestBody:
        description: Alert rule request
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                scope:
                  description: Scoped of the alert rule
                  type: string
                  example: organization
                  enum:
                  - organization
                  - project
                event:
                  $ref: '#/components/schemas/Uptime.ProductEvents'
                integration_id:
                  description: The ID of the integration used to send a notification when the alert rule is executed
                  type: integer
                  example: 1
                rate_limit:
                  description: Minimum time in minutes between two executions of the alert rule, used to minimized the number of alert received.
                  type: integer
                  example: 5
                  enum:
                  - 0
                  - 5
                  - 10
                  - 30
                  - 60
                  - 180
                  - 720
                  - 1440
                event_settings:
                  description: Additional settings for the event
                  anyOf:
                  - title: Empty
                    type:
                    - object
                    - 'null'
                  - $ref: '#/components/schemas/Platform.Event.UptimeIncident.AlertRuleSettings'
                  - $ref: '#/components/schemas/Platform.Event.UptimeMonitorCertificateExpiring.AlertRuleSettings'
                integration_settings:
                  description: Additional settings for the integration
                  anyOf:
                  - title: Empty
                    type:
                    - object
                    - 'null'
                  - $ref: '#/components/schemas/Platform.App.Ntfy.AlertRuleSettings'
                  - $ref: '#/components/schemas/Platform.App.OutgoingWebhook.AlertRuleSettings'
                  - $ref: '#/components/schemas/Platform.App.Pushover.AlertRuleSettings'
              required:
              - event
              - integration_id
              - rate_limit
      responses:
        '201':
          description: Success, alert rule created
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    example: 1
                  project_id:
                    description: The ID of a project to use as a scope
                    type:
                    - integer
                    - 'null'
                    example: 1
                  event:
                    $ref: '#/components/schemas/Uptime.ProductEvents'
                  integration_id:
                    description: The ID of the integration used to send a notification when the alert rule is executed
                    type: integer
                    example: 1
                  rate_limit:
                    description: Minimum time in minutes between two executions of the alert rule, used to minimized the number of alert received.
                    type: integer
                    example: 5
                    enum:
                    - 0
                    - 5
                    - 10
                    - 30
                    - 60
                    - 180
                    - 720
                    - 1440
                  event_settings:
                    description: Additional settings for the event
                    anyOf:
                    - title: Empty
                      type:
                      - object
                      - 'null'
                    - $ref: '#/components/schemas/Platform.Event.UptimeIncident.AlertRuleSettings'
                    - $ref: '#/components/schemas/Platform.Event.UptimeMonitorCertificateExpiring.AlertRuleSettings'
                  integration_settings:
                    description: Additional settings for the integration
                    anyOf:
                    - title: Empty
                      type:
                      - object
                      - 'null'
                    - $ref: '#/components/schemas/Platform.App.Ntfy.AlertRuleSettings'
                    - $ref: '#/components/schemas/Platform.App.OutgoingWebhook.AlertRuleSettings'
                    - $ref: '#/components/schemas/Platform.App.Pushover.AlertRuleSettings'
                  created_at:
                    description: Date of creation for the entity
                    type: string
                    format: date-time
                  updated_at:
                    description: Date of last update for the entity
                    type: string
                    format: date-time
                required:
                - event
                - integration_id
                - rate_limit
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '422':
          $ref: '#/components/responses/422'
      parameters:
      - $ref: '#/components/parameters/header_project_id'
      - $ref: '#/components/parameters/header_project_slug'
  /alert-rules/{alertRuleId}:
    get:
      tags:
      - Alert Rules
      summary: Get an alert rule
      description: Get an alert rule by ID
      operationId: getAlertRule
      parameters:
      - name: alertRuleId
        in: path
        description: ID of the alert rule to show
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/header_project_id'
      - $ref: '#/components/parameters/header_project_slug'
      responses:
        '200':
          description: Success, alert rule retrieved
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    example: 1
                  project_id:
                    description: The ID of a project to use as a scope
                    type:
                    - integer
                    - 'null'
                    example: 1
                  event:
                    $ref: '#/components/schemas/Uptime.ProductEvents'
                  integration_id:
                    description: The ID of the integration used to send a notification when the alert rule is executed
                    type: integer
                    example: 1
                  rate_limit:
                    description: Minimum time in minutes between two executions of the alert rule, used to minimized the number of alert received.
                    type: integer
                    example: 5
                    enum:
                    - 0
                    - 5
                    - 10
                    - 30
                    - 60
                    - 180
                    - 720
                    - 1440
                  event_settings:
                    description: Additional settings for the event
                    anyOf:
                    - title: Empty
                      type:
                      - object
                      - 'null'
                    - $ref: '#/components/schemas/Platform.Event.UptimeIncident.AlertRuleSettings'
                    - $ref: '#/components/schemas/Platform.Event.UptimeMonitorCertificateExpiring.AlertRuleSettings'
                  integration_settings:
                    description: Additional settings for the integration
                    anyOf:
                    - title: Empty
                      type:
                      - object
                      - 'null'
                    - $ref: '#/components/schemas/Platform.App.Ntfy.AlertRuleSettings'
                    - $ref: '#/components/schemas/Platform.App.OutgoingWebhook.AlertRuleSettings'
                    - $ref: '#/components/schemas/Platform.App.Pushover.AlertRuleSettings'
                  created_at:
                    description: Date of creation for the entity
                    type: string
                    format: date-time
                  updated_at:
                    description: Date of last update for the entity
                    type: string
                    format: date-time
                required:
                - event
                - integration_id
                - rate_limit
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
    post:
      tags:
      - Alert Rules
      summary: Update an alert rule
      description: Update an alert rule by ID
      operationId: updateUptimeAlertRule
      parameters:
      - name: alertRuleId
        in: path
        description: ID of the alert rule to update
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/header_project_id'
      - $ref: '#/components/parameters/header_project_slug'
      requestBody:
        description: Alert rule request
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                scope:
                  description: Scoped of the alert rule
                  type: string
                  example: organization
                  enum:
                  - organization
                  - project
                event:
                  $ref: '#/components/schemas/Uptime.ProductEvents'
                integration_id:
                  description: The ID of the integration used to send a notification when the alert rule is executed
                  type: integer
                  example: 1
                rate_limit:
                  description: Minimum time in minutes between two executions of the alert rule, used to minimized the number of alert received.
                  type: integer
                  example: 5
                  enum:
                  - 0
                  - 5
                  - 10
                  - 30
                  - 60
                  - 180
                  - 720
                  - 1440
                event_settings:
                  description: Additional settings for the event
                  anyOf:
                  - title: Empty
                    type:
                    - object
                    - 'null'
                  - $ref: '#/components/schemas/Platform.Event.UptimeIncident.AlertRuleSettings'
                  - $ref: '#/components/schemas/Platform.Event.UptimeMonitorCertificateExpiring.AlertRuleSettings'
                integration_settings:
                  description: Additional settings for the integration
                  anyOf:
                  - title: Empty
                    type:
                    - object
                    - 'null'
                  - $ref: '#/components/schemas/Platform.App.Ntfy.AlertRuleSettings'
                  - $ref: '#/components/schemas/Platform.App.OutgoingWebhook.AlertRuleSettings'
                  - $ref: '#/components/schemas/Platform.App.Pushover.AlertRuleSettings'
      responses:
        '200':
          description: Success, alert rule updated
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    example: 1
                  project_id:
                    description: The ID of a project to use as a scope
                    type:
                    - integer
                    - 'null'
                    example: 1
                  event:
                    $ref: '#/components/schemas/Uptime.ProductEvents'
                  integration_id:
                    description: The ID of the integration used to send a notification when the alert rule is executed
                    type: integer
                    example: 1
                  rate_limit:
                    description: Minimum time in minutes between two executions of the alert rule, used to minimized the number of alert received.
                    type: integer
                    example: 5
                    enum:
                    - 0
                    - 5
                    - 10
                    - 30
                    - 60
                    - 180
                    - 720
                    - 1440
                  event_settings:
                    description: Additional settings for the event
                    anyOf:
                    - title: Empty
                      type:
                      - object
                      - 'null'
                    - $ref: '#/components/schemas/Platform.Event.UptimeIncident.AlertRuleSettings'
                    - $ref: '#/components/schemas/Platform.Event.UptimeMonitorCertificateExpiring.AlertRuleSettings'
                  integration_settings:
                    description: Additional settings for the integration
                    anyOf:
                    - title: Empty
                      type:
                      - object
                      - 'null'
                    - $ref: '#/components/schemas/Platform.App.Ntfy.AlertRuleSettings'
                    - $ref: '#/components/schemas/Platform.App.OutgoingWebhook.AlertRuleSettings'
                    - $ref: '#/components/schemas/Platform.App.Pushover.AlertRuleSettings'
                  created_at:
                    description: Date of creation for the entity
                    type: string
                    format: date-time
                  updated_at:
                    description: Date of last update for the entity
                    type: string
                    format: date-time
                required:
                - event
                - integration_id
                - rate_limit
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '422':
          $ref: '#/components/responses/422'
    delete:
      tags:
      - Alert Rules
      summary: Delete an alert rule
      description: Delete an alert rule by ID
      operationId: deleteUptimeAlertRule
      parameters:
      - name: alertRuleId
        in: path
        description: ID of the alert rule to delete
        required: true
        schema:
          type: integer
      - $ref: '#/components/parameters/header_project_id'
      - $ref: '#/components/parameters/header_project_slug'
      responses:
        '204':
          description: Success, alert rule deleted
          content: {}
        '409':
          description: Error, alert rule cannot be deleted
          content:
            application/json:
              schema:
                description: Conflict error schema
                properties:
                  message:
                    type: string
                    example: This alert rule is used by at least one entity and cannot be deleted.
                type: object
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
components:
  schemas:
    Platform.App.Pushover.AlertRuleSettings:
      title: Pushover
      properties:
        priority:
          description: Notification priority level
          type: string
          example: normal
          enum:
          - lowest
          - low
          - normal
          - high
          - emergency
        retry:
          description: Retry interval in seconds (required for emergency priority)
          type:
          - integer
          - 'null'
          example: 300
          maximum: 86400
          minimum: 30
        expire:
          description: Expiration time in seconds (required for emergency priority)
          type:
          - integer
          - 'null'
          example: 3600
          maximum: 10800
          minimum: 30
      type: object
    Platform.App.Ntfy.AlertRuleSettings:
      title: Ntfy
      required:
      - priority
      properties:
        priority:
          description: Notification priority level
          type: string
          example: default
          enum:
          - min
          - low
          - default
          - high
          - max
      type: object
    meta:
      description: Meta data for pagination
      properties:
        current_page:
          type: integer
          example: 2
        from:
          type: integer
          example: 11
        to:
          type: integer
          example: 20
        per_page:
          type: integer
          example: 100
        path:
          type: string
          example: https://api.phare.io/{resource}?page=2
      type: object
    Platform.App.OutgoingWebhook.AlertRuleSettings:
      title: Outgoing Webhooks
      required:
      - schema
      properties:
        schema:
          description: JSON schema defining the webhook payload structure
          type: string
          format: json
          example: '{"id": "{{ alert_rule_request.id }}", "event": "{{ event.key }}"}'
          maxLength: 5000
      type: object
    Platform.Event.UptimeIncident.AlertRuleSettings:
      title: Uptime incident
      required:
      - type
      properties:
        type:
          description: Type of incident to notify about
          type: string
          example: all
          enum:
          - all
          - monitor
          - manual
      type: object
    Uptime.ProductEvents:
      type: string
      enum:
      - uptime.monitor.created
      - uptime.monitor.deleted
      - uptime.monitor_certificate.discovered
      - uptime.monitor_certificate.expiring
      - uptime.incident.created
      - uptime.incident.propagated
      - uptime.incident.partially_recovered
      - uptime.incident.recovered
      - uptime.incident_comment.created
      - uptime.incident_update.published
      - uptime.maintenance_window.in_progress
      - uptime.maintenance_window.completed
      - uptime.maintenance_window.cancelled
    Platform.Event.UptimeMonitorCertificateExpiring.AlertRuleSettings:
      title: Uptime certificate expiring
      required:
      - days_before_expiry
      properties:
        days_before_expiry:
          description: Days to notify before the certificate expires
          type: integer
          example: 25
          maximum: 60
          minimum: 1
      type: object
    links:
      description: Links for pagination
      properties:
        first:
          type: string
          format: url
          example: https://api.phare.io/{resource}?page=2
        last:
          type:
          - string
          - 'null'
          format: url
          example: https://api.phare.io/{resource}?page=10
        prev:
          type:
          - string
          - 'null'
          format: url
          example: https://api.phare.io/{resource}?page=1
        next:
          type:
          - string
          - 'null'
          format: url
          example: https://api.phare.io/{resource}?page=1
      type: object
  parameters:
    header_project_id:
      name: X-Phare-Project-Id
      in: header
      description: A project header is required when using an organization-scoped API key.
      required: false
      schema:
        type: integer
        example: 1
    per_page:
      name: per_page
      in: query
      description: Number of resources to return per page
      required: false
      schema:
        type: integer
        example: 20
        default: 20
        maximum: 100
        minimum: 1
    header_project_slug:
      name: X-Phare-Project-Slug
      in: header
      description: A project header is required when using an organization-scoped API key.
      required: false
      schema:
        type: string
        example: luminous-guiding-tower
    page:
      name: page
      in: query
      description: Page number to show
      required: false
      schema:
        type: integer
        example: 1
        default: 1
  responses:
    '403':
      description: Error, access forbidden
      content:
        application/json:
          schema:
            description: Access forbidden error schema
            properties:
              message:
                type: string
                example: The platform:write permission is required to perform this action.
            type: object
    '401':
      description: Error, access unauthorized
      content:
        application/json:
          schema:
            description: Access unauthorized error schema
            properties:
              message:
                type: string
                example: Unauthorized
            type: object
    '404':
      description: Error, resource not found
      content:
        application/json:
          schema:
            description: Not found error schema
            properties:
              message:
                type: string
                example: Resource not found
            type: object
    '422':
      description: Error, unprocessable entity
      content:
        application/json:
          schema:
            description: Validation error schema
            properties:
              message:
                type: string
              errors:
                properties:
                  key:
                    type: array
                    items:
                      type: string
                      example: The key field is required
                type: object
            type: object
  securitySchemes:
    BearerAuth:
      type: http
      description: 'Use a user token to access authenticated routes. The token must be specified in the Authorization HTTP header with the following format ''Authorization: Bearer <token>''.'
      scheme: bearer
x-tagGroups:
- name: Phare platform
  tags:
  - Users
  - Projects
  - Alert Rules
- name: Phare uptime
  tags:
  - Monitors
  - Incidents
  - Status Pages
  - Reports