openapi: 3.0.0
info:
  description: >
    # Welcome to the Pingdom API!

    The Pingdom API is a way for you to automate your interaction with the
    Pingdom system. With the API, you can create your own scripts or
    applications with most of the functionality you can find inside the Pingdom
    control panel.


    The Pingdom API is RESTful and HTTP-based. Basically, this means that the
    communication is made through normal HTTP requests.


    # Authentication

    Authentication is needed in order to use the Pingdom API, and for this a
    Pingdom API Token is required. You generate your Pingdom API Token inside My
    Pingdom. The Pingdom API Token has a property called “Access level” to
    define its permissions. All operations that create or modify something (e.g.
    checks) need the Read/Write permission. If you only need to read data using
    the API token, we recommend to set the access level to “Read access”.


    The authentication method for using tokens is HTTP Bearer Authentication
    (encrypted over HTTPS). This means that you will provide your token every
    time you make a request. No sessions are used.


    Request

    ```

    GET /checks HTTP/1.1

    Host: api.pingdom.com

    Authorization: Bearer
    ofOhK18Ca6w4S_XmInGv0QPkqly-rbRBBoHsp_2FEH5QnIbH0VZhRPO3tlvrjMIKQ36VapX

    ```


    Response

    ```

    HTTP/1.1 200 OK

    Content-Length: 13

    Content-Type: application/json

    {"checks":[]}

    ```


    ## Basic Auth

    For compatibility reasons, the Pingdom API allows to use HTTP Basic
    Authentication with tokens. In cases where this is necessary, input the API
    token as the username and leave the password field empty.


    An example request of how that would look like with the following API token:
    ofOhK18Ca6w4S_XmInGv0QPkqly-rbRBBoHsp_2FEH5QnIbH0VZhRPO3tlvrjMIKQ36VapX


    ```

    GET /checks HTTP/1.1

    Host: api.pingdom.com

    Authorization: Basic
    b2ZPaEsxOENhNnc0U19YbUluR3YwUVBrcWx5LXJiUkJCb0hzcF8yRkVINVFuSWJIMFZaaFJQTzN0bHZyak1JS1EzNlZhcFg6

    ```


    # Server Address

    The base server address is: https://api.pingdom.com


    Please note that HTTPS is required. You will not be able to connect through
    unencrypted HTTP.


    # Providing Parameters

    GET requests should provide their parameters as a query string, part of the
    URL.


    POST, PUT and DELETE requests should provide their parameters as a JSON.
    This should be part of the request body. Remember to add the proper content
    type header to the request: `Content-Type: application/json`.


    We still support providing parameters as a query string for POST, PUT and
    DELETE requests, but we recommend using JSON going forward. If you are using
    query strings, they should be part of the body, URL or a combination. The
    encoding of the query string should be standard URL-encoding, as provided by
    various programming libraries.


    When using `requests` library for Python, use `json` parameter instead of
    `data`. Due to the inner mechanisms of requests.post() etc. some endpoints
    may return responses not conforming to the documentation when dealing with
    `data` body.


    # HTTP/1.1 Status Code Definitions

    The HTTP status code returned by a successful API request is defined in the
    documentation for that method. Usually, this will be 200 OK.


    If something goes wrong, other codes may be returned. The API uses standard
    HTTP/1.1 status codes defined by [RFC
    2616](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html).


    # JSON Responses

    All responses are sent JSON-encoded. The specific responses (successful
    ones) are described in the documentation section for each method.


    However, if something goes wrong, our standard JSON error message (together
    with an appropriate status code) follows this format:

    ```

    {
        "error": {
            "statuscode": 403,
            "statusdesc": "Forbidden",
            "errormessage":" Something went wrong! This string describes what happened."
        }
    }

    ```

    See http://en.wikipedia.org/wiki/Json for more information on JSON.


    Please note that all attributes of a method response are not always present.
    A client application should never assume that a certain attribute is present
    in a response.


    # Limits

    The Pingdom API has usage limits to avoid individual rampant applications
    degrading the overall user experience. There are two layers of limits, the
    first cover a shorter period of time and the second a longer period. This
    enables you to "burst" requests for shorter periods. There are two HTTP
    headers in every response describing your limits status.


    The response headers are:

    * **Req-Limit-Short**

    * **Req-Limit-Long**


    An example of the values of these headers:

    * **Req-Limit-Short: Remaining: 394 Time until reset: 3589**

    * **Req-Limit-Long: Remaining: 71994 Time until reset: 2591989**


    In this case, we can see that the user has 394 requests left until the short
    limit is reached. In 3589 seconds, the short limit will be reset. In similar
    fashion, the long limit has 71994 requests left, and will be reset in
    2591989 seconds.


    If limits are exceeded, an HTTP 429 error code with the message "Request
    limit exceeded, try again later" is sent back.


    # gzip

    Responses can be gzip-encoded on demand. This is nice if your bandwidth is
    limited, or if big results are causing performance issues.


    To enable gzip, simply add the following header to your request:


    Accept-Encoding: gzip


    # Best Practices

    ## Use caching

    If you are building a web page using the Pingdom API, we recommend that you
    do all API request on the server side, and if possible cache them. If you
    get any substantial traffic, you do not want to call the API each time you
    get a page hit, since this may cause you to hit the request limit faster
    than expected. In general, whenever you can cache data, do so.


    ## Send your user credentials in a preemptive manner

    Some HTTP clients omit the authentication header, and make a second request
    with the header when they get a 401 Unauthorized response. Please make sure
    you send the credentials directly, to avoid unnecessary requests.


    ## Use common sense

    Should be simple enough. For example, don't check for the status of a check
    every other second. The highest check resolution is one minute. Checking
    more often than that won't give you much of an advantage.


    ## The Internet is unreliable

    Networks in general are unreliable, and particularly one as large and
    complex as the Internet. Your application should not assume it will get an
    answer. There may be timeouts.


    # PHP Code Example

    **"This is too much to read. I just want to get started right now! Give me a
    simple example!"**


    Here is a short example of how you can use the API with PHP. You need the
    cURL extension for PHP.


    The example prints the current status of all your checks. This sample
    obviously focuses on Pingdom API code and does not worry about any potential
    problems connecting to the API, but your code should.


    Code:

    ```php

    <?php
        // Init cURL
        $curl = curl_init();
        // Set target URL
        curl_setopt($curl, CURLOPT_URL, "https://api.pingdom.com/api/3.1/checks");
        // Set the desired HTTP method (GET is default, see the documentation for each request)
        curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "GET");
        // Add header with Bearer Authorization
        curl_setopt($curl, CURLOPT_HTTPHEADER, array("Authorization: Bearer 907c762e069589c2cd2a229cdae7b8778caa9f07"));
        // Ask cURL to return the result as a string
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        // Execute the request and decode the json result into an associative array
        $response = json_decode(curl_exec($curl), true);
        // Check for errors returned by the API
        if (isset($response['error'])) {
            print "Error: " . $response['error']['errormessage'] . "\n";
            exit;
        }
        // Fetch the list of checks from the response
        $checksList = $response['checks'];
        // Print the names and statuses of all checks in the list
        foreach ($checksList as $check) {
            print $check['name'] . " is " . $check['status'] . "\n";
        }
    ?>

    ```


    Example output:

    ```

    Ubuntu Packages is up

    Google is up

    Pingdom is up

    My server 1 is down

    My server 2 is up

    ```


    If you are running PHP on Windows, you need to be sure that you have
    installed the CA certificates for HTTPS/SSL to work correctly. Please see
    the cURL manual for more information. As a quick (but unsafe) workaround,
    you can add the following cURL option to ignore certificate validation.


    `

    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);

    `


    # TMS Steps Vocabulary


    There are two types of transaction checks:

    <ul>
        <li><b>script</b>: the legacy TMS check created with predefined commands in the Pingdom UI or via the public API</li>
        <li><b>recording</b>: the TMS check created by recording performed actions in WPM recorder.
            More information about how to use it can be found in the
            <a class="default-link" href="https://documentation.solarwinds.com/en/success_center/wpm/Content/WPM-Use-the-WPM3-Recorder.htm">
                WPM recorder documentation</a>
        </li>
    </ul>


    ## Script transaction checks

      ### Commands
      Actions to be performed for the script TMS check

      Step Name                                 | "fn"                  | Required "args"     | Remarks
      ----------------------------------------- | --------------------- | --------------      | -------
      Go to URL                                 | go_to                 | url                 | There has to be **exactly one** go_to step
      Click                                     | click                 | element             | label, name or CSS selector
      Fill in field                             | fill                  | input, value        | input: label, name or CSS selector, value: text
      Check checkbox                            | check                 | checkbox            | label, name or CSS selector
      Uncheck checkbox                          | uncheck               | checkbox            | label, name or CSS selector
      Sleep for                                 | sleep                 | seconds             | number (e.g. 0.1)
      Select radio button                       | select_radio          | radio               | name of the radio button
      Select dropdown                           | select                | select, option      | select: label, name or CSS selector, option: content, value or CSS selector
      Basic auth login with                     | basic_auth            | username, password  | username and password as text
      Submit form                               | submit                | form                | name or CSS selector
      Wait for element                          | wait_for_element      | element             | label, name or CSS selector
      Wait for element to contain               | wait_for_contains     | element, value      | element: label, name or CSS selector, value: text

      ### Validations
      Verify the state of the page

      Step Name                                 | "fn"                  | Required "args"     | Remarks
      ----------------------------------------- | --------------------- | --------------      | -------
      URL should be                             | url                   | url                 | url to be verified
      Element should exist                      | exists                | element             | label, name or CSS selector
      Element shouldn't exist                   | not_exists            | element             | label, name or CSS selector
      Element should contain                    | contains              | element, value      | element: label, name or CSS selector, value: text
      Element shouldn't containt                | not_contains          | element, value      | element: label, name or CSS selector, value: text
      Text field should contain                 | field_contains        | input, value        | input: label, name or CSS selector, value: text
      Text field shouldn't contain              | field_not_contains    | input, value        | input: label, name or CSS selector, value: text
      Checkbox should be checked                | is_checked            | checkbox            | label, name or CSS selector
      Checkbox shouldn't be checked             | is_not_checked        | checkbox            | label, name or CSS selector
      Radio button should be selected           | radio_selected        | radio               | name of the radio button
      Dropdown with name should be selected     | dropdown_selected     | select, option      | select: label, name or CSS selector, option: content, value or CSS selector
      Dropdown with name shouldn't be selected  | dropdown_not_selected | select, option      | select: label, name or CSS selector, option: content, value or CSS selector

      ### Example steps

      ```
      "steps": [
      {
        "fn": "go_to",
        "args": {
          "url": "pingdom.com"
        }
      },
      {
        "fn": "click",
        "args": {
          "element": "START FREE TRIAL"
        }
      },
      {
        "fn": "url",
        "args": {
          "url": "https://www.pingdom.com/sign-up/"
        }
      }
      ]
      ```

    ## Recording transaction checks


    Each of check steps contains:

    <ul>
      <li><b>fn</b>: function name of the step</li>
      <li><b>args</b>: function arguments</li>
      <li><b>guid</b>: automatically generated identifier</li>
      <li><b>contains_navigate</b>: recorder sets it on true if the step would trigger a page navigation</li>
    </ul>

      ### Commands
      Actions to be performed for the recording TMS check

      Step Name                 | "fn"                      | Required "args"                 | Remarks
      ------------------------- | ------------------------- | ------------------------------- | -------
      Go to URL                 | wpm_go_to                 | url                             | Goes to the given url location
      Click                     | wpm_click                 | element, offsetX, offsetY       | **element**: label, name or CSS selector,</br> **offsetX/Y**: exact position of a click in the element
      Click in a exact location | wpm_click_xy              | element, x, y, scrollX, scrollY | **element**: label, name or CSS selector,</br> **x/y**: coordinates for the click (in viewport),</br> **scrollX/Y**: scrollbar position
      Fill                      | wpm_fill                  | input, value                    | **input**: target element,</br> **value**: text to fill the target
      Move mouse to element     | wpm_move_mouse_to_element | element, offsetX, offsetY       | **element**: target element,</br> **offsetX/Y**: exact position of the mouse in the element
      Select dropdown           | wpm_select_dropdown       | select, option                  | **select**: target element (drop-down),</br> **option**: text of the option to select
      Wait                      | wpm_wait                  | seconds                         | **seconds:** numbers of seconds to wait
      Close tab                 | wpm_close_tab             | -                               | Closes the latest tab on the tab stack

      ### Validations
      Verify the state of the page

      Step Name              | "fn"                     | Required "args"                                | Remarks
      ---------------------- | ------------------------ | ---------------------------------------------- | -------
      Contains text          | wpm_contains_timeout     | element, value, waitTime, useRegularExpression | **element**: label, name or CSS selector,</br> **value**: text to search for,</br> **waitTime**: time to wait for the value to appear,</br> **useRegularExpression**: use the value as a RegEx
      Does not contains text | wpm_not_contains_timeout | element, value, waitTime, useRegularExpression | **element**: label, name or CSS selector,</br> **value**: text to search for,</br> **waitTime**: time to wait for the value to appear,</br> **useRegularExpression**: use the value as a RegEx

      ### Metadata
      Recording checks contain metadata which is automatically generated by the WPM recorder. Modify with caution!
  version: '3.1'
  title: Pingdom Public API
  x-logo:
    url: 'https://tmp-new-api-doc.s3-eu-west-1.amazonaws.com/sw-pingdom-logo.svg'
x-tagGroups:
  - name: Uptime
    tags:
      - Actions
      - Analysis
      - Checks
      - Credits
      - Maintenance
      - Maintenance occurrences
      - Probes
      - Reference
      - Results
      - Single
      - Summary.average
      - Summary.hoursofday
      - Summary.outage
      - Summary.performance
      - Summary.probes
      - Traceroute
  - name: Alerting settings
    tags:
      - Teams
      - Contacts
  - name: Transaction
    tags:
      - TMS Checks
servers:
  - url: 'https://api.pingdom.com/api/3.1'
