Kibana uptime API

Uptime APIs enable you to view and update uptime monitoring settings.

OpenAPI Specification

kibana-uptime-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  contact:
    name: Kibana Team
  description: 'The Kibana REST APIs enable you to manage resources such as connectors, data views, and saved objects.

    The API calls are stateless.

    Each request that you make happens in isolation from other calls and must include all of the necessary information for Kibana to fulfill the

    request.

    API requests return JSON output, which is a format that is machine-readable and works well for automation.


    To interact with Kibana APIs, use the following operations:


    - GET: Fetches the information.

    - PATCH: Applies partial modifications to the existing information.

    - POST: Adds new information.

    - PUT: Updates the existing information.

    - DELETE: Removes the information.


    You can prepend any Kibana API endpoint with `kbn:` and run the request in **Dev Tools → Console**.

    For example:


    ```

    GET kbn:/api/data_views

    ```


    For more information about the console, refer to [Run API requests](https://www.elastic.co/docs/explore-analyze/query-filter/tools/console).


    NOTE: Access to internal Kibana API endpoints will be restricted in Kibana version 9.0. Please move any integrations to publicly documented APIs.


    ## Documentation source and versions


    This documentation is derived from the `main` branch of the [kibana](https://github.com/elastic/kibana) repository.

    It is provided under license [Attribution-NonCommercial-NoDerivatives 4.0 International](https://creativecommons.org/licenses/by-nc-nd/4.0/).


    This documentation contains work-in-progress information for future Elastic Stack releases.

    '
  title: Kibana APIs Actions uptime API
  version: ''
  x-doc-license:
    name: Attribution-NonCommercial-NoDerivatives 4.0 International
    url: https://creativecommons.org/licenses/by-nc-nd/4.0/
  x-feedbackLink:
    label: Feedback
    url: https://github.com/elastic/docs-content/issues/new?assignees=&labels=feedback%2Ccommunity&projects=&template=api-feedback.yaml&title=%5BFeedback%5D%3A+
servers:
- url: https://{kibana_url}
  variables:
    kibana_url:
      default: localhost:5601
security:
- apiKeyAuth: []
- basicAuth: []
tags:
- description: Uptime APIs enable you to view and update uptime monitoring settings.
  externalDocs:
    description: Uptime monitoring
    url: https://www.elastic.co/docs/solutions/observability/uptime
  name: uptime
  x-displayName: Uptime
paths:
  /api/uptime/settings:
    get:
      description: '**Spaces method and path for this operation:**


        <div><span class="operation-verb get">get</span>&nbsp;<span class="operation-path">/s/{space_id}/api/uptime/settings</span></div>


        Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.


        You must have `read` privileges for the uptime feature in the Observability section of the Kibana feature privileges.

        '
      operationId: get-uptime-settings
      responses:
        '200':
          content:
            application/json:
              examples:
                getUptimeSettingsResponseExample1:
                  value: "{\n  \"heartbeatIndices\": \"heartbeat-8*\",\n  \"certExpirationThreshold\": 30,\n  \"certAgeThreshold\": 730,\n  \"defaultConnectors\": [\n      \"08990f40-09c5-11ee-97ae-912b222b13d4\",\n      \"db25f830-2318-11ee-9391-6b0c030836d6\"\n  ],\n  \"defaultEmail\": {\n      \"to\": [],\n      \"cc\": [],\n      \"bcc\": []\n  }\n}"
              schema:
                type: object
          description: Indicates a successful call
      summary: Get uptime settings
      tags:
      - uptime
      x-metaTags:
      - content: Kibana
        name: product_name
    put:
      description: '**Spaces method and path for this operation:**


        <div><span class="operation-verb put">put</span>&nbsp;<span class="operation-path">/s/{space_id}/api/uptime/settings</span></div>


        Refer to [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces) for more information.


        Update uptime setting attributes like `heartbeatIndices`, `certExpirationThreshold`, `certAgeThreshold`, `defaultConnectors`, or `defaultEmail`. You must have `all` privileges for the uptime feature in the Observability section of the Kibana feature privileges. A partial update is supported, provided settings keys will be merged with existing settings.

        '
      operationId: put-uptime-settings
      requestBody:
        content:
          application/json:
            examples:
              putUptimeSettingsRequestExample1:
                description: Run `PUT api/uptime/settings` to update multiple Uptime settings.
                summary: Update multiple settings
                value: "{\n    \"heartbeatIndices\": \"heartbeat-8*\",\n    \"certExpirationThreshold\": 30,\n    \"certAgeThreshold\": 730,\n    \"defaultConnectors\": [\n        \"08990f40-09c5-11ee-97ae-912b222b13d4\",\n        \"db25f830-2318-11ee-9391-6b0c030836d6\"\n    ],\n    \"defaultEmail\": {\n        \"to\": [],\n        \"cc\": [],\n        \"bcc\": []\n    }\n}"
              putUptimeSettingsRequestExample2:
                description: Run `PUT api/uptime/settings` to update a single Uptime setting.
                summary: Update a setting
                value: "{\n    \"heartbeatIndices\": \"heartbeat-8*\",\n}"
            schema:
              type: object
              properties:
                certAgeThreshold:
                  default: 730
                  description: The number of days after a certificate is created to trigger an alert.
                  type: number
                certExpirationThreshold:
                  default: 30
                  description: The number of days before a certificate expires to trigger an alert.
                  type: number
                defaultConnectors:
                  default: []
                  description: A list of connector IDs to be used as default connectors for new alerts.
                  type: array
                defaultEmail:
                  description: 'The default email configuration for new alerts.

                    '
                  type: object
                  properties:
                    bcc:
                      default: []
                      items:
                        type: string
                      type: array
                    cc:
                      default: []
                      items:
                        type: string
                      type: array
                    to:
                      default: []
                      items:
                        type: string
                      type: array
                heartbeatIndices:
                  default: heartbeat-*
                  description: "An index pattern string to be used within the Uptime app and alerts to query Heartbeat data. \n"
                  type: string
      responses:
        '200':
          content:
            application/json:
              examples:
                putUptimeSettingsResponseExample1:
                  description: A successful response from `PUT api/uptime/settings`.
                  value: "{\n    \"heartbeatIndices\": \"heartbeat-8*\",\n    \"certExpirationThreshold\": 30,\n    \"certAgeThreshold\": 730,\n    \"defaultConnectors\": [\n        \"08990f40-09c5-11ee-97ae-912b222b13d4\",\n        \"db25f830-2318-11ee-9391-6b0c030836d6\"\n    ],\n    \"defaultEmail\": {\n        \"to\": [],\n        \"cc\": [],\n        \"bcc\": []\n    }\n}"
              schema:
                type: object
          description: Indicates a successful call
      summary: Update uptime settings
      tags:
      - uptime
      x-metaTags:
      - content: Kibana
        name: product_name
components:
  securitySchemes:
    apiKeyAuth:
      description: 'These APIs use key-based authentication. You must create an API key and use the encoded value in the request header. For example: `Authorization: ApiKey base64AccessApiKey`

        '
      in: header
      name: Authorization
      type: apiKey
    basicAuth:
      scheme: basic
      type: http
x-topics:
- title: Kibana spaces
  content: "Spaces enable you to organize your dashboards and other saved objects into meaningful categories.\nYou can use the default space or create your own spaces.\n\nTo run APIs in non-default spaces, you must add `s/{space_id}/` to the path.\nFor example:\n\n```bash\ncurl -X GET \"http://${KIBANA_URL}/s/marketing/api/data_views\" \\\n  -H \"Authorization: ApiKey ${API_KEY}\"\n```\n\nIf you use the Kibana console to send API requests, it automatically adds the appropriate space identifier.\n\nTo learn more, check out [Spaces](https://www.elastic.co/docs/deploy-manage/manage-spaces).\n"