{
  "opencollection": "1.0.0",
  "info": {
    "name": "Controlup Events API",
    "version": "1.0"
  },
  "items": [
    {
      "info": {
        "name": "Events",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Get system events",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.controlup.com/edge/api/events",
            "params": [
              {
                "name": "size",
                "value": "",
                "type": "query",
                "description": "The number of rows returned per page."
              },
              {
                "name": "page",
                "value": "",
                "type": "query",
                "description": "The page returned. The number of rows per page is set with the `size` parameter."
              },
              {
                "name": "from",
                "value": "",
                "type": "query",
                "description": "The index of the `rows` array to start returning data from. The array index starts at 0. For example, if you set `from` = 2, the first two rows are excluded."
              },
              {
                "name": "filters[0][field]",
                "value": "",
                "type": "query",
                "description": "Filters the returned data based on the specified field name. This parameter must be used in combination with `filters[0][type]` and `filters[0][value]` to define a filter condition.\nYou can add multiple filter conditions by changing the integer in the parameter names (for example, `filters[1][field]`).</br></br>\n"
              },
              {
                "name": "filters[0][type]",
                "value": "",
                "type": "query",
                "description": "The type of filter used in corresponding filter condition. The type of filter you can use depends on the data type of the field.<br><br>\n`<`, `<=`, `=`, `!=`, `<=`, or `>` are used to filter numbers and dates.<br>\n`boolean` is used to filter boolean fields.<br>\n`like` is used to filter text fields.\n"
              },
              {
                "name": "filters[0][value]",
                "value": "",
                "type": "query",
                "description": "The value used in the corresponding filter condition. The value you can use depends on the filter type.<br><br>\nIf you are filtering a date or text field, enter a string. If you are filtering a number field, enter a number. If you are filtering a boolean field, enter a boolean. If you are filtering a text field, you can use * as a wildcard, or begin the string with !! to exclude items that contain the string.\n"
              },
              {
                "name": "sorters[0][field]",
                "value": "",
                "type": "query",
                "description": "Sorts the returned data based on the specified field name. This parameter must be used in combination with `sorters[0][dir]` to set the sort order.\nYou can sort by more than one field by changing the integer in the parameter names (for example, `sorters[1][field]`). Sorters with a lower integer are applied first.</br></br>\n"
              },
              {
                "name": "sorters[0][dir]",
                "value": "",
                "type": "query",
                "description": "The sort order for the corresponding field. Set to `asc` for ascending, or `desc` for descending."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Returns entries from the System Events log, which contains alerts, actions, configuration changes, etc. By default, the endpoint returns 10000 events starting with the oldest event. A maximum of 10000 events can be returned per request.\n"
        },
        {
          "info": {
            "name": "Get system events with query",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.controlup.com/edge/api/events/query",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Returns the same data as [GET /events](get-system-events), but lets you send an OpenSearch query in the request body."
        },
        {
          "info": {
            "name": "List all Events",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://api.controlup.com/edge/api/events/organizations/:orgId/events",
            "params": [
              {
                "name": "orgId",
                "value": "",
                "type": "path",
                "description": "ID of your ControlUp organization. You can find your organization ID on the [API Key Management page](how-to-make-api-requests#how-to-find-your-controlup-organization-id) in the DEX platform."
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Returns a list of events based on specified time ranges and filtering criteria. This endpoint uses field projection, returning only the specific event attributes requested in the fields parameter."
        },
        {
          "info": {
            "name": "Get total count of events",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.controlup.com/edge/api/events/organizations/:orgId/events/total",
            "params": [
              {
                "name": "filters",
                "value": "",
                "type": "query",
                "description": "To use the filter builder, you must first select a single top-level logic group (AND/OR) and then add your filter conditions within the group. All conditions in the group are evaluated together using the group's logic operator (AND/OR).\n\nDo not include both operator types at the top-level. If you need to combine AND/OR logic, you can switch the logic type by adding a new nested group object within the first group, such as AND[user is Bob, OR[severity is high, severity is low]]. This translates to \"user is Bob AND (severity is high OR severity is low)\".\n\nNote that you can also send the filter object as a JSON-encoded string. Ensure your JSON follows the same structure as the query builder."
              },
              {
                "name": "timeFrom",
                "value": "",
                "type": "query",
                "description": "Return events starting from the specified time in epoch timestamp (milliseconds)."
              },
              {
                "name": "timeTo",
                "value": "",
                "type": "query",
                "description": "Return events up to the specified time in epoch timestamp (milliseconds)."
              },
              {
                "name": "field",
                "value": "",
                "type": "query",
                "description": "The event attribute to aggregate for unique values. You can use uuid to calculate the total number of unique events."
              },
              {
                "name": "orgId",
                "value": "",
                "type": "path",
                "description": "ID of your ControlUp organization. You can find your organization ID on the [API Key Management page](how-to-make-api-requests#how-to-find-your-controlup-organization-id) in the DEX platform."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Returns the count of unique values (cardinality) for a specified field within a defined time range. This endpoint allows you to quantify the diversity of your event data such as counting unique users, distinct error types, or total event volume, while applying filters to narrow the scope."
        },
        {
          "info": {
            "name": "Retrieve an event",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://api.controlup.com/edge/api/events/organizations/:orgId/events/:eventId",
            "params": [
              {
                "name": "orgId",
                "value": "",
                "type": "path",
                "description": "ID of your ControlUp organization. You can find your organization ID on the [API Key Management page](how-to-make-api-requests#how-to-find-your-controlup-organization-id) in the DEX platform."
              },
              {
                "name": "eventId",
                "value": "",
                "type": "path",
                "description": "The UUID of the event to retrieve."
              }
            ],
            "auth": {
              "type": "bearer",
              "token": "{{bearerToken}}"
            }
          },
          "docs": "Retrieves the details of a specific event."
        }
      ]
    }
  ],
  "bundled": true
}