paths:
  /actions:
    get:
      tags:
        - Actions
      summary: Returns a list of actions alerts.
      description: >-
        Returns a list of actions (alerts) that have been generated for your
        account.
      parameters:
        - name: from
          in: query
          description: >-
            Only include actions generated later than this timestamp. Format is
            UNIX time.
          required: false
          schema:
            $ref: '#/components/schemas/actions_from'
        - name: to
          in: query
          description: >-
            Only include actions generated prior to this timestamp. Format is
            UNIX time.
          required: false
          schema:
            $ref: '#/components/schemas/actions_to'
        - name: limit
          in: query
          description: Limits the number of returned results to the specified quantity.
          required: false
          schema:
            $ref: '#/components/schemas/actions_limit'
        - name: offset
          in: query
          description: Offset for listing.
          required: false
          schema:
            $ref: '#/components/schemas/actions_offset'
        - name: checkids
          in: query
          description: >-
            Comma-separated list of check identifiers. Limit results to actions
            generated from these checks. Default: all checks.
          required: false
          schema:
            $ref: '#/components/schemas/actions_checkids'
        - name: userids
          in: query
          description: >-
            Comma-separated list of user identifiers. Limit results to actions
            sent to these users. Default: all users.
          required: false
          schema:
            $ref: '#/components/schemas/actions_userids'
        - name: status
          in: query
          description: >-
            Comma-separated list of statuses. Limit results to actions with
            these statuses. Default: all statuses.
          required: false
          schema:
            $ref: '#/components/schemas/actions_status'
        - name: via
          in: query
          description: >-
            Comma-separated list of via mediums. Limit results to actions with
            these mediums. Default: all mediums.
          required: false
          schema:
            $ref: '#/components/schemas/actions_via'
      responses:
        '200':
          description: Successful HTTP Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/actions_alerts_entry'
  '/analysis/{checkid}':
    get:
      tags:
        - Analysis
      summary: Returns a list of the latest root cause analysis
      description: >-
        Returns a list of the latest root cause analysis results for a specified
        check.
      parameters:
        - in: path
          name: checkid
          required: true
          schema:
            $ref: '#/components/schemas/analysis_checkid'
        - name: limit
          in: query
          description: Limits the number of returned results to the specified quantity.
          required: false
          schema:
            $ref: '#/components/schemas/analysis_limit'
        - name: offset
          in: query
          description: Offset for listing. (Requires limit.)
          required: false
          schema:
            $ref: '#/components/schemas/analysis_offset'
        - name: from
          in: query
          description: >-
            Return only results with timestamp of first test greater or equal to
            this value. Format is UNIX timestamp.
          required: false
          schema:
            $ref: '#/components/schemas/analysis_from'
        - name: to
          in: query
          description: >-
            Return only results with timestamp of first test less or equal to
            this value. Format is UNIX timestamp. Default: current timestamp
          required: false
          schema:
            $ref: '#/components/schemas/analysis_to'
      responses:
        '200':
          description: Successful HTTP Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/analysis_resp_attrs'
  '/analysis/{checkid}/{analysisid}':
    get:
      tags:
        - Analysis
      summary: Returns the raw result for a specified analysis.
      description: >-
        Returns the raw result for a specified error analysis. This data is
        primarily intended for internal use, but you might be interested in it
        as well. However, there is no real documentation for this data at the
        moment. In the future, we may add a new API method that provides a more
        user-friendly format.
      parameters:
        - in: path
          name: checkid
          required: true
          schema:
            $ref: '#/components/schemas/analysis_checkid'
        - in: path
          name: analysisid
          required: true
          schema:
            $ref: '#/components/schemas/analysis_analysisid'
      responses:
        '200':
          description: Successful HTTP Response
  /checks:
    get:
      tags:
        - Checks
      description: Returns a list overview of all checks.
      parameters:
        - in: query
          name: limit
          schema:
            type: integer
            default: 25000
          description: >-
            Limits the number of returned probes to the specified quantity. (Max
            value is 25000)
          example: 3
        - in: query
          name: offset
          schema:
            type: integer
            default: 0
          description: Offset for listing. (Requires limit.)
          example: 0
        - in: query
          name: showencryption
          schema:
            type: boolean
            default: false
          description: 'If set, show encryption setting for each check'
          example: false
        - in: query
          name: include_tags
          schema:
            type: boolean
            default: false
          description: >-
            Include tag list for each check. Tags can be marked as "a" or "u",
            for auto tagged or user tagged.
          example: false
        - in: query
          name: include_severity
          schema:
            type: boolean
            default: false
          description: Include severity level for each check.
          example: false
        - in: query
          name: tags
          schema:
            type: string
          description: >-
            Tag list separated by commas. As an example "nginx,apache" would
            filter out all responses except those tagged nginx or apache
          example: 'nginx,apache,ssh'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Checks'
    post:
      tags:
        - Checks
      summary: Creates a new check.
      description: Creates a new check with settings specified by provided parameters.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCheck'
            example:
              name: check_google
              host: www.google.com
              type: http
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateCheck'
            example:
              name: check_google
              host: www.google.com
              type: http
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  check:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: Created check ID.
                        example: 138631
                      name:
                        type: string
                        description: Created check name.
                        example: My new HTTP check
    put:
      tags:
        - Checks
      summary: Pause or change resolution for multiple checks.
      description: Pause or change resolution for multiple checks in one bulk call.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                paused:
                  type: boolean
                  description: >-
                    Use value: true to pause the check(s) and value: false to
                    unpause it(them).
                resolution:
                  type: integer
                  enum:
                    - 1
                    - 5
                    - 15
                    - 30
                    - 60
                checkids:
                  type: string
                  description: >
                    Comma-separated list of identifiers for checks to be
                    modified. Invalid check identifiers will be ignored.
                    Default: all checks
            example:
              paused: true
              resolution: 1
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                paused:
                  type: boolean
                  description: >-
                    Use value: true to pause the check(s) and value: false to
                    unpause it(them).
                resolution:
                  type: integer
                  enum:
                    - 1
                    - 5
                    - 15
                    - 30
                    - 60
                checkids:
                  type: string
                  description: >
                    Comma-separated list of identifiers for checks to be
                    modified. Invalid check identifiers will be ignored.
                    Default: all checks
            example:
              paused: true
              resolution: 1
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Modification of 4 checks was successful!
    delete:
      tags:
        - Checks
      summary: Deletes a list of checks.
      description: >-
        Deletes a list of checks. THIS METHOD IS IRREVERSIBLE! You will lose all
        collected data. Be careful!
      parameters:
        - in: query
          required: true
          name: delcheckids
          example:
            - 1
            - 2
            - 3
          schema:
            type: array
            items:
              type: integer
          style: form
          explode: false
          description: Comma-separated list of identifiers for checks to be deleted.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: string
            example:
              delcheckids: '1,2,3'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Deletion of checks was successful!
  '/checks/{checkid}':
    get:
      tags:
        - Checks
      summary: Returns a detailed description of a check.
      description: Returns a detailed description of a specified check.
      parameters:
        - in: path
          name: checkid
          required: true
          schema:
            type: integer
          description: Identifier of check to be retrieved
        - in: query
          name: include_teams
          description: Include team connections for check.
          required: false
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DetailedCheck'
    put:
      tags:
        - Checks
      summary: Modify settings for a check.
      description: >-
        Modify settings for a check. The provided settings will overwrite
        previous values. Settings not provided will stay the same as before the
        update. To clear an existing value, provide an empty value. Please note
        that you cannot change the type of a check once it has been created.
      parameters:
        - in: path
          name: checkid
          required: true
          schema:
            type: integer
          description: Identifier of check to be updated
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ModifyCheckSettings'
            example:
              name: google_check
              host: www.google.com
              paused: false
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/ModifyCheckSettings'
            example:
              name: google_check
              host: www.google.com
              paused: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Modification of check was successful!
    delete:
      tags:
        - Checks
      summary: Deletes a check.
      description: >-
        Deletes a check. THIS METHOD IS IRREVERSIBLE! You will lose all
        collected data. Be careful!
      parameters:
        - in: path
          name: checkid
          required: true
          schema:
            type: integer
          description: Identifier of check to be deleted
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Deletion of check was successful!
  /credits:
    get:
      tags:
        - Credits
      summary: Returns information about remaining credits
      description: >-
        Returns information about remaining checks, SMS credits and SMS
        auto-refill status.
      responses:
        '200':
          description: Successful HTTP Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/credits_resp_attrs'
  /maintenance:
    get:
      tags:
        - Maintenance
      description: Returns a list of user's maintenance windows.
      parameters:
        - name: limit
          in: query
          description: Count of items to list.
          required: false
          schema:
            $ref: '#/components/schemas/maintenance_limit'
        - name: offset
          in: query
          description: Offset of the list.
          required: false
          schema:
            $ref: '#/components/schemas/maintenance_offset'
        - name: orderby
          in: query
          description: Order by the specific property of the maintenance window.
          required: false
          schema:
            $ref: '#/components/schemas/maintenance_orderby'
        - name: order
          in: query
          description: Order a-z for asc z-a for desc. Works only if orderby is specified.
          required: false
          schema:
            $ref: '#/components/schemas/maintenance_order'
      responses:
        '200':
          description: Successful HTTP Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/maintenance_resp_attrs'
    post:
      tags:
        - Maintenance
      description: Create new maintenance window.
      requestBody:
        description: Description
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/maintenance_post'
            example:
              description: Some description of the maintenance window
              from: 1569580215
              to: 1569583815
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/maintenance_post'
            example:
              description: Some description of the maintenance window
              from: 1569580215
              to: 1569583815
      responses:
        '200':
          description: Successful HTTP Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/maintenance_post_resp_attrs'
    delete:
      tags:
        - Maintenance
      description: >-
        Delete multiple maintenance windows. Note that only future maintenance
        windows can be deleted.
      summary: Delete multiple maintenance windows.
      parameters:
        - in: query
          name: maintenanceids
          schema:
            type: array
            items:
              type: integer
          required: true
          style: form
          explode: false
          description: >-
            Comma-separated list of identifiers of maintenance windows to be
            deleted.
          example:
            - 1
            - 2
            - 3
            - 4
            - 5
      responses:
        '200':
          description: Successful HTTP Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/maintenance_delete_resp_attrs'
  '/maintenance/{id}':
    get:
      tags:
        - Maintenance
      description: Returns the maintenance window specified by its id.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/maintenance_id'
          description: id of maintenance window
          example: 3
      responses:
        '200':
          description: Successful HTTP Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/maintenance_id_resp_attrs'
    put:
      tags:
        - Maintenance
      description: Modify the maintenance window.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/maintenance_id'
          description: id of maintenance window
          example: 3
      requestBody:
        description: Description
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/maintenance_id_put'
            example:
              description: Modified maintenance window
              from: 1569580215
              to: 1569583815
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/maintenance_id_put'
            example:
              description: Modified maintenance window
              from: 1569580215
              to: 1569583815
      responses:
        '200':
          description: Successful HTTP Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/maintenance_id_put_resp_attrs'
    delete:
      tags:
        - Maintenance
      description: >-
        Delete the maintenance window. Note that only future maintenance window
        can be deleted.
      summary: Delete the maintenance window.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/maintenance_id'
          description: id of maintenance window
          example: 3
      responses:
        '200':
          description: Successful HTTP Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/maintenance_id_delete_resp_attrs'
  '/maintenance.occurrences/{id}':
    get:
      tags:
        - Maintenance occurrences
      summary: Gets a maintenance occurrence details
      description: Gets a maintenance occurrence details specified by its identifier.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/maintenance.occurrences_id'
      responses:
        '200':
          description: Successful HTTP Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/maintenance.occurrences_id_resp_attrs'
    put:
      tags:
        - Maintenance occurrences
      summary: Modifies a maintenance occurrence
      description: Modifies a maintenance occurrence specified by its identifier.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/maintenance.occurrences_id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/maintenance.occurrences_id_put'
            example:
              from: 1569580215
              to: 1569583815
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/maintenance.occurrences_id_put'
            example:
              from: 1569580215
              to: 1569583815
      responses:
        '200':
          description: Successful HTTP Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/maintenance.occurrences_id_put_resp_attrs'
    delete:
      tags:
        - Maintenance occurrences
      summary: Deletes the maintenance occurrence
      description: >-
        Deletes the maintenance occurrence specified by its identifier. Note
        that only future occurrences can be deleted.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/maintenance.occurrences_id'
      responses:
        '200':
          description: Successful HTTP Response
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/maintenance.occurrences_id_delete_resp_attrs
  /maintenance.occurrences:
    get:
      tags:
        - Maintenance occurrences
      summary: Returns a list of maintenance occurrences.
      description: Returns a list of maintenance occurrences.
      parameters:
        - name: maintenanceid
          in: query
          description: >-
            Maintenance window identifier. (List only occurrences of a specific
            maintenance window.)  
          required: false
          schema:
            $ref: '#/components/schemas/maintenance.occurrences_maintenanceid'
        - name: from
          in: query
          description: >-
            Effective from (unix timestamp). (List occurrences which are
            effective from the specified unix timestamp. If not specified,
            current timestamp is used.)
          required: false
          schema:
            $ref: '#/components/schemas/maintenance.occurrences_from'
        - name: to
          in: query
          description: >-
            Effective to (unix timestamp). (List occurrences which are effective
            to the specified unix timestamp.)
          required: false
          schema:
            $ref: '#/components/schemas/maintenance.occurrences_to'
      responses:
        '200':
          description: Successful HTTP Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/maintenance.occurrences_resp_attrs'
    delete:
      tags:
        - Maintenance occurrences
      summary: Deletes multiple maintenance occurrences
      description: >-
        Deletes multiple maintenance occurrences specified by their identifiers.
        Note that only future occurrences can be deleted.
      parameters:
        - in: query
          required: true
          name: occurenceids
          schema:
            $ref: '#/components/schemas/maintenance.occurrences_delete'
          example:
            - 1
            - 2
            - 3
            - 4
            - 5
      responses:
        '200':
          description: Successful HTTP Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/maintenance.occurrences_delete_resp_attrs'
  /probes:
    get:
      tags:
        - Probes
      summary: Returns a list of Pingdom probe servers
      description: >-
        Returns a list of all Pingdom probe servers for Uptime and Transaction
        checks.
      parameters:
        - in: query
          name: limit
          schema:
            type: integer
          description: Limits the number of returned probes to the specified quantity.
          example: 3
        - in: query
          name: offset
          schema:
            type: integer
            default: 0
          description: Offset for listing. (Requires limit.)
          example: 0
        - in: query
          name: onlyactive
          schema:
            type: boolean
            default: false
          description: Return only active probes.
          example: false
        - in: query
          name: includedeleted
          schema:
            type: boolean
            default: false
          description: Include old probes that are no longer in use.
          example: false
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Probes'
  /reference:
    get:
      tags:
        - Reference
      summary: 'Get regions, timezone and date/time/number references'
      description: >-
        Get a reference of regions, timezones and date/time/number formats and
        their identifiers.
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/References'
  '/results/{checkid}':
    get:
      tags:
        - Results
      summary: Return a list of raw test results
      description: Return a list of raw test results for a specified check
      parameters:
        - name: checkid
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/results_checkid'
        - name: to
          in: query
          description: >-
            End of period. Format is UNIX timestamp. Default value is current
            timestamp.
          required: false
          schema:
            $ref: '#/components/schemas/results_to'
        - name: from
          in: query
          description: >-
            Start of period. Format is UNIX timestamp. Default value is 1 day
            prior to `to`.
          required: false
          schema:
            $ref: '#/components/schemas/results_from'
        - name: probes
          in: query
          description: >-
            Filter to only show results from a list of probes. Format is a comma
            separated list of probe identifiers
          required: false
          schema:
            $ref: '#/components/schemas/results_probes'
        - name: status
          in: query
          description: >-
            Filter to only show results with specified statuses. Format is a
            comma separated list of (`down`, `up`, `unconfirmed`, `unknown`)
          required: false
          schema:
            $ref: '#/components/schemas/results_status'
        - name: limit
          in: query
          description: >-
            Number of results to show (Will be set to 1000 if the provided value
            is greater than 1000)
          required: false
          schema:
            $ref: '#/components/schemas/results_limit'
        - name: offset
          in: query
          description: Number of results to skip (Max value is `43200`)
          required: false
          schema:
            $ref: '#/components/schemas/results_offset'
        - name: includeanalysis
          in: query
          description: >-
            Attach available root cause analysis identifiers to corresponding
            results
          required: false
          schema:
            $ref: '#/components/schemas/results_includeanalysis'
        - name: maxresponse
          in: query
          description: >-
            Maximum response time (ms). If set, specified interval must not be
            larger than 31 days.
          required: false
          schema:
            $ref: '#/components/schemas/results_maxresponse'
        - name: minresponse
          in: query
          description: >-
            Minimum response time (ms). If set, specified interval must not be
            larger than 31 days.
          required: false
          schema:
            $ref: '#/components/schemas/results_minresponse'
      responses:
        '200':
          description: Successful HTTP Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/results_resp_attrs'
  /single:
    get:
      tags:
        - Single
      summary: Performs a single check.
      description: >-
        Performs a single test using a specified Pingdom probe against a
        specified target. Please note that this method is meant to be used
        sparingly, not to set up your own monitoring solution.
      parameters:
        - in: query
          name: Query Parameters
          required: false
          schema:
            oneOf:
              - $ref: '#/components/schemas/HTTP'
              - $ref: '#/components/schemas/HTTP-Custom'
              - $ref: '#/components/schemas/TCP'
              - $ref: '#/components/schemas/DNS'
              - $ref: '#/components/schemas/UDP'
              - $ref: '#/components/schemas/SMTP'
              - $ref: '#/components/schemas/POP3'
              - $ref: '#/components/schemas/IMAP'
          description: Query Parameters to chose
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/single_resp'
  '/summary.average/{checkid}':
    get:
      tags:
        - Summary.average
      summary: Get the average time/uptime value for a specified
      description: >-
        Get the average time / uptime value for a specified check and time
        period.
      parameters:
        - name: checkid
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/summary.average_checkid'
        - name: from
          in: query
          description: Start time of period. Format is UNIX timestamp
          required: false
          schema:
            $ref: '#/components/schemas/summary.average_from'
        - name: to
          in: query
          description: >-
            End time of period. Format is UNIX timestamp. Default is the current
            time
          required: false
          schema:
            $ref: '#/components/schemas/summary.average_to'
        - name: probes
          in: query
          description: >-
            Filter to only use results from a list of probes. Format is a comma
            separated list of probe identifiers. By default result from all
            probes are shown.
          required: false
          schema:
            $ref: '#/components/schemas/summary.average_probes'
        - name: includeuptime
          in: query
          description: Include uptime information
          required: false
          schema:
            $ref: '#/components/schemas/summary.average_includeuptime'
        - name: bycountry
          in: query
          description: Split response times into country groups
          required: false
          schema:
            $ref: '#/components/schemas/summary.average_bycountry'
        - name: byprobe
          in: query
          description: Split response times into probe groups
          required: false
          schema:
            $ref: '#/components/schemas/summary.average_byprobe'
      responses:
        '200':
          description: Successful HTTP Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/summary_resp_attrs'
  '/summary.hoursofday/{checkid}':
    get:
      tags:
        - Summary.hoursofday
      summary: Returns the average response time for each hour.
      description: >-
        Returns the average response time for each hour of the day (0-23) for a
        specific check over a selected time period. I.e. it shows you what an
        average day looks like during that time period.
      parameters:
        - name: checkid
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/summary.hoursofday_checkid'
        - name: from
          in: query
          description: >-
            Start time of period. Format is UNIX timestamp. Default value is one
            week eariler than `to`.
          required: false
          schema:
            $ref: '#/components/schemas/summary.hoursofday_from'
        - name: to
          in: query
          description: >-
            End time of period. Format is UNIX timestamp. Default value is
            current time.
          required: false
          schema:
            $ref: '#/components/schemas/summary.hoursofday_to'
        - name: probes
          in: query
          description: >-
            Filter to only use results from a list of probes. Format is a comma
            separated list of probe identifiers. By default all probes results
            are returned.
          required: false
          schema:
            $ref: '#/components/schemas/summary.hoursofday_probes'
        - name: uselocaltime
          in: query
          description: >-
            If true, use the user's local time zone for results (from and to
            parameters should still be specified in UTC). If false, use UTC for
            results.
          required: false
          schema:
            $ref: '#/components/schemas/summary.hoursofday_uselocaltime'
      responses:
        '200':
          description: Successful HTTP Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/summary.hoursofday_resp_attrs'
  '/summary.outage/{checkid}':
    get:
      tags:
        - Summary.outage
      summary: Get a list of status changes for a specified check
      description: >-
        Get a list of status changes for a specified check and time period. If
        order is speficied to descending, the list is ordered by newest first.
        (Default is ordered by oldest first.)
      parameters:
        - name: checkid
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/summary.outage_checkid'
        - name: from
          in: query
          description: >-
            Start time of period. Format is UNIX timestamp. Default value is one
            week earlier than `to`.
          required: false
          schema:
            $ref: '#/components/schemas/summary.outage_from'
        - name: to
          in: query
          description: >-
            End time of period. Format is UNIX timestamp. Default value is the
            current time.
          required: false
          schema:
            $ref: '#/components/schemas/summary.outage_to'
        - name: order
          in: query
          description: Sorting order of outages. Ascending or descending.
          required: false
          schema:
            $ref: '#/components/schemas/summary.outage_order'
      responses:
        '200':
          description: Successful HTTP Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/summary.outage_resp_attrs'
  '/summary.performance/{checkid}':
    get:
      tags:
        - Summary.performance
      summary: For a given interval return a list of subintervals
      description: >-
        For a given interval in time, return a list of sub intervals with the
        given resolution. Useful for generating graphs. A sub interval may be a
        week, a day or an hour depending on the choosen resolution.
      parameters:
        - name: checkid
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/summary.performance_checkid'
        - name: from
          in: query
          description: >-
            Start time of period. Format is UNIX timestamp. Default value is 10
            intervals earlier than `to`.
          required: false
          schema:
            $ref: '#/components/schemas/summary.performance_from'
        - name: to
          in: query
          description: >-
            End time of period. Format is UNIX timestamp. Default value is the
            current time.
          required: false
          schema:
            $ref: '#/components/schemas/summary.performance_to'
        - name: resolution
          in: query
          description: Interval size
          required: false
          schema:
            $ref: '#/components/schemas/summary.performance_resolution'
        - name: includeuptime
          in: query
          description: Include uptime information.
          required: false
          schema:
            $ref: '#/components/schemas/summary.performance_includeuptime'
        - name: probes
          in: query
          description: >-
            Filter to only use results from a list of probes. Format is a comma
            separated list of probe identifiers. Can not be used if
            includeuptime is set to true. Also note that this can cause
            intervals to be omitted, since there may be no results from the
            desired probes in them. By deafult results from all probes are
            returned.
          required: false
          schema:
            $ref: '#/components/schemas/summary.performance_probes'
        - name: order
          in: query
          description: Sorting order of sub intervals. Ascending or descending.
          required: false
          schema:
            $ref: '#/components/schemas/summary.performance_order'
      responses:
        '200':
          description: Successful HTTP Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/summary.performance_resp_attrs'
  '/summary.probes/{checkid}':
    get:
      tags:
        - Summary.probes
      summary: Get a list of probes that performed tests
      description: >-
        Get a list of probes that performed tests for a specified check during a
        specified period.
      parameters:
        - name: checkid
          in: path
          required: true
          schema:
            $ref: '#/components/schemas/summary.probes_checkid'
        - name: from
          in: query
          description: Start time of period. Format is UNIX timestamp
          required: true
          schema:
            $ref: '#/components/schemas/summary.probes_from'
        - name: to
          in: query
          description: >-
            End time of period. Format is UNIX timestamp. The defualt value is
            current time.
          required: false
          schema:
            $ref: '#/components/schemas/summary.probes_to'
      responses:
        '200':
          description: Successful HTTP Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/summary.probes_resp_attrs'
  /alerting/teams:
    get:
      tags:
        - Teams
      description: Returns a list of all teams and their members
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Teams'
    post:
      tags:
        - Teams
      summary: Creates a new team
      description: Creates a new team with or without members
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTeam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  team:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 12345678
                        description: ID of the created team
  '/alerting/teams/{teamid}':
    get:
      tags:
        - Teams
      description: Returns a team with its members
      parameters:
        - in: path
          name: teamid
          required: true
          schema:
            type: integer
          description: ID of the team to be retrieved
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Team_ID'
    put:
      tags:
        - Teams
      description: Updates a team
      parameters:
        - in: path
          name: teamid
          required: true
          schema:
            type: integer
          description: ID of the team to be retrieved
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTeam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Team_ID'
    delete:
      tags:
        - Teams
      description: Deletes a team
      parameters:
        - in: path
          name: teamid
          required: true
          schema:
            type: integer
          description: ID of the team to be deleted
      responses:
        '200':
          description: Message indicating a successful deletion
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    example: Deletion of team 12345 was successful.
                    type: string
  /alerting/contacts:
    get:
      tags:
        - Contacts
      summary: Returns a list of all contacts
      description: >-
        Returns a list of all contacts with their contact methods (notification
        targets)
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactsList'
    post:
      tags:
        - Contacts
      summary: Creates a new contact
      description: >-
        Creates a new contact with at least one contact method (notification
        target)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateContact'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  contact:
                    type: object
                    properties:
                      id:
                        type: string
                        example: 12345678
                        description: ID of the created contact
  '/alerting/contacts/{contactid}':
    get:
      tags:
        - Contacts
      summary: Returns a contact with its contact methods
      description: Returns a contact with its contact methods (notification targets)
      parameters:
        - in: path
          name: contactid
          required: true
          schema:
            type: integer
          description: ID of contact to be retrieved
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Contact'
    put:
      tags:
        - Contacts
      summary: Update a contact
      description: Update a contact with at least one contact method (notification target)
      parameters:
        - in: path
          name: contactid
          required: true
          schema:
            type: integer
          description: ID of contact to be updated
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateContact'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Contact'
    delete:
      tags:
        - Contacts
      summary: Deletes a contact with its contact methods
      description: Deletes a contact with its contact methods (notification targets)
      parameters:
        - in: path
          name: contactid
          required: true
          schema:
            type: integer
          description: ID of contact to be deleted
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Deletion of contact 12345 was successful
  /traceroute:
    get:
      tags:
        - Traceroute
      summary: Perform a traceroute
      description: >-
        Perform a traceroute to a specified target from a specified Pingdom
        probe.
      parameters:
        - in: query
          name: host
          required: true
          schema:
            type: string
          description: Target host.
          example: pingdom.com
        - in: query
          name: probeid
          schema:
            type: integer
          description: Probe identifier.
          example: 23
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Traceroute'
  /tms/check:
    get:
      operationId: getAllChecks
      parameters:
        - description: >-
            Specifies whether to return an extended tags representation in the
            response (with type and count).
          in: query
          name: extended_tags
          required: false
          schema:
            type: boolean
        - description: >-
            Tag list separated by commas. As an example "nginx,apache" would
            filter out all responses except those tagged nginx or apache
          in: query
          name: tags
          example:
            - nginx
            - apache
          style: form
          explode: false
          schema:
            type: array
            items:
              type: string
        - description: >-
            Filter to return only checks of a given type (a TMS `script` or a
            WPM `recording`). If not provided, all checks are returned.
          in: query
          name: type
          required: false
          schema:
            type: string
            enum:
              - script
              - recording
        - description: Limit of returned checks
          in: query
          name: limit
          required: false
          schema:
            type: string
            default: 1000
        - description: Offset of returned checks
          in: query
          name: offset
          required: false
          schema:
            type: string
            default: 0
      responses:
        '200':
          $ref: '#/components/responses/checksAll'
      summary: Returns a list overview of all transaction checks.
      tags:
        - TMS Checks
    post:
      operationId: addCheck
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckWithoutID'
        description: Specifies the check to be added
        required: true
        x-go-name: Check
      responses:
        '200':
          $ref: '#/components/responses/checkAddedResponse'
      summary: Creates a new transaction check.
      tags:
        - TMS Checks
  '/tms/check/{cid}':
    delete:
      operationId: deleteCheck
      parameters:
        - description: Specifies the id of the check to be deleted
          in: path
          name: cid
          required: true
          x-go-name: CheckID
          schema:
            type: integer
            format: int64
      responses:
        '200':
          $ref: '#/components/responses/checkDeletedResponse'
      summary: Deletes a transaction check.
      tags:
        - TMS Checks
    get:
      operationId: getCheck
      parameters:
        - description: >-
            Specifies whether to return an extended tags representation in the
            response (with type and count).
          in: query
          name: extended_tags
          required: false
          schema:
            type: boolean
        - description: Specifies the id of the check to be fetched
          in: path
          name: cid
          required: true
          x-go-name: CheckID
          schema:
            type: integer
            format: int64
      responses:
        '200':
          $ref: '#/components/responses/checkDetailed'
      summary: Returns a single transaction check.
      tags:
        - TMS Checks
    put:
      operationId: modifyCheck
      parameters:
        - description: Specifies the id of the check to be modified
          in: path
          name: cid
          required: true
          x-go-name: CheckID
          schema:
            type: integer
            format: int64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckWithoutIDPUT'
        description: Specifies the data to be modified for the check
        required: true
        x-go-name: Check
      responses:
        '200':
          $ref: '#/components/responses/checkModifiedResponse'
      summary: Modify settings for transaction check.
      tags:
        - TMS Checks
  '/tms/check/{check_id}/report/status':
    get:
      operationId: getCheckReportStatus
      parameters:
        - description: >-
            Specifies the id of the check for which the status change report
            will be fetched
          in: path
          name: check_id
          required: true
          schema:
            type: integer
            format: int64
        - description: >-
            Start time of period. The format is `RFC 3339` (properly
            URL-encoded!). The default value is one week earlier than `to`
          in: query
          name: from
          required: false
          schema:
            type: string
            format: date-time
        - description: >-
            End time of period. The format is `RFC 3339` (properly
            URL-encoded!). The default value is the current time
          in: query
          name: to
          required: false
          schema:
            type: string
            format: date-time
        - description: Sorting order of outages. Ascending or descending
          example:
            - desc
          name: order
          in: query
          required: false
          schema:
            type: string
            enum:
              - asc
              - desc
            default: asc
      responses:
        '200':
          $ref: '#/components/responses/reportStatusSingle'
      summary: Returns a status change report for a single transaction check
      description: >-
        Get a list of status changes for a specified check and time period. If
        order is speficied to descending, the list is ordered by newest first.
        (The default is ordered by oldest first.) It can be used to display a
        detailed view of a check.
      tags:
        - TMS Checks
  /tms/check/report/status:
    get:
      operationId: getCheckReportStatusAll
      parameters:
        - description: >-
            Start time of period. The format is `RFC 3339` (properly
            URL-encoded!). The default value is one week earlier than `to`
          in: query
          name: from
          required: false
          schema:
            type: string
            format: date-time
        - description: >-
            End time of period. The format is `RFC 3339` (properly
            URL-encoded!). The default value is the current time
          in: query
          name: to
          required: false
          schema:
            type: string
            format: date-time
        - description: Sorting order of outages. Ascending or descending
          example:
            - desc
          name: order
          in: query
          required: false
          schema:
            type: string
            enum:
              - asc
              - desc
            default: asc
        - description: Limit of returned checks
          in: query
          name: limit
          required: false
          schema:
            type: string
            default: 100
        - description: Offset of returned checks
          in: query
          name: offset
          required: false
          schema:
            type: string
            default: 0
        - description: Omits checks without any results within specified time
          in: query
          name: omit_empty
          required: false
          schema:
            type: boolean
            default: false
      responses:
        '200':
          $ref: '#/components/responses/reportStatusAll'
      summary: >-
        Returns a status change report for all transaction checks in the current
        organization
      description: >-
        Get a list of status changes for all transaction check in the current
        organization from the requested time period. If order is speficied to
        descending, the list of statuses within each check is ordered by newest
        first. (The default is ordered by oldest first.) It can be used to
        display a list view of all checks and their current status.
      tags:
        - TMS Checks
  '/tms/check/{check_id}/report/performance':
    get:
      operationId: getCheckReportPerformance
      parameters:
        - description: >-
            Specifies the id of the check for which the performance report will
            be fetched
          in: path
          name: check_id
          required: true
          schema:
            type: integer
            format: int64
        - description: >-
            Start time of period. The format is `RFC 3339` (properly
            URL-encoded!). The default value is 10 times the resolution (10
            hours, 10 day, 10 weeks) earlier than `to`. The value is extended to
            the nearest hour, day or week, depending on the 'resolution'
            parameter and configured time zone of the account.
          in: query
          name: from
          required: false
          schema:
            type: string
            format: date-time
        - description: >-
            End time of period. The format is `RFC 3339` (properly
            URL-encoded!). The default value is the current time. The value is
            extended to the nearest hour, day or week, depending on the
            'resolution' parameter and configured time zone of the account.
          in: query
          name: to
          required: false
          schema:
            type: string
            format: date-time
        - description: Sorting order of outages. Ascending or descending
          example:
            - desc
          name: order
          in: query
          required: false
          schema:
            type: string
            enum:
              - asc
              - desc
            default: asc
        - description: >-
            Size of an interval for which the results are calculated. For the
            `hour` resolution, the max allowed period is one week and 1 day. For
            the `day` resolution, the max allowed period is 6 months and 1 day.
          example: day
          in: query
          name: resolution
          schema:
            type: string
            enum:
              - hour
              - day
              - week
            default: hour
        - description: >-
            Include uptime information. Adds field downtime, uptime, and
            unmonitored to the interval array objects.
          in: query
          name: include_uptime
          required: false
          schema:
            type: boolean
            default: false
      responses:
        '200':
          $ref: '#/components/responses/reportPerformance'
      summary: Returns a performance report for a single transaction check
      description: >-
        For a given period of time, return a list of time intervals with the
        given resolution. An interval may be a week, a day or an hour depending
        on the chosen resolution. It can be used to display a detailed view of a
        check with information about its steps and generate graphs.
      tags:
        - TMS Checks
components:
  schemas:
    actions_from:
      type: integer
    actions_to:
      type: integer
    actions_limit:
      type: integer
      default: 100
    actions_offset:
      type: integer
      default: 0
    actions_checkids:
      type: string
    actions_userids:
      type: string
    actions_status:
      type: string
    actions_via:
      type: string
    actions_alerts_entry:
      properties:
        actions:
          properties:
            alerts:
              type: array
              description: Alert entry
              items:
                type: object
                properties:
                  username:
                    type: string
                    description: Name of alerted user
                    example: John Doe
                  userid:
                    type: string
                    description: Identifier of alerted user
                    example: 111250
                  checkid:
                    type: string
                    description: Identifier of alerted user
                    example: 241688
                  time:
                    type: string
                    description: Time of alert generation. Format UNIX time
                    example: 1292248276
                  via:
                    type: string
                    enum:
                      - email
                      - sms
                      - twitter
                      - apns
                      - agcm
                    description: 'Alert medium. apns - iphone, agcm - android'
                    example: sms
                  status:
                    type: string
                    enum:
                      - sent
                      - delivered
                      - error
                      - notdelivered
                      - nocredits
                    description: Alert status
                    example: delivered
                  messageshort:
                    type: string
                    description: Short description of message
                    example: up
                  messagefull:
                    type: string
                    description: Full message body
                    example: >-
                      PingdomAlert UP: MyCheck (example.com) is UP again at
                      2010-12-13 14:50:54. Downtime: 12m.
                  sentto:
                    type: string
                    description: 'Target address, phone number etc'
                    example: 46-555555
                  charged:
                    type: string
                    description: True if your account was charged for this message
                    example: true
          type: object
    analysis_checkid:
      type: integer
    analysis_analysisid:
      type: integer
    analysis_limit:
      type: integer
      default: 100
    analysis_offset:
      type: integer
      default: 0
    analysis_from:
      type: integer
      default: 0
    analysis_to:
      type: integer
    analysis_resp_attrs:
      properties:
        analysis:
          type: array
          items:
            type: object
            properties:
              id:
                type: integer
                description: Analysis id
                example: 28739021
              timefirsttest:
                type: integer
                description: Time of test that initiated the confirmation test
                example: 1290441826
              timeconfirmtest:
                type: integer
                description: >-
                  Time of the confirmation test that performed the error
                  analysis
                example: 1290441865
    Tag:
      type: object
      properties:
        name:
          type: string
          example: apache
        type:
          type: string
          example: a
        count:
          type: integer
          example: 2
    Check:
      type: object
      properties:
        id:
          type: integer
          example: 100
        name:
          type: string
          example: mycheck
        lasterrortime:
          type: integer
          example: 1297446423
          description: Timestamp of last error (if any). Format is UNIX timestamp
        lasttesttime:
          type: integer
          description: Timestamp of last test (if any). Format is UNIX timestamp
          example: 1300977363
        lastresponsetime:
          type: integer
          description: Response time (in milliseconds) of last test.
          example: 355
        lastdownstart:
          type: integer
          description: >-
            Timestamp of start of last check down (if any). Format is UNIX
            timestamp.
          example: 1300977363
        lastdownend:
          type: integer
          description: >-
            Timestamp of end of last check down (if any). Format is UNIX
            timestamp. During a downtime it will be lasttesttime.
          example: 1300977463
        status:
          type: string
          enum:
            - up
            - down
            - unconfirmed_down
            - unknown
            - paused
        resolution:
          type: integer
          description: How often should the check be tested? (minutes)
        hostname:
          type: string
          description: Target host
        created:
          type: integer
          description: Creating time. Format is UNIX timestamp
        tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
          description: List of tags for check
        ipv6:
          type: boolean
          description: Use ipv6 instead of ipv4
    CheckWithStringType:
      properties:
        type:
          type: string
          example: http
      allOf:
        - $ref: '#/components/schemas/Check'
    Counts:
      type: object
      properties:
        total:
          type: integer
          example: 55
          description: Total number of checks
        limited:
          type: integer
          example: 3
          description: Number of checks after tags filter was applied
        filtered:
          type: integer
          example: 5
          description: Number of checks after limit was applied
    Checks:
      type: object
      properties:
        checks:
          type: array
          items:
            $ref: '#/components/schemas/CheckWithStringType'
        counts:
          $ref: '#/components/schemas/Counts'
    HttpCertificateAttributes:
      type: object
      properties:
        verify_certificate:
          type: boolean
          description: >-
            Treat target site as down if an invalid/unverifiable certificate is
            found.
          default: true
        ssl_down_days_before:
          type: integer
          description: >-
            Treat the target site as down if a certificate expires within the
            given number of days. This parameter will be ignored if
            `verify_certificate` is set to `false`.
          default: 0
    HttpAttributesBase:
      type: object
      properties:
        url:
          type: string
          description: Path to target on server
          example: my.pingdom.com
        encryption:
          type: boolean
          description: Connection encryption
          example: true
        port:
          type: integer
          description: Target port
          example: 443
        shouldcontain:
          type: string
          description: >-
            Target site should contain this string. Note! This parameter cannot
            be used together with the parameter “shouldnotcontain”, use only one
            of them in your request.
          example: Expected string
        shouldnotcontain:
          type: string
          description: >-
            Target site should NOT contain this string. Note! This parameter
            cannot be used together with the parameter “shouldcontain”, use only
            one of them in your request.
          example: This should not appear on checked site
        postdata:
          type: string
          description: >-
            Data that should be posted to the web page, for example submission
            data for a sign-up or login form. The data needs to be formatted in
            the same way as a web browser would send it to the web server
          example: Data to be send to server
        requestheaders:
          type: array
          items:
            type: string
          description: >-
            Custom HTTP header. The entry value should contain a one-element
            string array. The element should contain `headerName` and
            `headerValue` colon-separated. To add more than one header send
            other parameters named `requestheaders{number}`.
        verify_certificate:
          type: boolean
          description: >-
            Treat target site as down if an invalid/unverifiable certificate is
            found.
          default: true
        ssl_down_days_before:
          type: integer
          description: >-
            Treat the target site as down if a certificate expires within the
            given number of days. This parameter will be ignored if
            `verify_certificate` is set to `false`. It will appear provided
            `verify_certificate` is true and `ssl_down_days_before` value is
            greater than or equals 1.
          default: 0
    HttpAttributesSet:
      allOf:
        - $ref: '#/components/schemas/HttpAttributesBase'
      properties:
        auth:
          type: string
          description: 'Username and password, colon separated.'
          example: 'User:e4gh51!'
    HttpAttributesGet:
      allOf:
        - $ref: '#/components/schemas/HttpAttributesBase'
      properties:
        username:
          type: string
          description: Username for target HTTP authentication
          example: User
        password:
          type: string
          description: Password for target HTTP authentication
          example: e4gh51!
    DetailedHttpAttributes:
      type: object
      properties:
        type:
          type: object
          properties:
            http:
              $ref: '#/components/schemas/HttpAttributesGet'
    HttpCustomAttributes:
      type: object
      required:
        - url
      allOf:
        - $ref: '#/components/schemas/HttpCertificateAttributes'
      properties:
        url:
          type: string
          description: Path to target on server
          example: /phpMyAdmin.conf
        encryption:
          type: boolean
          description: Connection encryption
          example: false
        port:
          type: integer
          description: Target port
          example: 80
        additionalurls:
          type: string
          description: Full URL (including hostname) to target additional XML file
    DetailedHttpCustomAttributes:
      type: object
      properties:
        type:
          type: object
          properties:
            httpcustom:
              $ref: '#/components/schemas/HttpCustomAttributes'
    TcpAttributes:
      type: object
      required:
        - port
      properties:
        port:
          type: integer
          description: Target port
          example: 22
        stringtosend:
          type: string
          description: String to send
          example: Raw data to be send
        stringtoexpect:
          type: string
          description: String to expect in response
          example: Raw data expected to be received
    DetailedTcpAttributes:
      type: object
      properties:
        type:
          type: object
          properties:
            tcp:
              $ref: '#/components/schemas/TcpAttributes'
    DnsAttributes:
      type: object
      required:
        - nameserver
        - expectedip
      properties:
        nameserver:
          type: string
          description: DNS server to use
          example: 8.8.8.8
        expectedip:
          type: string
          description: Expected IP
          example: 104.20.90.241
    DetailedDnsAttributes:
      type: object
      properties:
        type:
          type: object
          properties:
            dns:
              $ref: '#/components/schemas/DnsAttributes'
    UdpAttributes:
      type: object
      required:
        - port
        - stringtosend
        - stringtoexpect
      properties:
        port:
          type: integer
          description: Target port
          example: 53
        stringtosend:
          type: string
          description: String to send
          example: Raw data to be send
        stringtoexpect:
          type: string
          description: String to expect in response
          example: Raw data expected to be received
    DetailedUdpAttributes:
      type: object
      properties:
        type:
          type: object
          properties:
            udp:
              $ref: '#/components/schemas/UdpAttributes'
    SmtpAttributesBase:
      type: object
      properties:
        port:
          type: integer
          description: Target port
          example: 25
        encryption:
          type: boolean
          description: Connection encryption
          example: true
        stringtoexpect:
          type: string
          description: String to expect in response
    SmtpAttributesSet:
      allOf:
        - $ref: '#/components/schemas/SmtpAttributesBase'
      properties:
        auth:
          type: string
          description: Username and password colon separated for target SMTP authentication
          example: 'User:e4gh51!'
    SmtpAttributesGet:
      allOf:
        - $ref: '#/components/schemas/SmtpAttributesBase'
      properties:
        username:
          type: string
          description: Username for target SMTP authentication
          example: User
        password:
          type: string
          description: Password for target SMTP authentication
          example: e4gh51!
    DetailedSmtpAttributes:
      type: object
      properties:
        type:
          type: object
          properties:
            smtp:
              $ref: '#/components/schemas/SmtpAttributesGet'
    Pop3Attributes:
      type: object
      properties:
        port:
          type: integer
          description: Target port
          example: 110
        stringtoexpect:
          type: string
          description: String to expect in response
          example: Raw data expected to be received
    DetailedPop3Attributes:
      type: object
      properties:
        type:
          type: object
          properties:
            pop3:
              $ref: '#/components/schemas/Pop3Attributes'
    ImapAttributes:
      type: object
      properties:
        port:
          type: integer
          description: Target port
          example: 143
        stringtoexpect:
          type: string
          description: String to expect in response
          example: Raw data expected to be received
    DetailedImapAttributes:
      type: object
      properties:
        type:
          type: object
          properties:
            imap:
              $ref: '#/components/schemas/ImapAttributes'
    DetailedCheckAttributes:
      type: object
      properties:
        probe_filters:
          type: array
          items:
            type: string
          description: Filters used for probe selections
          example:
            - 'region: EU'
        sendnotificationwhendown:
          type: integer
          example: 6
        notifyagainevery:
          type: integer
          example: 5
        notifywhenbackup:
          type: boolean
          example: true
        responsetime_threshold:
          type: boolean
          example: 30000
        custom_message:
          type: string
          example: Important check is down!
        integrationids:
          type: array
          items:
            type: integer
          example:
            - 74356
            - 74358
      allOf:
        - $ref: '#/components/schemas/Check'
    DetailedCheckHttp:
      type: object
      properties:
        check:
          type: object
          allOf:
            - $ref: '#/components/schemas/DetailedHttpAttributes'
            - $ref: '#/components/schemas/DetailedCheckAttributes'
    DetailedCheckHttpCustom:
      type: object
      properties:
        check:
          type: object
          allOf:
            - $ref: '#/components/schemas/DetailedHttpCustomAttributes'
            - $ref: '#/components/schemas/DetailedCheckAttributes'
            - $ref: '#/components/schemas/HttpCertificateAttributes'
    DetailedCheckTcp:
      type: object
      properties:
        check:
          type: object
          allOf:
            - $ref: '#/components/schemas/DetailedTcpAttributes'
            - $ref: '#/components/schemas/DetailedCheckAttributes'
    DetailedCheckDns:
      type: object
      properties:
        check:
          type: object
          allOf:
            - $ref: '#/components/schemas/DetailedDnsAttributes'
            - $ref: '#/components/schemas/DetailedCheckAttributes'
    DetailedCheckUdp:
      type: object
      properties:
        check:
          type: object
          allOf:
            - $ref: '#/components/schemas/DetailedUdpAttributes'
            - $ref: '#/components/schemas/DetailedCheckAttributes'
    DetailedCheckSmtp:
      type: object
      properties:
        check:
          type: object
          allOf:
            - $ref: '#/components/schemas/DetailedSmtpAttributes'
            - $ref: '#/components/schemas/DetailedCheckAttributes'
    DetailedCheckPop3:
      type: object
      properties:
        check:
          type: object
          allOf:
            - $ref: '#/components/schemas/DetailedPop3Attributes'
            - $ref: '#/components/schemas/DetailedCheckAttributes'
    DetailedCheckImap:
      type: object
      properties:
        check:
          type: object
          allOf:
            - $ref: '#/components/schemas/DetailedImapAttributes'
            - $ref: '#/components/schemas/DetailedCheckAttributes'
    DetailedCheck:
      oneOf:
        - $ref: '#/components/schemas/DetailedCheckHttp'
        - $ref: '#/components/schemas/DetailedCheckHttpCustom'
        - $ref: '#/components/schemas/DetailedCheckTcp'
        - $ref: '#/components/schemas/DetailedCheckDns'
        - $ref: '#/components/schemas/DetailedCheckUdp'
        - $ref: '#/components/schemas/DetailedCheckSmtp'
        - $ref: '#/components/schemas/DetailedCheckPop3'
        - $ref: '#/components/schemas/DetailedCheckImap'
    CreateCheck:
      type: object
      oneOf:
        - $ref: '#/components/schemas/HttpAttributesSet'
        - $ref: '#/components/schemas/HttpCustomAttributes'
        - $ref: '#/components/schemas/TcpAttributes'
        - $ref: '#/components/schemas/DnsAttributes'
        - $ref: '#/components/schemas/UdpAttributes'
        - $ref: '#/components/schemas/SmtpAttributesSet'
        - $ref: '#/components/schemas/Pop3Attributes'
        - $ref: '#/components/schemas/ImapAttributes'
      required:
        - name
        - host
        - type
      properties:
        name:
          type: string
          example: mycheck
          description: Check name
        host:
          type: string
          example: www.example.com
          description: Target host
        type:
          type: string
          enum:
            - http
            - httpcustom
            - tcp
            - ping
            - dns
            - udp
            - smtp
            - pop3
            - imap
          example: http
          description: Type of check
        paused:
          type: boolean
          default: false
        resolution:
          type: integer
          enum:
            - 1
            - 5
            - 15
            - 30
            - 60
          description: How often should the check be tested? (minutes)
          example: 5
          default: 5
        userids:
          type: string
          description: 'User identifiers. For example userids=154325,465231,765871'
        sendnotificationwhendown:
          type: integer
          description: Send notification when down X times
          example: 2
          default: 2
        notifyagainevery:
          type: integer
          description: >-
            Notify again every n result. 0 means that no extra notifications
            will be sent.
          default: 0
        notifywhenbackup:
          type: boolean
          description: Notify when back up again
          example: true
          default: true
        tags:
          type: array
          items:
            type: string
          description: >-
            List of tags for check. The maximum length of a tag is 64
            characters.
        probe_filters:
          type: array
          items:
            type: string
          description: >-
            Filters used for probe selections. Overwrites previous filters for
            check. To remove all filters from a check, use an empty value. Comma
            separated key:value pairs. Currently only region is supported.
            Possible values are 'EU', 'NA', 'APAC' and 'LATAM'. For example,
            "region: NA".
        ipv6:
          type: boolean
          default: false
          description: >-
            Use ipv6 instead of ipv4, if an IP address is provided as host this
            will be overrided by the IP address version
        responsetime_threshold:
          type: integer
          description: >-
            Triggers a down alert if the response time exceeds threshold
            specified in ms (Not available for Starter and Free plans.)
          example: 30000
          default: 30000
        integrationids:
          type: array
          items:
            type: integer
          description: 'Integration identifiers. For example integrationids:[1,2,3].'
        teamids:
          type: string
          description: Teams to alert. Comma separated Integers.
        custom_message:
          type: string
          description: Custom message that will be added to email and webhook alerts.
    ModifyCheckSettings:
      type: object
      oneOf:
        - $ref: '#/components/schemas/HttpAttributesSet'
        - $ref: '#/components/schemas/HttpCustomAttributes'
        - $ref: '#/components/schemas/TcpAttributes'
        - $ref: '#/components/schemas/DnsAttributes'
        - $ref: '#/components/schemas/UdpAttributes'
        - $ref: '#/components/schemas/SmtpAttributesSet'
        - $ref: '#/components/schemas/Pop3Attributes'
        - $ref: '#/components/schemas/ImapAttributes'
      properties:
        name:
          type: string
          example: mycheck
          description: Check name
        host:
          type: string
          example: www.example.com
          description: Target host
        paused:
          type: boolean
          default: false
        resolution:
          type: integer
          enum:
            - 1
            - 5
            - 15
            - 30
            - 60
          description: How often should the check be tested? (minutes)
          example: 5
          default: 5
        userids:
          type: string
          description: 'User identifiers. For example userids=154325,465231,765871'
        sendnotificationwhendown:
          type: integer
          description: Send notification when down X times
          example: 2
          default: 2
        notifyagainevery:
          type: integer
          description: >-
            Notify again every n result. 0 means that no extra notifications
            will be sent.
          default: 0
        notifywhenbackup:
          type: boolean
          description: Notify when back up again
          example: true
          default: true
        checkids:
          type: string
          description: >-
            Identifiers of checks to modify in bulk. For example
            checkids=1234,5678
          example: '123,456'
        tags:
          type: array
          items:
            type: string
          description: >-
            List of tags for check. The maximum length of a tag is 64
            characters.
        addtags:
          type: array
          items:
            type: string
          description: Check tags to add in addition to current check tags
        probe_filters:
          type: array
          items:
            type: string
          description: >-
            Filters used for probe selections. Overwrites previous filters for
            check. To remove all filters from a check, use an empty value. Comma
            separated key:value pairs. Currently only region is supported.
            Possible values are 'EU', 'NA', 'APAC' and 'LATAM'. For example,
            "region: NA".
        ipv6:
          type: boolean
          description: >-
            Use ipv6 instead of ipv4, if an IP address is provided as host this
            will be overrided by the IP address version
        responsetime_threshold:
          type: integer
          description: >-
            Triggers a down alert if the response time exceeds threshold
            specified in ms (Not available for Starter and Free plans.)
          example: 30000
          default: 30000
        integrationids:
          type: array
          items:
            type: integer
          description: 'Integration identifiers. For example integrationids:[1,2,3].'
        teamids:
          type: string
          description: Teams to alert. Comma separated Integers.
        custom_message:
          type: string
          description: Custom message that will be added to email and webhook alerts.
    credits_resp_attrs:
      properties:
        credits:
          properties:
            checklimit:
              type: integer
              description: Total number of check slots on this account
              example: 18
            availablechecks:
              type: integer
              description: Free check slots available for new checks
              example: 5
            useddefault:
              type: integer
              description: Total number of default check slots
              example: 6
            usedtransaction:
              type: integer
              description: Total number of transaction check slots
              example: 7
            availablesms:
              type: integer
              description: SMS credits remaining on this account
              example: 20
            availablesmstests:
              type: integer
              description: SMS provider tests remaining on this account
              example: 7
            autofillsms:
              type: boolean
              description: Auto fill SMS
              example: false
            autofillsms_amount:
              type: integer
              description: >-
                The amount of sms to purchase when "autofillsms_when_left" is
                triggered
              example: 0
            autofillsms_when_left:
              type: integer
              description: The amount of sms left that is going to trigger purchase of sms
              example: 0
            max_sms_overage:
              type: integer
              description: >-
                The amount of overage SMSes that may be used, or null if SMS
                overage is not enabled.
              example: 0
            availablerumsites:
              type: integer
              description: Open RUM site slots available
              example: 4
            usedrumsites:
              type: integer
              description: Number of used RUM sites
              example: 1
            maxrumfilters:
              type: integer
              description: Number of maximum rum filters
              example: 10
            maxrumpageviews:
              type: integer
              description: Number of maximum pageviews per month
              example: 100000
          type: object
    maintenance_id:
      type: integer
    maintenance_limit:
      type: integer
    maintenance_offset:
      type: integer
    maintenance_orderby:
      type: string
      enum:
        - description
        - from
        - to
        - effectiveto
    maintenance_order:
      type: string
      enum:
        - asc
        - desc
      default: asc
    maintenance_resp_attrs:
      properties:
        maintenance:
          type: array
          description: A list of maintenance windows
          items:
            description: Maintenance window body
            type: object
            properties:
              id:
                type: integer
                description: Maintenance window identifier
                example: 1
              description:
                type: string
                description: Description
                example: Maintenance window from DB
              from:
                type: integer
                description: Initial maintenance window start. Format UNIX time.
                example: 1497520800
              to:
                type: integer
                description: Initial maintenance window end. Format UNIX time.
                example: 1497574800
              recurrencetype:
                type: string
                enum:
                  - none
                  - day
                  - week
                  - month
                description: Type of recurrence.
                example: week
              repeatevery:
                type: integer
                description: Repeat every n-th day/week/month
                example: 0
              effectiveto:
                type: integer
                description: Recurrence end. Format UNIX time.
                example: 1497574800
              checks:
                description: Connected checks
                properties:
                  uptime:
                    type: array
                    items:
                      description: Id of connected Uptime check
                      type: integer
                    description: List of connected Uptime checks
                    example:
                      - 506206
                      - 506233
                      - 222
                  tms:
                    type: array
                    items:
                      description: Id of connected Transaction check
                      type: integer
                    description: List of connected Transaction checks
                    example:
                      - 123
                      - 111
                type: object
    maintenance_id_resp_attrs:
      properties:
        maintenance:
          description: ''
          properties:
            id:
              type: number
              description: Maintenance window identifier
              example: 456
            description:
              type: string
              description: Description
              example: Particular maintenance window
            from:
              type: number
              description: Initial maintenance window start. Format UNIX time.
              example: 1497520800
            to:
              type: number
              description: Initial maintenance window end. Format UNIX time.
              example: 1497574800
            recurrencetype:
              type: string
              description: Type of recurrence.
              example: none
            repeatevery:
              type: number
              description: Repeat every n-th day/week/month
              example: 0
            effectiveto:
              type: number
              description: Recurrence end. Format UNIX time.
              example: 1497574800
            checks:
              description: Connected checks
              properties:
                uptime:
                  type: array
                  items:
                    type: number
                    description: List of connected Uptime checks
                  description: Id of connected Uptime check
                  example:
                    - 506206
                    - 506233
                    - 222
                tms:
                  type: array
                  items:
                    type: number
                    description: List of connected TMS checks
                  description: Id of connected TMS check
                  example:
                    - 123
                    - 111
              type: object
          type: object
    maintenance_post:
      type: object
      required:
        - description
        - from
        - to
      properties:
        description:
          type: string
          description: Description
          example: New maintenance window.
        from:
          type: integer
          description: >-
            Initial maintenance window start. Format UNIX time. (Only future
            allowed. Use 1 for the current timestamp.)
          example: 1500471702
        to:
          type: integer
          description: >-
            Initial maintenance window end. Format UNIX time. (Only future
            allowed. Use 1 for the current timestamp.)
          example: 1500475302
        recurrencetype:
          type: string
          enum:
            - none
            - day
            - week
            - month
          default: none
          description: Type of recurrence.
          example: week
        repeatevery:
          type: integer
          default: 0
          description: Repeat every n-th day/week/month
        effectiveto:
          type: integer
          description: >-
            Recurrence end. Format UNIX time. Default: equal to `to`. (Only
            future allowed. Use 1 for the current timestamp.)
          example: 1500475302
        uptimeids:
          type: array
          items:
            type: integer
          description: >-
            Identifiers of uptime checks to assign to the maintenance window -
            Comma separated Integers
          example:
            - 1234567
            - 3456789
        tmsids:
          type: array
          items:
            type: integer
          description: >-
            Identifiers of transaction checks to assign to the maintenance
            window - Comma separated Integers
          example:
            - 1234567
            - 3456789
    maintenance_post_resp_attrs:
      properties:
        maintenance:
          properties:
            id:
              type: integer
              description: Unique id of the new maintenance window
              example: 777
          type: object
    maintenance_id_put:
      type: object
      properties:
        description:
          type: string
          description: Description
          example: Modified maintenance window
        from:
          type: integer
          description: >-
            Initial maintenance window start. Format UNIX time. (Only future
            allowed. Use 1 for the current timestamp.)
          example: 1500471702
        to:
          type: integer
          description: >-
            Initial maintenance window end. Format UNIX time. (Only future
            allowed. Use 1 for the current timestamp.)
          example: 1500475302
        recurrencetype:
          type: string
          enum:
            - none
            - day
            - week
            - month
          example: week
          description: Type of recurrence
        repeatevery:
          type: integer
          description: Repeat every n-th day/week/month
          default: 0
        effectiveto:
          type: integer
          description: >-
            Recurrence end. Format UNIX time. Default: equal to `to`. (Only
            future allowed. Use 1 for the current timestamp.)
          example: 1500475302
        uptimeids:
          type: array
          items:
            type: integer
          description: >-
            Identifiers of uptime checks to assign to the maintenance window -
            Comma separated Integers
          example:
            - 1234567
            - 3456789
        tmsids:
          type: array
          items:
            type: integer
          description: >-
            Identifiers of transaction checks to assign to the maintenance
            window - Comma separated Integers
          example:
            - 1234567
            - 3456789
    maintenance_id_put_resp_attrs:
      properties:
        message:
          type: string
          description: Modification result description
          example: Maintenance window successfully modified!
    maintenance_id_delete_resp_attrs:
      properties:
        message:
          type: string
          description: Result description
          example: Maintenance window successfully deleted!
    maintenance_delete:
      type: object
      required:
        - maintenanceids
      properties:
        maintenanceids:
          type: array
          items:
            type: integer
          description: >-
            Comma-separated list of identifiers of maintenance windows to be
            deleted.
          example:
            - 1
            - 2
            - 3
            - 4
            - 5
    maintenance_delete_resp_attrs:
      properties:
        message:
          type: string
          description: Result description
          example: 5 maintenance windows successfully deleted.
    maintenance.occurrences_id:
      type: integer
    maintenance.occurrences_id_put:
      type: object
      properties:
        from:
          type: integer
          description: >-
            Beginning of the maintenance occurrence. Format UNIX time. (Only
            future allowed. Use 1 for the current timestamp.)
          example: 1500471702
        to:
          type: integer
          description: >-
            End of the maintenance occurrence. Format UNIX time. (Only future
            allowed. Use 1 for the current timestamp.)
          example: 1500475302
    maintenance.occurrences_id_resp_attrs:
      properties:
        occurrence:
          properties:
            id:
              type: number
              description: Identifier of an occurence.
              example: 57
            maintenanceid:
              type: number
              description: Identifier of the related maintenance window.
              example: 44
            from:
              type: number
              description: Beginning of the occurrence. Format UNIX timestamp.
              example: 1501714800
            to:
              type: number
              description: The end of the occurrence. Format UNIX timestamp.
              example: 1501719300
          type: object
    maintenance.occurrences_maintenanceid:
      type: integer
    maintenance.occurrences_from:
      type: integer
    maintenance.occurrences_to:
      type: integer
    maintenance.occurrences_resp_attrs:
      properties:
        occurrences:
          type: array
          description: A list of maintenance occurrences.
          items:
            type: object
            description: Maintenance occurrence
            properties:
              id:
                type: number
                example: 455
                description: Identifier of an occurence.
              maintenanceid:
                type: number
                example: 44
                description: Identifier of the related maintenance window.
              from:
                type: number
                example: 1501628400
                description: Beginning of the occurrence. Format UNIX timestamp.
              to:
                type: number
                example: 1501632900
                description: The end of the occurrence. Format UNIX timestamp.
    maintenance.occurrences_id_put_resp_attrs:
      properties:
        message:
          type: string
          example: Occurrence successfully modified!
          description: Modification result description
    maintenance.occurrences_id_delete_resp_attrs:
      properties:
        message:
          type: string
          example: Occurrence successfully deleted!
          description: Result description
    maintenance.occurrences_delete:
      required:
        - occurrenceids
      properties:
        occurrenceids:
          type: array
          items:
            type: integer
          description: >-
            Comma-separated list of identifiers of maintenance occurrences to
            delete.
    maintenance.occurrences_delete_resp_attrs:
      properties:
        message:
          type: string
          example: 5 occurrences successfully deleted.
          description: Result description
    Probe:
      type: object
      properties:
        id:
          type: integer
          example: 2
        country:
          type: string
          example: United States
        city:
          type: string
          example: New York
        name:
          type: string
          example: 'New York, NY'
        active:
          type: boolean
          description: Is the probe currently active?
          example: true
        hostname:
          type: string
          description: DNS name
          example: s413.pingdom.com
        ip:
          type: string
          description: IPv4 address
          example: 70.32.40.2
        ipv6:
          type: string
          description: IPv6 address (not all probes have this)
          example: '2001:0db8:85a3:0000:0000:8a2e:0370:7334'
        countryiso:
          type: string
          description: Country ISO code
          example: US
    Probes:
      type: object
      properties:
        probes:
          type: array
          items:
            $ref: '#/components/schemas/Probe'
    Region:
      type: object
      properties:
        id:
          type: integer
          description: Region identifier
        description:
          type: string
          description: Region description
        countryid:
          type: integer
          description: Corresponding country identifier
        datetimeformatid:
          type: integer
          description: Corresponding datetimeformat identifier
        numberformatid:
          type: integer
          description: Corresponding numberformat identifier
        timezoneid:
          type: integer
          description: Corresponding timezon identifier
    Timezone:
      type: object
      properties:
        id:
          type: integer
          description: Time zone identifier
        description:
          type: string
          description: Time zone description
    DateTimeFormat:
      type: object
      properties:
        id:
          type: integer
          description: Date/time identifier
        description:
          type: string
          description: Date/time description
    NumberFormat:
      type: object
      properties:
        id:
          type: integer
          description: Number format identifier
        description:
          type: string
          description: Number format description
    Country:
      type: object
      properties:
        id:
          type: integer
          description: Country id
        iso:
          type: string
          description: Country ISO code
        name:
          type: string
          description: Country name
    PhoneCode:
      type: object
      properties:
        countryid:
          type: integer
          description: Country id (Can be mapped against countries.id)
        name:
          type: string
          description: Country name
        phonecode:
          type: string
          description: Area phone code
    References:
      type: object
      properties:
        regions:
          type: array
          items:
            $ref: '#/components/schemas/Region'
          example:
            - id: 2
              description: United State (Alaska)
        timezones:
          type: array
          items:
            $ref: '#/components/schemas/Timezone'
          example:
            - id: 4
              description: '(GMT -9:00) Alaska'
        datetimeformats:
          type: array
          items:
            $ref: '#/components/schemas/DateTimeFormat'
          example:
            - id: 3
              description: '31/07/2006 14:45:05'
        numberformats:
          type: array
          items:
            $ref: '#/components/schemas/NumberFormat'
          example:
            - id: 5
              description: '123 456 789,00'
        countries:
          type: array
          items:
            $ref: '#/components/schemas/Country'
            example:
              - id: 350
                name: Afghanistan
                iso: AF
        phonecodes:
          type: array
          items:
            $ref: '#/components/schemas/PhoneCode'
          example:
            countryid: 295
            name: Zimbabwe
            phonecode: 263
            iso: ZW
    results_checkid:
      type: integer
    results_to:
      type: integer
    results_from:
      type: integer
    results_probes:
      type: string
      description: 'Default: all probes'
    results_status:
      type: string
      description: 'Default: all statuses'
    results_limit:
      type: integer
      default: 1000
    results_offset:
      type: integer
      default: 0
    results_includeanalysis:
      type: boolean
      default: false
    results_maxresponse:
      type: integer
    results_minresponse:
      type: integer
    results_resp_attrs:
      properties:
        results:
          type: array
          items:
            type: object
            properties:
              probeid:
                type: number
                description: Probe identifier
                example: 33
              time:
                type: number
                description: Time when test was performed. Format is UNIX timestamp
                example: 1294235764
              status:
                type: string
                enum:
                  - up
                  - down
                  - unconfirmed
                  - unknown
                description: Result status
                example: up
              responsetime:
                type: number
                description: >-
                  Response time (in milliseconds) (Will be 0 if no response was
                  received)
                example: 91
              statusdesc:
                type: string
                description: Short status description
                example: OK
              statusdesclong:
                type: string
                description: Long status description
                example: OK
        activeprobes:
          type: array
          description: >-
            For your convenience, a list of used probes that produced the showed
            results
          items:
            type: number
            description: Probe identifier
            example: 33
    HTTP:
      required:
        - host
        - type
      properties:
        host:
          type: string
          description: Target host
          example: pingdom.com
        type:
          type: string
          enum:
            - http
        probeid:
          type: integer
          description: Probe identifier
          example: 17
        probe_filters:
          type: integer
          description: >-
            Filters used for probe selections. Comma separated key:value pairs.
            Currently only region is supported. Possible values are 'EU', 'NA',
            'APAC' and 'LATAM'.
        ipv6:
          type: boolean
          description: Use ipv6 instead of ipv4
        responsetime_threshold:
          type: integer
          default: 30000
          description: >-
            Triggers a down alert if the response time exceeds threshold
            specified in ms (Not available for Starter and Free plans.)
        url:
          type: string
          default: /
          description: (http specific) Target path on server
        encryption:
          type: boolean
          default: false
          description: (http specific) Connection encryption
        port:
          type: integer
          default: 80
          description: (http specific) Target port
        auth:
          type: string
          description: >-
            (http specific) Username and password for target HTTP
            authentication.
          example: 'auth=user:password'
        shouldcontain:
          type: string
          description: (http specific) Target site should contain this string
        shouldnotcontain:
          type: string
          description: (http specific) Target site should NOT contain this string
        postdata:
          type: string
          description: >-
            (http specific) Data that should be posted to the web page, for
            example submission data for a sign-up or login form. The data needs
            to be formatted in the same way as a web browser would send it to
            the web server
        'requestheader{X}':
          type: string
          description: >-
            (http specific) Custom HTTP header name. Replace {X} with a number
            unique for each header argument.
          example: 'requestheader1=My-Header:CoolValue'
        verify_certificate:
          type: boolean
          description: >-
            (http specific) Treat target site as down if an invalid/unverifiable
            certificate is found.
          default: true
        ssl_down_days_before:
          type: integer
          description: >-
            (http specific) Treat the target site as down if a certificate
            expires within the given number of days. This parameter will be
            ignored if `verify_certificate` is set to `false`.
          default: 0
    HTTP-Custom:
      required:
        - host
        - type
        - url
      properties:
        host:
          type: string
          description: Target host
          example: pingdom.com
        type:
          type: string
          enum:
            - httpcustom
        probeid:
          type: integer
          description: Probe identifier
          example: 17
        probe_filters:
          type: integer
          description: >-
            Filters used for probe selections. Comma separated key:value pairs.
            Currently only region is supported. Possible values are 'EU', 'NA',
            'APAC' and 'LATAM'.
        ipv6:
          type: boolean
          description: Use ipv6 instead of ipv4
        responsetime_threshold:
          type: integer
          default: 30000
          description: >-
            Triggers a down alert if the response time exceeds threshold
            specified in ms (Not available for Starter and Free plans.)
        url:
          type: string
          description: (httpcustom specific) Target path to XML file on server
        encryption:
          type: boolean
          default: false
          description: (httpcustom specific) Connection encryption
        port:
          type: integer
          default: 80
          description: (httpcustom specific) Target port
        auth:
          type: string
          description: >-
            (httpcustom specific) Username and password for target HTTP
            authentication.
          example: 'auth=user:password'
        additionalurls:
          type: string
          description: >-
            (httpcustom specific) ;-separated list of addidional URLs with
            hostname included.
          example: additionalurls=www.mysite.com;www.myothersite.com
    TCP:
      required:
        - host
        - type
        - port
      properties:
        host:
          type: string
          description: Target host
          example: pingdom.com
        type:
          type: string
          enum:
            - tcp
        probeid:
          type: integer
          description: Probe identifier
          example: 17
        probe_filters:
          type: integer
          description: >-
            Filters used for probe selections. Comma separated key:value pairs.
            Currently only region is supported. Possible values are 'EU', 'NA',
            'APAC' and 'LATAM'.
        ipv6:
          type: boolean
          description: Use ipv6 instead of ipv4
        responsetime_threshold:
          type: integer
          default: 30000
          description: >-
            Triggers a down alert if the response time exceeds threshold
            specified in ms (Not available for Starter and Free plans.)
        port:
          type: integer
          description: (tcp specific) Target port
        stringtosend:
          type: string
          description: (tcp specific) String to send
        stringtoexpect:
          type: string
          description: (tcp specific) String to expect in response
    DNS:
      required:
        - host
        - type
        - expectedip
        - nameserver
      properties:
        host:
          type: string
          description: Target host
          example: pingdom.com
        type:
          type: string
          enum:
            - dns
        probeid:
          type: integer
          description: Probe identifier
          example: 17
        probe_filters:
          type: integer
          description: >-
            Filters used for probe selections. Comma separated key:value pairs.
            Currently only region is supported. Possible values are 'EU', 'NA',
            'APAC' and 'LATAM'. For example, "region: NA".
        ipv6:
          type: boolean
          description: Use ipv6 instead of ipv4
        responsetime_threshold:
          type: integer
          default: 30000
          description: >-
            Triggers a down alert if the response time exceeds threshold
            specified in ms (Not available for Starter and Free plans.)
        expectedip:
          type: string
          description: (dns specific) Expected ip
        nameserver:
          type: string
          description: (dns specific) Nameserver
    UDP:
      required:
        - host
        - type
        - port
      properties:
        host:
          type: string
          description: Target host
          example: pingdom.com
        type:
          type: string
          enum:
            - udp
        probeid:
          type: integer
          description: Probe identifier
          example: 17
        probe_filters:
          type: integer
          description: >-
            Filters used for probe selections. Comma separated key:value pairs.
            Currently only region is supported. Possible values are 'EU', 'NA',
            'APAC' and 'LATAM'.
        ipv6:
          type: boolean
          description: Use ipv6 instead of ipv4
        responsetime_threshold:
          type: integer
          default: 30000
          description: >-
            Triggers a down alert if the response time exceeds threshold
            specified in ms (Not available for Starter and Free plans.)
        port:
          type: integer
          description: (udp specific) Target port
        stringtosend:
          type: string
          description: (udp specific) String to send
        stringtoexpect:
          type: string
          description: (udp specific) String to expect in response
    SMTP:
      required:
        - host
        - type
      properties:
        host:
          type: string
          description: Target host
          example: pingdom.com
        type:
          type: string
          enum:
            - smtp
        probeid:
          type: integer
          description: Probe identifier
          example: 17
        probe_filters:
          type: integer
          description: >-
            Filters used for probe selections. Comma separated key:value pairs.
            Currently only region is supported. Possible values are 'EU', 'NA',
            'APAC' and 'LATAM'.
        ipv6:
          type: boolean
          description: Use ipv6 instead of ipv4
        responsetime_threshold:
          type: integer
          default: 30000
          description: >-
            Triggers a down alert if the response time exceeds threshold
            specified in ms (Not available for Starter and Free plans.)
        port:
          type: integer
          default: 25
          description: (smtp specific) Target port
        auth:
          type: string
          description: >-
            (smtp specific) Username and password for target HTTP
            authentication.
          example: 'auth=user:password'
        stringtoexpect:
          type: string
          description: (smtp specific) String to expect in response
        encryption:
          type: boolean
          default: false
          description: (smtp specific) Connection encryption
    POP3:
      required:
        - host
        - type
      properties:
        host:
          type: string
          description: Target host
          example: pingdom.com
        type:
          type: string
          enum:
            - pop3
        probeid:
          type: integer
          description: Probe identifier
          example: 17
        probe_filters:
          type: integer
          description: >-
            Filters used for probe selections. Comma separated key:value pairs.
            Currently only region is supported. Possible values are 'EU', 'NA',
            'APAC' and 'LATAM'.
        ipv6:
          type: boolean
          description: Use ipv6 instead of ipv4
        responsetime_threshold:
          type: integer
          default: 30000
          description: >-
            Triggers a down alert if the response time exceeds threshold
            specified in ms (Not available for Starter and Free plans.)
        port:
          type: integer
          default: 110
          description: (pop3 specific) Target port
        stringtoexpect:
          type: string
          description: (pop3 specific) String to expect in response
        encryption:
          type: boolean
          default: false
          description: (pop3 specific) Connection encryption
    IMAP:
      required:
        - host
        - type
      properties:
        host:
          type: string
          description: Target host
          example: pingdom.com
        type:
          type: string
          enum:
            - imap
        probeid:
          type: integer
          description: Probe identifier
          example: 17
        probe_filters:
          type: integer
          description: >-
            Filters used for probe selections. Comma separated key:value pairs.
            Currently only region is supported. Possible values are 'EU', 'NA',
            'APAC' and 'LATAM'.
        ipv6:
          type: boolean
          description: Use ipv6 instead of ipv4
        responsetime_threshold:
          type: integer
          default: 30000
          description: >-
            Triggers a down alert if the response time exceeds threshold
            specified in ms (Not available for Starter and Free plans.)
        port:
          type: integer
          default: 143
          description: (imap specific) Target port
        stringtoexpect:
          type: string
          description: (imap specific) String to expect in response
        encryption:
          type: boolean
          default: false
          description: (imap specific) Connection encryption
    single_resp:
      properties:
        result:
          properties:
            status:
              type: string
              description: 'Test result status (up, down)'
              example: up
            responsetime:
              type: integer
              description: Response time in milliseconds
              example: 73
            statusdesc:
              type: string
              description: Short status description
              example: OK
            statusdesclong:
              type: string
              description: Long status description
              example: OK
            probeid:
              type: integer
              description: Probe identifier
              example: 17
            probedesc:
              type: string
              description: Probe description
              example: 'Stockholm, Sweden'
    summary.average_checkid:
      type: integer
    summary.average_from:
      type: integer
      default: 0
    summary.average_to:
      type: integer
    summary.average_probes:
      type: string
    summary.average_includeuptime:
      type: boolean
      default: false
    summary.average_bycountry:
      type: boolean
      default: false
    summary.average_byprobe:
      type: boolean
      default: false
    summary_resp_attrs:
      properties:
        summary:
          type: object
          properties:
            responsetime:
              type: object
              properties:
                from:
                  type: number
                  example: 0
                  description: Start time of period
                to:
                  type: number
                  example: 1294245226
                  description: End time of period
                avgresponse:
                  oneOf:
                    - type: integer
                      example: 458
                      description: Total average response time in milliseconds
                    - type: array
                      items:
                        type: object
                        properties:
                          countryiso:
                            description: Country group ISO code
                            type: string
                            example: SE
                          probeid:
                            description: Probe group probe identifier
                            type: integer
                            example: 123
                          avgresponse:
                            description: Group average response time in milliseconds
                            type: integer
                            example: 250
            status:
              type: object
              properties:
                totalup:
                  type: integer
                  description: >-
                    Total uptime in seconds (Please note that the accuracy of
                    this value is depending on your check resolution).
                  example: 53072286
                totaldown:
                  type: integer
                  description: >-
                    Total downtime in seconds (Please note that the accuracy of
                    this value is depending on your check resolution).
                  example: 771879
                totalunknown:
                  type: integer
                  description: >-
                    Total unknown/unmonitored/paused in seconds (Please note
                    that the accuracy of this value is depending on your check
                    resolution. Also note that time before the check was created
                    counts as unknown).
                  example: 1240401138
    summary.hoursofday_checkid:
      type: integer
    summary.hoursofday_from:
      type: integer
    summary.hoursofday_to:
      type: integer
    summary.hoursofday_probes:
      type: string
    summary.hoursofday_uselocaltime:
      type: boolean
      default: false
    summary.hoursofday_resp_attrs:
      properties:
        hoursofday:
          type: array
          items:
            type: object
            properties:
              hour:
                type: number
                example: 1
                description: >-
                  Hour of day (0-23). Please note that if data is missing for an
                  individual hour, it's entry will not be included in the
                  result.
              avgresponse:
                type: number
                example: 299
                description: >-
                  Average response time (in milliseconds) for this hour of the
                  day
    summary.outage_checkid:
      type: integer
    summary.outage_from:
      type: integer
    summary.outage_to:
      type: integer
    summary.outage_order:
      type: string
      enum:
        - asc
        - desc
      default: asc
    summary.outage_resp_attrs:
      properties:
        summary:
          properties:
            states:
              type: array
              items:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - up
                      - down
                      - unknown
                    description: Interval status
                    example: up
                  timefrom:
                    type: number
                    description: Interval start. Format UNIX timestamp
                    example: 1293143523
                  timeto:
                    type: number
                    description: Interval end. Format UNIX timestamp
                    example: 1294180263
          type: object
    summary.performance_checkid:
      type: integer
    summary.performance_from:
      type: integer
    summary.performance_to:
      type: integer
    summary.performance_resolution:
      type: string
      enum:
        - hour
        - day
        - week
      default: hour
    summary.performance_includeuptime:
      type: boolean
      default: false
    summary.performance_probes:
      type: string
    summary.performance_order:
      type: string
      enum:
        - asc
        - desc
      default: asc
    Weeks:
      type: object
      properties:
        weeks:
          $ref: '#/components/schemas/summary.performance_results'
    Days:
      type: object
      properties:
        days:
          $ref: '#/components/schemas/summary.performance_results'
    Hours:
      type: object
      properties:
        hours:
          $ref: '#/components/schemas/summary.performance_results'
    summary.performance_results:
      type: array
      items:
        type: object
        properties:
          starttime:
            type: number
            description: Interval start. Format UNIX timestamp
            example: 1287957600
          avgresponse:
            type: number
            description: Average response time for this interval in milliseconds
            example: 468
          uptime:
            type: number
            description: Total uptime for this interval in seconds
            example: 608400
          downtime:
            type: number
            description: Total downtime for this interval in seconds
            example: 0
          unmonitored:
            type: number
            description: Total unmonitored time for this interval in seconds
            example: 0
    summary.performance_resp_attrs:
      properties:
        summary:
          oneOf:
            - $ref: '#/components/schemas/Weeks'
            - $ref: '#/components/schemas/Days'
            - $ref: '#/components/schemas/Hours'
    summary.probes_checkid:
      type: integer
    summary.probes_from:
      type: integer
    summary.probes_to:
      type: integer
    summary.probes_resp_attrs:
      properties:
        probes:
          type: array
          items:
            type: integer
            description: Probe identifier
          example:
            - 43
            - 42
            - 41
            - 40
            - 39
            - 37
            - 36
            - 35
            - 34
            - 33
            - 32
            - 31
            - 30
            - 29
            - 28
            - 27
            - 24
            - 23
            - 22
            - 21
    Members:
      type: object
      properties:
        id:
          type: integer
          description: Contact identifier
        name:
          type: string
          description: The team member’s name
        type:
          type: string
          description: >-
            Type defines whether the member is a user (login user) or a contact
            only
          enum:
            - user
            - contact
    Teams:
      properties:
        teams:
          type: array
          items:
            $ref: '#/components/schemas/AlertingTeams'
      example:
        teams:
          - id: 1
            name: Team Rocket
            members:
              - id: 1
                name: John Doe
                type: user
          - id: 2
            name: The A-Team
            members:
              - id: 2
                name: John 'Hannibal' Smith
                type: user
              - id: 3
                name: Templeton 'Faceman' Peck
                type: contact
    AlertingTeams:
      type: object
      properties:
        id:
          type: integer
          description: Team identifier
        name:
          type: string
          description: Team name
        members:
          type: array
          items:
            $ref: '#/components/schemas/Members'
    Team_ID:
      properties:
        team:
          $ref: '#/components/schemas/AlertingTeam_ID'
    AlertingTeam_ID:
      type: object
      properties:
        id:
          type: integer
          description: Team identifier
        name:
          type: string
          description: Team name
        members:
          type: array
          items:
            $ref: '#/components/schemas/Members'
      example:
        id: 1
        name: Team Rocket
        members:
          - id: 1
            name: John Doe
            type: user
          - id: 4
            name: Sidekick Jimmy
            type: contact
    UpdateTeam:
      type: object
      required:
        - name
        - member_ids
      properties:
        name:
          type: string
          description: Team name
        member_ids:
          type: array
          description: IDs of contacts to be the members of this team
          items:
            format: int64
            type: integer
      example:
        name: Team Rocket
        member_ids:
          - 1
          - 4
    CreateTeam:
      type: object
      required:
        - name
        - member_ids
      properties:
        name:
          type: string
          description: Team name
        member_ids:
          type: array
          description: Contact ids
          items:
            type: integer
      example:
        name: API Team
        member_ids:
          - 12345
          - 54321
    SMSes:
      type: array
      items:
        type: object
        properties:
          severity:
            type: string
            description: Contact target's severity level
          country_code:
            type: string
            description: Country code
          number:
            type: string
            description: Phone number
          provider:
            type: string
            description: Provider
    Emails:
      type: array
      items:
        type: object
        properties:
          severity:
            type: string
            description: Contact target's severity level
          address:
            type: string
            description: Email address
    APNS:
      type: array
      items:
        type: object
        properties:
          severity:
            type: string
            description: Contact target's severity level
          device_name:
            type: string
            description: Contact targets's device name
          apns_device:
            type: string
            description: Contact target's apns
    AGCM:
      type: array
      items:
        type: object
        properties:
          severity:
            type: string
            description: Contact target's severity level
          agcm_id:
            type: string
            description: Contact target's agcm id
    ContactTargets:
      type: object
      properties:
        id:
          type: integer
          description: Contact ID
        name:
          type: string
          description: Contact name
        paused:
          type: boolean
          enum:
            - true
            - false
          description: Describes whether alerts are paused for this contact
        type:
          type: string
          description: Type defines whether this is a user (login user) or a contact only
          enum:
            - user
            - contact
        owner:
          type: boolean
          description: Indicates whether the contact is the owner of the organization
          enum:
            - true
            - false
        notification_targets:
          anyOf:
            - $ref: '#/components/schemas/SMSes'
            - $ref: '#/components/schemas/Emails'
            - $ref: '#/components/schemas/APNS'
            - $ref: '#/components/schemas/AGCM'
        teams:
          type: array
          items:
            type: object
            properties:
              id:
                type: integer
                description: Team ID
              name:
                type: string
                description: Name of the team
    Contact:
      properties:
        contact:
          $ref: '#/components/schemas/ContactTargets'
      example:
        contact:
          id: 123456
          name: John Doe
          paused: false
          type: user
          owner: true
          notification_targets:
            email:
              - severity: HIGH
                address: johndoe@teamrocket.com
            sms:
              - severity: HIGH
                country_code: '00'
                number: '111111111'
                provider: provider's name
          teams:
            - id: 123456
              name: The Dream Team
    CreateContact:
      type: object
      required:
        - name
        - notification_targets
      properties:
        name:
          type: string
          description: Contact name
        paused:
          type: boolean
          description: Pause contact
          default: false
          enum:
            - true
            - false
        notification_targets:
          anyOf:
            - $ref: '#/components/schemas/SMSes'
            - $ref: '#/components/schemas/Emails'
      example:
        name: John Doe
        notification_targets:
          email:
            - severity: HIGH
              address: johndoe@teamrocket.com
          sms:
            - severity: HIGH
              country_code: '93'
              number: '111111111'
              provider: provider's name
    ContactsList:
      properties:
        contacts:
          type: array
          items:
            $ref: '#/components/schemas/ContactTargets'
          description: List of all contacts targets
      example:
        contacts:
          - id: 1
            name: John Doe
            paused: false
            type: user
            owner: true
            notification_targets:
              email:
                - severity: HIGH
                  address: johndoe@teamrocket.com
              sms:
                - severity: HIGH
                  country_code: '00'
                  number: '111111111'
                  provider: provider's name
            teams:
              - id: 123456
                name: The Dream Team
          - id: 2
            name: John "Hannibal" Smith
            paused: true
            type: user
            notification_targets:
              email:
                - severity: HIGH
                  address: hannibal@ateam.org
              sms:
                - severity: HIGH
                  country_code: '00'
                  number: '222222222'
                  provider: provider's name
            teams: []
    UpdateContact:
      type: object
      required:
        - name
        - paused
        - notification_targets
      properties:
        name:
          type: string
          description: Contact name
        paused:
          type: boolean
          description: Pause contact
          enum:
            - true
            - false
        notification_targets:
          anyOf:
            - $ref: '#/components/schemas/SMSes'
            - $ref: '#/components/schemas/Emails'
      example:
        name: John Doe
        paused: false
        notification_targets:
          email:
            - severity: HIGH
              address: johndoe@teamrocket.com
          sms:
            - severity: HIGH
              country_code: '93'
              number: '111111111'
              provider: provider's name
    Traceroute:
      type: object
      properties:
        traceroute:
          $ref: '#/components/schemas/TracerouteData'
    TracerouteData:
      type: object
      properties:
        result:
          type: string
          example: >-
            traceroute to pingdom.com (83.140.19.136), 30 hops max, 40 byte
            packets ...
          description: Traceroute output
        probeid:
          type: integer
          example: 23
          description: Probe identifier
        probedescription:
          type: string
          example: 'Dallas 4, TX'
          description: Probe description
    CheckGeneral:
      properties:
        active:
          description: 'Check status: active or inactive'
          example: true
          type: boolean
          x-go-name: Active
        created_at:
          description: Timestamp when the check was created
          example: 1553070682
          format: int64
          type: integer
          x-go-name: CreatedAt
        id:
          description: Id of the check
          example: 3
          format: int64
          type: integer
          x-go-name: CheckID
        interval:
          description: >-
            TMS test intervals in minutes. Allowed intervals:
            5,10,20,60,720,1440. The interval you're allowed to set may vary
            depending on your current plan.
          example: 10
          format: int64
          type: integer
          x-go-name: Interval
        modified_at:
          description: Timestamp when the check was modified
          example: 1553070968
          format: int64
          type: integer
          x-go-name: ModifiedAt
        last_downtime_start:
          description: Timestamp when the last downtime started. This field is optional
          example: 1553081100
          format: int64
          type: integer
          x-go-name: LastDowntimeStart
        last_downtime_end:
          description: Timestamp when the last downtime ended. This field is optional
          example: 1553089000
          format: int64
          type: integer
          x-go-name: LastDowntimeEnd
        name:
          description: Name of the check
          example: My awesome check
          type: string
          x-go-name: Name
        region:
          description: >-
            Name of the region where the check is executed. Supported regions:
            us-east, us-west, eu, au
          example: us-west
          type: string
          x-go-name: Region
        status:
          description: >-
            Whether the check is passing or failing at the moment (successful,
            failing, unknown)
          example: successful
          type: string
          x-go-name: Status
        tags:
          description: >-
            List of tags for a check. The tag name may contain the characters
            'A-Z', 'a-z', '0-9', '_' and '-'. The maximum length of a tag is 64
            characters.
          example:
            - tag1
            - tag2
          items:
            type: string
          type: array
        type:
          description: >-
            Type of transaction check: "script" for regular TMS checks and
            "recording" for checks made using the Transaction Recorder
          example:
            - script
          enum:
            - script
            - recording
          type: string
      type: object
      x-go-package: github.com/pingdom/tms-api/internal/models
    CheckSimple:
      properties:
        id:
          description: Id of the check
          example: 3
          format: int64
          type: integer
          x-go-name: CheckID
        name:
          description: Name of the check
          example: My awesome check
          type: string
          x-go-name: Name
      type: object
      x-go-package: github.com/pingdom/tms-api/internal/models
    CheckWithoutID:
      description: >-
        CheckWithoutID is a struct describing a TMS check data common for
        creating a check
      properties:
        active:
          description: 'Check status: active or inactive'
          example: false
          default: true
          type: boolean
          x-go-name: Active
        contact_ids:
          description: Contacts to alert
          example:
            - 12345678
            - 19876654
          items:
            format: int64
            type: integer
          type: array
          x-go-name: ContactIDs
        custom_message:
          description: Custom message that is part of the email and webhook alerts
          example: My custom message
          type: string
          x-go-name: CustomMessage
        interval:
          description: >-
            TMS test intervals in minutes. Allowed intervals:
            5,10,20,60,720,1440. The interval you're allowed to set may vary
            depending on your current plan.
          example: 20
          default: 10
          format: int64
          type: integer
          x-go-name: Interval
        name:
          description: Name of the check
          example: My awesome check
          type: string
          x-go-name: Name
        region:
          description: >-
            Name of the region where the check is executed. Supported regions:
            us-east, us-west, eu, au
          example: us-west
          default: us-east
          type: string
          x-go-name: Region
        send_notification_when_down:
          description: Send notification when down X times
          example: 0
          default: 1
          format: int64
          type: integer
          x-go-name: NotifyAfter
        severity_level:
          description: >-
            Check importance- how important are the alerts when the check fails.
            Allowed values: low, high
          example: low
          default: high
          type: string
          x-go-name: SeverityLevel
        steps:
          description: steps to be executed as part of the check
          items:
            $ref: '#/components/schemas/Step'
          type: array
          x-go-name: Steps
        team_ids:
          description: Teams to alert
          example:
            - 12345678
            - 135790
          items:
            format: int64
            type: integer
          type: array
          x-go-name: TeamIDs
        integration_ids:
          description: Integration identifiers.
          example:
            - 1234
            - 1359
          items:
            format: int64
            type: integer
          type: array
          x-go-name: IntegrationIDs
        metadata:
          $ref: '#/components/schemas/Metadata'
        tags:
          description: >-
            List of tags for a check. The tag name may contain the characters
            'A-Z', 'a-z', '0-9', '_' and '-'. The maximum length of a tag is 64
            characters.
          example:
            - tag1
            - tag2
          items:
            type: string
          type: array
      required:
        - name
        - steps
      type: object
      x-go-package: github.com/pingdom/tms-api/internal/models
    CheckWithoutIDPUT:
      description: >-
        CheckWithoutIDPUT is a struct describing a TMS check data common for
        updating a check
      properties:
        active:
          description: 'Check status: active or inactive'
          example: true
          type: boolean
          x-go-name: Active
        contact_ids:
          description: Contacts to alert
          example:
            - 12345678
            - 19876654
          items:
            format: int64
            type: integer
          type: array
          x-go-name: ContactIDs
        custom_message:
          description: Custom message that is part of the email and webhook alerts
          example: My custom message
          type: string
          x-go-name: CustomMessage
        interval:
          description: >-
            TMS test intervals in minutes. Allowed intervals:
            5,10,20,60,720,1440. The interval you're allowed to set may vary
            depending on your current plan.
          example: 10
          format: int64
          type: integer
          x-go-name: Interval
        name:
          description: Name of the check
          example: My awesome check
          type: string
          x-go-name: Name
        region:
          description: >-
            Name of the region where the check is executed. Supported regions:
            us-east, us-west, eu, au
          example: us-west
          type: string
          x-go-name: Region
        send_notification_when_down:
          description: Send notification when down X times
          example: 1
          format: int64
          type: integer
          x-go-name: NotifyAfter
        severity_level:
          description: >-
            Check importance- how important are the alerts when the check fails.
            Allowed values: low, high
          example: low
          type: string
          x-go-name: SeverityLevel
        steps:
          description: steps to be executed as part of the check
          items:
            $ref: '#/components/schemas/Step'
          type: array
          x-go-name: Steps
        team_ids:
          description: Teams to alert
          example:
            - 12345678
            - 135790
          items:
            format: int64
            type: integer
          type: array
          x-go-name: TeamIDs
        metadata:
          $ref: '#/components/schemas/Metadata'
        tags:
          description: >-
            List of tags for a check. The tag name may contain the characters
            'A-Z', 'a-z', '0-9', '_' and '-'. The maximum length of a tag is 64
            characters.
          example:
            - tag1
            - tag2
          items:
            type: string
          type: array
        integration_ids:
          type: array
          items:
            type: integer
          example:
            - 12345
            - 98765
          description: Integration identifiers as a list of integers.
      type: object
      x-go-package: github.com/pingdom/tms-api/internal/models
    CheckWithoutIDGET:
      description: >-
        CheckWithoutIDGET is a struct describing a TMS check data common for
        displaying a check
      properties:
        active:
          description: Check status - active or inactive
          example: true
          type: boolean
          x-go-name: Active
        contact_ids:
          description: Contacts to alert
          example:
            - 12345678
            - 19876654
          items:
            format: int64
            type: integer
          type: array
          x-go-name: ContactIDs
        created_at:
          description: Timestamp when the check was created
          example: 1553070682
          format: int64
          type: integer
          x-go-name: CreatedAt
        modified_at:
          description: Timestamp when the check was modified
          example: 1553070968
          format: int64
          type: integer
          x-go-name: ModifiedAt
        last_downtime_start:
          description: Timestamp when the last downtime started. This field is optional
          example: 1553081100
          format: int64
          type: integer
          x-go-name: LastDowntimeStart
        last_downtime_end:
          description: Timestamp when the last downtime ended. This field is optional
          example: 1553089000
          format: int64
          type: integer
          x-go-name: LastDowntimeEnd
        custom_message:
          description: Custom message that is part of the email and webhook alerts
          example: My custom message
          type: string
          x-go-name: CustomMessage
        interval:
          description: >-
            TMS test intervals in minutes. Allowed intervals:
            5,10,20,60,720,1440. The interval you're allowed to set may vary
            depending on your current plan.
          example: 10
          format: int64
          type: integer
          x-go-name: Interval
        name:
          description: Name of the check
          example: My awesome check
          type: string
          x-go-name: Name
        region:
          description: >-
            Name of the region where the check is executed. Supported regions:
            us-east, us-west, eu, au
          example: us-west
          type: string
          x-go-name: Region
        send_notification_when_down:
          description: Send notification when down X times
          example: 1
          format: int64
          type: integer
          x-go-name: NotifyAfter
        severity_level:
          description: >-
            Check importance- how important are the alerts when the check fails.
            Allowed values: low, high
          example: low
          type: string
          x-go-name: SeverityLevel
        status:
          description: >-
            Whether the check is passing or failing at the moment (successful,
            failing, unknown)
          example: successful
          type: string
          x-go-name: Status
        steps:
          description: steps to be executed as part of the check
          items:
            $ref: '#/components/schemas/Step'
          type: array
          x-go-name: Steps
        team_ids:
          description: Teams to alert
          example:
            - 12345678
            - 135790
          items:
            format: int64
            type: integer
          type: array
          x-go-name: TeamIDs
        integration_ids:
          description: Integration identifiers.
          example:
            - 1234
            - 1359
          items:
            format: int64
            type: integer
          type: array
          x-go-name: IntegrationIDs
        metadata:
          $ref: '#/components/schemas/MetadataGET'
        tags:
          description: >-
            List of tags for a check. The tag name may contain the characters
            'A-Z', 'a-z', '0-9', '_' and '-'. The maximum length of a tag is 64
            characters.
          example:
            - tag1
            - tag2
          items:
            type: string
          type: array
        type:
          description: >-
            Type of transaction check: "script" for regular TMS checks and
            "recording" for checks made using the Transaction Recorder
          example:
            - script
          enum:
            - script
            - recording
          type: string
      type: object
    ChecksAll:
      properties:
        checks:
          items:
            $ref: '#/components/schemas/CheckGeneral'
          type: array
          x-go-name: Check
        limit:
          example: 1000
          format: uint64
          type: integer
          x-go-name: Limit
        offset:
          example: 0
          format: uint64
          type: integer
          x-go-name: Offset
      type: object
    Step:
      description: Step is a struct describing a single step of a TMS check
      properties:
        args:
          description: |-
            Parameters for the operation
            The actual parameters required depend on the chosen operation
          properties:
            checkbox:
              type: string
              x-go-name: Checkbox
            element:
              type: string
              x-go-name: Element
            form:
              type: string
              x-go-name: Form
            input:
              type: string
              x-go-name: Input
            option:
              type: string
              x-go-name: Option
            password:
              type: string
              x-go-name: Password
            radio:
              type: string
              x-go-name: Radio
            seconds:
              type: string
              x-go-name: Seconds
            select:
              type: string
              x-go-name: Select
            url:
              example: 'http://www.google.com'
              type: string
              x-go-name: URL
            username:
              type: string
              x-go-name: Username
            value:
              type: string
              x-go-name: Value
          type: object
          x-go-name: Parameters
        fn:
          description: Operation to be done
          example: go_to
          type: string
          x-go-name: Function
      type: object
    HttpAuthentications:
      properties:
        credentials:
          description: Basic Authentication credentials to use on host
          properties:
            password:
              description: Basic Authentication password
              example: secret
              type: string
              x-go-name: Password
            userName:
              description: Basic Authentication Username
              example: admin
              type: string
              x-go-name: UserName
          type: object
          x-go-name: Credentials
        host:
          example: 'https://example.com/auth'
          type: string
          x-go-name: Host
    MetadataGET:
      description: >-
        Recording related metadata. Used for recordings only. Modify with
        caution!
      properties:
        width:
          description: Width of the browser window
          example: 1950
          type: integer
          x-go-name: Width
        height:
          description: Height of the browser window
          example: 1080
          type: integer
          x-go-name: Height
        disableWebSecurity:
          description: >-
            Setting this field to false will disable the same-origin policy
            during check execution
          type: boolean
          x-go-name: DisableWebSecurity
        authentications:
          description: >-
            Allowed values are either an empty JSON object (no authentication)
            or Basic Authentication
          properties:
            httpAuthentications:
              description: >-
                HTTP (browser-level) authentications. Currently, only Basic
                Authentication is supported
              items:
                $ref: '#/components/schemas/HttpAuthentications'
              type: array
          type: object
          x-go-name: Authentications
      type: object
    Metadata:
      description: >-
        Recording related metadata. Used for recordings only. Modify with
        caution!
      properties:
        width:
          description: Width of the browser window
          example: 1950
          type: integer
          x-go-name: Width
        height:
          description: Height of the browser window
          example: 1080
          type: integer
          x-go-name: Height
        disableWebSecurity:
          description: >-
            Setting this field to false will disable the same-origin policy
            during check execution
          type: boolean
          x-go-name: DisableWebSecurity
        authentications:
          description: >-
            Allowed values are either an empty JSON object (no authentication)
            or Basic Authentication
          properties:
            httpAuthentications:
              description: >-
                HTTP (browser-level) authentications. Currently, only Basic
                Authentication is supported
              items:
                $ref: '#/components/schemas/HttpAuthentications'
              type: array
          type: object
          x-go-name: Authentications
      type: object
      required:
        - width
        - height
        - disableWebSecurity
        - authentications
    State:
      type: object
      properties:
        status:
          type: string
          enum:
            - up
            - down
            - unknown
          description: Interval status
          example: down
        from:
          $ref: '#/components/schemas/PropertyFrom'
        to:
          type: string
          description: Interval end. The format is `RFC 3339`
          format: date-time
          example: '2020-07-14T07:25:15.000Z'
        error_in_step:
          type: integer
          example: 2
          description: >-
            Number of step in which an error has occured (only if `status` is
            `down`)
        message:
          type: string
          example: >-
            URL should be 'http://www.example12345.com/' but is
            'http://www.example.com/'.
          description: >-
            Error message for the step that is failing (only if `status` is
            `down`)
    CheckStatus:
      properties:
        check_id:
          $ref: '#/components/schemas/PropertyCheckID'
        name:
          $ref: '#/components/schemas/PropertyCheckName'
        states:
          description: Intervals when the check had a specific status (`up`/`down`).
          items:
            $ref: '#/components/schemas/State'
          type: array
      type: object
    ReportStatusSingle:
      properties:
        report:
          $ref: '#/components/schemas/CheckStatus'
      type: object
    ReportStatusAll:
      properties:
        report:
          type: array
          items:
            $ref: '#/components/schemas/CheckStatus'
      type: object
    AverageResponse:
      description: Average response times in milliseconds
      type: integer
      format: int64
      example: 123
    Downtime:
      description: >-
        Amount of time when the check was down within given interval (only with
        the `include_uptime` flag)
      type: integer
      format: int64
      example: 10
    Uptime:
      description: >-
        Amount of time when the check was up within given interval (only with
        the `include_uptime` flag)
      type: integer
      format: int64
      example: 230
    Unmonitored:
      description: >-
        Amount of time when there is no specific data about check status
        (up/down) within given interval (only with the `include_uptime` flag)
      type: integer
      format: int64
      example: 50
    PropertyFrom:
      type: string
      format: date-time
      description: Interval start. The format is `RFC 3339`
      example: '2020-07-10T10:51:55.000Z'
    PropertyCheckID:
      description: ID of the check
      example: 123
      format: int64
      type: integer
    PropertyCheckName:
      description: Name of the check
      example: My awesome check
      type: string
    ReportPerformance:
      properties:
        report:
          properties:
            check_id:
              $ref: '#/components/schemas/PropertyCheckID'
            name:
              $ref: '#/components/schemas/PropertyCheckName'
            resolution:
              description: Size of a time bucket for which the results are calculated
              example: day
              type: string
              enum:
                - hour
                - day
                - week
            intervals:
              description: Intervals for which the measurements were performed.
              items:
                type: object
                properties:
                  average_response:
                    $ref: '#/components/schemas/AverageResponse'
                  from:
                    $ref: '#/components/schemas/PropertyFrom'
                  downtime:
                    $ref: '#/components/schemas/Downtime'
                  uptime:
                    $ref: '#/components/schemas/Uptime'
                  unmonitored:
                    $ref: '#/components/schemas/Unmonitored'
                  steps:
                    type: array
                    items:
                      type: object
                      properties:
                        step:
                          $ref: '#/components/schemas/Step'
                        average_response:
                          $ref: '#/components/schemas/AverageResponse'
              type: array
          type: object
      type: object
  responses:
    checkAddedResponse:
      description: Simplified description of an added check.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CheckSimple'
    checkDeletedResponse:
      description: Message indicating a successful modification
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                example: Deletion of check 1234567 was successful
                type: string
    checkDetailed:
      description: Detailed description of specified check.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CheckWithoutIDGET'
    checkModifiedResponse:
      description: Detailed description of a modified check.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CheckWithoutIDGET'
    checksAll:
      description: Description of all checks for a user.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ChecksAll'
    reportStatusSingle:
      description: Status change report for a single transaction check
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ReportStatusSingle'
    reportStatusAll:
      description: >-
        Status change report for all transaction check in the current
        organization
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ReportStatusAll'
    reportPerformance:
      description: Performance report for a single transaction check
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ReportPerformance'
