openapi: 3.0.0
info:
  title: Sumo Logic API
  description: >
    # Getting Started

    Welcome to the Sumo Logic API reference. You can use these APIs to interact
    with the Sumo Logic platform. For information on the collector and search
    APIs see our [API home page](https://help.sumologic.com/APIs).

    ## API Endpoints

    Sumo Logic has several deployments in different geographic locations. You'll
    need to use the Sumo Logic API endpoint corresponding to your geographic
    location. See the table below for the different API endpoints by deployment.
    For details determining your account's deployment see [API
    endpoints](https://help.sumologic.com/?cid=3011).

      <table>
        <tr>
          <td> <strong>Deployment</strong> </td>
          <td> <strong>Endpoint</strong> </td>
        </tr>
        <tr>
          <td> AU </td>
          <td> https://api.au.sumologic.com/api/ </td>
        </tr>
        <tr>
          <td> CA </td>
          <td> https://api.ca.sumologic.com/api/ </td>
        </tr>
        <tr>
          <td> DE </td>
          <td> https://api.de.sumologic.com/api/ </td>
        </tr>
        <tr>
          <td> EU </td>
          <td> https://api.eu.sumologic.com/api/ </td>
        </tr>
        <tr>
          <td> FED </td>
          <td> https://api.fed.sumologic.com/api/ </td>
        </tr>
        <tr>
          <td> IN </td>
          <td> https://api.in.sumologic.com/api/ </td>
        </tr>
        <tr>
          <td> JP </td>
          <td> https://api.jp.sumologic.com/api/ </td>
        </tr>
        <tr>
          <td> US1 </td>
          <td> https://api.sumologic.com/api/ </td>
        </tr>
        <tr>
          <td> US2 </td>
          <td> https://api.us2.sumologic.com/api/ </td>
        </tr>
      </table>

    ## Authentication

    Sumo Logic supports the following options for API authentication:

    - Access ID and Access Key

    - Base64 encoded Access ID and Access Key


    See [Access Keys](https://help.sumologic.com/Manage/Security/Access-Keys) to
    generate an Access Key. Make sure to copy the key you create, because it is
    displayed only once.

    When you have an Access ID and Access Key you can execute requests such as
    the following:
      ```bash
      curl -u "<accessId>:<accessKey>" -X GET https://api.<deployment>.sumologic.com/api/v1/users
      ```

    Where `deployment` is either `au`, `ca`, `de`, `eu`, `fed`, `in`, `jp`,
    `us1`, or `us2`. See [API endpoints](#section/API-Endpoints) for details.


    If you prefer to use basic access authentication, you can do a Base64
    encoding of your `<accessId>:<accessKey>` to authenticate your HTTPS
    request. The following is an example request, replace the placeholder
    `<encoded>` with your encoded Access ID and Access Key string:
      ```bash
      curl -H "Authorization: Basic <encoded>" -X GET https://api.<deployment>.sumologic.com/api/v1/users
      ```


    Refer to [API Authentication](https://help.sumologic.com/?cid=3012) for a
    Base64 example.


    ## Status Codes

    Generic status codes that apply to all our APIs. See the [HTTP status code
    registry](https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml)
    for reference.
      <table>
        <tr>
          <td> <strong>HTTP Status Code</strong> </td>
          <td> <strong>Error Code</strong> </td>
          <td> <strong>Description</strong> </td>
        </tr>
        <tr>
          <td> 301 </td>
          <td> moved </td>
          <td> The requested resource SHOULD be accessed through returned URI in Location Header. See [troubleshooting](https://help.sumologic.com/APIs/Troubleshooting-APIs/API-301-Error-Moved) for details.</td>
        </tr>
        <tr>
          <td> 401 </td>
          <td> unauthorized </td>
          <td> Credential could not be verified.</td>
        </tr>
        <tr>
          <td> 403 </td>
          <td> forbidden </td>
          <td> This operation is not allowed for your account type or the user doesn't have the role capability to perform this action. See [troubleshooting](https://help.sumologic.com/APIs/Troubleshooting-APIs/API-403-Error-This-operation-is-not-allowed-for-your-account-type) for details.</td>
        </tr>
        <tr>
          <td> 404 </td>
          <td> notfound </td>
          <td> Requested resource could not be found. </td>
        </tr>
        <tr>
          <td> 405 </td>
          <td> method.unsupported </td>
          <td> Unsupported method for URL. </td>
        </tr>
        <tr>
          <td> 415 </td>
          <td> contenttype.invalid </td>
          <td> Invalid content type. </td>
        </tr>
        <tr>
          <td> 429 </td>
          <td> rate.limit.exceeded </td>
          <td> The API request rate is higher than 4 request per second or inflight API requests are higher than 10 request per second. </td>
        </tr>
        <tr>
          <td> 500 </td>
          <td> internal.error </td>
          <td> Internal server error. </td>
        </tr>
        <tr>
          <td> 503 </td>
          <td> service.unavailable </td>
          <td> Service is currently unavailable. </td>
        </tr>
      </table>

    ## Filtering

    Some API endpoints support filtering results on a specified set of fields.
    Each endpoint that supports filtering will list the fields that can be
    filtered. Multiple fields can be combined by using an ampersand `&`
    character.


    For example, to get 20 users whose `firstName` is `John` and `lastName` is
    `Doe`:
      ```bash
      api.sumologic.com/v1/users?limit=20&firstName=John&lastName=Doe
      ```

    ## Sorting

    Some API endpoints support sorting fields by using the `sortBy` query
    parameter. The default sort order is ascending. Prefix the field with a
    minus sign `-` to sort in descending order.


    For example, to get 20 users sorted by their `email` in descending order:
      ```bash
      api.sumologic.com/v1/users?limit=20&sort=-email
      ```

    ## Asynchronous Request

    Asynchronous requests do not wait for results, instead they immediately
    respond back with a job identifier while the job runs in the background. You
    can use the job identifier to track the status of the asynchronous job
    request. Here is a typical flow for an asynchronous request.

    1. Start an asynchronous job. On success, a job identifier is returned. The
    job identifier uniquely identifies
      your asynchronous job.

    2. Once started, use the job identifier from step 1 to track the status of
    your asynchronous job. An asynchronous
      request will typically provide an endpoint to poll for the status of asynchronous job. A successful response
      from the status endpoint will have the following structure:
      ```json
      {
          "status": "Status of asynchronous request",
          "statusMessage": "Optional message with additional information in case request succeeds",
          "error": "Error object in case request fails"
      }
      ```
      The `status` field can have one of the following values:
        1. `Success`: The job succeeded. The `statusMessage` field might have additional information.
        2. `InProgress`: The job is still running.
        3. `Failed`: The job failed. The `error` field in the response will have more information about the failure.

    3. Some asynchronous APIs may provide a third endpoint (like [export
    result](#operation/getAsyncExportResult))
      to fetch the result of an asynchronous job.


    ### Example

    Let's say we want to export a folder with the identifier `0000000006A2E86F`.
    We will use the [async export](#operation/beginAsyncExport) API to export
    all the content under the folder with `id=0000000006A2E86F`.

    1. Start an export job for the folder
      ```bash
      curl -X POST -u "<accessId>:<accessKey>" https://api.<deployment>.sumologic.com/api/v2/content/0000000006A2E86F/export
      ```
      See [authentication section](#section/Authentication) for more details about `accessId`, `accessKey`, and
      `deployment`.
      On success, you will get back a job identifier. In the response below, `C03E086C137F38B4` is the job identifier.
      ```bash
      {
          "id": "C03E086C137F38B4"
      }
      ```

    2. Now poll for the status of the asynchronous job with the
    [status](#operation/getAsyncExportStatus) endpoint.
      ```bash
      curl -X GET -u "<accessId>:<accessKey>" https://api.<deployment>.sumologic.com/api/v2/content/0000000006A2E86F/export/C03E086C137F38B4/status
      ```
      You may get a response like
      ```json
      {
          "status": "InProgress",
          "statusMessage": null,
          "error": null
      }
      ```
      It implies the job is still in progress. Keep polling till the status is either `Success` or `Failed`.

    3. When the asynchronous job completes (`status != "InProgress"`), you can
    fetch the results with the
      [export result](#operation/getAsyncExportResult) endpoint.
      ```bash
      curl -X GET -u "<accessId>:<accessKey>" https://api.<deployment>.sumologic.com/api/v2/content/0000000006A2E86F/export/C03E086C137F38B4/result
      ```

      The asynchronous job may fail (`status == "Failed"`). You can look at the `error` field for more details.
      ```json
      {
          "status": "Failed",
          "errors": {
              "code": "content1:too_many_items",
              "message": "Too many objects: object count(1100) was greater than limit 1000"
          }
      }
      ```


    ## Rate Limiting

    * A rate limit of four API requests per second (240 requests per minute)
    applies to all API calls from a user.

    * A rate limit of 10 concurrent requests to any API endpoint applies to an
    access key.


    If a rate is exceeded, a rate limit exceeded 429 status code is returned.


    ## Generating Clients

    You can use [OpenAPI Generator](https://openapi-generator.tech) to generate
    clients from the YAML file to access the API.


    ### Using [NPM](https://www.npmjs.com/get-npm)

    1. Install [NPM package
    wrapper](https://github.com/openapitools/openapi-generator-cli) globally,
    exposing the CLI
      on the command line:
      ```bash
      npm install @openapitools/openapi-generator-cli -g
      ```
      You can see detailed instructions [here](https://openapi-generator.tech/docs/installation#npm).

    2. Download the [YAML file](/docs/sumologic-api.yaml) and save it locally.
    Let's say the file is saved as `sumologic-api.yaml`.

    3. Use the following command to generate `python` client inside the
    `sumo/client/python` directory:
      ```bash
      openapi-generator generate -i sumologic-api.yaml -g python -o sumo/client/python
      ```


    ### Using [Homebrew](https://brew.sh/)

    1. Install OpenAPI Generator
      ```bash
      brew install openapi-generator
      ```

    2. Download the [YAML file](/docs/sumologic-api.yaml) and save it locally.
    Let's say the file is saved as `sumologic-api.yaml`.

    3. Use the following command to generate `python` client side code inside
    the `sumo/client/python` directory:
      ```bash
      openapi-generator generate -i sumologic-api.yaml -g python -o sumo/client/python
      ```
  version: 1.0.0
  x-logo:
    url: ./sumologic_logo.png
servers:
  - url: https://api.au.sumologic.com/api
    description: AU deployment API server
  - url: https://api.ca.sumologic.com/api
    description: CA deployment API server
  - url: https://api.de.sumologic.com/api
    description: DE deployment API server
  - url: https://api.eu.sumologic.com/api
    description: EU deployment API server
  - url: https://api.fed.sumologic.com/api
    description: FED deployment API server
  - url: https://api.jp.sumologic.com/api
    description: JP deployment API server
  - url: https://api.in.sumologic.com/api
    description: IN deployment API server
  - url: https://api.sumologic.com/api
    description: US1 deployment API server
  - url: https://api.us2.sumologic.com/api
    description: US2 deployment API server
security:
  - basicAuth: []
tags:
  - name: accountManagement
    description: >
      Account Management API.


      Manage the custom subdomain for the URL used to access your Sumo Logic
      account. For more information see [Manage
      Organization](https://help.sumologic.com/Manage/01Account_Usage/05Manage_Organization).
    x-displayName: Account
  - name: appManagement
    description: >
      App installation API.


      View and install Sumo Logic Applications that deliver out-of-the-box
      dashboards, saved searches, and field extraction for popular data sources.
      For more information see [Sumo Logic
      Apps](https://help.sumologic.com/07Sumo-Logic-Apps).
    x-displayName: Apps (Beta)
  - name: connectionManagement
    description: >
      Connection management API.


      Set up connections to send alerts to other tools. For more information see
      [Connections and Integrations](https://help.sumologic.com/?cid=1044).
    x-displayName: Connections (Beta)
  - name: contentManagement
    description: >
      Content management API.


      You can export, import, delete and copy content in your organizationâ€™s
      Library. For more information see
      [Library](https://help.sumologic.com/?cid=5173). You can perform the
      request as a Content Administrator by using the `isAdminMode` parameter.
      For more information see [Admin
      Mode](https://help.sumologic.com/Manage/Content_Sharing/Admin_Mode).

      <br/> <br/>

      ### Example

      The following example uses API endpoints in the US1 deployment. Sumo Logic
      has several deployments that are assigned depending on the geographic
      location and the date an account is created. For details determining your
      account's deployment see [API
      endpoints](https://help.sumologic.com/?cid=3011).

      The [Content Import API](#operation/beginAsyncImport) can be used to
      create or update a Search, Scheduled Search, or Dashboard. Here is an
      example creating a Scheduled Search:

      1. Get the identifier of your `Personal` folder.
        ```bash
        curl -X GET -u "<accessId>:<accessKey>" https://api.sumologic.com/api/v2/content/folders/personal
        ```

        Find the identifier of your `Personal` folder in the response.
        ```json
        {
            ...
            "id": "0000000006A2E86F", <----
            "name": "Personal",
            "itemType": "Folder",
            ...
        }
        ```

        You can use [getFolder](#operation/getFolder), [getAdminRecommededFolder](#operation/getAdminRecommendedFolderAsync),
        or [getGlobalFolder](#operation/getGlobalFolderAsync) endpoints to traverse the content tree and find the identifier of any
        folder you want to manage.

      2. Use the [Content Import API](#operation/beginAsyncImport) to create a
      new Scheduled Search inside your
        `Personal` folder.
        ```bash
        curl -X POST -u "<accessId>:<accessKey>" -H "Content-Type: application/json" -d @search.json https://api.sumologic.com/api/v2/content/folders/0000000006A2E86F/import
        ```

        The data file `search.json` in the above command has the following `SavedSearchWithScheduleSyncDefinition` object.
        ```json
        // file: search.json
        {
            "type": "SavedSearchWithScheduleSyncDefinition",
            "name": "demo-scheduled-search",
            "description": "Runs every hour with timerange of 15m and sends email notifications",
            "search": {
                "queryText": "\"error\" and \"warn\"",
                "defaultTimeRange": "-15m",
                "byReceiptTime": false,
                "viewName": "",
                "viewStartTime": null,
                "queryParameters": []
            },
            "searchSchedule": {
                "cronExpression": "0 0/15 * * * ? *",
                "displayableTimeRange": "-15m",
                "parseableTimeRange": {
                    "from": {
                        "relativeTime": "-15m",
                        "type": "RelativeTimeRangeBoundary"
                    },
                    "to": null,
                    "type": "BeginBoundedTimeRange"
                },
                "timeZone": "America/Los_Angeles",
                "threshold": null,
                "notification": {
                    "taskType": "EmailSearchNotificationSyncDefinition",
                    "toList": [
                        "ops@acme.org"
                    ],
                    "subjectTemplate": "Search Results: {{SearchName}}",
                    "includeQuery": true,
                    "includeResultSet": true,
                    "includeHistogram": true,
                    "includeCsvAttachment": false
                },
                "muteErrorEmails": false,
                "scheduleType": "1Hour",
                "parameters": []
            }
        }
        ```

        The response of above request will have the job identifier that you can use to track the status of the import job.
        ```json
        {
            "id": "74DC17FA765C7443"
        }
        ```

      3. Use the job identifier from the import request to get the
      [status](#operation/getAsyncImportStatus) of the
        import job.
        ```bash
        curl -X GET -u "<accessId>:<accessKey>" https://api.sumologic.com/api/v2/content/folders/0000000006A2E86F/import/74DC17FA765C7443/status
        ```

        If you are importing a large item, you might have to wait for the import job to finish. The following is an
        example response from a completed job.
        ```json
        {
            "status": "Success",
            "statusMessage": null,
            "error": null
        }
        ```
    x-displayName: Content
  - name: contentPermissions
    description: >
      Content permissions API.


      You can share your folders, searches, and dashboards with specific users
      or roles. For more information see [Share
      Content](https://help.sumologic.com/?cid=8675309). You can perform the
      request as a Content Administrator by using the `isAdminMode` parameter.
      For more information see [Admin
      Mode](https://help.sumologic.com/Manage/Content_Sharing/Admin_Mode).
    x-displayName: Permissions
  - name: dashboardManagement
    description: >
      Dashboard (New) management API.


      Dashboard (New) allows you to analyze metric and log data on the same
      dashboard, in a seamless view. This gives you control over the visual
      display of metric and log data. Dashboard (New) streamlines dashboard
      configurations and on-the-fly analytic visualizations with its new
      templating features. For more information see [Dashboard
      (New)](https://help.sumologic.com/?cid=5500).
    x-displayName: Dashboard (New)
  - name: dynamicParsingRuleManagement
    description: >
      Dynamic Parsing management API.


      Dynamic Parsing allows automatic field extraction from your log messages
      when you run a search.  This allows you to view fields from logs without
      having to manually specify parsing logic. For more information  see
      [Dynamic Parsing](https://help.sumologic.com/?cid=20011).
    x-displayName: Dynamic Parsing
  - name: extractionRuleManagement
    description: >
      Field Extraction Rule management API.


      Field Extraction Rules allow you to parse fields from your log messages at
      the time the messages are ingested eliminating the need to parse fields in
      your query. For more information see [Manage Field
      Extraction](https://help.sumologic.com/?cid=5313).
    x-displayName: Field Extraction Rules
  - name: fieldManagementV1
    description: >
      Field management API.


      Fields allow you to reference log data based on meaningful associations.
      They act as metadata tags that are assigned to your logs so you can search
      with them. Each field contains a key-value pair, where the field name is
      the key. Fields may be referred to as Log Metadata Fields. For more
      information see [Fields](https://help.sumologic.com/?cid=10116).
    x-displayName: Field Management
  - name: folderManagement
    description: >
      Folder management API.


      You can add folders and subfolders to the Library in order to organize
      your content for easy access or to share content. For more information see
      [Add Folders to the Library](https://help.sumologic.com/?cid=5020). You
      can perform the request as a Content Administrator by using the
      `isAdminMode` parameter. For more information see [Admin
      Mode](https://help.sumologic.com/Manage/Content_Sharing/Admin_Mode).
    x-displayName: Folders
  - name: ingestBudgetManagementV1
    description: >
      Ingest Budget management API.


      Ingest Budgets allow you to control the capacity of daily ingestion volume
      sent to Sumo Logic from Collectors. For more information see [Ingest
      Budgets](https://help.sumologic.com/?cid=5235).
    x-displayName: Ingest Budgets
  - name: ingestBudgetManagementV2
    description: >
      Ingest Budget management API V2.


      Ingest Budgets V2 provide you the ability to create and assign budgets to
      your log data by Fields instead of using a Field Value. For more
      information see [Metadata Ingest
      Budgets](https://help.sumologic.com/?cid=52352).
    x-displayName: Ingest Budgets V2
  - name: partitionManagement
    description: >
      Partition management API.


      Creating a Partition allows you to improve search performance by searching
      over a smaller number of messages. For more information see [Manage
      Partitions](https://help.sumologic.com/?cid=5231).
    x-displayName: Partitions
  - name: roleManagement
    description: >
      Role management API.


      Roles determine the functions that users are able to perform in Sumo
      Logic. To manage roles, you must have an administrator role or your role
      must have been assigned the manage users and roles capability. For more
      information see [Manage Roles](https://help.sumologic.com/?cid=5234).
    x-displayName: Roles
  - name: lookupManagement
    description: >
      Lookup Table management API.


      A Lookup Table is a table of data hosted on Sumo Logic that you can use to
      enrich the log and event data received by Sumo Logic. You must create a
      table schema before you can populate the table. For more information see
      [Lookup Tables](https://help.sumologic.com/?cid=10109).
    x-displayName: Lookup Tables
  - name: scheduledViewManagement
    description: >
      Scheduled View management API.


      Scheduled Views speed the search process for small and historical subsets
      of your data by functioning as a pre-aggregated index. For more
      information see [Manage Scheduled
      Views](https://help.sumologic.com/?cid=5128).
    x-displayName: Scheduled Views
  - name: tokensLibraryManagement
    description: >
      Tokens management API.


      Tokens are associated with your organization to authorize specific
      operations. Currently, we support collector registration tokens, which can
      be used to register Installed Collectors. Managing tokens requires the
      Manage Tokens role capability. For more information see [Installation
      Tokens](https://help.sumologic.com/?cid=0100).
    x-displayName: Tokens
  - name: transformationRuleManagement
    description: >
      Transformation Rule management API.

      Metrics Transformation Rules allow you control how long raw metrics are
      retained. You can also aggregate metrics at collection time and specify a
      separate retention period for the aggregated metrics. For more information
      see [Metrics Transformation Rules](https://help.sumologic.com/?cid=10117).
    x-displayName: Transformation Rules (Beta)
  - name: userManagement
    description: >
      User management API.


      To manage users, you must have the administrator role or your role must
      have been assigned the manage users and roles capability. For more
      information see [Manage Users](https://help.sumologic.com/?cid=1006).
    x-displayName: Users
  - name: metricsSearchesManagement
    description: >
      Metrics Search management API.


      Save metrics searches in the content library and organize them in a folder
      hierarchy. Share useful queries with users in your organization. For more
      information see [Sharing Metric
      Charts](https://help.sumologic.com/Metrics/03-Metric-Charts/Share_a_Metric_Chart).
    x-displayName: Metrics Searches (Beta)
  - name: metricsQuery
    description: >
      Metrics Query API.


      The Metrics Query API allows you to execute queries on various metrics and
      retrieve multiple time-series (data-points) over time range(s). For more
      information see [Metrics - Classic](https://help.sumologic.com/?cid=1079).
    x-displayName: Metrics Query
  - name: accessKeyManagement
    description: >
      Access Key management API.


      Access Keys allow you to securely register new Collectors and access Sumo
      Logic APIs. For more information see [Access
      Keys](https://help.sumologic.com/?cid=6690).
    x-displayName: Access Keys
  - name: samlConfigurationManagement
    description: >
      SAML configuration management API


      Organizations with Enterprise accounts can provision Security Assertion
      Markup Language (SAML) 2.0 to enable Single Sign-On (SSO) for user access
      to Sumo Logic. For more information see [SAML
      Configuration](https://help.sumologic.com/?cid=4016).
    x-displayName: SAML Configuration
  - name: serviceAllowlistManagement
    description: >
      Service Allowlist management API


      Service Allowlist Settings allow you to explicitly grant access to
      specific IP addresses and/or CIDR notations for logins, APIs, and
      dashboard access. For more information see [Service Allowlist
      Settings](https://help.sumologic.com/?cid=5454).
    x-displayName: Service Allowlist
  - name: healthEvents
    description: >
      Health Events management API.


      Health Events allow you to keep track of the health of your Collectors and
      Sources. You can use them to find and investigate common errors and
      warnings that are known to cause collection issues. For more information
      see [Health Events](https://help.sumologic.com/?cid=0020).
    x-displayName: Health Events
  - name: archiveManagement
    description: >-
      Archive Ingestion Management API.


      Archive Ingestion allows you to ingest data from Archive destinations. You
      can use this API to ingest data from your Archive with an existing AWS S3
      Archive Source. You need the Manage or View Collectors role capability to
      manage or view ingestion jobs. For more information see
      [Archive](https://help.sumologic.com/?cid=10011).
    x-displayName: Archive Ingestion Management
  - name: logSearchesEstimatedUsage
    description: >
      Log Search Estimated Usage API.


      Gets the estimated volume of data that would be scanned for a given log
      search in the Infrequent data tier, over a particular time range. In the
      Infrequent Data Tier, you pay per query, based on the amount data scanned.
      You can use this endpoint to get an estimate of the total data that would
      be scanned before running a query, and refine your query to scan less
      data, as necessary. For more information see [Infrequent data
      tier](https://help.sumologic.com/?cid=11987).
    x-displayName: Log Search Estimated Usage
  - name: passwordPolicy
    description: >
      Password Policy Management API


      The password policy controls how user passwords are managed. The "Manage
      Password Policy" role capability is required to update the password
      policy. For more information see [how to set a password
      policy](https://help.sumologic.com/?cid=8595).
    x-displayName: Password Policy
  - name: policiesManagement
    description: >
      Policies management API.


      Policies control the security and share settings of your organization. For
      more information see [Security](https://help.sumologic.com/?cid=4041).
    x-displayName: Policies
  - name: traces
    description: >
      Traces API


      The Traces API allows you to browse traces collected in the system. You
      can execute queries to find traces matching provided search criteria as
      well as gather detailed information about individual traces and spans. For
      more information see [View and investigate
      traces](https://help.sumologic.com/Traces/View_and_investigate_traces).
    x-displayName: Traces
  - name: spanAnalytics
    description: >
      Span Analytics API


      The Span Analytics API allows you to browse spans collected in the system.
      You can execute queries to find individual spans matching provided search
      criteria as well as run aggregated span queries and retrieve their
      results. For more information see
      [Spans](https://help.sumologic.com/Traces/Spans).
    x-displayName: Span Analytics
  - name: serviceMap
    description: >
      Service Map API


      The Service Map API allows you to fetch a graph representation of the
      Service Map, which is a high-level view of your application environment,
      automatically derived from tracing data. For more information see [Service
      Map](https://help.sumologic.com/Traces/Service_Map_and_Dashboards#service-map).
    x-displayName: Service Map
  - name: monitorsLibraryManagement
    description: >
      Monitor Management API.



      Monitors continuously query your data to monitor and send notifications
      when specific events occur.

      For more information see
      [Monitors](https://help.sumologic.com/?cid=10020).
    x-displayName: Monitors
paths:
  /v1/apps:
    get:
      tags:
        - appManagement
      summary: List available apps.
      description: Lists all available apps from the App Catalog.
      operationId: listApps
      responses:
        '200':
          description: List of all available apps.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAppsResult'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/apps/{uuid}:
    get:
      tags:
        - appManagement
      summary: Get an app by UUID.
      description: Gets the app with the given universally unique identifier (UUID).
      operationId: getApp
      parameters:
        - name: uuid
          in: path
          description: The identifier of the app to retrieve.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The retrieved app.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/App'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/apps/{uuid}/install:
    post:
      tags:
        - appManagement
      summary: Install an app by UUID.
      description: >-
        Installs the app with given UUID in the folder specified using
        destinationFolderId.
      operationId: installApp
      parameters:
        - name: uuid
          in: path
          description: UUID of the app to install.
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppInstallRequest'
        required: true
      responses:
        '200':
          description: App install job has been scheduled.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BeginAsyncJobResponse'
        default:
          description: App installation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/apps/install/{jobId}/status:
    get:
      tags:
        - appManagement
      summary: App install job status.
      description: >-
        Get the status of an asynchronous app install request for the given job
        identifier.
      operationId: getAsyncInstallStatus
      parameters:
        - name: jobId
          in: path
          description: The identifier of the asynchronous install job.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The status of the app install job.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncJobStatus'
        default:
          description: App installation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/connections:
    get:
      tags:
        - connectionManagement
      summary: Get a list of connections.
      description: >-
        Get a list of all connections in the organization. The response is
        paginated with a default limit of 100 connections per page.
      operationId: listConnections
      parameters:
        - name: limit
          in: query
          description: >-
            Limit the number of connections returned in the response. The number
            of connections returned may be less than the `limit`.
          required: false
          schema:
            maximum: 1000
            minimum: 1
            type: integer
            format: int32
            default: 100
        - name: token
          in: query
          description: >-
            Continuation token to get the next page of results. A page object
            with the next continuation token is returned in the response body.
            Subsequent GET requests should specify the continuation token to get
            the next page of results. `token` is set to null when no more pages
            are left.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: A paginated list of connections in the organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListConnectionsResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - connectionManagement
      summary: Create a new connection.
      description: Create a new connection in the organization.
      operationId: createConnection
      parameters: []
      requestBody:
        description: Information about the new connection.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConnectionDefinition'
        required: true
      responses:
        '200':
          description: The connection has been created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Connection'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/connections/test:
    post:
      tags:
        - connectionManagement
      summary: Test a new connection url.
      description: Test a new connection url is valid and can connect.
      operationId: testConnection
      parameters: []
      requestBody:
        description: Information about the new connection.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConnectionDefinition'
        required: true
      responses:
        '200':
          description: The connection url has been tested.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestConnectionResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/connections/incidentTemplates:
    get:
      tags:
        - connectionManagement
      summary: Get incident templates for CloudSOAR connections.
      description: Get incident templates for CloudSOAR connections.
      operationId: getIncidentTemplates
      parameters: []
      responses:
        '200':
          description: A list of the incident templates for the given CloudSOAR account.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetIncidentTemplatesResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/connections/{id}:
    get:
      tags:
        - connectionManagement
      summary: Get a connection.
      description: Get a connection with the given identifier.
      operationId: getConnection
      parameters:
        - name: id
          in: path
          description: Identifier of connection to return.
          required: true
          schema:
            type: string
        - name: type
          in: query
          description: >-
            Type of connection to return. Valid values are `WebhookConnection`,
            `ServiceNowConnection`.
          required: true
          schema:
            type: string
            default: WebhookConnection
      responses:
        '200':
          description: Connection object that was requested.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Connection'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - connectionManagement
      summary: Update a connection.
      description: Update an existing connection.
      operationId: updateConnection
      parameters:
        - name: id
          in: path
          description: Identifier of the connection to update.
          required: true
          schema:
            type: string
      requestBody:
        description: Information to update about the connection.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConnectionDefinition'
        required: true
      responses:
        '200':
          description: The connection was successfully modified.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Connection'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - connectionManagement
      summary: Delete a connection.
      description: Delete a connection with the given identifier.
      operationId: deleteConnection
      parameters:
        - name: id
          in: path
          description: Identifier of the connection to delete.
          required: true
          schema:
            type: string
        - name: type
          in: query
          description: >-
            Type of connection to delete. Valid values are `WebhookConnection`,
            `ServiceNowConnection`.
          required: true
          schema:
            pattern: ^(WebhookConnection|ServiceNowConnection)$
            type: string
            x-pattern-message: must be either `WebhookConnection` or `ServiceNowConnection`
      responses:
        '204':
          description: Connection was deleted successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/scheduledViews:
    get:
      tags:
        - scheduledViewManagement
      summary: Get a list of scheduled views.
      description: >-
        Get a list of all scheduled views in the organization. The response is
        paginated with a default limit of 100 scheduled views per page.
      operationId: listScheduledViews
      parameters:
        - name: limit
          in: query
          description: >-
            Limit the number of scheduled views returned in the response. The
            number of scheduled views returned may be less than the `limit`.
          required: false
          schema:
            maximum: 1000
            minimum: 1
            type: integer
            format: int32
            default: 100
        - name: token
          in: query
          description: >-
            Continuation token to get the next page of results. A page object
            with the next continuation token is returned in the response body.
            Subsequent GET requests should specify the continuation token to get
            the next page of results. `token` is set to null when no more pages
            are left.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: A paginated list of scheduled views in the organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListScheduledViewsResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - scheduledViewManagement
      summary: Create a new scheduled view.
      description: Creates a new scheduled view in the organization.
      operationId: createScheduledView
      parameters: []
      requestBody:
        description: Information about the new scheduled view.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateScheduledViewDefinition'
        required: true
      responses:
        '200':
          description: The scheduled view has been created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduledView'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-tf-create: createScheduledView
  /v1/scheduledViews/{id}:
    get:
      tags:
        - scheduledViewManagement
      summary: Get a scheduled view.
      description: Get a scheduled view with the given identifier.
      operationId: getScheduledView
      parameters:
        - name: id
          in: path
          description: Identifier of the scheduled view to fetch.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Scheduled view object that was requested.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduledView'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-tf-read: getScheduledView
    put:
      tags:
        - scheduledViewManagement
      summary: Update a scheduled view.
      description: Update an existing scheduled view.
      operationId: updateScheduledView
      parameters:
        - name: id
          in: path
          description: Identifier of the scheduled view to update.
          required: true
          schema:
            type: string
      requestBody:
        description: Information to update about the scheduled view.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateScheduledViewDefinition'
        required: true
      responses:
        '200':
          description: The scheduled view was successfully modified.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduledView'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-tf-update: updateScheduledView
  /v1/scheduledViews/{id}/disable:
    delete:
      tags:
        - scheduledViewManagement
      summary: Disable a scheduled view.
      description: Disable a scheduled view with the given identifier.
      operationId: disableScheduledView
      parameters:
        - name: id
          in: path
          description: Identifier of the scheduled view to disable.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: The scheduled view was disabled successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-tf-delete: deleteScheduledView
  /v1/scheduledViews/{id}/pause:
    post:
      tags:
        - scheduledViewManagement
      summary: Pause a scheduled view.
      description: Pause a scheduled view with the given identifier.
      operationId: pauseScheduledView
      parameters:
        - name: id
          in: path
          description: Identifier of the scheduled view to pause.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The scheduled view was paused successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduledView'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/scheduledViews/{id}/start:
    post:
      tags:
        - scheduledViewManagement
      summary: Start a scheduled view.
      description: Start a scheduled view with the given identifier.
      operationId: startScheduledView
      parameters:
        - name: id
          in: path
          description: Identifier of the scheduled view to start.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The scheduled view was started successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScheduledView'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/lookupTables:
    post:
      tags:
        - lookupManagement
      summary: Create a lookup table.
      description: >-
        Create a new lookup table by providing a schema and specifying its
        configuration. Providing parentFolderId
         is mandatory. Use the [getItemByPath](#operation/getItemByPath) endpoint to get content id of a path.
        Please check [Content management API](#tag/contentManagement) and
        [Folder management API](#tag/folderManagement) for all available
        options.
      operationId: createTable
      parameters: []
      requestBody:
        description: The schema and configuration for the lookup table.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LookupTableDefinition'
        required: true
      responses:
        '200':
          description: Lookup table created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LookupTable'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/lookupTables/{id}:
    get:
      tags:
        - lookupManagement
      summary: Get a lookup table.
      description: Get a lookup table for the given identifier.
      operationId: lookupTableById
      parameters:
        - name: id
          in: path
          description: Identifier of the lookup table.
          required: true
          schema:
            type: string
            example: 0000000001C41EE4
      responses:
        '200':
          description: Definition of the lookup table.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LookupTable'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - lookupManagement
      summary: Edit a lookup table.
      description: Edit the lookup table data. All the fields are mandatory in the request.
      operationId: updateTable
      parameters:
        - name: id
          in: path
          description: Identifier of the lookup table.
          required: true
          schema:
            type: string
            example: 0000000001C41EE4
      requestBody:
        description: The configuration changes for the lookup table.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LookupUpdateDefinition'
        required: true
      responses:
        '200':
          description: Configuration updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LookupTable'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - lookupManagement
      summary: Delete a lookup table.
      description: >-
        Delete a lookup table completely. <br> **Warning:** `This operation
        cannot be undone`.
      operationId: deleteTable
      parameters:
        - name: id
          in: path
          description: Identifier of the lookup table.
          required: true
          schema:
            type: string
            example: 0000000001C41EE4
      responses:
        '204':
          description: Deletion successful.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/lookupTables/{id}/upload:
    post:
      tags:
        - lookupManagement
      summary: Upload a CSV file.
      description: Create a request to populate a lookup table with a CSV file.
      operationId: uploadFile
      parameters:
        - name: id
          in: path
          description: Identifier of the lookup table to populate.
          required: true
          schema:
            type: string
            example: 0000000001C41EE4
        - name: merge
          in: query
          description: >-
            This indicates whether the file contents will be merged with
            existing data in the lookup table or not. If this is true then data
            with the same primary keys will be updated while the rest of the
            rows will be appended. By default, merge is false. The response
            includes a request identifier that you need to use in the [Request
            Status API](#operation/requestStatus) to track the status of the
            upload request.
          schema:
            type: boolean
            example: true
            default: false
        - name: fileEncoding
          in: query
          description: File encoding of file being uploaded.
          schema:
            type: string
            example: UTF-16
            default: UTF-8
      requestBody:
        content:
          multipart/form-data:
            schema:
              required:
                - file
              type: object
              properties:
                file:
                  type: string
                  description: |-
                    The CSV file to upload.
                      - The size limit for the CSV file is 100MB.
                      - Use Unix format, with newlines ("\n") separating rows.
                      - The first row should contain headers that match the lookup table schema. Matching is
                        case-insensitive.
                  format: binary
        required: true
      responses:
        '200':
          description: >-
            The upload request was accepted. Use the provided token in a status
            request to track the status of the upload.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LookupRequestToken'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/lookupTables/jobs/{jobId}/status:
    get:
      tags:
        - lookupManagement
      summary: Get the status of an async job.
      description: >-
        Retrieve the status of a previously made request. If the request was
        successful, the status of the response object will be `Success`.
      operationId: requestJobStatus
      parameters:
        - name: jobId
          in: path
          description: An identifier returned in response to an asynchronous request.
          required: true
          schema:
            type: string
            example: 0000000001C41AA3
      responses:
        '200':
          description: The status of async job with given identifier.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LookupAsyncJobStatus'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/lookupTables/{id}/truncate:
    post:
      tags:
        - lookupManagement
      summary: Empty a lookup table.
      description: Delete all data from a lookup table.
      operationId: truncateTable
      parameters:
        - name: id
          in: path
          description: Identifier of the table to clear.
          required: true
          schema:
            type: string
            example: 0000000001C41EE4
      responses:
        '200':
          description: >-
            The delete data request was accepted. Use the provided token in a
            status request to track the status of the delete.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LookupRequestToken'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/lookupTables/{id}/row:
    put:
      tags:
        - lookupManagement
      summary: Insert or Update a lookup table row.
      description: >-
        Insert or update a row of a lookup table with the given identifier. A
        new row is inserted if the primary key does not exist already, otherwise
        the existing row with the specified primary key is updated. All the
        fields of the lookup table are required and will be updated to the given
        values. In case a field is not specified then it will be assumed to be
        set to null. If the table size exceeds the maximum limit of 100MB then
        based on the size limit action of the table the update will be processed
        or discarded.
      operationId: updateTableRow
      parameters:
        - name: id
          in: path
          description: Identifier of the lookup table.
          required: true
          schema:
            type: string
            example: 0000000001C41EE4
      requestBody:
        description: Lookup table row update definition.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RowUpdateDefinition'
        required: true
      responses:
        '204':
          description: Row updated successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/lookupTables/{id}/deleteTableRow:
    put:
      tags:
        - lookupManagement
      summary: Delete a lookup table row.
      description: >-
        Delete a row from lookup table by giving primary key. The complete set
        of primary key fields of the lookup table should be provided.
      operationId: deleteTableRow
      parameters:
        - name: id
          in: path
          description: Identifier of the lookup table.
          required: true
          schema:
            type: string
            example: 0000000001C41EE4
      requestBody:
        description: Lookup table row delete definition.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RowDeleteDefinition'
        required: true
      responses:
        '204':
          description: Row deleted successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/partitions:
    get:
      tags:
        - partitionManagement
      summary: Get a list of partitions.
      description: >-
        Get a list of all partitions in the organization. The response is
        paginated with a default limit of 100 partitions per page.
      operationId: listPartitions
      parameters:
        - name: limit
          in: query
          description: >-
            Limit the number of partitions returned in the response. The number
            of partitions returned may be less than the `limit`.
          required: false
          schema:
            maximum: 1000
            minimum: 1
            type: integer
            format: int32
            default: 100
        - name: token
          in: query
          description: >-
            Continuation token to get the next page of results. A page object
            with the next continuation token is returned in the response body.
            Subsequent GET requests should specify the continuation token to get
            the next page of results. `token` is set to null when no more pages
            are left.
          required: false
          schema:
            type: string
        - name: viewTypes
          in: query
          description: |-
            The type of partitions to retrieve. Valid values are:
              1. `DefaultView`: To get General Index partition.
              2. `Partition`: To get user defined views/partitions.
              3. `AuditIndex`: To get the internal audit indexes. Eg. sumologic_audit_events.

            More than one type of partitions can be retrieved in same request.
          required: false
          style: form
          explode: false
          schema:
            type: array
            items:
              pattern: ^(AuditIndex|Partition|DefaultView)$
              type: string
          example:
            - AuditIndex
            - Partition
      responses:
        '200':
          description: A paginated list of partitions in the organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListPartitionsResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - partitionManagement
      summary: Create a new partition.
      description: Create a new partition.
      operationId: createPartition
      parameters: []
      requestBody:
        description: Information about the new partition.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePartitionDefinition'
        required: true
      responses:
        '200':
          description: The partition has been created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Partition'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/partitions/{id}:
    get:
      tags:
        - partitionManagement
      summary: Get a partition.
      description: Get a partition with the given identifier from the organization.
      operationId: getPartition
      parameters:
        - name: id
          in: path
          description: Identifier of partition to return.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Partition object that was requested.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Partition'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - partitionManagement
      summary: Update a partition.
      description: Update an existing partition in the organization.
      operationId: updatePartition
      parameters:
        - name: id
          in: path
          description: Identifier of the partition to update.
          required: true
          schema:
            type: string
      requestBody:
        description: Information to update about the partition.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePartitionDefinition'
        required: true
      responses:
        '200':
          description: The partition was successfully modified.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Partition'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/partitions/{id}/decommission:
    post:
      tags:
        - partitionManagement
      summary: Decommission a partition.
      description: >-
        Decommission a partition with the given identifier from the
        organization.
      operationId: decommissionPartition
      parameters:
        - name: id
          in: path
          description: Identifier of the partition to decommission.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The partition was decommissioned successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/partitions/{id}/cancelRetentionUpdate:
    post:
      tags:
        - partitionManagement
      summary: Cancel a retention update for a partition
      description: >-
        Cancel update to retention of a partition for which retention was
        updated previously using `reduceRetentionPeriodImmediately` parameter as
        false
      operationId: cancelRetentionUpdate
      parameters:
        - name: id
          in: path
          description: Identifier of the partition to cancel the retention update for.
          required: true
          schema:
            type: string
          example: 1
      responses:
        '204':
          description: The retention update was cancelled successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/extractionRules:
    get:
      tags:
        - extractionRuleManagement
      summary: Get a list of field extraction rules.
      description: >-
        Get a list of all field extraction rules. The response is paginated with
        a default limit of 100 field extraction rules per page.
      operationId: listExtractionRules
      parameters:
        - name: limit
          in: query
          description: >-
            Limit the number of field extraction rules returned in the response.
            The number of field extraction rules returned may be less than the
            `limit`.
          required: false
          schema:
            maximum: 1000
            minimum: 1
            type: integer
            format: int32
            default: 100
        - name: token
          in: query
          description: >-
            Continuation token to get the next page of results. A page object
            with the next continuation token is returned in the response body.
            Subsequent GET requests should specify the continuation token to get
            the next page of results.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: A paginated list of field extraction rules.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListExtractionRulesResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - extractionRuleManagement
      summary: Create a new field extraction rule.
      description: Create a new field extraction rule.
      operationId: createExtractionRule
      parameters: []
      requestBody:
        description: Information about the new field extraction rule.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExtractionRuleDefinition'
        required: true
      responses:
        '200':
          description: The field extraction rule has been created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractionRule'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-tf-create: createExtractionRule
  /v1/extractionRules/{id}:
    get:
      tags:
        - extractionRuleManagement
      summary: Get a field extraction rule.
      description: Get a field extraction rule with the given identifier.
      operationId: getExtractionRule
      parameters:
        - name: id
          in: path
          description: Identifier of field extraction rule to return.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Extraction rule object that was requested.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractionRule'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-tf-read: getExtractionRule
    put:
      tags:
        - extractionRuleManagement
      summary: Update a field extraction rule.
      description: >-
        Update an existing field extraction rule. All properties specified in
        the request are replaced. Missing properties are set to their default
        values.
      operationId: updateExtractionRule
      parameters:
        - name: id
          in: path
          description: Identifier of the field extraction rule to update.
          required: true
          schema:
            type: string
      requestBody:
        description: Information to update about the field extraction rule.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateExtractionRuleDefinition'
        required: true
      responses:
        '200':
          description: The field extraction rule was successfully modified.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractionRule'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-tf-update: updateExtractionRule
    delete:
      tags:
        - extractionRuleManagement
      summary: Delete a field extraction rule.
      description: Delete a field extraction rule with the given identifier.
      operationId: deleteExtractionRule
      parameters:
        - name: id
          in: path
          description: Identifier of the field extraction rule to delete.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Extraction rule was deleted successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-tf-delete: deleteExtractionRule
  /v1/dynamicParsingRules:
    get:
      tags:
        - dynamicParsingRuleManagement
      summary: Get a list of dynamic parsing rules.
      description: >-
        Get a list of all dynamic parsing rules. The response is paginated with
        a default limit of 100 dynamic parsing rules per page.
      operationId: listDynamicParsingRules
      parameters:
        - name: limit
          in: query
          description: >-
            Limit the number of dynamic parsing rules returned in the response.
            The number of dynamic parsing rules returned may be less than the
            `limit`.
          required: false
          schema:
            maximum: 1000
            minimum: 1
            type: integer
            format: int32
            example: 10
            default: 100
        - name: token
          in: query
          description: >-
            Continuation token to get the next page of results. A page object
            with the next continuation token is returned in the response body.
            Subsequent GET requests should specify the continuation token to get
            the next page of results.
          required: false
          schema:
            type: string
            example: 0000000001C51FF7
      responses:
        '200':
          description: A paginated list of dynamic parsing rules.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListDynamicRulesResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - dynamicParsingRuleManagement
      summary: Create a new dynamic parsing rule.
      description: Create a new dynamic parsing rule.
      operationId: createDynamicParsingRule
      requestBody:
        description: Information about the new dynamic parsing rule.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DynamicRuleDefinition'
        required: true
      responses:
        '200':
          description: The dynamic parsing rule has been created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DynamicRule'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/dynamicParsingRules/{id}:
    get:
      tags:
        - dynamicParsingRuleManagement
      summary: Get a dynamic parsing rule.
      description: Get a dynamic parsing rule with the given identifier.
      operationId: getDynamicParsingRule
      parameters:
        - name: id
          in: path
          description: Identifier of dynamic parsing rule to return.
          required: true
          schema:
            type: string
            example: 0000000001C41EE4
      responses:
        '200':
          description: Dynamic parsing rule object that was requested.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DynamicRule'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - dynamicParsingRuleManagement
      summary: Update a dynamic parsing rule.
      description: >-
        Update an existing dynamic parsing rule. All properties specified in the
        request are replaced. Missing properties are set to their default
        values.
      operationId: updateDynamicParsingRule
      parameters:
        - name: id
          in: path
          description: Identifier of the dynamic parsing rule to update.
          required: true
          schema:
            type: string
            example: 0000000001C41EE4
      requestBody:
        description: Information to update about the dynamic parsing rule.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DynamicRuleDefinition'
        required: true
      responses:
        '200':
          description: The dynamic parsing rule was successfully modified.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DynamicRule'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - dynamicParsingRuleManagement
      summary: Delete a dynamic parsing rule.
      description: Delete a dynamic parsing rule with the given identifier.
      operationId: deleteDynamicParsingRule
      parameters:
        - name: id
          in: path
          description: Identifier of the dynamic parsing rule to delete.
          required: true
          schema:
            type: string
            example: 0000000001C41EE4
      responses:
        '204':
          description: Dynamic parsing rule was deleted successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/fields:
    get:
      tags:
        - fieldManagementV1
      summary: Get a list of all custom fields.
      description: Request a list of all the custom fields configured in your account.
      operationId: listCustomFields
      responses:
        '200':
          description: List of all custom fields.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListCustomFieldsResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - fieldManagementV1
      summary: Create a new field.
      description: >-
        Adding a field will define it in the Fields schema allowing it to be
        assigned as metadata to your logs.
      operationId: createField
      parameters: []
      requestBody:
        description: >-
          Name of a field to add. The name is used as the key in the key-value
          pair.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FieldName'
        required: true
      responses:
        '200':
          description: The field was created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomField'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/fields/{id}:
    get:
      tags:
        - fieldManagementV1
      summary: Get a custom field.
      description: Get the details of a custom field.
      operationId: getCustomField
      parameters:
        - name: id
          in: path
          description: Identifier of a field.
          required: true
          schema:
            type: string
          example: 00000000031D02DA
      responses:
        '200':
          description: The details of the custom field.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomField'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - fieldManagementV1
      summary: Delete a custom field.
      description: >-
        Deleting a field does not delete historical data assigned with that
        field. If you  delete a field by mistake and one or more of those
        dependencies break, you can  re-add the field to get things working
        properly again. You should always disable  a field and ensure things are
        behaving as expected before deleting a field.
      operationId: deleteField
      parameters:
        - name: id
          in: path
          description: Identifier of a field to delete.
          required: true
          schema:
            type: string
          example: 00000000031D02DA
      responses:
        '204':
          description: The field was successfully deleted.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/fields/{id}/enable:
    put:
      tags:
        - fieldManagementV1
      summary: Enable custom field with a specified identifier.
      description: >-
        Fields have to be enabled to be assigned to your data. This operation
        ensures that a specified field is enabled and Sumo Logic will treat it
        as safe to process. All manually created custom fields are  enabled by
        default.
      operationId: enableField
      parameters:
        - name: id
          in: path
          description: Identifier of a field to enable.
          required: true
          schema:
            type: string
          example: 00000000031D02DA
      responses:
        '204':
          description: Field has been enabled.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/fields/{id}/disable:
    delete:
      tags:
        - fieldManagementV1
      summary: Disable a custom field.
      description: >-
        After disabling a field Sumo Logic will start dropping its incoming
        values at ingest. As a result, they won't be searchable or usable.
        Historical values are not removed and remain searchable.
      operationId: disableField
      parameters:
        - name: id
          in: path
          description: Identifier of a field to disable.
          required: true
          schema:
            type: string
          example: 00000000031D02DA
      responses:
        '204':
          description: Field has been disabled.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/fields/dropped:
    get:
      tags:
        - fieldManagementV1
      summary: Get a list of dropped fields.
      description: >-
        Dropped fields are fields sent to Sumo Logic, but are ignored since they
        are not defined in your Fields schema. In order to save these values a
        field must both exist and be enabled.
      operationId: listDroppedFields
      responses:
        '200':
          description: |
            List of dropped fields.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListDroppedFieldsResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/fields/builtin:
    get:
      tags:
        - fieldManagementV1
      summary: Get a list of built-in fields.
      description: >-
        Built-in fields are created automatically by Sumo Logic for standard
        configuration purposes. They include `_sourceHost` and
        `_sourceCategory`. Built-in fields can't be deleted or disabled.
      operationId: listBuiltInFields
      responses:
        '200':
          description: List of all built-in fields.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListBuiltinFieldsResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/fields/builtin/{id}:
    get:
      tags:
        - fieldManagementV1
      summary: Get a built-in field.
      description: Get the details of a built-in field.
      operationId: getBuiltInField
      parameters:
        - name: id
          in: path
          description: Identifier of a built-in field.
          required: true
          schema:
            type: string
          example: 000000000000000A
      responses:
        '200':
          description: The details of the built-in field.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuiltinField'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/fields/quota:
    get:
      tags:
        - fieldManagementV1
      summary: Get capacity information.
      description: >-
        Every account has a limited number of fields available. This endpoint
        returns your account limitations and remaining quota.
      operationId: getFieldQuota
      responses:
        '200':
          description: Current fields capacity usage (fields count).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FieldQuotaUsage'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/ingestBudgets:
    get:
      tags:
        - ingestBudgetManagementV1
      summary: Get a list of ingest budgets.
      description: >-
        Get a list of all ingest budgets. The response is paginated with a
        default limit of 100 budgets per page.
      operationId: listIngestBudgets
      parameters:
        - name: limit
          in: query
          description: >-
            Limit the number of budgets returned in the response. The number of
            budgets returned may be less than the `limit`.
          required: false
          schema:
            maximum: 1000
            minimum: 1
            type: integer
            format: int32
            default: 100
        - name: token
          in: query
          description: >-
            Continuation token to get the next page of results. A page object
            with the next continuation token is returned in the response body.
            Subsequent GET requests should specify the continuation token to get
            the next page of results.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: A paginated list of budgets.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListIngestBudgetsResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - ingestBudgetManagementV1
      summary: Create a new ingest budget.
      description: Create a new ingest budget.
      operationId: createIngestBudget
      parameters: []
      requestBody:
        description: Information about the new ingest budget.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IngestBudgetDefinition'
        required: true
      responses:
        '200':
          description: The ingest budget has been created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IngestBudget'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/ingestBudgets/{id}:
    get:
      tags:
        - ingestBudgetManagementV1
      summary: Get an ingest budget.
      description: Get an ingest budget by the given identifier.
      operationId: getIngestBudget
      parameters:
        - name: id
          in: path
          description: Identifier of ingest budget to return.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Ingest budget object that was requested.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IngestBudget'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - ingestBudgetManagementV1
      summary: Update an ingest budget.
      description: >-
        Update an existing ingest budget. All properties specified in the
        request are required.
      operationId: updateIngestBudget
      parameters:
        - name: id
          in: path
          description: Identifier of the ingest budget to update.
          required: true
          schema:
            type: string
      requestBody:
        description: Information to update about the ingest budget.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IngestBudgetDefinition'
        required: true
      responses:
        '200':
          description: The ingest budget was successfully modified.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IngestBudget'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - ingestBudgetManagementV1
      summary: Delete an ingest budget.
      description: Delete an ingest budget with the given identifier.
      operationId: deleteIngestBudget
      parameters:
        - name: id
          in: path
          description: Identifier of the ingest budget to delete.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: The ingest budget was deleted successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/ingestBudgets/{id}/usage/reset:
    post:
      tags:
        - ingestBudgetManagementV1
      summary: Reset usage.
      description: >-
        Reset ingest budget's current usage to 0 before the scheduled reset
        time.
      operationId: resetUsage
      parameters:
        - name: id
          in: path
          description: Identifier of the ingest budget to reset usage.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Ingest budget's usage was reset successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/ingestBudgets/{id}/collectors:
    get:
      tags:
        - ingestBudgetManagementV1
      summary: Get a list of Collectors.
      description: >-
        Get a list of Collectors assigned to an ingest budget. The response is
        paginated with a default limit of 100 Collectors per page.
      operationId: getAssignedCollectors
      parameters:
        - name: id
          in: path
          description: Identifier of ingest budget to which Collectors are assigned.
          required: true
          schema:
            type: string
        - name: limit
          in: query
          description: >-
            Limit the number of Collectors returned in the response. The number
            of Collectors returned may be less than the `limit`.
          required: false
          schema:
            maximum: 1000
            minimum: 1
            type: integer
            format: int32
            default: 100
        - name: token
          in: query
          description: >-
            Continuation token to get the next page of results. A page object
            with the next continuation token is returned in the response body.
            Subsequent GET requests should specify the continuation token to get
            the next page of results.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: A paginated list of Collectors.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListCollectorIdentitiesResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/ingestBudgets/{id}/collectors/{collectorId}:
    put:
      tags:
        - ingestBudgetManagementV1
      summary: Assign a Collector to a budget.
      description: Assign a Collector to a budget.
      operationId: assignCollectorToBudget
      parameters:
        - name: id
          in: path
          description: Identifier of the ingest budget to assign to the Collector.
          required: true
          schema:
            type: string
        - name: collectorId
          in: path
          description: Identifier of the Collector to assign.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Collector was successfully assigned to the ingest budget.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IngestBudget'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - ingestBudgetManagementV1
      summary: Remove Collector from a budget.
      description: Remove Collector from a budget.
      operationId: removeCollectorFromBudget
      parameters:
        - name: id
          in: path
          description: Identifier of the ingest budget to unassign from the Collector.
          required: true
          schema:
            type: string
        - name: collectorId
          in: path
          description: Identifier of the Collector to unassign.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Collector was successfully unassigned from the ingest budget.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IngestBudget'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/ingestBudgets:
    get:
      tags:
        - ingestBudgetManagementV2
      summary: Get a list of ingest budgets.
      description: >-
        Get a list of all ingest budgets. The response is paginated with a
        default limit of 100 budgets per page.
      operationId: listIngestBudgetsV2
      parameters:
        - name: limit
          in: query
          description: >-
            Limit the number of budgets returned in the response. The number of
            budgets returned may be less than the `limit`.
          required: false
          schema:
            maximum: 1000
            minimum: 1
            type: integer
            format: int32
            default: 100
        - name: token
          in: query
          description: >-
            Continuation token to get the next page of results. A page object
            with the next continuation token is returned in the response body.
            Subsequent GET requests should specify the continuation token to get
            the next page of results.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: A paginated list of budgets.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListIngestBudgetsResponseV2'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - ingestBudgetManagementV2
      summary: Create a new ingest budget.
      description: Create a new ingest budget.
      operationId: createIngestBudgetV2
      parameters: []
      requestBody:
        description: Information about the new ingest budget.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IngestBudgetDefinitionV2'
        required: true
      responses:
        '200':
          description: The ingest budget has been created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IngestBudgetV2'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/ingestBudgets/{id}:
    get:
      tags:
        - ingestBudgetManagementV2
      summary: Get an ingest budget.
      description: Get an ingest budget by the given identifier.
      operationId: getIngestBudgetV2
      parameters:
        - name: id
          in: path
          description: Identifier of ingest budget to return.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Ingest budget object that was requested.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IngestBudgetV2'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - ingestBudgetManagementV2
      summary: Update an ingest budget.
      description: >-
        Update an existing ingest budget. All properties specified in the
        request are required.
      operationId: updateIngestBudgetV2
      parameters:
        - name: id
          in: path
          description: Identifier of the ingest budget to update.
          required: true
          schema:
            type: string
      requestBody:
        description: Information to update about the ingest budget.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IngestBudgetDefinitionV2'
        required: true
      responses:
        '200':
          description: The ingest budget was successfully modified.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IngestBudgetV2'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - ingestBudgetManagementV2
      summary: Delete an ingest budget.
      description: Delete an ingest budget with the given identifier.
      operationId: deleteIngestBudgetV2
      parameters:
        - name: id
          in: path
          description: Identifier of the ingest budget to delete.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: The ingest budget was deleted successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/ingestBudgets/{id}/usage/reset:
    post:
      tags:
        - ingestBudgetManagementV2
      summary: Reset usage.
      description: >-
        Reset ingest budget's current usage to 0 before the scheduled reset
        time.
      operationId: resetUsageV2
      parameters:
        - name: id
          in: path
          description: Identifier of the ingest budget to reset usage.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Ingest budget's usage was reset successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/users:
    get:
      tags:
        - userManagement
      summary: Get a list of users.
      description: >-
        Get a list of all users in the organization. The response is paginated
        with a default limit of 100 users per page.
      operationId: listUsers
      parameters:
        - name: limit
          in: query
          description: >-
            Limit the number of users returned in the response. The number of
            users returned may be less than the `limit`.
          required: false
          schema:
            maximum: 1000
            minimum: 1
            type: integer
            format: int32
            default: 100
        - name: token
          in: query
          description: >-
            Continuation token to get the next page of results. A page object
            with the next continuation token is returned in the response body.
            Subsequent GET requests should specify the continuation token to get
            the next page of results. `token` is set to null when no more pages
            are left.
          required: false
          schema:
            type: string
        - name: sortBy
          in: query
          description: >-
            Sort the list of users by the `firstName`, `lastName`, or `email`
            field.
          required: false
          schema:
            type: string
        - name: email
          in: query
          description: Find user with the given email address.
          required: false
          schema:
            minLength: 1
            type: string
      responses:
        '200':
          description: A paginated list of users in the organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListUserModelsResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - userManagement
      summary: Create a new user.
      description: Create a new user in the organization.
      operationId: createUser
      parameters: []
      requestBody:
        description: Information about the new user.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUserDefinition'
        required: true
      responses:
        '200':
          description: The user has been created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserModel'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/users/{id}:
    get:
      tags:
        - userManagement
      summary: Get a user.
      description: Get a user with the given identifier from the organization.
      operationId: getUser
      parameters:
        - name: id
          in: path
          description: Identifier of user to return.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: User object that was requested.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserModel'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - userManagement
      summary: Update a user.
      description: Update an existing user in the organization.
      operationId: updateUser
      parameters:
        - name: id
          in: path
          description: Identifier of the user to update.
          required: true
          schema:
            type: string
      requestBody:
        description: Information to update about the user.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateUserDefinition'
        required: true
      responses:
        '200':
          description: The user was successfully modified.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserModel'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - userManagement
      summary: Delete a user.
      description: >-
        Delete a user with the given identifier from the organization and
        transfer their content to the user with the identifier specified in
        "transferTo".
      operationId: deleteUser
      parameters:
        - name: id
          in: path
          description: Identifier of the user to delete.
          required: true
          schema:
            type: string
        - name: transferTo
          in: query
          description: >-
            Identifier of the user to receive the transfer of content from the
            deleted user. <br> **Note:** If `deleteContent` is not set to
            `true`, and no user identifier is specified in `transferTo`, content
            from the deleted user is transferred to the executing user.
          required: false
          schema:
            type: string
        - name: deleteContent
          in: query
          description: >-
            Whether to delete content from the deleted user or not. <br>
            **Warning:** If `deleteContent` is set to `true`, all of the content
            for the user being deleted is permanently deleted and cannot be
            recovered.
          required: false
          schema:
            type: boolean
      responses:
        '204':
          description: User was deleted successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/users/{id}/email/requestChange:
    post:
      tags:
        - userManagement
      summary: Change email address.
      description: >-
        An email with an activation link is sent to the userâ€™s new email
        address. The user must click the link in the email within seven days to
        complete the email address change, or the link will expire.
      operationId: requestChangeEmail
      parameters:
        - name: id
          in: path
          description: Identifier of the user to change email address.
          required: true
          schema:
            type: string
      requestBody:
        description: New email address of the user.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangeEmailRequest'
        required: true
      responses:
        '204':
          description: Email change request was submitted successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/users/{id}/password/reset:
    post:
      tags:
        - userManagement
      summary: Reset password.
      description: Reset a user's password.
      operationId: resetPassword
      parameters:
        - name: id
          in: path
          description: Identifier of the user to reset password.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: User's password was reset successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/users/{id}/unlock:
    post:
      tags:
        - userManagement
      summary: Unlock a user.
      description: Unlock another user's account.
      operationId: unlockUser
      parameters:
        - name: id
          in: path
          description: The id of the user that needs to be unlocked.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: User's account was unlocked successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/users/{id}/mfa/disable:
    put:
      tags:
        - userManagement
      summary: Disable MFA for user.
      description: Disable multi-factor authentication for given user.
      operationId: disableMfa
      parameters:
        - name: id
          in: path
          description: Identifier of the user to disable MFA for.
          required: true
          schema:
            type: string
      requestBody:
        description: Email and Password of the user to disable MFA for.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DisableMfaRequest'
        required: true
      responses:
        '204':
          description: User's MFA was disabled successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/roles:
    get:
      tags:
        - roleManagement
      summary: Get a list of roles.
      description: >-
        Get a list of all the roles in the organization. The response is
        paginated with a default limit of 100 roles per page.
      operationId: listRoles
      parameters:
        - name: limit
          in: query
          description: >-
            Limit the number of roles returned in the response. The number of
            roles returned may be less than the `limit`.
          required: false
          schema:
            maximum: 1000
            minimum: 1
            type: integer
            format: int32
            default: 100
        - name: token
          in: query
          description: >-
            Continuation token to get the next page of results. A page object
            with the next continuation token is returned in the response body.
            Subsequent GET requests should specify the continuation token to get
            the next page of results. `token` is set to null when no more pages
            are left.
          required: false
          schema:
            type: string
        - name: sortBy
          in: query
          description: Sort the list of roles by the `name` field.
          required: false
          schema:
            type: string
        - name: name
          in: query
          description: Only return roles matching the given name.
          required: false
          schema:
            minLength: 1
            type: string
      responses:
        '200':
          description: A paginated list of roles in the organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListRoleModelsResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - roleManagement
      summary: Create a new role.
      description: Create a new role in the organization.
      operationId: createRole
      parameters: []
      requestBody:
        description: Information about the new role.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateRoleDefinition'
        required: true
      responses:
        '200':
          description: The role has been created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleModel'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-tf-create: createRole
  /v1/roles/{id}:
    get:
      tags:
        - roleManagement
      summary: Get a role.
      description: Get a role with the given identifier in the organization.
      operationId: getRole
      parameters:
        - name: id
          in: path
          description: Identifier of the role to fetch.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Role object that was requested.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleModel'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-tf-read: getRole
    put:
      tags:
        - roleManagement
      summary: Update a role.
      description: Update an existing role in the organization.
      operationId: updateRole
      parameters:
        - name: id
          in: path
          description: Identifier of the role to update.
          required: true
          schema:
            type: string
      requestBody:
        description: Information to update about the role.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateRoleDefinition'
        required: true
      responses:
        '200':
          description: The user was successfully modified.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleModel'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-tf-update: updateRole
    delete:
      tags:
        - roleManagement
      summary: Delete a role.
      description: Delete a role with the given identifier from the organization.
      operationId: deleteRole
      parameters:
        - name: id
          in: path
          description: Identifier of the role to delete.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Role was deleted successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-tf-delete: deleteRole
  /v1/roles/{roleId}/users/{userId}:
    put:
      tags:
        - roleManagement
      summary: Assign a role to a user.
      description: Assign a role to a user in the organization.
      operationId: assignRoleToUser
      parameters:
        - name: roleId
          in: path
          description: Identifier of the role to assign.
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: Identifier of the user to assign the role to.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Role was successfully assigned to the user.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleModel'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - roleManagement
      summary: Remove role from a user.
      description: Remove a role from a user in the organization.
      operationId: removeRoleFromUser
      parameters:
        - name: roleId
          in: path
          description: Identifier of the role to delete.
          required: true
          schema:
            type: string
        - name: userId
          in: path
          description: Identifier of the user to remove the role from.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Role was successfully removed from the user.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/content/folders:
    post:
      tags:
        - folderManagement
      summary: Create a new folder.
      description: >-
        Creates a new folder under the given parent folder. Set the header
        parameter `isAdminMode` to `"true"` to create a folder inside "Admin
        Recommended" folder.
      operationId: createFolder
      parameters:
        - name: isAdminMode
          in: header
          description: >-
            Set this to "true" if you want to perform the request as a Content
            Administrator.
          required: false
          schema:
            type: string
      requestBody:
        description: Information about the new folder.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FolderDefinition'
        required: true
      responses:
        '200':
          description: The folder has been created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Folder'
        default:
          description: The operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/content/folders/{id}:
    get:
      tags:
        - folderManagement
      summary: Get a folder.
      description: >-
        Get a folder with the given identifier. Set the header parameter
        `isAdminMode` to `"true"` if fetching a folder inside "Admin
        Recommended" folder.
      operationId: getFolder
      parameters:
        - name: id
          in: path
          description: Identifier of the folder to fetch.
          required: true
          schema:
            type: string
        - name: isAdminMode
          in: header
          description: >-
            Set this to "true" if you want to perform the request as a Content
            Administrator.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Folder that was requested.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Folder'
        default:
          description: The operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - folderManagement
      summary: Update a folder.
      description: >-
        Update an existing folder with the given identifier. Set the header
        parameter `isAdminMode` to `"true"` if updating a folder inside "Admin
        Recommended" folder.
      operationId: updateFolder
      parameters:
        - name: id
          in: path
          description: Identifier of the folder to update.
          required: true
          schema:
            type: string
        - name: isAdminMode
          in: header
          description: >-
            Set this to "true" if you want to perform the request as a Content
            Administrator.
          required: false
          schema:
            type: string
      requestBody:
        description: Information to update about the folder.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateFolderRequest'
        required: true
      responses:
        '200':
          description: The folder was successfully updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Folder'
        default:
          description: The operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/content/folders/personal:
    get:
      tags:
        - folderManagement
      summary: Get personal folder.
      description: Get the personal folder of the current user.
      operationId: getPersonalFolder
      responses:
        '200':
          description: |
            The personal folder of the current user.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Folder'
        default:
          description: The operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/content/folders/global:
    get:
      tags:
        - folderManagement
      summary: Schedule Global View job
      description: >-
        Schedule an asynchronous job to get Global View. Global View contains
        all top-level content items that a user has permissions to view in the
        organization. User can traverse the top-level folders using [GetFolder
        API](#operation/getFolder) to get rest of the content items. Make sure
        you set `isAdminMode` header parameter to `true` when traversing
        top-level items.


        _Global View is not a real folder, therefore there is no folder
        identifier associated with it_.


        _You get back a identifier of asynchronous job in response to this
        endpoint. See
        [Asynchronous-Request](#section/Getting-Started/Asynchronous-Request)
        section for more details on how to work with asynchronous request._
      operationId: getGlobalFolderAsync
      parameters:
        - name: isAdminMode
          in: header
          description: >-
            Set this to "true" if you want to perform the request as a Content
            Administrator.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: >-
            An asynchronous job to get a list of all content items been
            scheduled.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BeginAsyncJobResponse'
        default:
          description: The operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/content/folders/global/{jobId}/status:
    get:
      tags:
        - folderManagement
      summary: Get Global View job status
      description: >-
        Get the status of an asynchronous Global View job for the given job
        identifier. If job succeeds, use [Global View
        Result](#operation/getGlobalFolderAsyncResult) endpoint to fetch all
        content items that you have permissions to view.
      operationId: getGlobalFolderAsyncStatus
      parameters:
        - name: jobId
          in: path
          description: The identifier of the asynchronous Global View job.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Asynchronous Global View job status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncJobStatus'
        default:
          description: The operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/content/folders/global/{jobId}/result:
    get:
      tags:
        - folderManagement
      summary: Get Global View job result
      description: >-
        Get result of a Global View job for the given job identifier. The result
        will be a list of all content items that a user has permissions to view
        in the organization.
      operationId: getGlobalFolderAsyncResult
      parameters:
        - name: jobId
          in: path
          description: The identifier of the asynchronous Global View job.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: List of all content items with view permission.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentList'
        default:
          description: The operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/content/folders/adminRecommended:
    get:
      tags:
        - folderManagement
      summary: Schedule Admin Recommended folder job
      description: >-
        Schedule an asynchronous job to get the top-level Admin Recommended
        content items. You can read more about Admin Recommended folder
        [here](https://help.sumologic.com/Manage/Content_Sharing/Admin_Mode#move-important-content-to-admin-recommended).


        _You get back a identifier of asynchronous job in response to this
        endpoint. See
        [Asynchronous-Request](#section/Getting-Started/Asynchronous-Request)
        section for more details on how to work with asynchronous request._
      operationId: getAdminRecommendedFolderAsync
      parameters:
        - name: isAdminMode
          in: header
          description: >-
            Set this to "true" if you want to perform the request as a Content
            Administrator.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: >-
            An asynchronous job to get the Admin Recommended folder has been
            scheduled.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BeginAsyncJobResponse'
        default:
          description: The operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/content/folders/adminRecommended/{jobId}/status:
    get:
      tags:
        - folderManagement
      summary: Get Admin Recommended folder job status
      description: >-
        Get the status of an asynchronous Admin Recommended folder job for the
        given job identifier. If job succeeds, use [Admin Recommended Job
        Result](#operation/getAdminRecommendedFolderAsyncResult) endpoint to
        fetch top-level content items in Admin Recommended folder.
      operationId: getAdminRecommendedFolderAsyncStatus
      parameters:
        - name: jobId
          in: path
          description: The identifier of the asynchronous Admin Recommended folder job.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Asynchronous Admin Recommended folder job status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncJobStatus'
        default:
          description: The operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/content/folders/adminRecommended/{jobId}/result:
    get:
      tags:
        - folderManagement
      summary: Get Admin Recommended folder job result
      description: >-
        Get result of an Admin Recommended job for the given job identifier. The
        result will be "Admin Recommended" folder with a list of top-level Admin
        Recommended content items in `children` field.
      operationId: getAdminRecommendedFolderAsyncResult
      parameters:
        - name: jobId
          in: path
          description: The identifier of the asynchronous Admin Recommended folder job.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Admin Recommended folder.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Folder'
        default:
          description: The operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/content/{id}/permissions:
    get:
      tags:
        - contentPermissions
      summary: Get permissions of a content item
      description: Returns content permissions of a content item with the given identifier.
      operationId: getContentPermissions
      parameters:
        - name: id
          in: path
          description: The identifier of the content item.
          required: true
          schema:
            type: string
        - name: explicitOnly
          in: query
          description: >-
            There are two permission types: explicit and implicit. Permissions
            specifically assigned to the content item are explicit. Permissions
            derived from a parent content item, like a folder are implicit. To
            return only explicit permissions set this to true.
          schema:
            type: boolean
            default: false
        - name: isAdminMode
          in: header
          description: >-
            Set this to "true" if you want to perform the request as a Content
            Administrator.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: A list of permissions for the requested content item.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentPermissionResult'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/content/{id}/permissions/add:
    put:
      tags:
        - contentPermissions
      summary: Add permissions to a content item.
      description: Add permissions to a content item with the given identifier.
      operationId: addContentPermissions
      parameters:
        - name: id
          in: path
          description: The identifier of the content item.
          required: true
          schema:
            type: string
        - name: isAdminMode
          in: header
          description: >-
            Set this to "true" if you want to perform the request as a Content
            Administrator.
          required: false
          schema:
            type: string
      requestBody:
        description: New permissions to add to the content item with the given identifier.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContentPermissionUpdateRequest'
        required: true
      responses:
        '200':
          description: Updated permission object for the requested content item.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentPermissionResult'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/content/{id}/permissions/remove:
    put:
      tags:
        - contentPermissions
      summary: Remove permissions from a content item.
      description: Remove permissions from a content item with the given identifier.
      operationId: removeContentPermissions
      parameters:
        - name: id
          in: path
          description: The identifier of the content item.
          required: true
          schema:
            type: string
        - name: isAdminMode
          in: header
          description: >-
            Set this to "true" if you want to perform the request as a Content
            Administrator.
          required: false
          schema:
            type: string
      requestBody:
        description: Permissions to remove from a content item with the given identifier.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContentPermissionUpdateRequest'
        required: true
      responses:
        '200':
          description: Updated permissions for the requested content item.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentPermissionResult'
        default:
          description: Operation failed with an error. Check that your request is valid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/content/path:
    get:
      tags:
        - contentManagement
      summary: Get content item by path.
      description: >-
        Get a content item corresponding to the given path.


        _Path is specified in the required query parameter `path`. The path
        should be URL encoded._ For example, to get "Acme Corp" folder of a user
        "user@sumo.com" you can use the following curl command:
          ```bash
          curl https://api.sumologic.com/api/v2/content/path?path=/Library/Users/user%40sumo.com/Acme%20Corp
          ```


        The absolute path to a content item should be specified to get the item.
        The content library has "Library" folder at the root level. For items in
        "Personal" folder, the base path is "/Library/Users/user@sumo.com" where
        "user@sumo.com" is the email address of the user. For example if a user
        with email address `wile@acme.com` has `Rockets` folder inside Personal
        folder, the path of Rockets folder will be
        `/Library/Users/wile@acme.com/Rockets`.


        For items in "Admin Recommended" folder, the base path is
        "/Library/Admin Recommended". For example, given a folder `Acme` in
        Admin Recommended folder, the path will be `/Library/Admin
        Recommended/Acme`.
      operationId: getItemByPath
      parameters:
        - name: path
          in: query
          description: Path of the content item to retrieve.
          required: true
          schema:
            type: string
          example: /Library/Users/user@sumo.com/SampleFolder
      responses:
        '200':
          description: Content item corresponding to the given path.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Content'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/content/{contentId}/path:
    get:
      tags:
        - contentManagement
      summary: Get path of an item.
      description: |
        Get full path of a content item with the given identifier.
      operationId: getPathById
      parameters:
        - name: contentId
          in: path
          description: Identifier of the content item to get the path.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Full path of the content item.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentPath'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/content/{id}/export:
    post:
      tags:
        - contentManagement
      summary: Start a content export job.
      description: >-
        Schedule an _asynchronous_ export of content with the given identifier.
        You will get back an asynchronous job identifier on success. Use the
        [getAsyncExportStatus](#operation/getAsyncExportStatus) endpoint and the
        job identifier you got back in the response to track the status of an
        asynchronous export job.

        If the content item is a folder, everything under the folder is exported
        recursively. Keep in mind when exporting large folders that there is a
        limit of 1000 content objects that can be exported at once. If you want
        to import more than 1000 content objects, then be sure to split the
        import into batches of 1000 objects or less.

        The results from the export are compatible with the Library import
        feature in the Sumo Logic user interface as well as the API content
        import job.
      operationId: beginAsyncExport
      parameters:
        - name: id
          in: path
          description: >-
            The identifier of the content item to export. Identifiers from the
            Library in the Sumo user interface are provided in decimal format
            which is incompatible with this API. The identifier needs to be in
            hexadecimal format.
          required: true
          schema:
            type: string
        - name: isAdminMode
          in: header
          description: >-
            Set this to "true" if you want to perform the request as a Content
            Administrator.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Export job has been scheduled.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BeginAsyncJobResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/content/{contentId}/export/{jobId}/status:
    get:
      tags:
        - contentManagement
      summary: Content export job status.
      description: >-
        Get the status of an asynchronous content export request for the given
        job identifier. On success, use the
        [getExportResult](#operation/getAsyncExportResult) endpoint to get the
        result of the export job.
      operationId: getAsyncExportStatus
      parameters:
        - name: contentId
          in: path
          description: The identifier of the exported content item.
          required: true
          schema:
            type: string
        - name: jobId
          in: path
          description: The identifier of the asynchronous export job.
          required: true
          schema:
            type: string
        - name: isAdminMode
          in: header
          description: >-
            Set this to "true" if you want to perform the request as a Content
            Administrator.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: The status of the export job.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncJobStatus'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/content/{contentId}/export/{jobId}/result:
    get:
      tags:
        - contentManagement
      summary: Content export job result.
      description: >-
        Get results from content export job for the given job identifier. The
        results from this export are incompatible with the Library import
        feature in the Sumo user interface.
      operationId: getAsyncExportResult
      parameters:
        - name: contentId
          in: path
          description: The identifier of the exported content item.
          required: true
          schema:
            type: string
        - name: jobId
          in: path
          description: The identifier of the asynchronous job.
          required: true
          schema:
            type: string
        - name: isAdminMode
          in: header
          description: >-
            Set this to "true" if you want to perform the request as a Content
            Administrator.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: The result of export job.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentSyncDefinition'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/content/folders/{folderId}/import:
    post:
      tags:
        - contentManagement
      summary: Start a content import job.
      description: >-
        Schedule an asynchronous import of content inside an existing folder
        with the given identifier. Import requests can be used to create or
        update content within a folder. Content items need to have a unique name
        within their folder. If there is already a content item with the same
        name in the folder, you can set the `overwrite` parameter to `true` to
        overwrite existing content items. By default, the `overwrite` parameter
        is set to `false`, where the import will fail if a content item with the
        same name already exist. Keep in mind when importing large folders that
        there is a limit of 1000 content objects that can be imported at once.
        If you want to import more than 1000 content objects, then be sure to
        split the import into batches of 1000 objects or less.
      operationId: beginAsyncImport
      parameters:
        - name: folderId
          in: path
          description: >-
            The identifier of the folder to import into. Identifiers from the
            Library in the Sumo user interface are provided in decimal format
            which is incompatible with this API. The identifier needs to be in
            hexadecimal format.
          required: true
          schema:
            type: string
        - name: isAdminMode
          in: header
          description: >-
            Set this to "true" if you want to perform the request as a Content
            Administrator.
          required: false
          schema:
            type: string
        - name: overwrite
          in: query
          description: >-
            Set this to "true" to overwrite a content item if the name already
            exists.
          required: false
          schema:
            type: boolean
            default: false
      requestBody:
        description: The content to import.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContentSyncDefinition'
        required: true
      responses:
        '200':
          description: Import job has been scheduled.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BeginAsyncJobResponse'
        default:
          description: The operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/content/folders/{folderId}/import/{jobId}/status:
    get:
      tags:
        - contentManagement
      summary: Content import job status.
      description: Get the status of a content import job for the given job identifier.
      operationId: getAsyncImportStatus
      parameters:
        - name: folderId
          in: path
          description: The identifier of the folder to import into.
          required: true
          schema:
            type: string
        - name: jobId
          in: path
          description: The identifier of the import request.
          required: true
          schema:
            type: string
        - name: isAdminMode
          in: header
          description: >-
            Set this to "true" if you want to perform the request as a Content
            Administrator.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: The status of the import job.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncJobStatus'
        default:
          description: The operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/content/{id}/delete:
    delete:
      tags:
        - contentManagement
      summary: Start a content deletion job.
      description: Start an asynchronous content deletion job with the given identifier.
      operationId: beginAsyncDelete
      parameters:
        - name: id
          in: path
          description: >-
            Identifier of the content to delete. Identifiers from the Library in
            the Sumo user interface are provided in decimal format which is
            incompatible with this API. The identifier needs to be in
            hexadecimal format.
          required: true
          schema:
            type: string
        - name: isAdminMode
          in: header
          description: >-
            Set this to "true" if you want to perform the request as a Content
            Administrator.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Deletion job has been scheduled.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BeginAsyncJobResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/content/{id}/delete/{jobId}/status:
    get:
      tags:
        - contentManagement
      summary: Content deletion job status.
      description: >-
        Get the status of an asynchronous content deletion job request for the
        given job identifier.
      operationId: getAsyncDeleteStatus
      parameters:
        - name: id
          in: path
          description: Identifier of the content to delete.
          required: true
          schema:
            type: string
        - name: jobId
          in: path
          description: The identifier of the asynchronous job.
          required: true
          schema:
            type: string
        - name: isAdminMode
          in: header
          description: >-
            Set this to "true" if you want to perform the request as a Content
            Administrator.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: The status of the content deletion job.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncJobStatus'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/content/{id}/copy:
    post:
      tags:
        - contentManagement
      summary: Start a content copy job.
      description: >-
        Start an asynchronous content copy job with the given identifier to the
        destination folder. If the content item is a folder, everything under
        the folder is copied recursively.
      operationId: beginAsyncCopy
      parameters:
        - name: id
          in: path
          description: >-
            The identifier of the content item to copy. Identifiers from the
            Library in the Sumo user interface are provided in decimal format
            which is incompatible with this API. The identifier needs to be in
            hexadecimal format.
          required: true
          schema:
            type: string
        - name: destinationFolder
          in: query
          description: The identifier of the destination folder.
          required: true
          schema:
            type: string
        - name: isAdminMode
          in: header
          description: >-
            Set this to "true" if you want to perform the request as a Content
            Administrator.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Content copy job has been scheduled.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BeginAsyncJobResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/content/{id}/copy/{jobId}/status:
    get:
      tags:
        - contentManagement
      summary: Content copy job status.
      description: >
        Get the status of the copy request with the given job identifier. On
        success, field `statusMessage` will contain identifier of the newly
        copied content in format: `id: {hexIdentifier}`.
      operationId: asyncCopyStatus
      parameters:
        - name: id
          in: path
          description: The identifier of the content which was copied.
          required: true
          schema:
            type: string
        - name: jobId
          in: path
          description: The identifier of the asynchronous copy request job.
          required: true
          schema:
            type: string
        - name: isAdminMode
          in: header
          description: >-
            Set this to "true" if you want to perform the request as a Content
            Administrator.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: The status of the content copy job.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncJobStatus'
              example:
                status: Success
                statusMessage: 'id: 0000000000000197'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/content/{id}/move:
    post:
      tags:
        - contentManagement
      summary: Move an item.
      description: |
        Moves an item from its current location to another folder.
      operationId: moveItem
      parameters:
        - name: destinationFolderId
          in: query
          description: Identifier of the destination folder.
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: Identifier of the item the user wants to move.
          required: true
          schema:
            type: string
        - name: isAdminMode
          in: header
          description: >-
            Set this to "true" if you want to perform the request as a Content
            Administrator.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Content was moved successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/transformationRules:
    get:
      tags:
        - transformationRuleManagement
      summary: Get a list of transformation rules.
      description: >-
        Get a list of transformation rules in the organization. The response is
        paginated with a default limit of 100 rules per page.
      operationId: getTransformationRules
      parameters:
        - name: limit
          in: query
          description: Limit the number of transformation rules returned in the response.
          required: false
          schema:
            maximum: 1000
            minimum: 1
            type: integer
            format: int32
            default: 100
          example: 10
        - name: token
          in: query
          description: >-
            Continuation token to get the next page of results. A page object
            with the next continuation token is returned in the response body.
            Subsequent GET requests should specify the continuation token to get
            the next page of results. `token` is set to null when no more pages
            are left.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: List of transformation rules.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransformationRulesResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - transformationRuleManagement
      summary: Create a new transformation rule.
      description: Create a new transformation rule.
      operationId: createRule
      parameters: []
      requestBody:
        description: The configuration of the transformation rule to create.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransformationRuleRequest'
        required: true
      responses:
        '200':
          description: The transformation rule was successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransformationRuleResponse'
        default:
          description: The operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/transformationRules/{id}:
    get:
      tags:
        - transformationRuleManagement
      summary: Get a transformation rule.
      description: Get a transformation rule with the given identifier.
      operationId: getTransformationRule
      parameters:
        - name: id
          in: path
          description: Identifier of transformation rule to return.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Transformation rule object that was requested.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransformationRuleResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - transformationRuleManagement
      summary: Update a transformation rule.
      description: >-
        Update an existing transformation rule. All properties specified in the
        request are replaced. Missing properties will remain the same.
      operationId: updateTransformationRule
      parameters:
        - name: id
          in: path
          description: Identifier of the transformation rule to update.
          required: true
          schema:
            type: string
      requestBody:
        description: Information to update about the transformation rule.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransformationRuleRequest'
        required: true
      responses:
        '200':
          description: The transformation rule was successfully modified.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransformationRuleResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - transformationRuleManagement
      summary: Delete a transformation rule.
      description: Delete a transformation rule with the given identifier.
      operationId: deleteRule
      parameters:
        - name: id
          in: path
          description: Identifier of the transformation rule to delete.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: The transformation rule was successfully deleted.
        default:
          description: The operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/account/accountOwner:
    get:
      tags:
        - accountManagement
      summary: Get the owner of an account.
      description: Returns the user identifier of the account owner.
      operationId: getAccountOwner
      responses:
        '200':
          description: User identifier of the account owner.
          content:
            application/json:
              schema:
                type: string
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/account/status:
    get:
      tags:
        - accountManagement
      summary: Get overview of the account status.
      description: >-
        Get information related to the account's plan, pricing model, expiration
        and payment status.
      operationId: getStatus
      responses:
        '200':
          description: Overview of the account.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountStatusResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/account/subdomain:
    get:
      tags:
        - accountManagement
      summary: Get the configured subdomain.
      description: Get the configured subdomain.
      operationId: getSubdomain
      responses:
        '200':
          description: The subdomain's definition.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubdomainDefinitionResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - accountManagement
      summary: Update account subdomain.
      description: Update a subdomain. Only the Account Owner can update the subdomain.
      operationId: updateSubdomain
      requestBody:
        description: The new subdomain.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfigureSubdomainRequest'
        required: true
      responses:
        '200':
          description: The updated subdomain's definition.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubdomainDefinitionResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - accountManagement
      summary: Create account subdomain.
      description: Create a subdomain. Only the Account Owner can create a subdomain.
      operationId: createSubdomain
      requestBody:
        description: The new subdomain.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfigureSubdomainRequest'
        required: true
      responses:
        '200':
          description: Created a new subdomain.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubdomainDefinitionResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - accountManagement
      summary: Delete the configured subdomain.
      description: Delete the configured subdomain.
      operationId: deleteSubdomain
      responses:
        '204':
          description: The subdomain was successfully deleted.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/account/subdomain/recover:
    post:
      tags:
        - accountManagement
      summary: Recover subdomains for a user.
      description: >-
        Send an email with the subdomain information for a user with the given
        email address.
      operationId: recoverSubdomains
      parameters:
        - name: email
          in: query
          description: Email address of the user to get subdomain information.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: >-
            An email containing information about associated subdomains for the
            given email was sent.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/metricsSearches:
    post:
      tags:
        - metricsSearchesManagement
      summary: Save a metrics search.
      description: >-
        Saves a metrics search in the content library. Metrics search consists
        of one or more queries, a time range, a quantization period and a set of
        chart properties like line width.
      operationId: createMetricsSearch
      parameters: []
      requestBody:
        description: The definition of the metrics search.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SaveMetricsSearchRequest'
        required: true
      responses:
        '200':
          description: Newly created metrics search.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetricsSearchInstance'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/metricsSearches/{id}:
    get:
      tags:
        - metricsSearchesManagement
      summary: Get a metrics search.
      description: Returns a metrics search with the specified identifier.
      operationId: getMetricsSearch
      parameters:
        - name: id
          in: path
          description: Identifier of the metrics search.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: A metrics search object with metadata.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetricsSearchInstance'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - metricsSearchesManagement
      summary: Updates a metrics search.
      description: >-
        Updates a metrics search with the specified identifier. Partial updates
        are not supported, you must provide values for all fields.
      operationId: updateMetricsSearch
      parameters:
        - name: id
          in: path
          description: Identifier of the metrics search.
          required: true
          schema:
            type: string
      requestBody:
        description: An updated metrics search definition.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetricsSearchV1'
        required: true
      responses:
        '200':
          description: The metrics saved search that was updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetricsSearchInstance'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - metricsSearchesManagement
      summary: Deletes a metrics search.
      description: Deletes a metrics search from the content library.
      operationId: deleteMetricsSearch
      parameters:
        - name: id
          in: path
          description: Identifier of the metrics search.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: The metrics search was successfully deleted.
        default:
          description: The operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tokens:
    get:
      tags:
        - tokensLibraryManagement
      summary: Get a list of tokens.
      description: Get a list of all tokens in the token library.
      operationId: listTokens
      responses:
        '200':
          description: A list of tokens.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTokensBaseResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - tokensLibraryManagement
      summary: Create a token.
      description: Create a token in the token library.
      operationId: createToken
      requestBody:
        description: Information about the token to create.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TokenBaseDefinition'
        required: true
      responses:
        '200':
          description: The token has been created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenBaseResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tokens/{id}:
    get:
      tags:
        - tokensLibraryManagement
      summary: Get a token.
      description: Get a token with the given identifier in the token library.
      operationId: getToken
      parameters:
        - name: id
          in: path
          description: Identifier of the token to return.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Token object that was requested.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenBaseResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - tokensLibraryManagement
      summary: Update a token.
      description: Update a token with the given identifier in the token library.
      operationId: updateToken
      parameters:
        - name: id
          in: path
          description: Identifier of the token to update.
          required: true
          schema:
            type: string
      requestBody:
        description: The token to update.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TokenBaseDefinitionUpdate'
        required: true
      responses:
        '200':
          description: The token was successfully modified.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenBaseResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - tokensLibraryManagement
      summary: Delete a token.
      description: Delete a token with the given identifier in the token library.
      operationId: deleteToken
      parameters:
        - name: id
          in: path
          description: Identifier of the token to delete.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: The token was deleted successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/accessKeys:
    get:
      tags:
        - accessKeyManagement
      summary: List all access keys.
      description: List all access keys in your account.
      operationId: listAccessKeys
      parameters:
        - name: limit
          in: query
          description: >-
            Limit the number of access keys returned in the response. The number
            of access keys returned may be less than the `limit`.
          required: false
          schema:
            maximum: 1000
            minimum: 1
            type: integer
            format: int32
            default: 100
        - name: token
          in: query
          description: >-
            Continuation token to get the next page of results. A page object
            with the next continuation token is returned in the response body.
            Subsequent GET requests should specify the continuation token to get
            the next page of results. `token` is set to null when no more pages
            are left.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: A list of all access keys in your account.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedListAccessKeysResult'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - accessKeyManagement
      summary: Create an access key.
      description: >-
        Creates a new access ID and key pair. The new access key can be used
        from the domains specified in corsHeaders field. Whether Sumo Logic
        accepts or rejects an API request depends on whether it contains an
        ORIGIN header and the entries in the allowlist. Sumo Logic will reject:
          1. Requests with an ORIGIN header but the allowlist is empty.
          2. Requests with an ORIGIN header that don't match any entry in the allowlist.
      operationId: createAccessKey
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccessKeyCreateRequest'
        required: true
      responses:
        '200':
          description: Access key created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessKey'
        default:
          description: Access key creation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/accessKeys/personal:
    get:
      tags:
        - accessKeyManagement
      summary: List personal keys.
      description: List all access keys that belong to your user.
      operationId: listPersonalAccessKeys
      responses:
        '200':
          description: >-
            A list of all access keys that belong to the user making the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAccessKeysResult'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/accessKeys/{id}:
    put:
      tags:
        - accessKeyManagement
      summary: Update an access key.
      description: >-
        Updates the properties of existing accessKey by accessId. It can be used
        to enable or disable the access key and to update the corsHeaders list.
      operationId: updateAccessKey
      parameters:
        - name: id
          in: path
          description: The accessId of the access key to update.
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccessKeyUpdateRequest'
        required: true
      responses:
        '200':
          description: Access key updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessKeyPublic'
        default:
          description: Access key update failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - accessKeyManagement
      summary: Delete an access key.
      description: Deletes the access key with the given accessId.
      operationId: deleteAccessKey
      parameters:
        - name: id
          in: path
          description: The accessId of the access key to delete.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Access key deletion completed successfully.
        default:
          description: Access key deletion failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/saml/identityProviders:
    get:
      tags:
        - samlConfigurationManagement
      summary: Get a list of SAML configurations.
      description: Get a list of all SAML configurations in the organization.
      operationId: getIdentityProviders
      responses:
        '200':
          description: A list of SAML configurations in the organization.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SamlIdentityProvider'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - samlConfigurationManagement
      summary: Create a new SAML configuration.
      description: Create a new SAML configuration in the organization.
      operationId: createIdentityProvider
      parameters: []
      requestBody:
        description: The configuration of the SAML identity provider.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SamlIdentityProviderRequest'
        required: true
      responses:
        '200':
          description: The SAML configuration was successfully created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SamlIdentityProvider'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/saml/identityProviders/{id}:
    put:
      tags:
        - samlConfigurationManagement
      summary: Update a SAML configuration.
      description: Update an existing SAML configuration in the organization.
      operationId: updateIdentityProvider
      parameters:
        - name: id
          in: path
          description: Identifier of the SAML configuration to update.
          required: true
          schema:
            type: string
      requestBody:
        description: Information to update in the SAML configuration.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SamlIdentityProviderRequest'
        required: true
      responses:
        '200':
          description: The SAML configuration was successfully modified.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SamlIdentityProvider'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - samlConfigurationManagement
      summary: Delete a SAML configuration.
      description: >-
        Delete a SAML configuration with the given identifier from the
        organization.
      operationId: deleteIdentityProvider
      parameters:
        - name: id
          in: path
          description: Identifier of the SAML configuration to delete.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: The SAML configuration was deleted successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/saml/allowlistedUsers:
    get:
      tags:
        - samlConfigurationManagement
      summary: Get list of allowlisted users.
      description: Get a list of allowlisted users.
      operationId: getAllowlistedUsers
      responses:
        '200':
          description: A list of allowlisted users from the organization.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AllowlistedUserResult'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/saml/allowlistedUsers/{userId}:
    post:
      tags:
        - samlConfigurationManagement
      summary: Allowlist a user.
      description: >-
        Allowlist a user from SAML lockdown allowing them to sign in using a
        password in addition to SAML.
      operationId: createAllowlistedUser
      parameters:
        - name: userId
          in: path
          description: Identifier of the user.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: User was successfully allowlisted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllowlistedUserResult'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - samlConfigurationManagement
      summary: Remove an allowlisted user.
      description: Remove an allowlisted user requiring them to sign in using SAML.
      operationId: deleteAllowlistedUser
      parameters:
        - name: userId
          in: path
          description: >-
            Identifier of user that will no longer be allowlisted from SAML
            Lockdown.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: User was successfully removed from the allowlist for SAML Lockdown.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/saml/lockdown/enable:
    post:
      tags:
        - samlConfigurationManagement
      summary: Require SAML for sign-in.
      description: >-
        Enabling SAML lockdown requires users to sign in using SAML preventing
        them from logging in with an email and password.
      operationId: enableSamlLockdown
      responses:
        '204':
          description: SAML lockdown was enabled successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/saml/lockdown/disable:
    post:
      tags:
        - samlConfigurationManagement
      summary: Disable SAML lockdown.
      description: Disable SAML lockdown for the organization.
      operationId: disableSamlLockdown
      responses:
        '204':
          description: SAML lockdown was disabled successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/serviceAllowlist/addresses:
    get:
      tags:
        - serviceAllowlistManagement
      summary: List all allowlisted CIDRs/IP addresses.
      description: >-
        Get a list of all allowlisted CIDR notations and/or IP addresses for the
        organization.
      operationId: listAllowlistedCidrs
      responses:
        '200':
          description: >-
            List of all allowlisted CIDR notations and/or IP addresses for the
            organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CidrList'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/serviceAllowlist/addresses/add:
    post:
      tags:
        - serviceAllowlistManagement
      summary: Allowlist CIDRs/IP addresses.
      description: >-
        Add CIDR notations and/or IP addresses to the allowlist of the
        organization if not already there. When service allowlisting
        functionality is enabled, CIDRs/IP addresses that are allowlisted will
        have access to Sumo Logic and/or content sharing.
      operationId: addAllowlistedCidrs
      parameters: []
      requestBody:
        description: >-
          List of all CIDR notations and/or IP addresses to be added to the
          allowlist of the organization.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CidrList'
        required: true
      responses:
        '200':
          description: >-
            List of all allowlisted CIDR notations and/or IP addresses for the
            organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CidrList'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/serviceAllowlist/addresses/remove:
    post:
      tags:
        - serviceAllowlistManagement
      summary: Remove allowlisted CIDRs/IP addresses.
      description: >-
        Remove allowlisted CIDR notations and/or IP addresses from the
        organization. Removed CIDRs/IPs will immediately lose access to Sumo
        Logic and content sharing.
      operationId: deleteAllowlistedCidrs
      parameters: []
      requestBody:
        description: >-
          List of all CIDR notations and/or IP addresses to be removed from the
          allowlist of the organization.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CidrList'
        required: true
      responses:
        '200':
          description: >-
            List of all allowlisted CIDR notations and/or IP addresses for the
            organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CidrList'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/serviceAllowlist/enable:
    post:
      tags:
        - serviceAllowlistManagement
      summary: Enable service allowlisting.
      description: >-
        Enable service allowlisting functionality for the organization. The
        service allowlisting can be for 1. Login: If enabled, access to Sumo
        Logic is granted only to CIDRs/IP addresses that are allowlisted. 2.
        Content: If enabled, dashboards can be shared with users connecting from
        CIDRs/IP addresses that are allowlisted without logging in.
      operationId: enableAllowlisting
      parameters:
        - name: allowlistType
          in: query
          description: >-
            The type of allowlisting to be enabled. It can be one of: `Login`,
            `Content`, or `Both`.
          required: true
          schema:
            pattern: ^(Login|Content|Both)$
            type: string
            description: 'One of: `Login`, `Content`, `Both`.'
            example: Login
            x-pattern-message: must be `Login`, `Content`, or `Both`
      responses:
        '204':
          description: Service allowlisting was enabled successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/serviceAllowlist/disable:
    post:
      tags:
        - serviceAllowlistManagement
      summary: Disable service allowlisting.
      description: >-
        Disable service allowlisting functionality for login/API authentication
        or content sharing for the organization.
      operationId: disableAllowlisting
      parameters:
        - name: allowlistType
          in: query
          description: >-
            The type of allowlisting to be disabled. It can be one of: `Login`,
            `Content`, or `Both`.
          required: true
          schema:
            pattern: ^(Login|Content|Both)$
            type: string
            description: 'One of: `Login`, `Content`, `Both`.'
            example: Login
            x-pattern-message: must be `Login`, `Content`, or `Both`
      responses:
        '204':
          description: Service allowlisting was disabled successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/serviceAllowlist/status:
    get:
      tags:
        - serviceAllowlistManagement
      summary: Get the allowlisting status.
      description: >-
        Get the status of the service allowlisting functionality for login/API
        authentication or content sharing for the organization.
      operationId: getAllowlistingStatus
      responses:
        '200':
          description: The status of service allowlisting for Content and Login.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AllowlistingStatus'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/policies/audit:
    get:
      tags:
        - policiesManagement
      summary: Get Audit policy.
      description: >-
        Get the Audit policy. This policy specifies whether audit records for
        your account are enabled. You can access details about reported account
        events in the Sumo Logic Audit Index. [Learn
        More](https://help.sumologic.com/Manage/Security/Audit-Index)
      operationId: getAuditPolicy
      responses:
        '200':
          description: The Audit policy.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditPolicy'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - policiesManagement
      summary: Set Audit policy.
      description: >-
        Set the Audit policy. This policy specifies whether audit records for
        your account are enabled. You can access details about reported account
        events in the Sumo Logic Audit Index. [Learn
        More](https://help.sumologic.com/Manage/Security/Audit-Index)
      operationId: setAuditPolicy
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AuditPolicy'
        required: true
      responses:
        '200':
          description: Audit policy was set successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditPolicy'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/policies/searchAudit:
    get:
      tags:
        - policiesManagement
      summary: Get Search Audit policy.
      description: >-
        Get the Search Audit policy. This policy specifies whether search
        records for your account are enabled. You can access details about your
        account's search capacity, queries run by users from the Sumo Search
        Audit Index. [Learn
        More](https://help.sumologic.com/Manage/Security/Search_Audit_Index)
      operationId: getSearchAuditPolicy
      responses:
        '200':
          description: The Search Audit policy.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchAuditPolicy'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - policiesManagement
      summary: Set Search Audit policy.
      description: >-
        Set the Search Audit policy. This policy specifies whether search
        records for your account are enabled. You can access details about your
        account's search capacity, queries run by users from the Sumo Search
        Audit Index. [Learn
        More](https://help.sumologic.com/Manage/Security/Search_Audit_Index)
      operationId: setSearchAuditPolicy
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchAuditPolicy'
        required: true
      responses:
        '200':
          description: Search Audit policy was set successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchAuditPolicy'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/policies/shareDashboardsOutsideOrganization:
    get:
      tags:
        - policiesManagement
      summary: Get Share Dashboards Outside Organization policy.
      description: >-
        Get the Share Dashboards Outside Organization policy. This policy allows
        users to share the dashboard with view only privileges outside of the
        organization (capability must be enabled from the Roles page). Disabling
        this policy will disable all dashboards that have been shared outside of
        the organization. [Learn
        More](https://help.sumologic.com/Visualizations-and-Alerts/Dashboards/Share_Dashboards/Share_a_Dashboard_Outside_Your_Org)
      operationId: getShareDashboardsOutsideOrganizationPolicy
      responses:
        '200':
          description: The Share Dashboards Outside Organization policy.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShareDashboardsOutsideOrganizationPolicy'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - policiesManagement
      summary: Set Share Dashboards Outside Organization policy.
      description: >-
        Set the Share Dashboards Outside Organization policy. This policy allows
        users to share the dashboard with view only privileges outside of the
        organization (capability must be enabled from the Roles page). Disabling
        this policy will disable all dashboards that have been shared outside of
        the organization. [Learn
        More](https://help.sumologic.com/Visualizations-and-Alerts/Dashboards/Share_Dashboards/Share_a_Dashboard_Outside_Your_Org)
      operationId: setShareDashboardsOutsideOrganizationPolicy
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ShareDashboardsOutsideOrganizationPolicy'
        required: true
      responses:
        '200':
          description: Share Dashboards Outside Organization policy was set successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShareDashboardsOutsideOrganizationPolicy'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/policies/dataAccessLevel:
    get:
      tags:
        - policiesManagement
      summary: Get Data Access Level policy.
      description: >-
        Get the Data Access Level policy. When enabled, this policy sets the
        default data access level for all newly created dashboards to the
        viewerâ€™s role access filter. Otherwise, newly created dashboards will
        default to the sharerâ€™s role access filter and might display data that
        viewersâ€™ roles donâ€™t allow them to view. [Learn
        More](https://help.sumologic.com/Manage/Security/Data_Access_Level_for_Shared_Dashboards)
      operationId: getDataAccessLevelPolicy
      responses:
        '200':
          description: The Data Access Level policy.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataAccessLevelPolicy'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - policiesManagement
      summary: Set Data Access Level policy.
      description: >-
        Set the Data Access Level policy. When enabled, this policy sets the
        default data access level for all newly created dashboards to the
        viewerâ€™s role access filter. Otherwise, newly created dashboards will
        default to the sharerâ€™s role access filter and might display data that
        viewersâ€™ roles donâ€™t allow them to view. [Learn
        More](https://help.sumologic.com/Manage/Security/Data_Access_Level_for_Shared_Dashboards)
      operationId: setDataAccessLevelPolicy
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataAccessLevelPolicy'
        required: true
      responses:
        '200':
          description: Data Access Level policy was set successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataAccessLevelPolicy'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/policies/userConcurrentSessionsLimit:
    get:
      tags:
        - policiesManagement
      summary: Get User Concurrent Sessions Limit policy.
      description: >-
        Get the User Concurrent Sessions Limit policy. When enabled, the number
        of concurrent sessions a user may have is limited to the value entered.
        If a user exceeds the allowed number of sessions, the user's oldest
        session will be logged out to accommodate the new one. Disabling this
        policy means a user may have an unlimited number of concurrent sessions.
        [Learn
        More](https://help.sumologic.com/Manage/Security/Set_a_Limit_for_User_Concurrent_Sessions)
      operationId: getUserConcurrentSessionsLimitPolicy
      responses:
        '200':
          description: The User Concurrent Sessions Limit policy.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserConcurrentSessionsLimitPolicy'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - policiesManagement
      summary: Set User Concurrent Sessions Limit policy.
      description: >-
        Set the User Concurrent Sessions Limit policy. When enabled, the number
        of concurrent sessions a user may have is limited to the value entered.
        If a user exceeds the allowed number of sessions, the user's oldest
        session will be logged out to accommodate the new one. Disabling this
        policy means a user may have an unlimited number of concurrent sessions.
        [Learn
        More](https://help.sumologic.com/Manage/Security/Set_a_Limit_for_User_Concurrent_Sessions)
      operationId: setUserConcurrentSessionsLimitPolicy
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserConcurrentSessionsLimitPolicy'
        required: true
      responses:
        '200':
          description: User Concurrent Sessions Limit policy was set successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserConcurrentSessionsLimitPolicy'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/policies/maxUserSessionTimeout:
    get:
      tags:
        - policiesManagement
      summary: Get Max User Session Timeout policy.
      description: >-
        Get the Max User Session Timeout policy. When enabled, this policy sets
        the maximum web session timeout users are able to configure within their
        user preferences. Users preferences will be updated to match this value
        only if their current preference is set to a higher value. [Learn
        More](https://help.sumologic.com/Manage/Security/Set_a_Maximum_Web_Session_Timeout)
      operationId: getMaxUserSessionTimeoutPolicy
      responses:
        '200':
          description: The Max User Session Timeout policy.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaxUserSessionTimeoutPolicy'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - policiesManagement
      summary: Set Max User Session Timeout policy.
      description: >-
        Set the Max User Session Timeout policy. When enabled, this policy sets
        the maximum web session timeout users are able to configure within their
        user preferences. Users preferences will be updated to match this value
        only if their current preference is set to a higher value. [Learn
        More](https://help.sumologic.com/Manage/Security/Set_a_Maximum_Web_Session_Timeout)
      operationId: setMaxUserSessionTimeoutPolicy
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MaxUserSessionTimeoutPolicy'
        required: true
      responses:
        '200':
          description: Max User Session Timeout policy was set successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MaxUserSessionTimeoutPolicy'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/healthEvents:
    get:
      tags:
        - healthEvents
      summary: Get a list of health events.
      description: Get a list of all the unresolved health events in your account.
      operationId: listAllHealthEvents
      parameters:
        - name: limit
          in: query
          description: >-
            Limit the number of health events returned in the response. The
            number of health events returned may be less than the `limit`.
          required: false
          schema:
            maximum: 1000
            minimum: 1
            type: integer
            format: int32
            default: 100
        - name: token
          in: query
          description: >-
            Continuation token to get the next page of results. A page object
            with the next continuation token is returned in the response body.
            Subsequent GET requests should specify the continuation token to get
            the next page of results. `token` is set to null when no more pages
            are left.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: A paginated list of all the health events.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListHealthEventResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/healthEvents/resources:
    post:
      tags:
        - healthEvents
      summary: Health events for specific resources.
      description: >-
        Get a list of all the unresolved events in your account that belong to
        the supplied resource identifiers.
      operationId: listAllHealthEventsForResources
      parameters:
        - name: limit
          in: query
          description: >-
            Limit the number of health events returned in the response. The
            number of health events returned may be less than the `limit`.
          required: false
          schema:
            maximum: 1000
            minimum: 1
            type: integer
            format: int32
            default: 100
        - name: token
          in: query
          description: >-
            Continuation token to get the next page of results. A page object
            with the next continuation token is returned in the response body.
            Subsequent GET requests should specify the continuation token to get
            the next page of results. `token` is set to null when no more pages
            are left.
          required: false
          schema:
            type: string
      requestBody:
        description: Resource identifiers to request health events from.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResourceIdentities'
        required: true
      responses:
        '200':
          description: List of all the health events for the specified resources.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListHealthEventResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/archive/{sourceId}/jobs:
    get:
      tags:
        - archiveManagement
      summary: Get ingestion jobs for an Archive Source.
      description: >-
        Get a list of all the ingestion jobs created on an Archive Source. The
        response is paginated with a default limit of 10 jobs per page.
      operationId: listArchiveJobsBySourceId
      parameters:
        - name: sourceId
          in: path
          description: The identifier of an Archive Source.
          required: true
          schema:
            type: string
            example: 000000000606C009
        - name: limit
          in: query
          description: >-
            Limit the number of jobs returned in the response. The number of
            jobs returned may be less than the `limit`.
          required: false
          schema:
            maximum: 100
            minimum: 1
            type: integer
            format: int32
            default: 10
        - name: token
          in: query
          description: >-
            Continuation token to get the next page of results. A page object
            with the next continuation token is returned in the response body.
            Subsequent GET requests should specify the continuation token to get
            the next page of results. `token` is set to null when no more pages
            are left.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: A paginated list of ingestion jobs for an Archive Source.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListArchiveJobsResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - archiveManagement
      summary: Create an ingestion job.
      description: Create an ingestion job to pull data from your S3 bucket.
      operationId: createArchiveJob
      parameters:
        - name: sourceId
          in: path
          description: >-
            The identifier of the Archive Source for which the job is to be
            added.
          required: true
          schema:
            type: string
            example: 000000000606C009
      requestBody:
        description: The definition of the ingestion job to create.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateArchiveJobRequest'
        required: true
      responses:
        '200':
          description: The ingestion job was created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArchiveJob'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/archive/{sourceId}/jobs/{id}:
    delete:
      tags:
        - archiveManagement
      summary: Delete an ingestion job.
      description: >-
        Delete an ingestion job with the given identifier from the organization.
        The delete operation is only possible for jobs with a Succeeded or
        Failed status.
      operationId: deleteArchiveJob
      parameters:
        - name: sourceId
          in: path
          description: The identifier of the Archive Source.
          required: true
          schema:
            type: string
        - name: id
          in: path
          description: The identifier of the ingestion job to delete.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: The ingestion job was deleted successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/archive/jobs/count:
    get:
      tags:
        - archiveManagement
      summary: List ingestion jobs for all Archive Sources.
      description: >-
        Get a list of all Archive Sources with the count and status of ingestion
        jobs.
      operationId: listArchiveJobsCountPerSource
      parameters: []
      responses:
        '200':
          description: A list of Archive Sources with ingestion jobs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListArchiveJobsCount'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/logSearches/estimatedUsage:
    post:
      tags:
        - logSearchesEstimatedUsage
      summary: Gets estimated usage details.
      description: >
        Gets the estimated volume of data that would be scanned for a given log
        search in the Infrequent data tier.
      operationId: getLogSearchEstimatedUsage
      parameters: []
      requestBody:
        description: The definition of the log search estimated usage.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LogSearchEstimatedUsageRequest'
        required: true
      responses:
        '200':
          description: Log search information along with its estimated usage details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LogSearchEstimatedUsageDefinition'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/logSearches/estimatedUsageByTier:
    post:
      tags:
        - logSearchesEstimatedUsage
      summary: Gets Tier Wise estimated usage details.
      description: >
        Gets the estimated volume of data that would be scanned for a given log
        search per data tier.
      operationId: getLogSearchEstimatedUsageByTier
      parameters: []
      requestBody:
        description: The definition of the log search estimated usage.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LogSearchEstimatedUsageRequestV2'
        required: true
      responses:
        '200':
          description: >-
            Log search information along with its tier wise estimated usage
            details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LogSearchEstimatedUsageByTierDefinition'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/dashboards:
    get:
      tags:
        - dashboardManagement
      summary: List all dashboards.
      description: List all dashboards under the Personal folder created by the user.
      operationId: listDashboards
      parameters:
        - name: limit
          in: query
          description: >-
            Limit the number of dashboard returned in the response. The number
            of dashboards returned may be less than the `limit`.
          required: false
          schema:
            maximum: 100
            minimum: 1
            type: integer
            format: int32
            default: 50
          example: 50
        - name: token
          in: query
          description: >-
            Continuation token to get the next page of results. A page object
            with the next continuation token is returned in the response body.
            Subsequent GET requests should specify the continuation token to get
            the next page of results. `token` is set to null when no more pages
            are left.
          required: false
          schema:
            type: string
          example: GDCiRv4vebF3UWFJQ1kySXBOR3Bzh69GR0RyWm9vCtc
      responses:
        '200':
          description: >-
            Paginated list of dashboards under the Personal folder created by
            the user.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedDashboards'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - dashboardManagement
      summary: Create a new dashboard.
      description: Creates a new dashboard.
      operationId: createDashboard
      requestBody:
        description: Information to create the new dashboard.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DashboardRequest'
        required: true
      responses:
        '200':
          description: The dashboard has been created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dashboard'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/dashboards/{id}:
    get:
      tags:
        - dashboardManagement
      summary: Get a dashboard.
      description: Get a dashboard by the given identifier.
      operationId: getDashboard
      parameters:
        - name: id
          in: path
          description: UUID of the dashboard to return.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Dashboard object that was requested.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dashboard'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - dashboardManagement
      summary: Update a dashboard.
      description: Update a dashboard by the given identifier.
      operationId: updateDashboard
      parameters:
        - name: id
          in: path
          description: Identifier of the dashboard to update.
          required: true
          schema:
            type: string
      requestBody:
        description: Information to update on the dashboard.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DashboardRequest'
        required: true
      responses:
        '200':
          description: The dashboard was successfully modified.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dashboard'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - dashboardManagement
      summary: Delete a dashboard.
      description: Delete a dashboard by the given identifier.
      operationId: deleteDashboard
      parameters:
        - name: id
          in: path
          description: Identifier of the dashboard to delete.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Dashboard was deleted successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/dashboards/reportJobs:
    post:
      tags:
        - dashboardManagement
      summary: Start a report job
      description: >
        Schedule an asynchronous job to generate a report from a template. All
        items in the template will be included unless specified. See template
        section for more details on individual templates. Reports can be
        generated in Pdf or Png format and exported in various methods (ex.
        direct download). You will get back an asynchronous job identifier on
        success. Use the
        [getAsyncReportGenerationStatus](#operation/getAsyncExportStatus)
        endpoint and the job identifier you got back in the response to track
        the status of an asynchronous report generation job.
      operationId: generateDashboardReport
      requestBody:
        description: Request for a report.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateReportRequest'
        required: true
      responses:
        '200':
          description: Export job has been scheduled.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BeginAsyncJobResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/dashboards/reportJobs/{jobId}/status:
    get:
      tags:
        - dashboardManagement
      summary: Get report generation job status
      description: >-
        Get the status of an asynchronous report generation request for the
        given job identifier. On success, use the
        [getReportGenerationResult](#operation/getAsyncReportGenerationResult)
        endpoint to get the result of the report generation job.
      operationId: getAsyncReportGenerationStatus
      parameters:
        - name: jobId
          in: path
          description: The identifier of the asynchronous report generation job.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The status of the report generation job.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncJobStatus'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/dashboards/reportJobs/{jobId}/result:
    get:
      tags:
        - dashboardManagement
      summary: Get report generation job result
      description: >-
        Get the result of an asynchronous report generation request for the
        given job identifier.
      operationId: getAsyncReportGenerationResult
      parameters:
        - name: jobId
          in: path
          description: The identifier of the asynchronous report generation job.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The result of export job.
          content:
            application/pdf:
              schema:
                type: string
                format: binary
            image/png:
              schema:
                type: string
                format: binary
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/monitors/usageInfo:
    get:
      tags:
        - monitorsLibraryManagement
      summary: Usage info of monitors.
      description: >-
        Get the current number and the allowed number of log and metrics
        monitors.
      operationId: getMonitorUsageInfo
      responses:
        '200':
          description: MonitorUsageInfo has been retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorUsageInfo'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/monitors/disable:
    put:
      tags:
        - monitorsLibraryManagement
      summary: Disable monitors.
      description: Bulk disable monitors by the given identifiers.
      operationId: disableMonitorByIds
      parameters:
        - name: ids
          in: query
          description: A comma-separated list of identifiers.
          required: true
          style: form
          explode: false
          schema:
            type: array
            items:
              type: string
          example: 0000000000000001,0000000000000002,0000000000000003
      responses:
        '200':
          description: Disabled monitors
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DisableMonitorResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/passwordPolicy:
    get:
      tags:
        - passwordPolicy
      summary: Get the current password policy.
      description: Get the current password policy.
      operationId: getPasswordPolicy
      parameters: []
      responses:
        '200':
          description: The current password policy.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PasswordPolicy'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - passwordPolicy
      summary: Update password policy.
      description: Update the current password policy.
      operationId: setPasswordPolicy
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PasswordPolicy'
        required: true
      responses:
        '200':
          description: Password Policy set successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PasswordPolicy'
        default:
          description: Setting the password policy failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/metricsQueries:
    post:
      tags:
        - metricsQuery
      summary: Run metrics queries
      description: >-
        Execute up to six metrics queries. If you specify multiple queries, each
        is returned as a separate set of time series. A metric query returns a
        maximum of 300 data points per metric. A metric query will process a
        maximum of 15K unique time series to calculate the query results. Query
        results are limited to 1000 unique time series.

        For more information see [Metrics
        Queries](https://help.sumologic.com/?cid=10144).
      operationId: runMetricsQueries
      parameters: []
      requestBody:
        description: The parameters for the metrics query.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetricsQueryRequest'
        required: true
      responses:
        '200':
          description: A set of time series grouped by the query.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetricsQueryResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tracing/tracequery:
    post:
      tags:
        - traces
      summary: Run a trace search query asynchronously.
      description: >-
        Execute a trace search query and get the id to fetch its status and
        results. Use the [Trace Query Status](#operation/getTraceQueryStatus)
        endpoint to check a query status. When the query has been completed, use
        the [Trace Query Result](#operation/getTraceQueryResult) endpoint to get
        the result of the asynchronous query.
      operationId: createTraceQuery
      parameters: []
      requestBody:
        description: Query parameters.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AsyncTraceQueryRequest'
        required: true
      responses:
        '200':
          description: Query execution result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateTraceQueryResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tracing/tracequery/{queryId}:
    delete:
      tags:
        - traces
      summary: Cancel a trace search query.
      description: Cancel a currently processed trace search query with the given id.
      operationId: cancelTraceQuery
      parameters:
        - name: queryId
          in: path
          description: Identifier of the query to cancel.
          required: true
          schema:
            type: string
            example: 798a13dc1ceeb19a
      responses:
        '204':
          description: Query canceled successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tracing/tracequery/{queryId}/status:
    get:
      tags:
        - traces
      summary: Get a trace search query status.
      description: >-
        Get a status of a trace query with the given id. When the query has been
        completed, use the [Trace Query Result](#operation/getTraceQueryResult)
        endpoint to get the result of the asynchronous query.
      operationId: getTraceQueryStatus
      parameters:
        - name: queryId
          in: path
          description: Identifier of the executed query.
          required: true
          schema:
            type: string
            example: 195038749d21ad109242c95cbbc8709d
      responses:
        '200':
          description: Status of the given trace search query.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TraceQueryStatusResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tracing/tracequery/{queryId}/rows/{rowId}/traces:
    get:
      tags:
        - traces
      summary: Get results of a trace search query.
      description: >-
        Get a list of traces matching a query with the specified id. The
        response is paginated with a default limit of 100 traces per page.
      operationId: getTraceQueryResult
      parameters:
        - name: queryId
          in: path
          description: Identifier of the executed query.
          required: true
          schema:
            type: string
            example: 195038749d21ad109242c95cbbc8709d
        - name: rowId
          in: path
          description: Identifier of the query row.
          required: true
          schema:
            type: string
            example: A
        - name: limit
          in: query
          description: Limit of the number of traces returned in the response.
          required: false
          schema:
            maximum: 500
            minimum: 1
            type: integer
            format: int32
            example: 100
            default: 100
        - name: token
          in: query
          description: >-
            Continuation token to get the next page of results. A page object
            with the next continuation token is returned in the response body.
            Subsequent GET requests should specify the continuation token to get
            the next page of results. `token` is set to null when no more pages
            are left.
          required: false
          schema:
            type: string
            example: dlFXd0lhSkxzRjAwYnpVZkMrRmlhYnF4cGtNMWdnVEI
      responses:
        '200':
          description: Details about the given span query.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TraceQueryResultResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tracing/metrics:
    get:
      tags:
        - traces
      summary: Get trace search query metrics.
      description: >-
        Get a list of available trace metrics that can be used in trace search
        queries.
      operationId: getMetrics
      parameters: []
      responses:
        '200':
          description: List of available metrics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TraceMetricsResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tracing/tracequery/fields:
    get:
      tags:
        - traces
      summary: Get filter fields for trace search queries.
      description: >-
        Get a list of available fields which can be used in trace search
        queries.
      operationId: getTraceQueryFields
      parameters: []
      responses:
        '200':
          description: List of available fields.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TraceFieldsResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tracing/tracequery/fields/{field}/values:
    get:
      tags:
        - traces
      summary: Get trace search query filter field values.
      description: >-
        Get a list of available values for the given trace search query filter
        field. Not all fields support value listing. The response is paginated
        with a default limit of 10 values per page.
      operationId: getTraceQueryFieldValues
      parameters:
        - name: field
          in: path
          description: Field identifier.
          required: true
          schema:
            type: string
        - name: query
          in: query
          description: >-
            Search filter to apply on the values to be returned. Only values
            containing the search query term will be returned.
          required: false
          schema:
            type: string
        - name: limit
          in: query
          description: The maximum number of results to fetch.
          required: false
          schema:
            maximum: 500
            minimum: 1
            type: integer
            format: int32
            default: 10
        - name: token
          in: query
          description: >-
            Continuation token to get the next page of results. A page object
            with the next continuation token is returned in the response body.
            Subsequent GET requests should specify the continuation token to get
            the next page of results. `token` is set to null when no more pages
            are left.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: List of available filter values for the given field.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TraceFieldValuesResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tracing/traces/{traceId}:
    get:
      tags:
        - traces
      summary: Get trace details.
      description: Get details of a trace with the given identifier.
      operationId: getTrace
      parameters:
        - name: traceId
          in: path
          description: Identifier of the trace to get the details.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Details of the trace with the given identifier.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TraceDetail'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tracing/traces/{traceId}/exists:
    get:
      tags:
        - traces
      summary: Check if the trace exists.
      description: Check if the trace with the given identifier exists.
      operationId: traceExists
      parameters:
        - name: traceId
          in: path
          description: Identifier of the trace to check.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: >-
            The response contains the information whether the trace exists with
            other optional attributes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TraceExistsResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tracing/traces/{traceId}/spans:
    get:
      tags:
        - traces
      summary: Get a list of trace spans.
      description: >-
        Get a list of spans for the given trace. The response is paginated with
        a default limit of 100 spans per page.
      operationId: getSpans
      parameters:
        - name: traceId
          in: path
          description: Identifier of the trace to get the spans.
          required: true
          schema:
            type: string
        - name: limit
          in: query
          description: The maximum number of results to fetch.
          required: false
          schema:
            maximum: 500
            minimum: 1
            type: integer
            format: int32
            default: 100
        - name: token
          in: query
          description: >-
            Continuation token to get the next page of results. A page object
            with the next continuation token is returned in the response body.
            Subsequent GET requests should specify the continuation token to get
            the next page of results. `token` is set to null when no more pages
            are left.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: List of spans for the given trace.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TraceSpansResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tracing/traces/{traceId}/traceEvents:
    get:
      tags:
        - traces
      summary: Get a list of events (without their attributes) per span for a trace.
      description: >-
        Gets a list of the events (without their attributes) attached to each
        span in a given trace. The response is paginated with a default limit of
        100 spans per page.
      operationId: getTraceLightEvents
      parameters:
        - name: traceId
          in: path
          description: Identifier of the trace for which span events will be returned.
          required: true
          schema:
            maxLength: 32
            minLength: 16
            type: string
            example: 695068749d21cd104222a95cabc4707c
        - name: limit
          in: query
          description: The maximum number of spans with events returned by a single query.
          required: false
          schema:
            maximum: 500
            minimum: 1
            type: integer
            format: int32
            default: 100
        - name: token
          in: query
          description: >-
            Continuation token to get the next page of results. A page object
            with the next continuation token is returned in the response body.
            Subsequent GET requests should specify the continuation token to get
            the next page of results. `token` is set to null when no more pages
            are left.
          required: false
          schema:
            type: string
            example: dlFXd0lhSkxzRjAwYnpVZkMrRmlhYnF4cGtNMWdnVEI
      responses:
        '200':
          description: Map of spans to events relations.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TraceLightEventsResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tracing/traces/{traceId}/criticalPath:
    get:
      tags:
        - traces
      summary: Get a critical path of a trace.
      description: >-
        Get a list of span segments composing the critical path of the trace. A
        span segment represents the processing time that was consumed within the
        span itself and does not incorporate the processing time of its
        children. The critical path is the sequence of span segments that
        contribute to the total trace duration. An increase of the processing
        time of any segment from the critical path would result in an increase
        of the total trace processing time.
      operationId: getCriticalPath
      parameters:
        - name: traceId
          in: path
          description: Identifier of the trace.
          required: true
          schema:
            type: string
        - name: limit
          in: query
          description: The maximum number of results to fetch.
          required: false
          schema:
            maximum: 500
            minimum: 1
            type: integer
            format: int32
            default: 100
        - name: token
          in: query
          description: >-
            Continuation token to get the next page of results. A page object
            with the next continuation token is returned in the response body.
            Subsequent GET requests should specify the continuation token to get
            the next page of results. `token` is set to null when no more pages
            are left.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: List of span segments composing the critical path.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CriticalPathResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tracing/traces/{traceId}/criticalPath/breakdown/service:
    get:
      tags:
        - traces
      summary: Get a critical path service breakdown of a trace.
      description: >-
        Get a critical path breakdown by services of the spans contributing to
        the critical path of a trace with the given identifier.
      operationId: getCriticalPathServiceBreakdown
      parameters:
        - name: traceId
          in: path
          description: Identifier of the trace.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: List of elements representing the critical path service breakdown.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CriticalPathServiceBreakdownResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tracing/traces/{traceId}/spans/{spanId}:
    get:
      tags:
        - traces
      summary: Get span details.
      description: Get details of a span with the given identifier.
      operationId: getSpan
      parameters:
        - name: traceId
          in: path
          description: Identifier of the trace the span belongs to.
          required: true
          schema:
            type: string
        - name: spanId
          in: path
          description: Identifier of the span to get the details.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Details of the span with the given identifier.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TraceSpanDetail'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tracing/traces/{traceId}/spans/{spanId}/billingInfo:
    get:
      tags:
        - traces
      summary: Get span billing details.
      description: Get the billing information of the span.
      operationId: getSpanBillingInfo
      parameters:
        - name: traceId
          in: path
          description: Identifier of the trace the span belongs to.
          required: true
          schema:
            type: string
        - name: spanId
          in: path
          description: Identifier of the span to get the billing info.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Billing information of the span with the given identifier.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TraceSpanBillingInfo'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tracing/spanquery:
    post:
      tags:
        - spanAnalytics
      summary: Run a span analytics query asynchronously.
      description: >-
        Execute a span analytics query and get the id to fetch its status and
        results. Use the [Span Query Status](#operation/getSpanQueryStatus)
        endpoint to check a query status. When the query has been completed, use
        the [Span Query Result](#operation/getSpanQueryResult) endpoint to get
        the result of the asynchronous query.
      operationId: createSpanQuery
      parameters: []
      requestBody:
        description: Query parameters.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SpanQueryRequest'
        required: true
      responses:
        '200':
          description: Query execution result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpanQueryResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tracing/spanquery/{queryId}:
    delete:
      tags:
        - spanAnalytics
      summary: Cancel a span analytics query.
      description: Cancel a currently processed span search query with the given id.
      operationId: cancelSpanQuery
      parameters:
        - name: queryId
          in: path
          description: Identifier of the query to cancel.
          required: true
          schema:
            type: string
            example: 195038749d21ad109242c95cbbc8709d
      responses:
        '204':
          description: Query canceled successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tracing/spanquery/{queryId}/status:
    get:
      tags:
        - spanAnalytics
      summary: Get a span analytics query status.
      description: >-
        Get a status of a span analytics query with the given id. When the query
        has been completed, use the [Span Query
        Result](#operation/getSpanQueryResult) endpoint to get the result of the
        asynchronous query.
      operationId: getSpanQueryStatus
      parameters:
        - name: queryId
          in: path
          description: Identifier of the executed query.
          required: true
          schema:
            type: string
            example: 195038749d21ad109242c95cbbc8709d
      responses:
        '200':
          description: Details about the given span query.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpanQueryStatusResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tracing/spanquery/{queryId}/pause:
    put:
      tags:
        - spanAnalytics
      summary: Pause a span analytics query.
      description: Pause a currently processed span search query with the given id.
      operationId: pauseSpanQuery
      parameters:
        - name: queryId
          in: path
          description: Identifier of the query to pause.
          required: true
          schema:
            type: string
            example: 195038749d21ad109242c95cbbc8709d
      responses:
        '204':
          description: Query paused successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tracing/spanquery/{queryId}/resume:
    put:
      tags:
        - spanAnalytics
      summary: Resume a span analytics query.
      description: Resume a previously paused span search query with the given id.
      operationId: resumeSpanQuery
      parameters:
        - name: queryId
          in: path
          description: Identifier of the query to resume.
          required: true
          schema:
            type: string
            example: 195038749d21ad109242c95cbbc8709d
      responses:
        '204':
          description: Query resumed successfully.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tracing/spanquery/{queryId}/rows/{rowId}/spans:
    get:
      tags:
        - spanAnalytics
      summary: Get results of a span analytics query.
      description: >-
        Get a list of spans matching a query with the specified id. The response
        is paginated with a default limit of 100 spans per page.
      operationId: getSpanQueryResult
      parameters:
        - name: queryId
          in: path
          description: Identifier of the executed query.
          required: true
          schema:
            type: string
            example: 195038749d21ad109242c95cbbc8709d
        - name: rowId
          in: path
          description: Identifier of the query row.
          required: true
          schema:
            type: string
            example: A
        - name: limit
          in: query
          description: Limit of the number of spans returned in the response.
          required: false
          schema:
            maximum: 500
            minimum: 1
            type: integer
            format: int32
            example: 100
            default: 100
        - name: token
          in: query
          description: >-
            Continuation token to get the next page of results. A page object
            with the next continuation token is returned in the response body.
            Subsequent GET requests should specify the continuation token to get
            the next page of results. `token` is set to null when no more pages
            are left.
          required: false
          schema:
            type: string
            example: dlFXd0lhSkxzRjAwYnpVZkMrRmlhYnF4cGtNMWdnVEI
      responses:
        '200':
          description: Details about the given span query.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpanQueryResultSpansResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tracing/spanquery/{queryId}/rows/{rowId}/facets:
    get:
      tags:
        - spanAnalytics
      summary: Get a list of facets of a span analytics query.
      description: Get a list of facets of a span analytics query with the specified id.
      operationId: getSpanQueryFacets
      parameters:
        - name: queryId
          in: path
          description: Identifier of the executed query.
          required: true
          schema:
            type: string
            example: 195038749d21ad109242c95cbbc8709d
        - name: rowId
          in: path
          description: Identifier of the query row.
          required: true
          schema:
            type: string
            example: A
      responses:
        '200':
          description: The list of facets from the executed query.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpanQueryResultFacetsResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tracing/spanquery/{queryId}/aggregates:
    get:
      tags:
        - spanAnalytics
      summary: Get span analytics query aggregated results.
      description: >-
        Get span aggregation results for an aggregated span analytics query with
        the specified id. Only aggregated rows being part of the executed query
        will have matching results in the response of this endpoint.
      operationId: getSpanQueryAggregates
      parameters:
        - name: queryId
          in: path
          description: Identifier of the executed query.
          required: true
          schema:
            type: string
            example: 195038749d21ad109242c95cbbc8709d
      responses:
        '200':
          description: The aggregation result of the executed query.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpanQueryAggregateResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tracing/spanquery/fields:
    get:
      tags:
        - spanAnalytics
      summary: Get filter fields for span analytics queries.
      description: >-
        Get a list of available fields which can be used in span analytics
        queries.
      operationId: getSpanQueryFields
      parameters: []
      responses:
        '200':
          description: List of available fields.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpanQueryFieldsResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tracing/spanquery/fields/{field}/values:
    get:
      tags:
        - spanAnalytics
      summary: Get span analytics query filter field values.
      description: >-
        Get a list of available values for the given span analytics query filter
        field. Not all fields support value listing. The response is paginated
        with a default limit of 10 field values per page.
      operationId: getSpanQueryFieldValues
      parameters:
        - name: field
          in: path
          description: Field identifier.
          required: true
          schema:
            type: string
        - name: query
          in: query
          description: >-
            Search filter to apply on the values to be returned. Only values
            containing the search query term will be returned.
          required: false
          schema:
            type: string
        - name: limit
          in: query
          description: The maximum number of results to fetch.
          required: false
          schema:
            maximum: 500
            minimum: 1
            type: integer
            format: int32
            default: 10
        - name: token
          in: query
          description: >-
            Continuation token to get the next page of results. A page object
            with the next continuation token is returned in the response body.
            Subsequent GET requests should specify the continuation token to get
            the next page of results. `token` is set to null when no more pages
            are left.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: List of available filter values for the given field.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TraceFieldValuesResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/tracing/serviceMap:
    get:
      tags:
        - serviceMap
      summary: Get a service map.
      description: >-
        Run a search request to get a map of services and connections between
        them.
      operationId: getServiceMap
      parameters: []
      responses:
        '200':
          description: List of nodes and list of edges.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceMapResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/monitors:
    get:
      tags:
        - monitorsLibraryManagement
      summary: Bulk read a monitor or folder.
      description: >-
        Bulk read a monitor or folder by the given identifiers from the monitors
        library.
      operationId: monitorsReadByIds
      parameters:
        - name: ids
          in: query
          description: A comma-separated list of identifiers.
          required: true
          schema:
            type: array
            items:
              type: string
          example: 0000000000000001,0000000000000002,0000000000000003
      responses:
        '200':
          description: A map between an identifier and its definition (monitor or folder).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdToMonitorsLibraryBaseResponseMap'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      tags:
        - monitorsLibraryManagement
      summary: |
        Create a monitor or folder.
      description: Create a monitor or folder in the monitors library.
      operationId: monitorsCreate
      parameters:
        - name: parentId
          in: query
          description: >-
            Identifier of the parent folder in which to create the monitor or
            folder.
          required: true
          schema:
            type: string
      requestBody:
        description: The monitor or folder to create.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MonitorsLibraryBase'
        required: true
      responses:
        '200':
          description: The monitor or folder was created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorsLibraryBaseResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - monitorsLibraryManagement
      summary: |
        Bulk delete a monitor or folder.
      description: >-
        Bulk delete a monitor or folder by the given identifiers in the monitors
        library.
      operationId: monitorsDeleteByIds
      parameters:
        - name: ids
          in: query
          description: A comma-separated list of identifiers.
          required: true
          schema:
            type: array
            items:
              type: string
          example: 0000000000000001,0000000000000002,0000000000000003
      responses:
        '200':
          description: A map between the deleted identifier and its metadata.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdToMonitorsLibraryBaseResponseMap'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/monitors/root:
    get:
      tags:
        - monitorsLibraryManagement
      summary: Get the root monitors folder.
      description: Get the root folder in the monitors library.
      operationId: getMonitorsLibraryRoot
      responses:
        '200':
          description: Root folder of the monitors library.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorsLibraryFolderResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/monitors/path:
    get:
      tags:
        - monitorsLibraryManagement
      summary: Read a monitor or folder by its path.
      description: Read a monitor or folder by its path in the monitors library structure.
      operationId: monitorsGetByPath
      parameters:
        - name: path
          in: query
          description: The path of the monitor or folder.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Requested monitor or folder.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorsLibraryBaseResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/monitors/search:
    get:
      tags:
        - monitorsLibraryManagement
      summary: Search for a monitor or folder.
      description: Search for a monitor or folder in the monitors library structure.
      operationId: monitorsSearch
      parameters:
        - name: query
          in: query
          description: >-
            The search query to find monitor or folder. Below is the list of
            different filters with examples:
              - **createdBy** : Filter by the user's identifier who created the content. Example: `createdBy:000000000000968B`.
              - **createdBefore** : Filter by the content objects created before the given timestamp(in milliseconds). Example: `createdBefore:1457997222`.
              - **createdAfter** : Filter by the content objects created after the given timestamp(in milliseconds). Example: `createdAfter:1457997111`.
              - **modifiedBefore** : Filter by the content objects modified before the given timestamp(in milliseconds). Example: `modifiedBefore:1457997222`.
              - **modifiedAfter** : Filter by the content objects modified after the given timestamp(in milliseconds). Example: `modifiedAfter:1457997111`.
              - **type** : Filter by the type of the content object. Example: `type:folder`.
              - **monitorStatus** : Filter by the status of the monitor: Normal, Critical, Warning, MissingData, Disabled, AllTriggered. Example: `monitorStatus:Normal`.

            You can also use multiple filters in one query. For example to
            search for all content objects created by user with identifier
            000000000000968B with creation timestamp after 1457997222 containing
            the text Test, the query would look like:

              `createdBy:000000000000968B createdAfter:1457997222 Test`
          required: true
          schema:
            type: string
          example: createdBy:000000000000968B Test
        - name: limit
          in: query
          description: Maximum number of items you want in the response.
          required: false
          schema:
            type: integer
            format: int32
            default: 100
          example: 10
        - name: offset
          in: query
          description: The position or row from where to start the search operation.
          required: false
          schema:
            type: integer
            format: int32
            default: 0
          example: 5
      responses:
        '200':
          description: List of folders and monitors matching the search query.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListMonitorsLibraryItemWithPath'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/monitors/{id}:
    get:
      tags:
        - monitorsLibraryManagement
      summary: Get a monitor or folder.
      description: Get a monitor or folder from the monitors library.
      operationId: monitorsReadById
      parameters:
        - name: id
          in: path
          description: Identifier of the monitor or folder to read.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Requested monitor or folder.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorsLibraryBaseResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      tags:
        - monitorsLibraryManagement
      summary: |
        Update a monitor or folder.
      description: Update a monitor or folder in the monitors library.
      operationId: monitorsUpdateById
      parameters:
        - name: id
          in: path
          description: Identifier of the monitor or folder to update.
          required: true
          schema:
            type: string
      requestBody:
        description: >-
          The monitor or folder to update. The content version must match its
          latest version number in the monitors library. If the version does not
          match it will not be updated.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MonitorsLibraryBaseUpdate'
        required: true
      responses:
        '200':
          description: The monitor or folder was updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorsLibraryBaseResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      tags:
        - monitorsLibraryManagement
      summary: |
        Delete a monitor or folder.
      description: Delete a monitor or folder from the monitors library.
      operationId: monitorsDeleteById
      parameters:
        - name: id
          in: path
          description: Identifier of the monitor or folder to delete.
          required: true
          schema:
            type: string
      responses:
        '204':
          description: The monitor or folder was successfully deleted.
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/monitors/{id}/path:
    get:
      tags:
        - monitorsLibraryManagement
      summary: Get the path of a monitor or folder.
      description: Get the full path of the monitor or folder in the monitors library.
      operationId: getMonitorsFullPath
      parameters:
        - name: id
          in: path
          description: Identifier of the monitor or folder.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Full path of the monitor or folder.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Path'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/monitors/{id}/move:
    post:
      tags:
        - monitorsLibraryManagement
      summary: Move a monitor or folder.
      description: >-
        Move a monitor or folder to a different location in the monitors
        library.
      operationId: monitorsMove
      parameters:
        - name: id
          in: path
          description: Identifier of the monitor or folder to move.
          required: true
          schema:
            type: string
        - name: parentId
          in: query
          description: Identifier of the parent folder to move the monitor or folder to.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Moved monitor or folder.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorsLibraryBaseResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/monitors/{id}/copy:
    post:
      tags:
        - monitorsLibraryManagement
      summary: Copy a monitor or folder.
      description: Copy a monitor or folder in the monitors library.
      operationId: monitorsCopy
      parameters:
        - name: id
          in: path
          description: Identifier of the monitor or folder to copy.
          required: true
          schema:
            type: string
      requestBody:
        description: |-
          Fields include:
            1) Identifier of the parent folder to copy to.
            2) Optionally provide a new name.
            3) Optionally provide a new description.
            4) Optionally set to true if you want to copy and preserve the locked status. Requires `LockMonitors` capability.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContentCopyParams'
        required: true
      responses:
        '200':
          description: The monitor or folder was copied.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorsLibraryBaseResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/monitors/{id}/export:
    get:
      tags:
        - monitorsLibraryManagement
      summary: Export a monitor or folder.
      description: >-
        Export a monitor or folder. If the given identifier is a folder,
        everything under the folder is exported recursively with folder as the
        root.
      operationId: monitorsExportItem
      parameters:
        - name: id
          in: path
          description: Identifier of the monitor or folder to export.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Exported monitor or folder.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorsLibraryBaseExport'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/monitors/{parentId}/import:
    post:
      tags:
        - monitorsLibraryManagement
      summary: Import a monitor or folder.
      description: Import a monitor or folder.
      operationId: monitorsImportItem
      parameters:
        - name: parentId
          in: path
          description: >-
            Identifier of the parent folder in which to import the monitor or
            folder.
          required: true
          schema:
            type: string
      requestBody:
        description: The monitor or folder to be imported.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MonitorsLibraryBaseExport'
        required: true
      responses:
        '200':
          description: >-
            Newly imported monitor or folder. NOTE: Permissions field will not
            be filled (empty list).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorsLibraryBaseResponse'
        default:
          description: Operation failed with an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    AddOrReplaceTransformation:
      allOf:
        - $ref: '#/components/schemas/DimensionTransformation'
        - required:
            - dimensionToReplace
            - value
          type: object
          properties:
            dimensionToReplace:
              type: string
              description: The dimension that needs to be modified or added.
              example: metric
            value:
              type: string
              description: The value for the dimension.
              example: '{{metric}}_aggregated'
    AggregateOnTransformation:
      allOf:
        - $ref: '#/components/schemas/DimensionTransformation'
        - required:
            - aggregateOn
          type: object
          properties:
            aggregateOn:
              type: array
              description: A list of dimensions that should be aggregated on.
              example:
                - metric
                - cluster
              items:
                type: string
              default: []
    BeginBoundedTimeRange:
      allOf:
        - $ref: '#/components/schemas/ResolvableTimeRange'
        - required:
            - from
          type: object
          properties:
            from:
              $ref: '#/components/schemas/TimeRangeBoundary'
            to:
              $ref: '#/components/schemas/TimeRangeBoundary'
    CompleteLiteralTimeRange:
      allOf:
        - $ref: '#/components/schemas/ResolvableTimeRange'
        - required:
            - rangeName
          type: object
          properties:
            rangeName:
              pattern: ^(today|yesterday|previous_week|previous_month)$
              type: string
              description: >-
                Name of the complete time range. Possible values are: - `today`,
                - `yesterday`, - `previous_week`, - `previous_month`.
              example: previous_month
              x-pattern-message: >-
                must be one of the following: `today`, `yesterday`,
                `previous_week`, `previous_month`
    EpochTimeRangeBoundary:
      allOf:
        - $ref: '#/components/schemas/TimeRangeBoundary'
        - required:
            - epochMillis
          type: object
          properties:
            epochMillis:
              type: integer
              description: >-
                Starting point in time as a number of milliseconds since the
                epoch. For example `1538392220000`
              format: int64
              example: 1538392220000
    Iso8601TimeRangeBoundary:
      allOf:
        - $ref: '#/components/schemas/TimeRangeBoundary'
        - required:
            - iso8601Time
          type: object
          properties:
            iso8601Time:
              type: string
              description: >-
                Starting point in time as a string in ISO 8601 format. For
                example `2018-10-01T11:10:20.52+01:00`
              format: date-time
              example: '2018-10-01T10:10:20.52Z'
    LiteralTimeRangeBoundary:
      allOf:
        - $ref: '#/components/schemas/TimeRangeBoundary'
        - required:
            - rangeName
          type: object
          properties:
            rangeName:
              type: string
              description: |-
                Name of the time range. Possible values are:
                  - `now`,
                  - `second`,
                  - `minute`,
                  - `hour`,
                  - `day`,
                  - `today`,
                  - `week`,
                  - `month`,
                  - `year`
              example: week
    RelativeTimeRangeBoundary:
      allOf:
        - $ref: '#/components/schemas/TimeRangeBoundary'
        - required:
            - relativeTime
          type: object
          properties:
            relativeTime:
              type: string
              description: >-
                Relative time as a string consisting of following elements: -
                `-` (optional): minus sign indicates time in the past, -
                `<number>`: number of time units, - `<time_unit>`: time unit;
                possible values are: `w` (week), `d` (day), `h` (hour), `m`
                (minute), `s` (second).

                Multiple pairs of `<number><time_unit>` may be provided, and
                they may be in any order. For example, `-2w5d3h` points to the
                moment in time 2 weeks, 5 days and 3 hours ago.
              example: '-2w5d3h'
    ResolvableTimeRange:
      required:
        - type
      type: object
      properties:
        type:
          type: string
          description: >-
            Type of the time range. Value must be either
            `CompleteLiteralTimeRange` or `BeginBoundedTimeRange`.
      example:
        type: BeginBoundedTimeRange
        from:
          type: RelativeTimeRangeBoundary
          relativeTime: '-15m'
      discriminator:
        propertyName: type
    TimeRangeBoundary:
      required:
        - type
      type: object
      properties:
        type:
          type: string
          description: >-
            Type of the time range boundary. Value must be from list: -
            `RelativeTimeRangeBoundary`, - `EpochTimeRangeBoundary`, -
            `Iso8601TimeRangeBoundary`, - `LiteralTimeRangeBoundary`.
          example: RelativeTimeRangeBoundary
      discriminator:
        propertyName: type
    Header:
      required:
        - name
        - value
      type: object
      properties:
        name:
          type: string
          description: Name of the header field.
        value:
          type: string
          description: Value of the header field.
    ConnectionSubtype:
      pattern: ^(Event|Incident)$
      type: string
      description: The subtype of the connection. Valid values are `Event` or `Incident`.
      x-pattern-message: must be `Event` or `Incident`
    ServiceNowConnection:
      allOf:
        - $ref: '#/components/schemas/Connection'
        - required:
            - url
            - username
          type: object
          properties:
            url:
              type: string
              description: URL for the ServiceNow connection.
            username:
              type: string
              description: User name for the ServiceNow connection.
    ServiceNowDefinition:
      allOf:
        - $ref: '#/components/schemas/ConnectionDefinition'
        - required:
            - password
            - url
            - username
          type: object
          properties:
            url:
              type: string
              description: URL for the ServiceNow connection.
              example: https://www.google.com
            username:
              type: string
              description: User name for the ServiceNow connection.
            password:
              type: string
              description: User password for the ServiceNow connection.
    WebhookConnection:
      allOf:
        - $ref: '#/components/schemas/Connection'
        - required:
            - customHeaders
            - defaultPayload
            - headers
            - url
            - webhookType
          type: object
          properties:
            url:
              type: string
              description: URL for the webhook connection.
            headers:
              type: array
              description: List of access authorization headers.
              items:
                $ref: '#/components/schemas/Header'
            customHeaders:
              type: array
              description: List of custom webhook headers.
              items:
                $ref: '#/components/schemas/Header'
            defaultPayload:
              type: string
              description: Default payload of the webhook.
            webhookType:
              $ref: '#/components/schemas/ConnectionType'
            connectionSubtype:
              $ref: '#/components/schemas/ConnectionSubtype'
            warnings:
              type: array
              description: >-
                Webhook endpoint warning for incorrect variable names and
                syntax.
              example: 'The following variables are not supported: NotSupportedVariable'
              items:
                type: string
    WebhookDefinition:
      allOf:
        - $ref: '#/components/schemas/ConnectionDefinition'
        - required:
            - defaultPayload
            - url
          type: object
          properties:
            url:
              type: string
              description: URL for the webhook connection.
              example: https://www.google.com
            headers:
              maxItems: 7995
              type: array
              description: List of access authorization headers.
              items:
                $ref: '#/components/schemas/Header'
              default: []
            customHeaders:
              maxItems: 5
              type: array
              description: List of custom webhook headers.
              items:
                $ref: '#/components/schemas/Header'
              default: []
            defaultPayload:
              minLength: 1
              type: string
              description: Default payload of the webhook.
            webhookType:
              $ref: '#/components/schemas/ConnectionType'
            connectionSubtype:
              $ref: '#/components/schemas/ConnectionSubtype'
    ContainerPanel:
      allOf:
        - $ref: '#/components/schemas/Panel'
        - required:
            - layout
            - panels
          type: object
          properties:
            layout:
              $ref: '#/components/schemas/Layout'
            panels:
              type: array
              description: Children panels that the container panel contains.
              items:
                $ref: '#/components/schemas/Panel'
            variables:
              type: array
              description: Variables to apply to the panel children.
              items:
                $ref: '#/components/schemas/Variable'
            coloringRules:
              type: array
              description: Rules to set the color of data.
              items:
                $ref: '#/components/schemas/ColoringRule'
          description: A panel that contains a list of other panels.
    Layout:
      required:
        - layoutStructures
        - layoutType
      type: object
      properties:
        layoutType:
          type: string
          description: >-
            The type of panel layout on the Dashboard. For example, Grid, Tabs,
            or Hierarchical. Currently supports `Grid` only.
          example: Grid
        layoutStructures:
          type: array
          description: Layout structures for the panel childen.
          items:
            $ref: '#/components/schemas/LayoutStructure'
      discriminator:
        propertyName: layoutType
    Panel:
      required:
        - key
        - panelType
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the panel.
          example: 2F7D449E3D511066
        key:
          type: string
          description: >
            Key for the panel. Used to create searches for the queries in the
            panel and configure the layout of the panel in the dashboard.
          example: panelca6280e4a75fca45
        title:
          type: string
          description: Title of the panel.
          example: This panel shows memory usage for your kubernetes pod.
        visualSettings:
          type: string
          description: Visual settings of the panel.
          example: '{\"general\":{\"type\":\"column\"}'
        keepVisualSettingsConsistentWithParent:
          type: boolean
          description: >-
            Keeps the visual settings, like series colors, consistent with the
            settings of the parent panel.
          default: true
        panelType:
          type: string
          description: Type of panel.
          example: SumoSearchPanel
      discriminator:
        propertyName: panelType
    SumoSearchPanel:
      allOf:
        - $ref: '#/components/schemas/Panel'
        - required:
            - queries
          type: object
          properties:
            queries:
              type: array
              description: Metrics and log queries of the panel.
              items:
                $ref: '#/components/schemas/Query'
            description:
              type: string
              description: Description of the panel.
              example: This panel gives an overview of CPU metrics for a pod
            timeRange:
              $ref: '#/components/schemas/ResolvableTimeRange'
            coloringRules:
              type: array
              description: Rules to set the color of data.
              items:
                $ref: '#/components/schemas/ColoringRule'
            linkedDashboards:
              type: array
              description: List of linked dashboards.
              items:
                $ref: '#/components/schemas/LinkedDashboard'
          description: A panel that has logs and metrics search queries.
    Query:
      required:
        - queryKey
        - queryString
        - queryType
      type: object
      properties:
        queryString:
          type: string
          description: The metrics, traces or logs query.
          example: _sourceCategory=cqsplitter metric=CPU_user | count by _sourceHost
        queryType:
          pattern: ^(Logs|Metrics|Traces|Spans)$
          type: string
          description: >-
            The type of the query, either `Metrics`, `Traces`, `Spans` or
            `Logs`.
          example: Logs
          x-pattern-message: Must be `Logs`, `Traces`, `Spans` or `Metrics`
        queryKey:
          type: string
          description: >-
            The key for metric, traces or log queries. Used as an identifier for
            queries.
          example: A
        metricsQueryMode:
          pattern: ^(Basic|Advanced|basic|advanced)$
          type: string
          description: >
            The mode of the metrics query that the user was editing. Can be
            `Basic` or `Advanced`. Will ONLY be specified for metrics queries.
          example: Basic
          x-pattern-message: Must be `Basic`, or `Advanced`
        metricsQueryData:
          $ref: '#/components/schemas/MetricsQueryData'
        tracesQueryData:
          $ref: '#/components/schemas/TracesQueryData'
        spansQueryData:
          $ref: '#/components/schemas/SpansQueryData'
        parseMode:
          pattern: ^(Auto|Manual)$
          type: string
          description: >-
            This field only applies for queryType of `Logs` but other query
            types may be supported in the future. Define the parsing mode to
            scan the JSON format log messages. Possible values are:
              1. `Auto`
              2. `Manual`
            In AutoParse mode, the system automatically figures out fields to
            parse based on the search query. While in the Manual mode, no fields
            are parsed out automatically. For more information see [Dynamic
            Parsing](https://help.sumologic.com/?cid=0011).
          example: Auto
          default: Auto
          x-pattern-message: Must be either `Auto` or `Manual`
        timeSource:
          pattern: ^(Message|Receipt)$
          type: string
          description: >-
            This field only applies for queryType of `Logs` but other query
            types may be supported in the future. Define the time source of this
            query. Possible values are `Message` and `Receipt`. `Message` will
            use the timeStamp on the message, while `Receipt` will use the
            timestamp it was received by Sumo.
          example: Message
          default: Message
          x-pattern-message: Must be `Message or `Receipt`
    TextPanel:
      allOf:
        - $ref: '#/components/schemas/Panel'
        - required:
            - text
          type: object
          properties:
            text:
              type: string
              description: Text to display in the panel.
              example: Kubernetes pods
          description: A panel that has text.
    EventsOfInterestScatterPanel:
      allOf:
        - $ref: '#/components/schemas/Panel'
    TracesListPanel:
      allOf:
        - $ref: '#/components/schemas/Panel'
        - type: object
          properties:
            queries:
              maxItems: 6
              type: array
              description: Traces queries of the panel.
              example:
                traceQueryExample:
                  value:
                    queryKey: A
                    queryString: ''
                    queryType: Traces
                    tracesQueryData:
                      filters:
                        type: FieldDescriptor
              items:
                $ref: '#/components/schemas/Query'
            timeRange:
              $ref: '#/components/schemas/ResolvableTimeRange'
          description: A panel for traces list
    ServiceMapPanel:
      allOf:
        - $ref: '#/components/schemas/Panel'
        - type: object
          properties:
            application:
              type: string
              description: Filter services by the application custom tag.
              example: sumologic
            service:
              type: string
              description: >-
                Show only the specific service and its connections to other
                services.
              example: prada
            showRemoteServices:
              type: boolean
              description: >-
                Show remote services, like databases or external calls,
                automatically detected in client traffic.
              example: true
          description: A panel for service map.
    ColoringRule:
      required:
        - coloringThresholds
        - multipleSeriesAggregateFunction
        - scope
        - singleSeriesAggregateFunction
      type: object
      properties:
        scope:
          type: string
          description: Regex string to match queries to apply coloring to.
          example: CPU_*
        singleSeriesAggregateFunction:
          type: string
          description: Function to aggregate one series into one single value.
          example: Average
        multipleSeriesAggregateFunction:
          type: string
          description: >-
            Function to aggregate the aggregate values of multiple time series
            into one single value.
          example: Average
        colorThresholds:
          type: array
          description: Color thresholds.
          items:
            $ref: '#/components/schemas/ColoringThreshold'
    Grid:
      allOf:
        - $ref: '#/components/schemas/Layout'
    LayoutStructure:
      required:
        - key
        - structure
      type: object
      properties:
        key:
          type: string
          description: The identifier of the panel that this structure applies to.
          example: panelPANE-3DC454FD977E2A46
        structure:
          type: string
          description: The structure of a panel.
          example: '{\"height\":5,\"width\":9,\"x\":0,\"y\":0}'
    ColoringThreshold:
      required:
        - color
      type: object
      properties:
        color:
          type: string
          description: Color for the threshold.
          example: FFFFFF
        min:
          type: number
          description: Absolute inclusive threshold to color by.
          format: double
          example: 0
        max:
          type: number
          description: Absolute exclusive threshold to color by.
          format: double
          example: 50
    MetricsQueryData:
      required:
        - filters
        - metric
      type: object
      properties:
        metric:
          type: string
          description: The metric of the query.
          example: CPU_user
        aggregationType:
          pattern: ^(Count|Minimum|Maximum|Sum|Average|None)$|^$
          type: string
          description: >-
            The type of aggregation. Can be `Count`, `Minimum`, `Maximum`,
            `Sum`, `Average` or `None`.
          example: Count
          x-pattern-message: Must be `Count`, `Minimum`, `Maximum`, `Sum`, `Average` or `None`
        groupBy:
          type: string
          description: The field to group the results by.
          example: _sourceHost
        filters:
          type: array
          description: A list of filters for the metrics query.
          items:
            $ref: '#/components/schemas/MetricsFilter'
        operators:
          type: array
          description: A list of operator data for the metrics query.
          items:
            $ref: '#/components/schemas/OperatorData'
      description: The data format describing a basic metrics query.
      example:
        metric: CPU_user
        aggregationType: count
        groupBy: _sourceHost
        filters:
          - key: _sourceCategory
            value: kubernetes
          - key: _sourceHost
            value: dep-kubernetes-1
        operators:
          operatorName: avg
          parameters:
            - key: aggregator
              value: max
            - key: operation
              value: ''
            - key: value
              value: 50
    SpansQueryData:
      required:
        - filters
        - groupBy
        - limit
        - visualizations
      type: object
      properties:
        filters:
          type: array
          description: A list of filters for the spans query.
          items:
            $ref: '#/components/schemas/SpansFilter'
        visualizations:
          type: array
          description: A list of used visualization methods for the spans query.
          items:
            $ref: '#/components/schemas/SpansVisualization'
        groupBy:
          type: array
          description: A list of group-by clauses for the spans query.
          items:
            $ref: '#/components/schemas/SpansGroupBy'
        limit:
          type: array
          description: A list of limits that will be applied to the spans query.
          items:
            $ref: '#/components/schemas/SpansLimitItem'
      description: The data format describing a basic spans query.
    SpansCountVisualization:
      allOf:
        - $ref: '#/components/schemas/SpansVisualization'
        - type: object
          properties:
            distinctBy:
              type: string
              description: A field by which the spans need to be counted.
              example: service
          description: >
            Represents the visualization type where the total number of all
            spans is counted or where the spans are counted by a specific field.
    SpansCalculationVisualization:
      allOf:
        - $ref: '#/components/schemas/SpansVisualization'
        - required:
            - aggregator
            - field
          type: object
          properties:
            field:
              type: string
              description: A field by which the spans are aggregated.
              example: duration
            aggregator:
              $ref: '#/components/schemas/SpanCalculationAggregator'
          description: >
            Represents the visualization type where a specific aggregation by a
            particular field is  applied to all spans / all grouped spans.
    SpansFilterStandaloneKey:
      allOf:
        - $ref: '#/components/schemas/SpansFilter'
        - type: object
          description: >
            A representation of a span filter where only a single filtering key
            is provided.  The given value is then looked up in all span data.
    SpansFilterKeyValuePair:
      allOf:
        - $ref: '#/components/schemas/SpansFilter'
        - required:
            - fieldValue
            - operator
          type: object
          properties:
            operator:
              pattern: ^(<|<=|>|>=|=|!=)$
              type: string
              description: >-
                A symbol that indicates an operation to be performed between a
                `fieldName` and `fieldValue`.
              example: <
              x-pattern-message: Must be `<`, `<=`, `>`, `>=`, `=` or `!=`
            fieldValue:
              type: string
              description: The second argument of the operation applied to a `fieldName`.
              example: some_service
          description: >
            A representation of a span filter where both the field name and
            field value are provided, e.g. http.status_code > 500.
    SpansTimeGroupBy:
      allOf:
        - $ref: '#/components/schemas/SpansGroupBy'
        - required:
            - fieldValue
          type: object
          properties:
            fieldValue:
              pattern: ^[0-9]+(w|d|h|m|s)$
              type: string
              description: >
                A fixed interval grouping in the following format
                <#><time_period>,  supported <time_period> values are weeks (w),
                days (d), hours (h), minutes (m), and seconds (s).
              example: 5m
          description: >
            A representation of a group-by clause where results are bucketed
            based on a fixed interval are  created, e.g. five-minute buckets.
    SpansFieldGroupBy:
      allOf:
        - $ref: '#/components/schemas/SpansGroupBy'
        - required:
            - fieldName
          type: object
          properties:
            fieldName:
              type: string
              description: A name of the field to group by.
              example: http.status_code
          description: >
            A representation of a group-by clause where results are bucketed
            based on a grouping by a specific field.
    SpanCalculationAggregator:
      required:
        - key
      type: object
      properties:
        key:
          pattern: ^(sum|avg|max|min|pct)$
          type: string
          description: A specific aggregation type applied to spans.
          example: sum
          x-pattern-message: Must be `sum`, `avg`, `max`, `min` or `pct`
      discriminator:
        propertyName: key
        mapping:
          sum: '#/components/schemas/SpanCalculationSumAggregator'
          avg: '#/components/schemas/SpanCalculationAvgAggregator'
          max: '#/components/schemas/SpanCalculationMaxAggregator'
          min: '#/components/schemas/SpanCalculationMinAggregator'
          pct: '#/components/schemas/SpanCalculationPctAggregator'
    SpanCalculationSumAggregator:
      allOf:
        - $ref: '#/components/schemas/SpanCalculationAggregator'
        - type: object
    SpanCalculationAvgAggregator:
      allOf:
        - $ref: '#/components/schemas/SpanCalculationAggregator'
        - type: object
    SpanCalculationMaxAggregator:
      allOf:
        - $ref: '#/components/schemas/SpanCalculationAggregator'
        - type: object
    SpanCalculationMinAggregator:
      allOf:
        - $ref: '#/components/schemas/SpanCalculationAggregator'
        - type: object
    SpanCalculationPctAggregator:
      allOf:
        - $ref: '#/components/schemas/SpanCalculationAggregator'
        - required:
            - percentile
          type: object
          properties:
            percentile:
              type: number
              description: The specified percentile of a given field.
              format: double
              example: 95
    MetricsFilter:
      required:
        - value
      type: object
      properties:
        key:
          type: string
          description: The key of the metrics filter.
          example: _sourceCategory
        value:
          type: string
          description: The value of the metrics filter.
          example: kubernetes
        negation:
          type: boolean
          description: Whether or not the metrics filter is negated.
          example: false
      description: The filter for metrics query.
      example:
        key: _sourceCategory
        value: cqmerger
        negation: false
    VariablesValuesData:
      required:
        - data
      type: object
      properties:
        data:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Data for variable values.
          default: {}
        richData:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/VariableValuesData'
          description: >-
            A rich form of data for the variable search, including variable
            values, status and variable type. This field is different from
            `data` in that it includes an object instead of list as the value in
            the map. The `data` field is kept for backwards compatibility,
            please use `richData` for all usages going forward.
    GenerateReportRequest:
      required:
        - action
        - exportFormat
        - template
        - timezone
      type: object
      properties:
        action:
          $ref: '#/components/schemas/ReportAction'
        exportFormat:
          pattern: ^(Pdf|Png)$
          type: string
          description: >-
            File format of the report. Can be `Pdf` or `Png`. `Pdf` is portable
            document format. `Png` is portable graphics image format.
          example: Pdf
          x-pattern-message: 'should be one of the following: ''Pdf'', ''Png'''
        timezone:
          type: string
          description: >-
            Time zone for the query time ranges. Follow the format in the [IANA
            Time Zone
            Database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List).
          example: America/Los_Angeles
        template:
          $ref: '#/components/schemas/Template'
    ReportAction:
      required:
        - actionType
      type: object
      properties:
        actionType:
          pattern: ^DirectDownloadReportAction$
          type: string
          description: Type of action.
          example: DirectDownloadReportAction
          x-pattern-message: should be 'DirectDownloadReportAction'
      description: >-
        The base class of all report action types. `DirectDownloadReportAction`
        downloads dashboard from browser. New action types may be supported in
        the future.
      discriminator:
        propertyName: actionType
    DirectDownloadReportAction:
      allOf:
        - $ref: '#/components/schemas/ReportAction'
        - type: object
          description: Generate a direct download report action.
    Template:
      required:
        - templateType
      type: object
      properties:
        templateType:
          pattern: ^(DashboardTemplate|DashboardReportModeTemplate)$
          type: string
          description: >-
            The type of template. `DashboardTemplate` provides a snapshot view
            of the exported dashboard. `DashboardReportModeTemplate` provides a
            printer-friendly view of the exported dashboard. New templates may
            be supported in the future.
          example: DashboardTemplate
          x-pattern-message: Must be `DashboardTemplate`, or `DashboardReportModeTemplate`
      discriminator:
        propertyName: templateType
    DashboardTemplate:
      allOf:
        - $ref: '#/components/schemas/Template'
        - required:
            - id
          type: object
          properties:
            id:
              type: string
              description: Id of the dashboard.
              example: B23OjNs5ZCyn5VdMwOBoLo3PjgRnJSAlNTKEDAcpuDG2CIgRe9KFXMofm2H2
            panelToSessionIdMap:
              type: object
              additionalProperties:
                type: string
              description: >
                A map of panel to session id. The session id will be used to
                fetch data of the panel for the report. If not specified, a new
                session id will be created for the panel.
              example:
                '1': 64
                '2': 128
                '3': 192
            timeRange:
              $ref: '#/components/schemas/ResolvableTimeRange'
            variableValues:
              $ref: '#/components/schemas/VariablesValuesData'
          description: Generate the report from a dashboard template.
    DashboardReportModeTemplate:
      allOf:
        - $ref: '#/components/schemas/DashboardTemplate'
        - type: object
          description: Generate the report from a dashboard template in report mode.
    DashboardSearchSessionIds:
      required:
        - data
      type: object
      properties:
        data:
          type: object
          additionalProperties:
            type: string
          description: Map of search keys to session ids.
          default: {}
        errors:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ErrorResponse'
          description: Error description for the session keys that failed validation.
    Variable:
      required:
        - name
        - sourceDefinition
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the variable.
        name:
          maxLength: 256
          pattern: ^[a-zA-Z0-9_.\-:\/]*$
          type: string
          description: >
            Name of the variable. The variable name is case-insensitive. Only
            alphanumeric, and underscores are

            allowed in the variable name.
          example: _sourceHost
          x-pattern-message: >-
            Only alphanumeric, dot, slash, dash, colon and underscores are
            allowed.
        displayName:
          maxLength: 256
          type: string
          description: >
            Display name of the variable shown in the UI. If this field is
            empty, the name field will be used.

            The display name is case-insensitive. Only numbers, and underscores
            are allowed in the variable name.

            This field is not yet supported by the UI.
          example: Source Host
        defaultValue:
          type: string
          description: Default value of the variable.
          example: default_value
        sourceDefinition:
          $ref: '#/components/schemas/VariableSourceDefinition'
        allowMultiSelect:
          type: boolean
          description: Allow multiple selections in the values dropdown.
          example: false
          default: false
        includeAllOption:
          type: boolean
          description: >-
            Include an "All" option at the top of the variable's values
            dropdown.
          example: true
          default: true
        hideFromUI:
          type: boolean
          description: Hide the variable in the dashboard UI.
          example: false
          default: false
        valueType:
          pattern: ^(String|Any)$
          type: string
          description: >-
            The type of value of the variable. Allowed values are `String` and
            Any`. `String` considers as a single phrase and will wrap in
            double-quotes, `Any` is all characters.
          example: Any
          default: Any
          x-pattern-message: Only `String` and `Any` are allowed.
    VariableSourceDefinition:
      required:
        - variableSourceType
      type: object
      properties:
        variableSourceType:
          type: string
          description: Source type of the variable values.
          example: MetadataVariableSourceDefinition
      discriminator:
        propertyName: variableSourceType
    MetadataVariableSourceDefinition:
      allOf:
        - $ref: '#/components/schemas/VariableSourceDefinition'
        - required:
            - filter
            - key
          type: object
          properties:
            filter:
              maxLength: 65536
              type: string
              description: A metrics query to filter the metadata catalog.
              example: _sourceHost=prod-* metric=CPU_Idle
            key:
              type: string
              description: Return the values for this given key.
              example: _sourceCategory
          description: Variable with values that are powered by a metadata search.
    CsvVariableSourceDefinition:
      allOf:
        - $ref: '#/components/schemas/VariableSourceDefinition'
        - required:
            - values
          type: object
          properties:
            values:
              maxLength: 65536
              type: string
              description: Comma separated values for the variable.
              example: host1, host2
          description: Variable with values that are powered by a csv file.
    LogQueryVariableSourceDefinition:
      allOf:
        - $ref: '#/components/schemas/VariableSourceDefinition'
        - required:
            - field
            - query
          type: object
          properties:
            query:
              maxLength: 65536
              type: string
              description: A log query.
              example: >-
                _sourceCategory=forge error | parse "[pod=*]" podid | count by
                podid
            field:
              maxLength: 65536
              type: string
              description: A field in log query to populate the variable values.
              example: podid
          description: Variable with values that are powered by a log query.
    VariableValuesLogQueryRequest:
      required:
        - field
        - query
      type: object
      properties:
        query:
          type: string
          description: The original log query of the variable.
          example: _sourceCategory=forge | count by _sourceHost
        field:
          type: string
          description: A field in log query to populate the variable values.
          example: _sourceHost
        variablesValues:
          $ref: '#/components/schemas/VariablesValuesData'
      description: The request to get a log query to populate variable values.
    TopologySearchLabel:
      required:
        - key
        - value
      type: object
      properties:
        key:
          type: string
          description: Key of a topology label to search for.
        value:
          type: string
          description: Value of a topology label to search for.
        isRequired:
          type: boolean
          description: >
            Whether the content item is required to contain this label in order
            to be matched. If true, content items without this label will not be
            matched. If false, content items without this label will be matched.
      description: >
        Topology label to search for. Each label has a key and a list of values.
        If a value is `*`, it means we want to match for all values of the
        label's key.
      example:
        key: pod
        value: '*'
        isRequired: true
    AlertSearchNotificationSyncDefinition:
      allOf:
        - $ref: '#/components/schemas/ScheduleNotificationSyncDefinition'
        - required:
            - sourceId
          type: object
          properties:
            sourceId:
              type: string
              description: A String value to uniquely identify a Collector's Source.
    EmailSearchNotificationSyncDefinition:
      allOf:
        - $ref: '#/components/schemas/ScheduleNotificationSyncDefinition'
        - required:
            - toList
          type: object
          properties:
            toList:
              type: array
              description: A list of email recipients.
              items:
                type: string
            subjectTemplate:
              type: string
              description: >-
                If the notification is scheduled with a threshold, the default
                subject template will be "Search Alert: {{AlertCondition}}
                results found for {{SearchName}}". For email notifications
                without a threshold, the default subject template is "Search
                Results: {{SearchName}}".
            includeQuery:
              type: boolean
              description: >-
                A boolean value to indicate if the search query should be
                included in the notification email.
              default: true
            includeResultSet:
              type: boolean
              description: >-
                A boolean value to indicate if the search result set should be
                included in the notification email.
              default: true
            includeHistogram:
              type: boolean
              description: >-
                A boolean value to indicate if the search result histogram
                should be included in the notification email.
              default: true
            includeCsvAttachment:
              type: boolean
              description: >-
                A boolean value to indicate if the search results should be
                included in the notification email as a CSV attachment.
              default: false
    FolderSyncDefinition:
      allOf:
        - $ref: '#/components/schemas/ContentSyncDefinition'
        - required:
            - children
          type: object
          properties:
            description:
              type: string
              description: An optional description for the folder.
            children:
              type: array
              description: >-
                The items in the folder, a list of Dashboard and/or Folder
                items.
              items:
                $ref: '#/components/schemas/ContentSyncDefinition'
    QueryParameterSyncDefinition:
      required:
        - autoComplete
        - dataType
        - description
        - label
        - name
        - value
      type: object
      properties:
        name:
          type: string
          description: The name of the parameter.
        label:
          type: string
          description: The label of the parameter.
        description:
          type: string
          description: A description of the parameter.
        dataType:
          type: string
          description: |-
            The data type of the parameter. Supported values are:
              1. `NUMBER`
              2. `STRING`
              3. `QUERY_FRAGMENT`
              4. `SEARCH_KEYWORD`
        value:
          type: string
          description: >-
            A value for the parameter. Should be compatible with the type set in
            dataType field.
        autoComplete:
          $ref: '#/components/schemas/ParameterAutoCompleteSyncDefinition'
    DashboardSyncDefinition:
      allOf:
        - $ref: '#/components/schemas/ContentSyncDefinition'
        - required:
            - description
            - detailLevel
            - filters
            - panels
            - properties
          type: object
          properties:
            description:
              type: string
              description: A description of the dashboard.
            detailLevel:
              type: integer
              description: |-
                Supported values are:
                  - `1` for small
                  - `2` for medium
                  - `3` for large
            properties:
              type: string
              description: Visual settings for the panel.
            panels:
              type: array
              description: >-
                The panels of the dashboard. _Dashboard links are not
                supported._
              items:
                $ref: '#/components/schemas/ReportPanelSyncDefinition'
            filters:
              type: array
              description: >-
                The filters for the dashboard. Filters allow you to control the
                amount of information displayed in your dashboards.
              items:
                $ref: '#/components/schemas/ReportFilterSyncDefinition'
    MewboardSyncDefinition:
      allOf:
        - $ref: '#/components/schemas/ContentSyncDefinition'
        - required:
            - title
          type: object
          properties:
            description:
              maxLength: 65546
              type: string
              description: A description of the dashboard.
              example: A view of pods, namespaces and nodes of your cluster.
            title:
              maxLength: 255
              minLength: 1
              type: string
              description: The title of the dashboard.
              example: Kubernetes Dashboard
            rootPanel:
              $ref: '#/components/schemas/ContainerPanel'
            theme:
              pattern: ^(light|dark|Light|Dark)$
              type: string
              description: Theme for the dashboard. Must be `light` or `dark`.
              example: light
              default: light
              x-pattern-message: Must be `Light`, or `Dark`
            topologyLabelMap:
              $ref: '#/components/schemas/TopologyLabelMap'
            refreshInterval:
              type: integer
              description: >-
                Interval of time (in seconds) to automatically refresh the
                dashboard. A value of 0 means we never automatically refresh the
                dashboard.
              format: int32
              example: 5
            timeRange:
              $ref: '#/components/schemas/ResolvableTimeRange'
            layout:
              $ref: '#/components/schemas/Layout'
            panels:
              type: array
              description: Children panels that the container panel contains.
              items:
                $ref: '#/components/schemas/Panel'
            variables:
              type: array
              description: Variables that could be applied to the panel's children.
              items:
                $ref: '#/components/schemas/Variable'
            coloringRules:
              type: array
              description: Coloring rules to color the panel/data with.
              items:
                $ref: '#/components/schemas/ColoringRule'
    DashboardV2SyncDefinition:
      allOf:
        - $ref: '#/components/schemas/ContentSyncDefinition'
        - required:
            - title
          type: object
          properties:
            description:
              maxLength: 65546
              type: string
              description: A description of the dashboard.
              example: A view of pods, namespaces and nodes of your cluster.
            title:
              maxLength: 255
              minLength: 1
              type: string
              description: The title of the dashboard.
              example: Kubernetes Dashboard
            rootPanel:
              $ref: '#/components/schemas/ContainerPanel'
            theme:
              pattern: ^(light|dark|Light|Dark)$
              type: string
              description: Theme for the dashboard. Must be `light` or `dark`.
              example: light
              default: light
              x-pattern-message: Must be `Light`, or `Dark`
            topologyLabelMap:
              $ref: '#/components/schemas/TopologyLabelMap'
            refreshInterval:
              type: integer
              description: >-
                Interval of time (in seconds) to automatically refresh the
                dashboard. A value of 0 means we never automatically refresh the
                dashboard.
              format: int32
              example: 5
            timeRange:
              $ref: '#/components/schemas/ResolvableTimeRange'
            layout:
              $ref: '#/components/schemas/Layout'
            panels:
              type: array
              description: Children panels that the container panel contains.
              items:
                $ref: '#/components/schemas/Panel'
            variables:
              type: array
              description: Variables that could be applied to the panel's children.
              items:
                $ref: '#/components/schemas/Variable'
            coloringRules:
              type: array
              description: Coloring rules to color the panel/data with.
              items:
                $ref: '#/components/schemas/ColoringRule'
    NotificationThresholdSyncDefinition:
      required:
        - count
        - operator
        - thresholdType
      type: object
      properties:
        thresholdType:
          type: string
          description: >-
            Threshold type. Possible values are:
             1. `message`
             2. `group`

            Use `group` as threshold type if the search query is of aggregate
            type. For non-aggregate queries, set it to `message`.
        operator:
          type: string
          description: >-
            Criterion to be applied when comparing actual result count with
            expected count. Possible values are:
             1. `eq`
             2. `gt`
             3. `ge`
             4. `lt`
             5. `le`
        count:
          type: integer
          description: Expected result count.
    ReportFilterSyncDefinition:
      required:
        - fieldName
        - filterType
        - label
        - panelIds
        - properties
      type: object
      properties:
        fieldName:
          type: string
          description: The name af the field being filtered on, as listed in PanelField.
        label:
          type: string
          description: The name of the field being filtered on, as displayed to the user.
        defaultValue:
          type: string
          description: The default value of the parameter.
        filterType:
          type: string
          description: Type of filter. Can only be `numeric` or `textbox`.
        properties:
          type: string
          description: Visual settings for the panel.
        panelIds:
          type: array
          description: A list of panel identifiers that the filter applies to.
          items:
            type: string
    ReportPanelSyncDefinition:
      required:
        - detailLevel
        - height
        - id
        - metricsQueries
        - name
        - properties
        - queryParameters
        - queryString
        - timeRange
        - viewerType
        - width
        - x
        - 'y'
      type: object
      properties:
        name:
          type: string
          description: The title of the panel.
        viewerType:
          type: string
          description: >-
            Type of [area
            chart](https://help.sumologic.com/Dashboards-and-Alerts/Dashboards/Chart-Panel-Types).
            Supported values are:
              1. `table` for Table
              2. `bar` for Bar Chart
              3. `column` for Column Chart
              4. `line` for Line Chart
              5. `area` for Area Chart
              6. `pie` for Pie Chart
              7. `svv` for Single Value Viewer
              8. `title` for Title Panel
              9. `text` for Text Panel

            Values 1-7 are used for Data Panels.
        detailLevel:
          type: integer
          description: |-
            Supported values are:
              - `1` for small
              - `2` for medium
              - `3` for large
        queryString:
          type: string
          description: The query to run, for panels associated to log searches.
        metricsQueries:
          type: array
          description: >-
            The query or queries to run, for panels associated to metrics
            searches.
          items:
            $ref: '#/components/schemas/MetricsQuerySyncDefinition'
        timeRange:
          $ref: '#/components/schemas/ResolvableTimeRange'
        x:
          type: integer
          description: >-
            The horizontal position of the panel. A sumo screen is divided into
            24 columns. The value for x can be any integer from 0 to 24.
        'y':
          type: integer
          description: >-
            The vertical position of the panel. A sumo screen is divided into 24
            rows. The value for y can be any integer from 0 to 24.
        width:
          type: integer
          description: The width of the panel.
        height:
          type: integer
          description: The height of the panel.
        properties:
          type: string
          description: Visual settings for the panel.
        id:
          type: string
          description: >-
            A string identifier that you can use to refer to the panel in
            filters.panelIds.
        desiredQuantizationInSecs:
          type: integer
          description: >-
            The quantization interval aligns your time series data to common
            intervals on the time axis (for example every one minute) to
            optimize the visualization and performance.
        queryParameters:
          type: array
          description: The parameters for parameterized searches.
          items:
            $ref: '#/components/schemas/QueryParameterSyncDefinition'
        autoParsingInfo:
          $ref: '#/components/schemas/ReportAutoParsingInfo'
    SavedSearchWithScheduleSyncDefinition:
      allOf:
        - $ref: '#/components/schemas/ContentSyncDefinition'
        - required:
            - description
            - search
          type: object
          properties:
            search:
              $ref: '#/components/schemas/SavedSearchSyncDefinition'
            searchSchedule:
              $ref: '#/components/schemas/SearchScheduleSyncDefinition'
            description:
              type: string
              description: Description of the saved search.
    SavedSearchSyncDefinition:
      required:
        - byReceiptTime
        - defaultTimeRange
        - queryParameters
        - queryText
      type: object
      properties:
        queryText:
          type: string
          description: The text of a Sumo Logic query.
        defaultTimeRange:
          type: string
          description: >-
            Default time range for the search. Possible types of time ranges
            are:
              - relative time range: e.g. "-1d -12h" represents a time range from one day ago to 12 hours ago.
              - absolute time range: e.g. "01-04-2017 20:32:00 to 01-04-2017 20:35:00" represents a time range
                from April 1st, 2017 at 8:32 PM until April 1st, 2017 at 8:35 PM.
        byReceiptTime:
          type: boolean
          description: >-
            Set it to true to run the search using receipt time. By default,
            searches do not run by receipt time.
          default: false
        viewName:
          type: string
          description: >-
            The name of the Scheduled View that has indexed the data you want to
            search.
        viewStartTime:
          type: string
          description: Start timestamp of the Scheduled View in UTC format.
          format: date-time
        queryParameters:
          type: array
          description: An array of search query parameter objects.
          items:
            $ref: '#/components/schemas/QueryParameterSyncDefinition'
        parsingMode:
          type: string
          description: >-
            Define the parsing mode to scan the JSON format log messages.
            Possible values are:
              1. `AutoParse`
              2. `Manual`
            In AutoParse mode, the system automatically figures out fields to
            parse based on the search query. While in the Manual mode, no fields
            are parsed out automatically. For more information see [Dynamic
            Parsing](https://help.sumologic.com/?cid=0011).
          example: AutoParse
          default: Manual
    SaveToViewNotificationSyncDefinition:
      allOf:
        - $ref: '#/components/schemas/ScheduleNotificationSyncDefinition'
        - required:
            - viewName
          type: object
          properties:
            viewName:
              type: string
              description: Name of the View to save the notification to.
    SaveToLookupNotificationSyncDefinition:
      allOf:
        - $ref: '#/components/schemas/ScheduleNotificationSyncDefinition'
        - required:
            - isLookupMergeOperation
            - lookupFilePath
          type: object
          properties:
            lookupFilePath:
              type: string
              description: >-
                The path of the lookup table that will store the results of the
                scheduled search.
              example: /personal/folder/testLookupTable
            isLookupMergeOperation:
              type: boolean
              description: >-
                This indicates whether the file contents will be merged with
                existing data in the lookup table or not. If this is true then
                data with the same primary keys will be updated while the rest
                of the rows will be appended.
              example: false
    ScheduleNotificationSyncDefinition:
      required:
        - taskType
      type: object
      properties:
        taskType:
          type: string
          description: Delivery channel for notifications.
      discriminator:
        propertyName: taskType
    ScheduleSearchParameterSyncDefinition:
      required:
        - name
        - value
      type: object
      properties:
        name:
          type: string
          description: Name of scheduled search parameter.
        value:
          type: string
          description: Value of scheduled search parameter.
    SearchScheduleSyncDefinition:
      required:
        - notification
        - parameters
        - parseableTimeRange
        - scheduleType
        - timeZone
      type: object
      properties:
        cronExpression:
          type: string
          description: >-
            Cron-like expression specifying the search's schedule. Field
            scheduleType must be set to "Custom", otherwise, scheduleType takes
            precedence over cronExpression.
          example: 0 0/15 * * * ? *
        displayableTimeRange:
          type: string
          description: >-
            A human-friendly text describing the query time range. For e.g.
            "-2h", "last three days", "team default time"
          example: '-2h'
        parseableTimeRange:
          $ref: '#/components/schemas/ResolvableTimeRange'
        timeZone:
          type: string
          description: >-
            Time zone identifier for time specification. Either an abbreviation
            such as "PST", a full name such as "America/Los_Angeles", or a
            custom ID such as "GMT-8:00". Note that the support of abbreviations
            is for JDK 1.1.x compatibility only and full names should be used.
        threshold:
          $ref: '#/components/schemas/NotificationThresholdSyncDefinition'
        notification:
          $ref: '#/components/schemas/ScheduleNotificationSyncDefinition'
        scheduleType:
          type: string
          description: >-
            Run schedule of the scheduled search. Set to "Custom" to specify the
            schedule with a CRON expression. Possible schedule types are:
              - `RealTime`
              - `15Minutes`
              - `1Hour`
              - `2Hours`
              - `4Hours`
              - `6Hours`
              - `8Hours`
              - `12Hours`
              - `1Day`
              - `1Week`
              - `Custom`
        muteErrorEmails:
          type: boolean
          description: >-
            If enabled, emails are not sent out in case of errors with the
            search.
        parameters:
          type: array
          description: A list of scheduled search parameters.
          items:
            $ref: '#/components/schemas/ScheduleSearchParameterSyncDefinition'
    ServiceNowSearchNotificationSyncDefinition:
      allOf:
        - $ref: '#/components/schemas/ScheduleNotificationSyncDefinition'
        - required:
            - externalId
          type: object
          properties:
            externalId:
              type: string
              description: ServiceNow identifier.
            fields:
              $ref: '#/components/schemas/ServiceNowFieldsSyncDefinition'
    ServiceNowFieldsSyncDefinition:
      type: object
      properties:
        eventType:
          type: string
          description: The category that the event source uses to identify the event.
        severity:
          type: integer
          description: >-
            An integer value representing the severity of the alert. Supported
            values are:
              - `0` for Clear
              - `1` for Critical
              - `2` for Major
              - `3` for Minor
              - `4` for Warning
        resource:
          type: string
          description: The component on the node to which the event applies.
        node:
          type: string
          description: The physical or virtual device on which the event occurred.
    WebhookSearchNotificationSyncDefinition:
      allOf:
        - $ref: '#/components/schemas/ScheduleNotificationSyncDefinition'
        - required:
            - webhookId
          type: object
          properties:
            webhookId:
              type: string
              description: Identifier of the webhook connection.
            payload:
              type: string
              description: >-
                A JSON object in the format required by the target WebHook URL.
                For details on variables that can be used as parameters within
                your JSON object, please refer to Sumo Logic Doc Hub.
            itemizeAlerts:
              type: boolean
              description: >-
                If this field is set to true, one webhook per result will be
                sent when the trigger conditions are met
              example: true
              default: false
            maxItemizedAlerts:
              minimum: 0
              type: integer
              description: >-
                The maximum number of results for which we send separate alerts.
                This value should be between 1 and 100.
              format: int32
              example: 10
    CseSignalNotificationSyncDefinition:
      allOf:
        - $ref: '#/components/schemas/ScheduleNotificationSyncDefinition'
        - required:
            - recordType
          type: object
          properties:
            recordType:
              type: string
              description: Name of the Cloud SIEM Enterprise Record to be created.
    MetricsSavedSearchSyncDefinition:
      allOf:
        - $ref: '#/components/schemas/ContentSyncDefinition'
        - required:
            - desiredQuantizationInSecs
            - metricsQueries
            - timeRange
          type: object
          properties:
            description:
              maxLength: 8192
              type: string
              description: Item description in the content library.
              example: Long and detailed description
            timeRange:
              $ref: '#/components/schemas/ResolvableTimeRange'
            logQuery:
              maxLength: 10240
              type: string
              description: Query used to add an overlay to the chart.
              example: my_metric | timeslice 1m | count by _timeslice
            metricsQueries:
              type: array
              description: Metrics queries.
              items:
                $ref: '#/components/schemas/MetricsSavedSearchQuerySyncDefinition'
            desiredQuantizationInSecs:
              minimum: 0
              type: integer
              description: Desired quantization in seconds.
              format: int32
              example: 60
            properties:
              type: string
              description: Chart properties. This field is optional.
              example: '{ \"key\": \"value\" }'
    MetricsSearchSyncDefinition:
      allOf:
        - $ref: '#/components/schemas/ContentSyncDefinition'
        - required:
            - queries
            - timeRange
          type: object
          properties:
            timeRange:
              $ref: '#/components/schemas/ResolvableTimeRange'
            description:
              type: string
              description: Description of the metrics search page.
              example: CPU and memory utilization for RDS cluster
            queries:
              type: array
              description: Queries of the metrics search page.
              example:
                - queryString: CPU_Idle Namespace=RDS
                  queryType: Metrics
                  queryKey: A
                - queryString: Mem_Used Namespace=RDS
                  queryType: Metrics
                  queryKey: B
              items:
                $ref: '#/components/schemas/Query'
            visualSettings:
              type: string
              description: >
                Visual settings of the metrics search page. Must be a string
                representing a valid JSON object.
              example: '{"title": {"fontsize": 9}}'
    LookupTableSyncDefinition:
      allOf:
        - $ref: '#/components/schemas/ContentSyncDefinition'
        - $ref: '#/components/schemas/ExportableLookupTableInfo'
    CollectorRegistrationTokenResponse:
      allOf:
        - $ref: '#/components/schemas/TokenBaseResponse'
        - required:
            - encodedTokenAndUrl
          type: object
          properties:
            encodedTokenAndUrl:
              type: string
              description: >-
                The token and URL used to register the Collector as an encoded
                string.
    CollectorResourceIdentity:
      allOf:
        - $ref: '#/components/schemas/ResourceIdentity'
    OrgIdentity:
      allOf:
        - $ref: '#/components/schemas/ResourceIdentity'
    SourceResourceIdentity:
      allOf:
        - $ref: '#/components/schemas/ResourceIdentity'
        - type: object
          properties:
            collectorId:
              type: string
              description: The unique identifier of the Collector this Source belongs to.
              default: Unknown
            collectorName:
              type: string
              description: The name of the Collector this Source belongs to.
              default: Unknown
    IngestBudgetResourceIdentity:
      allOf:
        - $ref: '#/components/schemas/ResourceIdentity'
        - type: object
          properties:
            ingestBudgetFieldValue:
              type: string
              description: >-
                The unique field value of the ingest budget v1. This will be
                empty for v2 budgets.
              default: Unknown
            scope:
              type: string
              description: >-
                The scope of the ingest budget v2. This will be empty for v1
                budgets.
              default: Unknown
    LogsToMetricsRuleIdentity:
      allOf:
        - $ref: '#/components/schemas/ResourceIdentity'
    CollectorLimitApproachingTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
    GcpMetricsCollectionBrokenTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
    OAuthRefreshFailedTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - type: object
          properties:
            exceptionType:
              type: string
              description: The type of exception received while attempting OAuth.
            exceptionMessage:
              type: string
              description: The error message received with the failed OAuth request.
    IngestBudgetExceededTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/DataIngestAffectedTracker'
    CollectionAffectedDueToIngestBudgetTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/DataIngestAffectedTracker'
        - type: object
          properties:
            associatedBudgetNames:
              type: string
              description: The list of budget names.
    CollectionS3AccessDeniedTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/S3CollectionErrorTracker'
        - type: object
          properties:
            bucketName:
              type: string
              description: The bucket name of the associated Source.
            accessKey:
              type: string
              description: >-
                The access key used to make the request. In the case of IAM
                roles, this is the temporary key used for authentication.
    CollectionS3GetObjectAccessDeniedTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/S3CollectionErrorTracker'
        - type: object
          properties:
            bucketName:
              type: string
              description: The bucket name of the associated Source.
            accessKey:
              type: string
              description: >-
                The access key used to make the request. In the case of IAM
                roles, this is the temporary key used for authentication.
    CollectionS3InvalidKeyTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/S3CollectionErrorTracker'
        - type: object
          properties:
            accessKey:
              type: string
              description: >-
                The access key used to make the request. In the case of IAM
                roles, this is the temporary key used for authentication.
    CollectionS3ListingFailedTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/S3CollectionErrorTracker'
        - type: object
          properties:
            bucketName:
              type: string
              description: The bucket name of the associated Source.
    CollectionS3SlowListingTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/S3CollectionErrorTracker'
        - type: object
          properties:
            bucketName:
              type: string
              description: The bucket name of the associated Source.
            flaggedAfterMinutes:
              type: string
              description: >-
                The number of minutes elapsed in scanning after which this
                incident was created.
    InstalledCollectorOfflineTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - type: object
          properties:
            minutesSinceLastHeartbeat:
              type: string
              description: >-
                The number of minutes since the last heartbeat for the collector
                was received.
    IngestThrottlingTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/DataIngestAffectedTracker'
        - type: object
          properties:
            dataType:
              type: string
              description: >-
                The type of data for which the rate limit was enabled. The
                possible values are `LogIngest` and `MetricsIngest`.
    CollectionInvalidFilePathTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/FileCollectionErrorTracker'
        - type: object
          properties:
            path:
              type: string
              description: The path to the file.
    CollectionPathAccessDeniedTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/FileCollectionErrorTracker'
        - type: object
          properties:
            path:
              type: string
              description: The path to the file.
    CollectionRemoteConnectionFailedTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/FileCollectionErrorTracker'
    CollectionDockerClientBuildingFailedTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
    CollectionWindowsEventChannelConnectionFailedTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
    CollectionWindowsHostConnectionFailedTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
    CollectionAwsMetadataTagsFetchDeniedTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
    CollectionCloudWatchTagsFetchDeniedTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/AwsCloudWatchCollectionErrorTracker'
    CollectionCloudWatchListMetricsDeniedTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/AwsCloudWatchCollectionErrorTracker'
        - type: object
          properties:
            errorCode:
              type: string
              description: The error code from AWS for the request made to get metrics.
            errorMessage:
              type: string
              description: The error message from AWS for the request made to get metrics.
    CollectionCloudWatchGetStatisticsDeniedTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/AwsCloudWatchCollectionErrorTracker'
        - type: object
          properties:
            errorCode:
              type: string
              description: The error code from AWS for the request made to get metrics.
            errorMessage:
              type: string
              description: The error message from AWS for the request made to get metrics.
    CollectionCloudWatchGetStatisticsThrottledTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/AwsCloudWatchCollectionErrorTracker'
    MetricsHighCardinalityDetectedTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - type: object
          properties:
            retention:
              type: string
              description: The retention of metrics that approached the limit.
    MetricsCardinalityLimitExceededTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - type: object
          properties:
            retention:
              type: string
              description: The retention of metrics that exceeded the limit.
    HighCardinalityDimensionDroppedTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - type: object
          properties:
            dimension:
              type: string
              description: The dropped high cardinality dimension.
    LogsToMetricsRuleDisabledTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
    SpanIngestLimitExceededTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
    CollectionAwsInventoryThrottledTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/AwsInventoryCollectionErrorTracker'
    CollectionAwsInventoryUnauthorizedTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/AwsInventoryCollectionErrorTracker'
    CSEWindowsInvalidConfigurationTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/CSEWindowsErrorTracker'
        - type: object
          properties:
            sensorId:
              type: string
              description: The sensor ID.
            sensorHostname:
              type: string
              description: The sensor's hostname.
            sensorUserName:
              type: string
              description: The sensor's user name.
    CSEWindowsRuntimeErrorTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/CSEWindowsErrorTracker'
        - type: object
          properties:
            sensorId:
              type: string
              description: The sensor ID.
            sensorHostname:
              type: string
              description: The sensor's hostname.
            sensorUserName:
              type: string
              description: The sensor's user name.
    CSEWindowsExcessiveEventLogMonitorsTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/CSEWindowsErrorTracker'
        - type: object
          properties:
            sensorId:
              type: string
              description: The sensor ID.
            sensorHostname:
              type: string
              description: The sensor's hostname.
            sensorUserName:
              type: string
              description: The sensor's user name.
    CSEWindowsRuntimeWarningTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/CSEWindowsErrorTracker'
        - type: object
          properties:
            sensorId:
              type: string
              description: The sensor ID.
            sensorHostname:
              type: string
              description: The sensor's hostname.
            sensorUserName:
              type: string
              description: The sensor's user name.
    CSEWindowsInvalidUserPermissionsTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/CSEWindowsAccessErrorTracker'
        - type: object
          properties:
            sensorId:
              type: string
              description: The sensor ID.
            sensorHostname:
              type: string
              description: The sensor's hostname.
            sensorUserName:
              type: string
              description: The sensor's user name.
            folderPath:
              type: string
              description: The path of the folder.
            filePath:
              type: string
              description: The complete file path.
            source:
              type: string
              description: >-
                The HostName + EventLog name for EventLogs and Domain name for
                Directory..
    CSEWindowsWriteQueueFilesToSensorDirectoryFailedTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/CSEWindowsAccessErrorTracker'
        - type: object
          properties:
            sensorId:
              type: string
              description: The sensor ID.
            sensorHostname:
              type: string
              description: The sensor's hostname.
            sensorUserName:
              type: string
              description: The sensor's user name.
            folderPath:
              type: string
              description: The path of the folder.
            filePath:
              type: string
              description: The complete file path.
            source:
              type: string
              description: >-
                The HostName + EventLog name for EventLogs and Domain name for
                Directory..
    CSEWindowsStorageLimitExceededTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/CSEWindowsSensorOutOfStorageTracker'
        - type: object
          properties:
            sensorId:
              type: string
              description: The sensor ID.
            sensorHostname:
              type: string
              description: The sensor's hostname.
            folderPath:
              type: string
              description: The path of the folder.
            folderSizeLimit:
              type: string
              description: The complete file path.
            currentFolderSize:
              type: string
              description: Current size of the folder.
            percentageAvailableDiskSpaceLimit:
              type: string
              description: The percentage available disk space limit.
            currentPercentageAvailableDiskSpace:
              type: string
              description: The current percentage available disk space.
            lastError:
              type: string
              description: The last error.
    CSEWindowsStorageLimitApproachingTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/CSEWindowsSensorOutOfStorageTracker'
        - type: object
          properties:
            sensorId:
              type: string
              description: The sensor ID.
            sensorHostname:
              type: string
              description: The sensor's hostname.
            folderPath:
              type: string
              description: The path of the folder.
            folderSizeLimit:
              type: string
              description: The complete file path.
            currentFolderSize:
              type: string
              description: Current size of the folder.
            percentageAvailableDiskSpaceLimit:
              type: string
              description: The percentage available disk space limit.
            currentPercentageAvailableDiskSpace:
              type: string
              description: The current percentage available disk space.
            lastError:
              type: string
              description: The last error.
    CSEWindowsErrorAppendingToQueueFilesTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/CSEWindowsSensorOutOfStorageTracker'
        - type: object
          properties:
            sensorId:
              type: string
              description: The sensor ID.
            sensorHostname:
              type: string
              description: The sensor's hostname.
            folderPath:
              type: string
              description: The path of the folder.
            folderSizeLimit:
              type: string
              description: The complete file path.
            currentFolderSize:
              type: string
              description: Current size of the folder.
            percentageAvailableDiskSpaceLimit:
              type: string
              description: The percentage available disk space limit.
            currentPercentageAvailableDiskSpace:
              type: string
              description: The current percentage available disk space.
            lastError:
              type: string
              description: The last error.
    CSEWindowsErrorParsingRecordsTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/CSEWindowsParsingErrorTracker'
        - type: object
          properties:
            sensorId:
              type: string
              description: The sensor ID.
            sensorHostname:
              type: string
              description: The sensor's hostname.
            source:
              type: string
              description: >-
                The HostName + EventLog name for EventLogs and Domain name for
                Directory.
            errorCount:
              type: string
              description: The error count.
            lastErrorMessage:
              type: string
              description: The last error message.
    CSEWindowsExcessiveFilesPendingUploadTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/CSEWindowsExcessiveBacklogTracker'
        - type: object
          properties:
            sensorId:
              type: string
              description: The sensor ID.
            sensorHostname:
              type: string
              description: The sensor's hostname.
            source:
              type: string
              description: >-
                The HostName + EventLog name for EventLogs and Domain name for
                Directory.
            lastErrorMessage:
              type: string
              description: The last error message.
            numberOfFilesPending:
              type: string
              description: The number of files pending upload.
            oldestTimestampInQueue:
              type: string
              description: The oldest timestamp in the queue.
    CSEWindowsOldestRecordTimestampExceedsThresholdTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/CSEWindowsExcessiveBacklogTracker'
        - type: object
          properties:
            sensorId:
              type: string
              description: The sensor ID.
            sensorHostname:
              type: string
              description: The sensor's hostname.
            source:
              type: string
              description: >-
                The HostName + EventLog name for EventLogs and Domain name for
                Directory.
            lastErrorMessage:
              type: string
              description: The last error message.
            numberOfFilesPending:
              type: string
              description: The number of files pending upload.
            oldestTimestampInQueue:
              type: string
              description: The oldest timestamp in the queue.
    CSEWindowsSensorOfflineTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - type: object
          properties:
            minutesWithNoHeartbeatBeforeMarkingOffline:
              type: string
              description: >-
                The number of minutes without heartbeat after which sensor is
                marked offline.
    MetricsMetadataKeyLengthLimitExceeded:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/MetricsMetadataLimitsExceededTracker'
    MetricsMetadataValueLengthLimitExceeded:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/MetricsMetadataLimitsExceededTracker'
    MetricsMetadataKeyValuePairsLimitExceeded:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/MetricsMetadataLimitsExceededTracker'
    MetricsMetadataTotalMetadataSizeLimitExceeded:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/MetricsMetadataLimitsExceededTracker'
    OTCReceiverNoSpansObservedTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/OTCReceiverErrorTracker'
        - type: object
          properties:
            instanceId:
              type: string
              description: >-
                The collector instance ID, e.g.
                `974b444b-4b45-4f32-aa03-1dbf2a16826d`.
            instanceAddress:
              type: string
              description: The collector instance address, e.g. `172.16.1.14`.
            receiverId:
              type: string
              description: The collector receiver ID, e.g. `otlphttp/2`.
    OTCReceiverSpansDroppedTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/OTCReceiverErrorTracker'
        - type: object
          properties:
            instanceId:
              type: string
              description: >-
                The collector instance ID, e.g.
                `974b444b-4b45-4f32-aa03-1dbf2a16826d`.
            instanceAddress:
              type: string
              description: The collector instance address, e.g. `172.16.1.14`.
            receiverId:
              type: string
              description: The collector receiver ID, e.g. `otlphttp/2`.
            count:
              type: string
              description: The count of dropped spans.
    OTCReceiverSpansRefusedTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/OTCReceiverErrorTracker'
        - type: object
          properties:
            instanceId:
              type: string
              description: >-
                The collector instance ID, e.g.
                `974b444b-4b45-4f32-aa03-1dbf2a16826d`.
            instanceAddress:
              type: string
              description: The collector instance address, e.g. `172.16.1.14`.
            receiverId:
              type: string
              description: The collector receiver ID, e.g. `otlphttp/2`.
            count:
              type: string
              description: The count of refused spans.
    OTCExporterHighFailuresExportingSpansTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/OTCExporterErrorTracker'
        - type: object
          properties:
            instanceId:
              type: string
              description: >-
                The collector instance ID, e.g.
                `974b444b-4b45-4f32-aa03-1dbf2a16826d`.
            instanceAddress:
              type: string
              description: The collector instance address, e.g. `172.16.1.14`.
            exporterId:
              type: string
              description: The collector exporter ID, e.g. `otlphttp`.
            count:
              type: string
              description: The failure count.
    OTCExporterLargeTraceBatchesTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/OTCExporterErrorTracker'
        - type: object
          properties:
            instanceId:
              type: string
              description: >-
                The collector instance ID, e.g.
                `974b444b-4b45-4f32-aa03-1dbf2a16826d`.
            instanceAddress:
              type: string
              description: The collector instance address, e.g. `172.16.1.14`.
            exporterId:
              type: string
              description: The collector exporter ID, e.g. `otlphttp`.
            count:
              type: string
              description: The failure count.
    OTCProcessHighMemoryUsageTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/OTCProcessErrorTracker'
        - type: object
          properties:
            instanceId:
              type: string
              description: >-
                The collector instance ID, e.g.
                `974b444b-4b45-4f32-aa03-1dbf2a16826d`.
            instanceAddress:
              type: string
              description: The collector instance address, e.g. `172.16.1.14`.
            memoryUsage:
              type: string
              description: The collector memory usage in bytes, e.g. `142606592`
            memoryLimit:
              type: string
              description: The collector memory limit (if set) in bytes, e.g. `4000000000`
    OTCProcessSpansDroppedTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/OTCProcessErrorTracker'
        - type: object
          properties:
            instanceId:
              type: string
              description: >-
                The collector instance ID, e.g.
                `974b444b-4b45-4f32-aa03-1dbf2a16826d`.
            instanceAddress:
              type: string
              description: The collector instance address, e.g. `172.16.1.14`.
            processorId:
              type: string
              description: The collector processor ID, e.g. `cascading_filter`.
            count:
              type: string
              description: The count of dropped spans.
    OTCProcessSpansRefusedTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/OTCProcessErrorTracker'
        - type: object
          properties:
            instanceId:
              type: string
              description: >-
                The collector instance ID, e.g.
                `974b444b-4b45-4f32-aa03-1dbf2a16826d`.
            instanceAddress:
              type: string
              description: The collector instance address, e.g. `172.16.1.14`.
            processorId:
              type: string
              description: The collector processor ID, e.g. `cascading_filter`.
            count:
              type: string
              description: The count of refused spans.
    OTCWarningProcessingSpansTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/OTCProcessErrorTracker'
        - type: object
          properties:
            instanceId:
              type: string
              description: >-
                The collector instance ID, e.g.
                `974b444b-4b45-4f32-aa03-1dbf2a16826d`.
            instanceAddress:
              type: string
              description: The collector instance address, e.g. `172.16.1.14`.
            processorId:
              type: string
              description: The collector processor ID, e.g. `cascading_filter`.
            message:
              type: string
              description: The warning message.
    OTCErrorProcessingSpansTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/OTCProcessErrorTracker'
        - type: object
          properties:
            instanceId:
              type: string
              description: >-
                The collector instance ID, e.g.
                `974b444b-4b45-4f32-aa03-1dbf2a16826d`.
            instanceAddress:
              type: string
              description: The collector instance address, e.g. `172.16.1.14`.
            processorId:
              type: string
              description: The collector processor ID, e.g. `cascading_filter`.
            message:
              type: string
              description: The error message.
    PermissionSubject:
      required:
        - subjectId
        - subjectType
      type: object
      properties:
        subjectType:
          pattern: ^(user|role|org)$
          type: string
          description: >-
            Type of subject for the permission. Valid values are: `user` or
            `role` or `org`.
          example: role
          x-pattern-message: 'must be one of the following: `user`, `role`, `org`'
        subjectId:
          type: string
          description: >-
            The identifier that belongs to the subject type chosen above. For
            e.g. if the subjectType is set to `user`, subjectId should be the
            identifier of a user (same goes for `role` or `org` subjectType).
          example: 0000000006743FDA
      description: >-
        Identifier for the entity (subject) that is granted the permission on
        resource(s).
    PermissionIdentifier:
      allOf:
        - $ref: '#/components/schemas/PermissionSubject'
        - required:
            - targetId
          type: object
          properties:
            targetId:
              type: string
              description: >-
                The identifier that belongs to the resource this permission
                assignment applies to.
              example: 0000000006743FE2
    PermissionIdentifiers:
      required:
        - permissionIdentifiers
      type: object
      properties:
        permissionIdentifiers:
          maxItems: 1000
          minItems: 1
          type: array
          description: List of permission identifiers.
          items:
            $ref: '#/components/schemas/PermissionIdentifier'
    PermissionStatementDefinition:
      allOf:
        - $ref: '#/components/schemas/Permissions'
        - required:
            - subjectId
            - subjectType
            - targetId
          type: object
          properties:
            subjectType:
              pattern: ^(role|org)$
              type: string
              description: >-
                Type of subject for the permission. Valid values are: `role` or
                `org`.
              example: role
              x-pattern-message: 'must be one of the following: `role` or `org`'
            subjectId:
              type: string
              description: >-
                The identifier that belongs to the subject type chosen above.
                For e.g. if the subjectType is set to `role`, subjectId should
                be the identifier of a role.  Similarly, if the subjectType is
                `org`, the subjectId should be the identifier of the same org, 
                which owns the resource target.
              example: 0000000006743FDA
            targetId:
              type: string
              description: >-
                The identifier that belongs to the resource this permission
                assignment applies to.
              example: 0000000006743FE2
    PermissionStatementDefinitions:
      required:
        - permissionStatementDefinitions
      type: object
      properties:
        permissionStatementDefinitions:
          maxItems: 1000
          minItems: 1
          type: array
          description: List of permission statement definitions.
          items:
            $ref: '#/components/schemas/PermissionStatementDefinition'
    PermissionStatement:
      type: object
      allOf:
        - $ref: '#/components/schemas/PermissionStatementDefinition'
        - $ref: '#/components/schemas/MetadataModel'
    PermissionStatements:
      required:
        - permissionStatements
      type: object
      properties:
        permissionStatements:
          type: array
          description: A list of permission statements.
          items:
            $ref: '#/components/schemas/PermissionStatement'
    PermissionSummaryMeta:
      required:
        - isExplicit
        - isInherited
        - isRecursive
        - isRevoked
        - isSystemDefined
        - name
      type: object
      properties:
        name:
          type: string
          description: >-
            Name of the permission. Example values are: `Read`, `Update`,
            `Create`, etc.
          example: Read
        isInherited:
          type: boolean
          description: >-
            A true value implies that the permission is inherited from some
            ancestors of the resource. A false value implies that the permission
            is explicitly assigned to the resource.
          example: true
        isExplicit:
          type: boolean
          description: >-
            A true value implies that the permission is explicitly assigned to
            the resource. A false value implies that the permission is not
            explicitly assigned to the resource.
          example: true
        isRevoked:
          type: boolean
          description: >-
            A true value implies that the capability required for this
            permission has been revoked.
          example: true
        isRecursive:
          type: boolean
          description: >-
            A true value implies that the permission is recursively cascaded
            down to all the direct and indirect children of the resource.
          example: true
        isSystemDefined:
          type: boolean
          description: >-
            A true value implies that the permission is defined by the system on
            the resource and can not be modified by the user. A false value
            implies that the permission is defined by the user on the resource
            and can be modified by the user.
          example: true
      description: >-
        Permission Summary with additional information like inheritance,
        revocation, etc about the permission.
    PermissionSummaryBySubjects:
      description: >-
        A list of PermissionSubjects and PermissionSummaryMeta(s) associated
        with each subject.
      allOf:
        - $ref: '#/components/schemas/PermissionSubject'
        - required:
            - permissionSummaries
          type: object
          properties:
            permissionSummaries:
              type: array
              items:
                $ref: '#/components/schemas/PermissionSummaryMeta'
    PermissionSummariesBySubjects:
      required:
        - permissionSummariesBySubjects
      type: object
      properties:
        permissionSummariesBySubjects:
          type: array
          description: >-
            A list of PermissionSubjects and PermissionSummaryMeta(s) associated
            with each subject.
          items:
            $ref: '#/components/schemas/PermissionSummaryBySubjects'
    Permissions:
      required:
        - permissions
      type: object
      properties:
        permissions:
          type: array
          description: List of permissions.
          example:
            - Read
            - Delete
          items:
            type: string
    Email:
      allOf:
        - $ref: '#/components/schemas/Action'
        - required:
            - recipients
            - subject
            - timeZone
          type: object
          properties:
            recipients:
              type: array
              description: A list of email addresses to send to when the rule fires.
              items:
                type: string
                example: john@doe.com
            subject:
              type: string
              description: The subject line of the email.
              example: Sample Email Subject
            messageBody:
              type: string
              description: The message body of the email to send.
              example: Sample Email Message Body
            timeZone:
              type: string
              description: >-
                Time zone for the email content. All dates/times will be
                displayed in this timeZone in the email payload. Follow the
                format in the [IANA Time Zone
                Database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List).
              example: America/Los_Angeles
    AWSLambda:
      allOf:
        - $ref: '#/components/schemas/Action'
        - required:
            - connectionId
          type: object
          properties:
            connectionId:
              type: string
              description: The identifier of the connection.
              example: 000000000BF39283
            payloadOverride:
              type: string
              description: >-
                The override of the default JSON payload of the connection.
                Should be in JSON format.
    AzureFunctions:
      allOf:
        - $ref: '#/components/schemas/Action'
        - required:
            - connectionId
          type: object
          properties:
            connectionId:
              type: string
              description: The identifier of the connection.
              example: 000000000BF39283
            payloadOverride:
              type: string
              description: >-
                The override of the default JSON payload of the connection.
                Should be in JSON format.
    Datadog:
      allOf:
        - $ref: '#/components/schemas/Action'
        - required:
            - connectionId
          type: object
          properties:
            connectionId:
              type: string
              description: The identifier of the connection.
              example: 000000000BF39283
            payloadOverride:
              type: string
              description: >-
                The override of the default JSON payload of the connection.
                Should be in JSON format.
    HipChat:
      allOf:
        - $ref: '#/components/schemas/Action'
        - required:
            - connectionId
          type: object
          properties:
            connectionId:
              type: string
              description: The identifier of the connection.
              example: 000000000BF39283
            payloadOverride:
              type: string
              description: >-
                The override of the default JSON payload of the connection.
                Should be in JSON format.
    PagerDuty:
      allOf:
        - $ref: '#/components/schemas/Action'
        - required:
            - connectionId
          type: object
          properties:
            connectionId:
              type: string
              description: The identifier of the connection.
              example: 000000000BF39283
            payloadOverride:
              type: string
              description: >-
                The override of the default JSON payload of the connection.
                Should be in JSON format.
    Slack:
      allOf:
        - $ref: '#/components/schemas/Action'
        - required:
            - connectionId
          type: object
          properties:
            connectionId:
              type: string
              description: The identifier of the connection.
              example: 000000000BF39283
            payloadOverride:
              type: string
              description: >-
                The override of the default JSON payload of the connection.
                Should be in JSON format.
    NewRelic:
      allOf:
        - $ref: '#/components/schemas/Action'
        - required:
            - connectionId
          type: object
          properties:
            connectionId:
              type: string
              description: The identifier of the connection.
              example: 000000000BF39283
            payloadOverride:
              type: string
              description: >-
                The override of the default JSON payload of the connection.
                Should be in JSON format.
    Jira:
      allOf:
        - $ref: '#/components/schemas/Action'
        - required:
            - connectionId
          type: object
          properties:
            connectionId:
              type: string
              description: The identifier of the connection.
              example: 000000000BF39283
            payloadOverride:
              type: string
              description: >-
                The override of the default JSON payload of the connection.
                Should be in JSON format.
    Opsgenie:
      allOf:
        - $ref: '#/components/schemas/Action'
        - required:
            - connectionId
          type: object
          properties:
            connectionId:
              type: string
              description: The identifier of the connection.
              example: 000000000BF39283
            payloadOverride:
              type: string
              description: >-
                The override of the default JSON payload of the connection.
                Should be in JSON format.
    MicrosoftTeams:
      allOf:
        - $ref: '#/components/schemas/Action'
        - required:
            - connectionId
          type: object
          properties:
            connectionId:
              type: string
              description: The identifier of the connection.
              example: 000000000BF39283
            payloadOverride:
              type: string
              description: >-
                The override of the default JSON payload of the connection.
                Should be in JSON format.
    ServiceNow:
      allOf:
        - $ref: '#/components/schemas/Action'
        - required:
            - connectionId
          type: object
          properties:
            connectionId:
              type: string
              description: The identifier of the connection.
              example: 000000000BF39283
            connectionSubtype:
              $ref: '#/components/schemas/ConnectionSubtype'
            payloadOverride:
              type: string
              description: >-
                The override of the default JSON payload of the connection.
                Should be in JSON format.
    SumoCloudSOAR:
      allOf:
        - $ref: '#/components/schemas/Action'
        - required:
            - connectionId
          type: object
          properties:
            connectionId:
              type: string
              description: The identifier of the connection.
              example: 000000000BF39283
            connectionSubtype:
              $ref: '#/components/schemas/ConnectionSubtype'
            payloadOverride:
              type: string
              description: >-
                The override of the default JSON payload of the connection.
                Should be in JSON format.
    Webhook:
      allOf:
        - $ref: '#/components/schemas/Action'
        - required:
            - connectionId
          type: object
          properties:
            connectionId:
              type: string
              description: The identifier of the connection.
              example: 000000000BF39283
            payloadOverride:
              type: string
              description: >-
                The override of the default JSON payload of the connection.
                Should be in JSON format.
    ChartDataRequest:
      required:
        - monitorType
        - queries
      type: object
      properties:
        monitorType:
          pattern: ^(Logs|Metrics)$
          type: string
          description: |-
            The type of monitor. Valid values:
              1. `Logs`: A logs query monitor.
              2. `Metrics`: A metrics query monitor.
          example: Logs
          x-pattern-message: should be either 'Logs' or 'Metrics'
        queries:
          uniqueItems: true
          type: array
          description: All queries from the monitor.
          items:
            $ref: '#/components/schemas/MonitorQuery'
        triggers:
          type: array
          description: Defines the conditions of when to send notifications.
          items:
            $ref: '#/components/schemas/TriggerCondition'
        timeRange:
          $ref: '#/components/schemas/ResolvableTimeRange'
      description: Request payload for monitor chart data visualization.
    ChartDataResult:
      type: object
      properties:
        warnings:
          type: array
          description: Execution warnings of queries.
          items:
            $ref: '#/components/schemas/ErrorDescription'
        series:
          type: array
          description: List of time series of the monitor chart data.
          items:
            $ref: '#/components/schemas/SeriesData'
      description: Response for monitor chart data visualization.
    OutlierSeriesDataPoint:
      allOf:
        - $ref: '#/components/schemas/DataPoint'
        - required:
            - x
            - 'y'
          type: object
          properties:
            x:
              type: integer
              description: Epoch unix time stamp.
              format: int64
              example: 1617146107
            'y':
              $ref: '#/components/schemas/OutlierDataValue'
          description: Data point of outlier series.
    StaticSeriesDataPoint:
      allOf:
        - $ref: '#/components/schemas/DataPoint'
        - required:
            - x
            - 'y'
          type: object
          properties:
            x:
              type: integer
              description: Epoch unix time stamp.
              format: int64
              example: 1617146107
            'y':
              type: number
              description: The value of the data point.
              format: double
              example: 70
          description: Data point of static series.
    SearchQueryFieldsAndTypes:
      type: array
      items:
        $ref: '#/components/schemas/SearchQueryFieldAndType'
    SearchQueryFieldAndType:
      type: object
      properties:
        fieldName:
          type: string
          description: Log field parsed from log search query.
          example: status_code
        fieldType:
          pattern: ^(NumericValue|DistinctCount)$
          type: string
          description: >-
            The type of the field inferred from log results and explicit
            configuration. Valid values:
              1. `NumericValue`: A field with a numerical type.
              2. `DistinctCount`: A field with a dimensional type.
          x-pattern-message: should be either 'NumericValue' or 'DistinctCount'
        isImplicitField:
          type: boolean
          description: Indicates if the field is implicit or user defined.
          example: true
      description: A log field and its associated type
    TriggerCondition:
      required:
        - triggerType
      type: object
      properties:
        detectionMethod:
          pattern: >-
            ^(StaticCondition|LogsStaticCondition|MetricsStaticCondition|LogsOutlierCondition|MetricsOutlierCondition|LogsMissingDataCondition|MetricsMissingDataCondition|SloSliCondition|SloErrorBudgetCondition)$
          type: string
          description: |-
            Detection method of the trigger condition. Valid values:
              1. `StaticCondition`: A condition that triggers based off of a static threshold.
              2. `LogsStaticCondition`: A logs condition that triggers based off of a static threshold.
              3. `MetricsStaticCondition`: A metrics condition that triggers based off of a static threshold.
              4. `LogsOutlierCondition`: A logs condition that triggers based off of a dynamic outlier threshold.
              5. `MetricsOutlierCondition`: A metrics condition that triggers based off of a dynamic outlier threshold.
              6. `LogsMissingDataCondition`: A logs missing data condition that triggers based off of no data available.
              7. `MetricsMissingDataCondition`: A metrics missing data condition that triggers based off of no data available.
              8. `SloSliCondition`: A SLO condition that triggers based off the remaining error budget. Currently SloSliCondition is available in closed beta (Notify your Sumo Logic representative in order to get the early access).
              9. `SloErrorBudgetCondition`: A SLO condition that triggers based off error budget. Currently SloErrorBudgetCondition is available in closed beta (Notify your Sumo Logic representative in order to get the early access).
          example: StaticCondition
          default: StaticCondition
          x-pattern-message: >-
            should be one of the following: 'StaticCondition',
            'LogsStaticCondition', 'MetricsStaticCondition',
            'LogsOutlierCondition', 'MetricsOutlierCondition',
            'LogsMissingDataCondition', 'MetricsMissingDataCondition',
            'SloSliCondition', 'SloErrorBudgetCondition'
        triggerType:
          pattern: >-
            ^(Critical|Warning|MissingData|ResolvedCritical|ResolvedWarning|ResolvedMissingData)$
          type: string
          description: |-
            The type of trigger condition. Valid values:
              1. `Critical`: A critical condition to trigger on.
              2. `Warning`: A warning condition to trigger on.
              3. `MissingData`: A condition that indicates data is missing.
              4. `ResolvedCritical`: A condition to resolve a Critical trigger on.
              5. `ResolvedWarning`: A condition to resolve a Warning trigger on.
              6. `ResolvedMissingData`: A condition to resolve a MissingData trigger.
          example: Critical
          x-pattern-message: >-
            should be one of the following: 'Critical', 'Warning',
            'MissingData', 'ResolvedCritical', 'ResolvedWarning', or
            'ResolvedMissingData'
      discriminator:
        propertyName: detectionMethod
    StaticCondition:
      allOf:
        - $ref: '#/components/schemas/TriggerCondition'
        - required:
            - occurrenceType
            - timeRange
            - triggerSource
          type: object
          properties:
            timeRange:
              type: string
              description: The relative time range of the monitor.
              example: 15m
            threshold:
              $ref: '#/components/schemas/StaticThreshold'
            thresholdType:
              $ref: '#/components/schemas/StaticThresholdType'
            field:
              type: string
              description: >-
                The name of the field that the trigger condition will alert on.
                The trigger could compare the value of specified field with the
                threshold. If `field` is not specified, monitor would default to
                result count instead.
              example: _count
            occurrenceType:
              $ref: '#/components/schemas/OccurrenceType'
            triggerSource:
              $ref: '#/components/schemas/TriggerSource'
          description: >-
            A rule that defines how the monitor should evaluate data and trigger
            notifications.
    LogsStaticCondition:
      allOf:
        - $ref: '#/components/schemas/TriggerCondition'
        - required:
            - threshold
            - thresholdType
            - timeRange
          type: object
          properties:
            timeRange:
              type: string
              description: The relative time range of the monitor.
              example: 15m
            threshold:
              $ref: '#/components/schemas/StaticThreshold'
            thresholdType:
              $ref: '#/components/schemas/StaticThresholdType'
            field:
              type: string
              description: >-
                The name of the field that the trigger condition will alert on.
                The trigger could compare the value of specified field with the
                threshold. If `field` is not specified, monitor would default to
                result count instead.
              example: _count
          description: >-
            A rule that defines how logs monitor should evaluate static data and
            trigger notifications.
    MetricsStaticCondition:
      allOf:
        - $ref: '#/components/schemas/TriggerCondition'
        - required:
            - occurrenceType
            - threshold
            - thresholdType
            - timeRange
          type: object
          properties:
            timeRange:
              type: string
              description: The relative time range of the monitor.
              example: 15m
            threshold:
              $ref: '#/components/schemas/StaticThreshold'
            thresholdType:
              $ref: '#/components/schemas/StaticThresholdType'
            occurrenceType:
              $ref: '#/components/schemas/OccurrenceType'
          description: >-
            A rule that defines how metrics monitor should evaluate static data
            and trigger notifications.
    LogsOutlierCondition:
      allOf:
        - $ref: '#/components/schemas/TriggerCondition'
        - type: object
          properties:
            window:
              type: integer
              description: >-
                Sets the trailing number of data points to calculate mean and
                sigma.
              format: int64
              example: 15
              default: 50
            consecutive:
              type: integer
              description: >-
                Sets the required number of consecutive indicator data points
                (outliers) to trigger a violation.
              format: int64
              example: 3
              default: 1
            direction:
              $ref: '#/components/schemas/OutlierDirection_1'
            threshold:
              type: number
              description: >-
                Sets the number of standard deviations for calculating
                violations.
              format: double
              example: 10
              default: 3
            field:
              type: string
              description: The name of the field that the trigger condition will alert on.
              example: _count
          description: >-
            A rule that defines how logs monitor should evaluate outlier data
            and trigger notifications.
    MetricsOutlierCondition:
      allOf:
        - $ref: '#/components/schemas/TriggerCondition'
        - type: object
          properties:
            baselineWindow:
              type: string
              description: The time range used to compute the baseline.
              example: 1h
              default: 1d
            direction:
              $ref: '#/components/schemas/OutlierDirection_1'
            threshold:
              type: number
              description: >-
                How much should the indicator be different from the baseline for
                each datapoint.
              format: double
              example: 10
              default: 3
          description: >-
            A rule that defines how metrics monitor should evaluate outlier data
            and trigger notifications.
    LogsMissingDataCondition:
      allOf:
        - $ref: '#/components/schemas/TriggerCondition'
        - required:
            - timeRange
          type: object
          properties:
            timeRange:
              type: string
              description: The relative time range of the monitor.
              example: 15m
          description: >-
            A rule that defines how logs monitors should evaluate missing data
            and trigger notifications.
    MetricsMissingDataCondition:
      allOf:
        - $ref: '#/components/schemas/TriggerCondition'
        - required:
            - timeRange
            - triggerSource
          type: object
          properties:
            triggerSource:
              $ref: '#/components/schemas/TriggerSource'
            timeRange:
              type: string
              description: The relative time range of the monitor.
              example: 15m
          description: >-
            A rule that defines how metrics monitors should evaluate missing
            data and trigger notifications.
    SloSliCondition:
      allOf:
        - $ref: '#/components/schemas/TriggerCondition'
        - required:
            - sliThreshold
          type: object
          properties:
            sliThreshold:
              type: number
              description: The remaining SLI error budget threshold percentage.
              format: double
              example: 90
          description: >-
            A rule that defines how SLO monitors should evaluate remaining error
            budget and trigger notifications.
    SloErrorBudgetCondition:
      allOf:
        - $ref: '#/components/schemas/TriggerCondition'
        - required:
            - errorBudgetThreshold
            - timeRange
          type: object
          properties:
            errorBudgetThreshold:
              type: number
              description: The error budget percentage.
              format: double
              example: 90
            timeRange:
              type: string
              description: The relative time range of the error budget depletion rate.
              example: 2h
          description: >-
            A rule that defines how SLO monitors should evaluate base error
            budget depletion rate and trigger notifications.
    AlertSignalContext:
      type: object
      description: Details of the alert signal context.
      allOf:
        - $ref: '#/components/schemas/SignalContext'
        - required:
            - alertId
          type: object
          properties:
            alertId:
              type: string
              description: Alert Identifier.
              example: 00000000F5000634
    TraceQueryExpression:
      required:
        - type
      type: object
      properties:
        type:
          type: string
          description: Expression type of the object model.
      description: Base query expression object.
      discriminator:
        propertyName: type
    AndTracingExpression:
      allOf:
        - $ref: '#/components/schemas/TraceQueryExpression'
        - required:
            - expressions
          type: object
          properties:
            expressions:
              type: array
              description: >-
                Evaluates to true, if (and only if) all expressions evaluate to
                true, otherwise evaluates to false.
              items:
                $ref: '#/components/schemas/TraceQueryExpression'
    OrTracingExpression:
      description: >-
        Evaluates to true, if at least one expression evaluates to true,
        otherwise evaluates to false.
      allOf:
        - $ref: '#/components/schemas/TraceQueryExpression'
        - required:
            - expressions
          type: object
          properties:
            expressions:
              type: array
              items:
                $ref: '#/components/schemas/TraceQueryExpression'
    MetricTracingFilter:
      allOf:
        - $ref: '#/components/schemas/TraceQueryExpression'
        - required:
            - metric
            - operator
          type: object
          properties:
            metric:
              type: string
              description: >-
                The name of the metric to filter by. The list of supported
                metrics can be retrieved using the [Trace
                Metrics](#operation/getMetrics) endpoint.
            operator:
              type: string
              description: |-
                The operator to use. Accepted values:
                  <table>
                    <tr>
                      <th>Operator</th>
                      <th>Accepted value types</th>
                    </tr>
                    <tr>
                      <th>&lt; &lt;= &gt; &gt;= =</th>
                      <th>DoubleTracingValue IntegerTracingValue</th>
                    </tr>
                    <tr>
                      <th>between</th>
                      <th>RangeTracingValue of DoubleTracingValue / IntegerTracingValue</th>
                    </tr>
                  </table>
            value:
              $ref: '#/components/schemas/TracingValue'
    FieldTracingFilter:
      allOf:
        - $ref: '#/components/schemas/TraceQueryExpression'
        - required:
            - field
            - operator
          type: object
          properties:
            field:
              type: string
              description: >-
                The field name to filter by. The list of supported field names
                can be retrieved using the [Trace Query
                Fields](#operation/getTraceQueryFields) endpoint.
            operator:
              type: string
              description: |-
                The operator to use. Accepted values:
                  <table>
                    <tr>
                      <th>Operator</th>
                      <th>Accepted value types</th>
                    </tr>
                    <tr>
                      <th>&lt; &lt;= &gt; &gt;= = !=</th>
                      <th>StringTracingValue DoubleTracingValue IntegerTracingValue DateTimeTracingValue</th>
                    </tr>
                    <tr>
                      <th>in</th>
                      <th>ArrayTracingValue of StringTracingValue / DoubleTracingValue / IntegerTracingValue / DateTimeTracingValue</th>
                    </tr>
                    <tr>
                      <th>between</th>
                      <th>RangeTracingValue of StringTracingValue / DoubleTracingValue / IntegerTracingValue / DateTimeTracingValue</th>
                    </tr>
                  </table>
            value:
              $ref: '#/components/schemas/TracingValue'
    RootSpanTracingFilter:
      allOf:
        - $ref: '#/components/schemas/TraceQueryExpression'
        - required:
            - field
            - operator
          type: object
          properties:
            field:
              type: string
              description: >-
                The field name to filter by. The list of supported field names
                can be retrieved using the [Trace Query
                Fields](#operation/getTraceQueryFields) endpoint.
            operator:
              type: string
              description: |-
                The operator to use. Accepted values:
                  <table>
                    <tr>
                      <th>Operator</th>
                      <th>Accepted value types</th>
                    </tr>
                    <tr>
                      <th>&lt; &lt;= &gt; &gt;= = !=</th>
                      <th>StringTracingValue DoubleTracingValue IntegerTracingValue DateTimeTracingValue</th>
                    </tr>
                    <tr>
                      <th>in</th>
                      <th>ArrayTracingValue of StringTracingValue / DoubleTracingValue / IntegerTracingValue / DateTimeTracingValue</th>
                    </tr>
                    <tr>
                      <th>between</th>
                      <th>RangeTracingValue of StringTracingValue / DoubleTracingValue / IntegerTracingValue / DateTimeTracingValue</th>
                    </tr>
                  </table>
            value:
              $ref: '#/components/schemas/TracingValue'
    TracingValue:
      required:
        - type
      properties:
        type:
          type: string
          description: Type of the value model.
      discriminator:
        propertyName: type
    DoubleTracingValue:
      allOf:
        - $ref: '#/components/schemas/TracingValue'
        - required:
            - value
          type: object
          properties:
            value:
              type: number
              format: double
    IntegerTracingValue:
      allOf:
        - $ref: '#/components/schemas/TracingValue'
        - required:
            - value
          type: object
          properties:
            value:
              type: integer
              format: int64
    StringTracingValue:
      allOf:
        - $ref: '#/components/schemas/TracingValue'
        - required:
            - value
          type: object
          properties:
            value:
              type: string
    DateTimeTracingValue:
      allOf:
        - $ref: '#/components/schemas/TracingValue'
        - required:
            - value
          type: object
          properties:
            value:
              type: string
              description: >-
                Timestamp in UTC in the [ISO 8601 /
                RFC3339](https://tools.ietf.org/html/rfc3339) format.
              format: date-time
              example: '2019-11-22T09:00:00Z'
    ArrayTracingValue:
      allOf:
        - $ref: '#/components/schemas/TracingValue'
        - required:
            - values
          type: object
          properties:
            values:
              type: array
              items:
                $ref: '#/components/schemas/TracingValue'
    RangeTracingValue:
      allOf:
        - $ref: '#/components/schemas/TracingValue'
        - required:
            - from
            - to
          type: object
          properties:
            from:
              $ref: '#/components/schemas/TracingValue'
            to:
              $ref: '#/components/schemas/TracingValue'
    EventAttributeValue:
      required:
        - type
      properties:
        type:
          pattern: >-
            ^(BooleanEventAttributeValue|StringEventAttributeValue|DoubleEventAttributeValue|IntegerEventAttributeValue|BooleanArrayEventAttributeValue|StringArrayEventAttributeValue|DoubleArrayEventAttributeValue|IntegerArrayEventAttributeValue)$
          type: string
          description: Type of the event attribute value.
          example: BooleanAttributeValue
      discriminator:
        propertyName: type
    BooleanEventAttributeValue:
      allOf:
        - $ref: '#/components/schemas/EventAttributeValue'
        - required:
            - value
          type: object
          properties:
            value:
              type: boolean
    DoubleEventAttributeValue:
      allOf:
        - $ref: '#/components/schemas/EventAttributeValue'
        - required:
            - value
          type: object
          properties:
            value:
              type: number
              format: double
    IntegerEventAttributeValue:
      allOf:
        - $ref: '#/components/schemas/EventAttributeValue'
        - required:
            - value
          type: object
          properties:
            value:
              type: integer
              format: int64
    StringEventAttributeValue:
      allOf:
        - $ref: '#/components/schemas/EventAttributeValue'
        - required:
            - value
          type: object
          properties:
            value:
              type: string
    BooleanArrayEventAttributeValue:
      allOf:
        - $ref: '#/components/schemas/EventAttributeValue'
        - required:
            - values
          type: object
          properties:
            values:
              type: array
              items:
                type: boolean
    DoubleArrayEventAttributeValue:
      allOf:
        - $ref: '#/components/schemas/EventAttributeValue'
        - required:
            - values
          type: object
          properties:
            values:
              type: array
              items:
                type: number
                format: double
    IntegerArrayEventAttributeValue:
      allOf:
        - $ref: '#/components/schemas/EventAttributeValue'
        - required:
            - values
          type: object
          properties:
            values:
              type: array
              items:
                type: integer
                format: int64
    StringArrayEventAttributeValue:
      allOf:
        - $ref: '#/components/schemas/EventAttributeValue'
        - required:
            - values
          type: object
          properties:
            values:
              type: array
              items:
                type: string
    TraceHttpSpanInfo:
      allOf:
        - $ref: '#/components/schemas/TraceSpanInfo'
        - type: object
          properties:
            method:
              pattern: ^(GET|HEAD|POST|PUT|DELETE|CONNECT|OPTIONS|TRACE)$
              type: string
              description: HTTP method of the request for the associated span.
              example: GET
            url:
              type: string
              description: >-
                URL of the request being handled in this span, in the standard
                URI format.
              example: https://domain.net/path/to?resource=here
            statusCode:
              type: integer
              description: HTTP response status code for the associated span.
              example: 200
    TraceDbSpanInfo:
      allOf:
        - $ref: '#/components/schemas/TraceSpanInfo'
        - type: object
          properties:
            dbType:
              type: string
              description: Database type.
              example: sql
            instance:
              type: string
              description: >-
                Database instance name, e.g. in java, if
                jdbc.url="jdbc:mysql://127.0.0.1:3306/customers", the instance
                name is "customers".
              example: customers
            statement:
              type: string
              description: Database statement for the given database type.
              example: SELECT * FROM user_table
    TraceMessageBusSpanInfo:
      allOf:
        - $ref: '#/components/schemas/TraceSpanInfo'
        - type: object
          properties:
            destination:
              type: string
              description: >-
                An address at which messages can be exchanged e.g. a Kafka
                record has an associated "topic name" that can be stored using
                this tag.
              example: kafka.topic.name
    AlertsLibraryBase:
      required:
        - name
        - type
      type: object
      properties:
        name:
          type: string
          description: Name of the alert or folder.
        description:
          type: string
          description: Description of the alert or folder.
          default: ''
        type:
          type: string
          description: |-
            Type of the object model. Valid values:
              1) AlertsLibraryAlert
              2) AlertsLibraryFolder
        isLocked:
          type: boolean
          description: >-
            Locking/Unlocking requires the `LockAlerts` capability. Locked
            objects can only be `Localized`. Updating or moving requires
            unlocking the object. Locking/Unlocking recursively locks all of the
            objects children. All children of a locked object must be locked.
          default: false
      discriminator:
        propertyName: type
    AlertsLibraryBaseUpdate:
      required:
        - name
        - type
        - version
      type: object
      properties:
        name:
          type: string
          description: The name of the alert or folder.
        description:
          type: string
          description: The description of the alert or folder.
          default: ''
        version:
          type: integer
          description: The version of the alert or folder.
          format: int64
        type:
          type: string
          description: Type of the object model.
      discriminator:
        propertyName: type
    AlertsLibraryBaseResponse:
      required:
        - contentType
        - createdAt
        - createdBy
        - description
        - id
        - isMutable
        - isSystem
        - modifiedAt
        - modifiedBy
        - name
        - parentId
        - type
        - version
      type: object
      properties:
        id:
          type: string
          description: Identifier of the alert or folder.
        name:
          type: string
          description: Identifier of the alert or folder.
        description:
          type: string
          description: Description of the alert or folder.
        version:
          type: integer
          description: Version of the alert or folder.
          format: int64
        createdAt:
          type: string
          description: >-
            Creation timestamp in UTC in
            [RFC3339](https://tools.ietf.org/html/rfc3339) format.
          format: date-time
        createdBy:
          type: string
          description: Identifier of the user who created the resource.
        modifiedAt:
          type: string
          description: Last modification timestamp in UTC.
          format: date-time
        modifiedBy:
          type: string
          description: Identifier of the user who last modified the resource.
        parentId:
          type: string
          description: Identifier of the parent folder.
        contentType:
          type: string
          description: |-
            Type of the content. Valid values:
              1) Alert
              2) Folder
        type:
          type: string
          description: Type of the object model.
        isLocked:
          type: boolean
          description: Whether the object is locked.
        isSystem:
          type: boolean
          description: >-
            System objects are objects provided by Sumo Logic. System objects
            can only be localized. Non-local fields can't be updated.
        isMutable:
          type: boolean
          description: Immutable objects are "READ-ONLY".
      discriminator:
        propertyName: type
    AlertsLibraryFolder:
      allOf:
        - $ref: '#/components/schemas/AlertsLibraryBase'
    AlertsLibraryFolderUpdate:
      allOf:
        - $ref: '#/components/schemas/AlertsLibraryBaseUpdate'
    AlertsLibraryFolderResponse:
      allOf:
        - $ref: '#/components/schemas/AlertsLibraryBaseResponse'
        - required:
            - children
          type: object
          properties:
            children:
              type: array
              description: >-
                Children of the folder. NOTE: Permissions field will not be
                filled (empty list) for children.
              items:
                $ref: '#/components/schemas/AlertsLibraryBaseResponse'
    AlertsLibraryBaseExport:
      required:
        - name
        - type
      type: object
      properties:
        name:
          type: string
          description: Name of the alert or folder.
        description:
          type: string
          description: Description of the alert or folder.
        type:
          type: string
          description: Type of the object model.
      discriminator:
        propertyName: type
    AlertsLibraryFolderExport:
      allOf:
        - $ref: '#/components/schemas/AlertsLibraryBaseExport'
        - type: object
          properties:
            children:
              type: array
              description: >-
                The items in the folder. A multi-type list of types alert or
                folder.
              items:
                $ref: '#/components/schemas/AlertsLibraryBaseExport'
    AlertsLibraryAlert:
      allOf:
        - $ref: '#/components/schemas/AlertsLibraryBase'
        - type: object
          properties:
            monitorId:
              type: string
              description: The Id of the associated monitor.
              example: 000000000000003C
            resolvedAt:
              type: string
              description: The time at which the alert was resolved.
              format: date-time
              nullable: true
              example: '2018-10-16T10:10:00Z'
            abnormalityStartTime:
              type: string
              description: The time at which the incident started.
              format: date-time
              example: '2018-10-16T09:10:00Z'
            alertType:
              pattern: ^(Critical|Warning|MissingData)$
              type: string
              description: |-
                The severity of the Alert. Valid values:
                  1. `Critical`
                  2. `Warning`
                  3. `MissingData`
              example: Warning
              x-pattern-message: should be either 'Critical', 'Warning' or 'MissingData'
            status:
              pattern: ^(Triggered|Resolved)$
              type: string
              description: |-
                The status of the Alert. Valid values:
                  1. `Triggered`
                  2. `Resolved`
              example: Triggered
              x-pattern-message: should be either 'Triggered' or 'Resolved'
            monitorQueries:
              type: array
              description: All queries from the monitor relevant to the alert.
              items:
                $ref: '#/components/schemas/AlertMonitorQuery'
            triggerQueries:
              type: array
              description: >-
                All queries from the monitor relevant to the alert with
                triggered time series filters.
              items:
                $ref: '#/components/schemas/AlertMonitorQuery'
            monitorUrl:
              type: string
              description: URL for this monitor's view page
            triggerQueryUrl:
              type: string
              description: A link to search with the triggering data and time range
            triggerConditions:
              type: array
              description: Trigger conditions which were breached to create this Alert.
              example:
                - detectionMethod: StaticCondition
                  timeRange: 15m
                  triggerType: Critical
                  threshold: 50
                  thresholdType: GreaterThanOrEqual
                  occurrenceType: ResultCount
                  triggerSource: AllResults
                - detectionMethod: StaticCondition
                  timeRange: 15m
                  triggerType: ResolvedCritical
                  threshold: 50
                  thresholdType: LessThan
                  occurrenceType: ResultCount
                  triggerSource: AllResults
              items:
                $ref: '#/components/schemas/TriggerCondition'
            triggerValue:
              type: number
              description: The of the query result which breached the trigger condition.
              format: double
              example: 99.9
            monitorType:
              pattern: ^(Logs|Metrics)$
              type: string
              description: |-
                The type of monitor. Valid values:
                  1. `Logs`: A logs query monitor.
                  2. `Metrics`: A metrics query monitor.
              example: Logs
              x-pattern-message: should be either 'Logs' or 'Metrics'
            entityIds:
              maxItems: 10000
              minItems: 0
              type: array
              description: One or more entity identifiers involved in this Alert.
              items:
                maxLength: 32
                minLength: 1
                type: string
                example: 0000000006743FDD
            notes:
              type: string
              example: >-
                High CPU is often fixed by scaling up the cluster. <link to
                scale up cluster>
            extraDetails:
              $ref: '#/components/schemas/ExtraDetails'
            alertCondition:
              type: string
              description: The condition which triggered this alert.
              nullable: true
              example: >-
                Metric value greater than or equal to 100.0 for all of the last
                5 minutes.
    AlertsLibraryAlertResponse:
      allOf:
        - $ref: '#/components/schemas/AlertsLibraryBaseResponse'
        - type: object
          properties:
            monitorId:
              type: string
              description: The Id of the associated monitor.
              example: 000000000000003C
            resolvedAt:
              type: string
              description: The time at which the alert was resolved.
              format: date-time
              nullable: true
              example: '2018-10-16T10:10:00Z'
            abnormalityStartTime:
              type: string
              description: The time at which the incident started.
              format: date-time
              example: '2018-10-16T09:10:00Z'
            alertType:
              pattern: ^(Critical|Warning|MissingData)$
              type: string
              description: |-
                The severity of the Alert. Valid values:
                  1. `Critical`
                  2. `Warning`
                  3. `MissingData`
              example: Warning
              x-pattern-message: should be either 'Critical', 'Warning' or 'MissingData'
            status:
              pattern: ^(Triggered|Resolved)$
              type: string
              description: |-
                The status of the Alert. Valid values:
                  1. `Triggered`
                  2. `Resolved`
              example: Triggered
              x-pattern-message: should be either 'Triggered' or 'Resolved'
            monitorQueries:
              type: array
              description: All queries from the monitor relevant to the alert.
              items:
                $ref: '#/components/schemas/AlertMonitorQuery'
            triggerQueries:
              type: array
              description: >-
                All queries from the monitor relevant to the alert with
                triggered time series filters.
              items:
                $ref: '#/components/schemas/AlertMonitorQuery'
            monitorUrl:
              type: string
              description: URL for this monitor's view page
            triggerQueryUrl:
              type: string
              description: A link to search with the triggering data and time range
            triggerConditions:
              type: array
              description: Trigger conditions which were breached to create this Alert.
              example:
                - detectionMethod: StaticCondition
                  timeRange: 15m
                  triggerType: Critical
                  threshold: 50
                  thresholdType: GreaterThanOrEqual
                  occurrenceType: ResultCount
                  triggerSource: AllResults
                - detectionMethod: StaticCondition
                  timeRange: 15m
                  triggerType: ResolvedCritical
                  threshold: 50
                  thresholdType: LessThan
                  occurrenceType: ResultCount
                  triggerSource: AllResults
              items:
                $ref: '#/components/schemas/TriggerCondition'
            triggerValue:
              type: number
              description: The of the query result which breached the trigger condition.
              format: double
              example: 99.9
            monitorType:
              pattern: ^(Logs|Metrics)$
              type: string
              description: |-
                The type of monitor. Valid values:
                  1. `Logs`: A logs query monitor.
                  2. `Metrics`: A metrics query monitor.
              example: Logs
              x-pattern-message: should be either 'Logs' or 'Metrics'
            entityIds:
              maxItems: 10000
              minItems: 0
              type: array
              description: One or more entity identifiers involved in this Alert.
              items:
                maxLength: 32
                minLength: 1
                type: string
                example: 0000000006743FDD
            notes:
              type: string
              example: >-
                High CPU is often fixed by scaling up the cluster. <link to
                scale up cluster>
            extraDetails:
              $ref: '#/components/schemas/ExtraDetails'
            alertCondition:
              type: string
              description: The condition which triggered this alert.
              nullable: true
              example: >-
                Metric value greater than or equal to 100.0 for all of the last
                5 minutes.
    AlertsLibraryAlertExport:
      allOf:
        - $ref: '#/components/schemas/AlertsLibraryBaseExport'
        - type: object
          properties:
            monitorId:
              type: string
              description: The Id of the associated monitor.
              example: 000000000000003C
            resolvedAt:
              type: string
              description: The time at which the alert was resolved.
              format: date-time
              nullable: true
              example: '2018-10-16T10:10:00Z'
            abnormalityStartTime:
              type: string
              description: The time at which the incident started.
              format: date-time
              example: '2018-10-16T09:10:00Z'
            alertType:
              pattern: ^(Critical|Warning|MissingData)$
              type: string
              description: |-
                The severity of the Alert. Valid values:
                  1. `Critical`
                  2. `Warning`
                  3. `MissingData`
              example: Warning
              x-pattern-message: should be either 'Critical', 'Warning' or 'MissingData'
            status:
              pattern: ^(Triggered|Resolved)$
              type: string
              description: |-
                The status of the Alert. Valid values:
                  1. `Triggered`
                  2. `Resolved`
              example: Triggered
              x-pattern-message: should be either 'Triggered' or 'Resolved'
            monitorQueries:
              type: array
              description: All queries from the monitor relevant to the alert.
              items:
                $ref: '#/components/schemas/AlertMonitorQuery'
            triggerQueries:
              type: array
              description: >-
                All queries from the monitor relevant to the alert with
                triggered time series filters.
              items:
                $ref: '#/components/schemas/AlertMonitorQuery'
            monitorUrl:
              type: string
              description: URL for this monitor's view page
            triggerQueryUrl:
              type: string
              description: A link to search with the triggering data and time range
            triggerConditions:
              type: array
              description: Trigger conditions which were breached to create this Alert.
              example:
                - detectionMethod: StaticCondition
                  timeRange: 15m
                  triggerType: Critical
                  threshold: 50
                  thresholdType: GreaterThanOrEqual
                  occurrenceType: ResultCount
                  triggerSource: AllResults
                - detectionMethod: StaticCondition
                  timeRange: 15m
                  triggerType: ResolvedCritical
                  threshold: 50
                  thresholdType: LessThan
                  occurrenceType: ResultCount
                  triggerSource: AllResults
              items:
                $ref: '#/components/schemas/TriggerCondition'
            triggerValue:
              type: number
              description: The of the query result which breached the trigger condition.
              format: double
              example: 99.9
            monitorType:
              pattern: ^(Logs|Metrics)$
              type: string
              description: |-
                The type of monitor. Valid values:
                  1. `Logs`: A logs query monitor.
                  2. `Metrics`: A metrics query monitor.
              example: Logs
              x-pattern-message: should be either 'Logs' or 'Metrics'
            entityIds:
              maxItems: 10000
              minItems: 0
              type: array
              description: One or more entity identifiers involved in this Alert.
              items:
                maxLength: 32
                minLength: 1
                type: string
                example: 0000000006743FDD
            notes:
              type: string
              example: >-
                High CPU is often fixed by scaling up the cluster. <link to
                scale up cluster>
            extraDetails:
              $ref: '#/components/schemas/ExtraDetails'
            alertCondition:
              type: string
              description: The condition which triggered this alert.
              nullable: true
              example: >-
                Metric value greater than or equal to 100.0 for all of the last
                5 minutes.
    AlertsLibraryAlertUpdate:
      allOf:
        - $ref: '#/components/schemas/AlertsLibraryBaseUpdate'
        - type: object
          properties:
            monitorId:
              type: string
              description: The Id of the associated monitor.
              example: 000000000000003C
            resolvedAt:
              type: string
              description: The time at which the alert was resolved.
              format: date-time
              nullable: true
              example: '2018-10-16T10:10:00Z'
            abnormalityStartTime:
              type: string
              description: The time at which the incident started.
              format: date-time
              example: '2018-10-16T09:10:00Z'
            alertType:
              pattern: ^(Critical|Warning|MissingData)$
              type: string
              description: |-
                The severity of the Alert. Valid values:
                  1. `Critical`
                  2. `Warning`
                  3. `MissingData`
              example: Warning
              x-pattern-message: should be either 'Critical', 'Warning' or 'MissingData'
            status:
              pattern: ^(Triggered|Resolved)$
              type: string
              description: |-
                The status of the Alert. Valid values:
                  1. `Triggered`
                  2. `Resolved`
              example: Triggered
              x-pattern-message: should be either 'Triggered' or 'Resolved'
            monitorQueries:
              type: array
              description: All queries from the monitor relevant to the alert.
              items:
                $ref: '#/components/schemas/AlertMonitorQuery'
            triggerQueries:
              type: array
              description: >-
                All queries from the monitor relevant to the alert with
                triggered time series filters.
              items:
                $ref: '#/components/schemas/AlertMonitorQuery'
            monitorUrl:
              type: string
              description: URL for this monitor's view page
            triggerQueryUrl:
              type: string
              description: A link to search with the triggering data and time range
            triggerConditions:
              type: array
              description: Trigger conditions which were breached to create this Alert.
              example:
                - detectionMethod: StaticCondition
                  timeRange: 15m
                  triggerType: Critical
                  threshold: 50
                  thresholdType: GreaterThanOrEqual
                  occurrenceType: ResultCount
                  triggerSource: AllResults
                - detectionMethod: StaticCondition
                  timeRange: 15m
                  triggerType: ResolvedCritical
                  threshold: 50
                  thresholdType: LessThan
                  occurrenceType: ResultCount
                  triggerSource: AllResults
              items:
                $ref: '#/components/schemas/TriggerCondition'
            triggerValue:
              type: number
              description: The of the query result which breached the trigger condition.
              format: double
              example: 99.9
            monitorType:
              pattern: ^(Logs|Metrics)$
              type: string
              description: |-
                The type of monitor. Valid values:
                  1. `Logs`: A logs query monitor.
                  2. `Metrics`: A metrics query monitor.
              example: Logs
              x-pattern-message: should be either 'Logs' or 'Metrics'
            entityIds:
              maxItems: 10000
              minItems: 0
              type: array
              description: One or more entity identifiers involved in this Alert.
              items:
                maxLength: 32
                minLength: 1
                type: string
                example: 0000000006743FDD
            notes:
              type: string
              example: >-
                High CPU is often fixed by scaling up the cluster. <link to
                scale up cluster>
            extraDetails:
              $ref: '#/components/schemas/ExtraDetails'
            alertCondition:
              type: string
              description: The condition which triggered this alert.
              nullable: true
              example: >-
                Metric value greater than or equal to 100.0 for all of the last
                5 minutes.
    AlertMonitorQuery:
      allOf:
        - $ref: '#/components/schemas/MonitorQuery'
        - required:
            - isTriggerRow
          type: object
          properties:
            isTriggerRow:
              type: boolean
              description: Indicates whether the current row is the trigger (final) row.
              example: false
          description: Monitor Query for the Alert.
    ExtraDetails:
      type: object
      properties:
        details:
          type: array
          items:
            $ref: '#/components/schemas/KeyValuePair'
    KeyValuePair:
      properties:
        key:
          type: string
          description: Name of the key.
          example: cluster
        value:
          type: string
          description: Value of the key.
          example: cluster1
    MonitorsLibraryBase:
      required:
        - name
        - type
      type: object
      properties:
        name:
          type: string
          description: Name of the monitor or folder.
        description:
          type: string
          description: Description of the monitor or folder.
          default: ''
        type:
          type: string
          description: |-
            Type of the object model. Valid values:
              1) MonitorsLibraryMonitor
              2) MonitorsLibraryFolder
      discriminator:
        propertyName: type
    MonitorsLibraryBaseUpdate:
      required:
        - name
        - type
        - version
      type: object
      properties:
        name:
          type: string
          description: The name of the monitor or folder.
        description:
          type: string
          description: The description of the monitor or folder.
          default: ''
        version:
          type: integer
          description: The version of the monitor or folder.
          format: int64
        type:
          type: string
          description: Type of the object model.
      discriminator:
        propertyName: type
    MonitorsLibraryBaseResponse:
      required:
        - contentType
        - createdAt
        - createdBy
        - description
        - id
        - isMutable
        - isSystem
        - modifiedAt
        - modifiedBy
        - name
        - parentId
        - type
        - version
      type: object
      properties:
        id:
          type: string
          description: Identifier of the monitor or folder.
        name:
          type: string
          description: Identifier of the monitor or folder.
        description:
          type: string
          description: Description of the monitor or folder.
        version:
          type: integer
          description: Version of the monitor or folder.
          format: int64
        createdAt:
          type: string
          description: >-
            Creation timestamp in UTC in
            [RFC3339](https://tools.ietf.org/html/rfc3339) format.
          format: date-time
        createdBy:
          type: string
          description: Identifier of the user who created the resource.
        modifiedAt:
          type: string
          description: Last modification timestamp in UTC.
          format: date-time
        modifiedBy:
          type: string
          description: Identifier of the user who last modified the resource.
        parentId:
          type: string
          description: Identifier of the parent folder.
        contentType:
          type: string
          description: |-
            Type of the content. Valid values:
              1) Monitor
              2) Folder
        type:
          type: string
          description: Type of the object model.
        isSystem:
          type: boolean
          description: >-
            System objects are objects provided by Sumo Logic. System objects
            can only be localized. Non-local fields can't be updated.
        isMutable:
          type: boolean
          description: Immutable objects are "READ-ONLY".
        permissions:
          type: array
          description: >-
            Aggregated permission summary for the calling user. If detailed
            permission statements are required, please call list permissions
            endpoint.
          example:
            - Read
            - Delete
          items:
            type: string
      discriminator:
        propertyName: type
    MonitorsLibraryFolder:
      allOf:
        - $ref: '#/components/schemas/MonitorsLibraryBase'
    MonitorsLibraryFolderUpdate:
      allOf:
        - $ref: '#/components/schemas/MonitorsLibraryBaseUpdate'
    MonitorsLibraryFolderResponse:
      allOf:
        - $ref: '#/components/schemas/MonitorsLibraryBaseResponse'
        - required:
            - children
            - permissions
          type: object
          properties:
            permissions:
              type: array
              description: >-
                Aggregated permission summary for the calling user. If detailed
                permission statements are required, please call list permissions
                endpoint.
              example:
                - Read
                - Delete
              items:
                type: string
            children:
              type: array
              description: >-
                Children of the folder. NOTE: Permissions field will not be
                filled (empty list) for children.
              items:
                $ref: '#/components/schemas/MonitorsLibraryBaseResponse'
    MonitorsLibraryBaseExport:
      required:
        - name
        - type
      type: object
      properties:
        name:
          type: string
          description: Name of the monitor or folder.
        description:
          type: string
          description: Description of the monitor or folder.
        type:
          type: string
          description: Type of the object model.
      discriminator:
        propertyName: type
    MonitorsLibraryFolderExport:
      allOf:
        - $ref: '#/components/schemas/MonitorsLibraryBaseExport'
        - type: object
          properties:
            children:
              type: array
              description: >-
                The items in the folder. A multi-type list of types monitor or
                folder.
              items:
                $ref: '#/components/schemas/MonitorsLibraryBaseExport'
    MonitorsLibraryMonitor:
      allOf:
        - $ref: '#/components/schemas/MonitorsLibraryBase'
        - required:
            - monitorType
            - queries
            - triggers
          type: object
          properties:
            monitorType:
              pattern: ^(Logs|Metrics|Slo)$
              type: string
              description: |-
                The type of monitor. Valid values:
                  1. `Logs`: A logs query monitor.
                  2. `Metrics`: A metrics query monitor.
                  3. `Slo`: A SLO based monitor. Currently SLO based monitor is available in closed beta (Notify your Sumo Logic representative in order to get the early access).
              example: Logs
              x-pattern-message: should be 'Logs' or 'Metrics' or 'Slo'
            evaluationDelay:
              type: string
              description: >-
                The delay duration for evaluating the monitor (relative to
                current time). The timerange of monitor will be shifted in the
                past by this delay time.
              example: 5m
              default: 0m
            alertName:
              type: string
              description: >-
                The name of the alert(s) triggered from this monitor. Monitor
                name will be used if not specified.
            queries:
              uniqueItems: true
              type: array
              description: All queries from the monitor.
              items:
                $ref: '#/components/schemas/MonitorQuery'
            triggers:
              type: array
              description: Defines the conditions of when to send notifications.
              example:
                - detectionMethod: StaticCondition
                  timeRange: 15m
                  triggerType: Critical
                  threshold: 50
                  thresholdType: GreaterThanOrEqual
                  occurrenceType: ResultCount
                  triggerSource: AllResults
                - detectionMethod: StaticCondition
                  timeRange: 15m
                  triggerType: ResolvedCritical
                  threshold: 50
                  thresholdType: LessThan
                  occurrenceType: ResultCount
                  triggerSource: AllResults
              items:
                $ref: '#/components/schemas/TriggerCondition'
            notifications:
              type: array
              description: >-
                The notifications the monitor will send when the respective
                trigger condition is met.
              example:
                - notification:
                    connectionType: Slack
                    connectionId: '0000000000000005'
                  runForTriggerTypes:
                    - Critical
                - notification:
                    connectionType: Email
                    messageBody: Alert Triggered!
                    recipients:
                      - john@doe.com
                    subject: 'Monitor Alert: {{TriggerType}} on {{SearchName}}'
                    timeZone: America/Los_Angeles
                  runForTriggerTypes:
                    - Critical
              items:
                $ref: '#/components/schemas/MonitorNotification'
              default: []
            isDisabled:
              type: boolean
              description: >-
                Whether or not the monitor is disabled. Disabled monitors will
                not run, and will not generate or send notifications.
              example: false
              default: false
            groupNotifications:
              type: boolean
              description: >-
                Whether or not to group notifications for individual items that
                meet the trigger condition.
              example: true
              default: true
            playbook:
              maxLength: 4096
              type: string
              description: >-
                Notes such as links and instruction to help you resolve alerts
                triggered by this monitor. {{Markdown}} supported. It will be
                enabled only if available for your organization. Please contact
                your Sumo Logic account team to learn more.
              example: >-
                This issue typically happens when database calls are timing out.
                Look at ServiceA's dashboard to investigate further
              default: ''
    MonitorsLibraryMonitorResponse:
      allOf:
        - $ref: '#/components/schemas/MonitorsLibraryBaseResponse'
        - required:
            - monitorType
            - queries
            - triggers
          type: object
          properties:
            monitorType:
              pattern: ^(Logs|Metrics|Slo)$
              type: string
              description: |-
                The type of monitor. Valid values:
                  1. `Logs`: A logs query monitor.
                  2. `Metrics`: A metrics query monitor.
                  3. `Slo`: A SLO based monitor. Currently SLO based monitor is available in closed beta (Notify your Sumo Logic representative in order to get the early access).
              example: Logs
              x-pattern-message: should be 'Logs' or 'Metrics' or 'Slo'
            evaluationDelay:
              type: string
              description: >-
                The delay duration for evaluating the monitor (relative to
                current time). The timerange of monitor will be shifted in the
                past by this delay time.
              example: 5m
              default: 0m
            alertName:
              type: string
              description: >-
                The name of the alert(s) triggered from this monitor. Monitor
                name will be used if not specified.
            queries:
              uniqueItems: true
              type: array
              description: All queries from the monitor.
              items:
                $ref: '#/components/schemas/MonitorQuery'
            triggers:
              type: array
              description: Defines the conditions of when to send notifications.
              example:
                - detectionMethod: StaticCondition
                  timeRange: 15m
                  triggerType: Critical
                  threshold: 50
                  thresholdType: GreaterThanOrEqual
                  occurrenceType: ResultCount
                  triggerSource: AllResults
                - detectionMethod: StaticCondition
                  timeRange: 15m
                  triggerType: ResolvedCritical
                  threshold: 50
                  thresholdType: LessThan
                  occurrenceType: ResultCount
                  triggerSource: AllResults
              items:
                $ref: '#/components/schemas/TriggerCondition'
            notifications:
              type: array
              description: >-
                The notifications the monitor will send when the respective
                trigger condition is met.
              example:
                - notification:
                    connectionType: Slack
                    connectionId: '0000000000000005'
                  runForTriggerTypes:
                    - Critical
                - notification:
                    connectionType: Email
                    messageBody: Alert Triggered!
                    recipients:
                      - john@doe.com
                    subject: 'Monitor Alert: {{TriggerType}} on {{SearchName}}'
                    timeZone: America/Los_Angeles
                  runForTriggerTypes:
                    - Critical
              items:
                $ref: '#/components/schemas/MonitorNotification'
              default: []
            isDisabled:
              type: boolean
              description: >-
                Whether or not the monitor is disabled. Disabled monitors will
                not run, and will not generate or send notifications.
              example: false
              default: false
            status:
              uniqueItems: true
              type: array
              description: >-
                The current status of the monitor. Each monitor can have one or
                more status values. Valid values:
                  1. `Normal`: The monitor is running normally and does not have any currently triggered conditions.
                  2. `Critical`: The Critical trigger condition has been met.
                  3. `Warning`: The Warning trigger condition has been met.
                  4. `MissingData`: The MissingData trigger condition has been met.
                  5. `Disabled`: The monitor has been disabled and is not currently running.
              example: '[Normal]'
              items:
                type: string
            groupNotifications:
              type: boolean
              description: >-
                Whether or not to group notifications for individual items that
                meet the trigger condition.
              example: true
              default: true
            warnings:
              type: object
              additionalProperties:
                type: string
              description: Monitor manager warnings
            playbook:
              maxLength: 4096
              type: string
              description: >-
                Notes such as links and instruction to help you resolve alerts
                triggered by this monitor. {{Markdown}} supported. It will be
                enabled only if available for your organization. Please contact
                your Sumo Logic account team to learn more.
              example: >-
                This issue typically happens when database calls are timing out.
                Look at ServiceA's dashboard to investigate further
              default: ''
    MonitorsLibraryMonitorExport:
      allOf:
        - $ref: '#/components/schemas/MonitorsLibraryBaseExport'
        - required:
            - monitorType
            - queries
            - triggers
          type: object
          properties:
            monitorType:
              pattern: ^(Logs|Metrics|Slo)$
              type: string
              description: |-
                The type of monitor. Valid values:
                  1. `Logs`: A logs query monitor.
                  2. `Metrics`: A metrics query monitor.
                  3. `Slo`: A SLO based monitor. Currently SLO based monitor is available in closed beta (Notify your Sumo Logic representative in order to get the early access).
              example: Logs
              x-pattern-message: should be 'Logs' or 'Metrics' or 'Slo'
            evaluationDelay:
              type: string
              description: >-
                The delay duration for evaluating the monitor (relative to
                current time). The timerange of monitor will be shifted in the
                past by this delay time.
              example: 5m
              default: 0m
            alertName:
              type: string
              description: >-
                The name of the alert(s) triggered from this monitor. Monitor
                name will be used if not specified.
            queries:
              uniqueItems: true
              type: array
              description: All queries from the monitor.
              items:
                $ref: '#/components/schemas/MonitorQuery'
            triggers:
              type: array
              description: Defines the conditions of when to send notifications.
              example:
                - detectionMethod: StaticCondition
                  timeRange: 15m
                  triggerType: Critical
                  threshold: 50
                  thresholdType: GreaterThanOrEqual
                  occurrenceType: ResultCount
                  triggerSource: AllResults
                - detectionMethod: StaticCondition
                  timeRange: 15m
                  triggerType: ResolvedCritical
                  threshold: 50
                  thresholdType: LessThan
                  occurrenceType: ResultCount
                  triggerSource: AllResults
              items:
                $ref: '#/components/schemas/TriggerCondition'
            notifications:
              type: array
              description: >-
                The notifications the monitor will send when the respective
                trigger condition is met.
              example:
                - notification:
                    connectionType: Slack
                    connectionId: '0000000000000005'
                  runForTriggerTypes:
                    - Critical
                - notification:
                    connectionType: Email
                    messageBody: Alert Triggered!
                    recipients:
                      - john@doe.com
                    subject: 'Monitor Alert: {{TriggerType}} on {{SearchName}}'
                    timeZone: America/Los_Angeles
                  runForTriggerTypes:
                    - Critical
              items:
                $ref: '#/components/schemas/MonitorNotification'
              default: []
            isDisabled:
              type: boolean
              description: >-
                Whether or not the monitor is disabled. Disabled monitors will
                not run, and will not generate or send notifications.
              example: false
              default: false
            groupNotifications:
              type: boolean
              description: >-
                Whether or not to group notifications for individual items that
                meet the trigger condition.
              example: true
              default: true
            playbook:
              maxLength: 4096
              type: string
              description: >-
                Notes such as links and instruction to help you resolve alerts
                triggered by this monitor. {{Markdown}} supported. It will be
                enabled only if available for your organization. Please contact
                your Sumo Logic account team to learn more.
              example: >-
                This issue typically happens when database calls are timing out.
                Look at ServiceA's dashboard to investigate further
              default: ''
    MonitorsLibraryMonitorUpdate:
      allOf:
        - $ref: '#/components/schemas/MonitorsLibraryBaseUpdate'
        - required:
            - monitorType
            - queries
            - triggers
          type: object
          properties:
            monitorType:
              pattern: ^(Logs|Metrics|Slo)$
              type: string
              description: |-
                The type of monitor. Valid values:
                  1. `Logs`: A logs query monitor.
                  2. `Metrics`: A metrics query monitor.
                  3. `Slo`: A SLO based monitor. Currently SLO based monitor is available in closed beta (Notify your Sumo Logic representative in order to get the early access).
              example: Logs
              x-pattern-message: should be 'Logs' or 'Metrics' or 'Slo'
            evaluationDelay:
              type: string
              description: >-
                The delay duration for evaluating the monitor (relative to
                current time). The timerange of monitor will be shifted in the
                past by this delay time.
              example: 5m
              default: 0m
            alertName:
              type: string
              description: >-
                The name of the alert(s) triggered from this monitor. Monitor
                name will be used if not specified.
            queries:
              uniqueItems: true
              type: array
              description: All queries from the monitor.
              items:
                $ref: '#/components/schemas/MonitorQuery'
            triggers:
              type: array
              description: Defines the conditions of when to send notifications.
              example:
                - detectionMethod: StaticCondition
                  timeRange: 15m
                  triggerType: Critical
                  threshold: 50
                  thresholdType: GreaterThanOrEqual
                  occurrenceType: ResultCount
                  triggerSource: AllResults
                - detectionMethod: StaticCondition
                  timeRange: 15m
                  triggerType: ResolvedCritical
                  threshold: 50
                  thresholdType: LessThan
                  occurrenceType: ResultCount
                  triggerSource: AllResults
              items:
                $ref: '#/components/schemas/TriggerCondition'
            notifications:
              type: array
              description: >-
                The notifications the monitor will send when the respective
                trigger condition is met.
              example:
                - notification:
                    connectionType: Slack
                    connectionId: '0000000000000005'
                  runForTriggerTypes:
                    - Critical
                - notification:
                    connectionType: Email
                    messageBody: Alert Triggered!
                    recipients:
                      - john@doe.com
                    subject: 'Monitor Alert: {{TriggerType}} on {{SearchName}}'
                    timeZone: America/Los_Angeles
                  runForTriggerTypes:
                    - Critical
              items:
                $ref: '#/components/schemas/MonitorNotification'
              default: []
            isDisabled:
              type: boolean
              description: >-
                Whether or not the monitor is disabled. Disabled monitors will
                not run, and will not generate or send notifications.
              example: false
              default: false
            groupNotifications:
              type: boolean
              description: >-
                Whether or not to group notifications for individual items that
                meet the trigger condition.
              example: true
              default: true
            playbook:
              maxLength: 4096
              type: string
              description: >-
                Notes such as links and instruction to help you resolve alerts
                triggered by this monitor. {{Markdown}} supported. It will be
                enabled only if available for your organization. Please contact
                your Sumo Logic account team to learn more.
              example: >-
                This issue typically happens when database calls are timing out.
                Look at ServiceA's dashboard to investigate further
              default: ''
    MonitorNotification:
      required:
        - notification
        - runForTriggerTypes
      type: object
      properties:
        notification:
          $ref: '#/components/schemas/Action'
        runForTriggerTypes:
          uniqueItems: true
          type: array
          description: The trigger types assigned to send this notification.
          items:
            type: string
    RunAs:
      required:
        - runAsId
      type: object
      properties:
        runAsId:
          type: string
          description: >-
            The runAsId indicates the context in which monitors will run. If not
            provided, then it will run in the context of the monitor author.
          example: 00000000000001DF
    SlosLibraryBase:
      required:
        - name
        - type
      type: object
      properties:
        name:
          type: string
          description: Name of the slo or folder.
        description:
          type: string
          description: Description of the slo or folder.
          default: ''
        type:
          type: string
          description: |-
            Type of the object model. Valid values:
              1) SlosLibrarySlo
              2) SlosLibraryFolder
      discriminator:
        propertyName: type
    SlosLibraryBaseUpdate:
      required:
        - name
        - type
        - version
      type: object
      properties:
        name:
          type: string
          description: The name of the slo or folder.
        description:
          type: string
          description: The description of the slo or folder.
          default: ''
        version:
          type: integer
          description: The version of the slo or folder.
          format: int64
        type:
          type: string
          description: Type of the object model.
      discriminator:
        propertyName: type
    SlosLibraryBaseResponse:
      required:
        - contentType
        - createdAt
        - createdBy
        - description
        - id
        - isMutable
        - isSystem
        - modifiedAt
        - modifiedBy
        - name
        - parentId
        - type
        - version
      type: object
      properties:
        id:
          type: string
          description: Identifier of the slo or folder.
        name:
          type: string
          description: Identifier of the slo or folder.
        description:
          type: string
          description: Description of the slo or folder.
        version:
          type: integer
          description: Version of the slo or folder.
          format: int64
        createdAt:
          type: string
          description: >-
            Creation timestamp in UTC in
            [RFC3339](https://tools.ietf.org/html/rfc3339) format.
          format: date-time
        createdBy:
          type: string
          description: Identifier of the user who created the resource.
        modifiedAt:
          type: string
          description: Last modification timestamp in UTC.
          format: date-time
        modifiedBy:
          type: string
          description: Identifier of the user who last modified the resource.
        parentId:
          type: string
          description: Identifier of the parent folder.
        contentType:
          type: string
          description: |-
            Type of the content. Valid values:
              1) Slo
              2) Folder
        type:
          type: string
          description: Type of the object model.
        isSystem:
          type: boolean
          description: >-
            System objects are objects provided by Sumo Logic. System objects
            can only be localized. Non-local fields can't be updated.
        isMutable:
          type: boolean
          description: Immutable objects are "READ-ONLY".
        permissions:
          type: array
          description: >-
            Aggregated permission summary for the calling user. If detailed
            permission statements are required, please call list permissions
            endpoint.
          example:
            - Read
            - Delete
          items:
            type: string
      discriminator:
        propertyName: type
    SlosLibraryFolder:
      allOf:
        - $ref: '#/components/schemas/SlosLibraryBase'
    SlosLibraryFolderUpdate:
      allOf:
        - $ref: '#/components/schemas/SlosLibraryBaseUpdate'
    SlosLibraryFolderResponse:
      allOf:
        - $ref: '#/components/schemas/SlosLibraryBaseResponse'
        - required:
            - children
            - permissions
          type: object
          properties:
            permissions:
              type: array
              description: >-
                Aggregated permission summary for the calling user. If detailed
                permission statements are required, please call list permissions
                endpoint.
              example:
                - Read
                - Delete
              items:
                type: string
            children:
              type: array
              description: >-
                Children of the folder. NOTE: Permissions field will not be
                filled (empty list) for children.
              items:
                $ref: '#/components/schemas/SlosLibraryBaseResponse'
    SlosLibraryBaseExport:
      required:
        - name
        - type
      type: object
      properties:
        name:
          type: string
          description: Name of the slo or folder.
        description:
          type: string
          description: Description of the slo or folder.
        type:
          type: string
          description: Type of the object model.
      discriminator:
        propertyName: type
    SlosLibraryFolderExport:
      allOf:
        - $ref: '#/components/schemas/SlosLibraryBaseExport'
        - type: object
          properties:
            children:
              type: array
              description: >-
                The items in the folder. A multi-type list of types slo or
                folder.
              items:
                $ref: '#/components/schemas/SlosLibraryBaseExport'
    SlosLibrarySlo:
      allOf:
        - $ref: '#/components/schemas/SlosLibraryBase'
        - type: object
          properties:
            signalType:
              pattern: ^(Latency|Error|Throughput|Availability|Other)$
              type: string
              description: >-
                Type of SLI Signal (latency, error, throughput, availability or
                other).
              example: Latency
              x-pattern-message: >-
                Must be `Latency`, `Error`, `Throughput`, `Availability` or
                `Other`
            compliance:
              $ref: '#/components/schemas/Compliance'
            indicator:
              $ref: '#/components/schemas/Sli'
            service:
              type: string
              description: Name of the service.
            application:
              type: string
              description: Name of the application.
    SlosLibrarySloResponse:
      allOf:
        - $ref: '#/components/schemas/SlosLibraryBaseResponse'
        - type: object
          properties:
            signalType:
              pattern: ^(Latency|Error|Throughput|Availability|Other)$
              type: string
              description: >-
                Type of SLI Signal (latency, error, throughput, availability or
                other).
              example: Latency
              x-pattern-message: >-
                Must be `Latency`, `Error`, `Throughput`, `Availability` or
                `Other`
            compliance:
              $ref: '#/components/schemas/Compliance'
            indicator:
              $ref: '#/components/schemas/Sli'
            service:
              type: string
              description: Name of the service.
            application:
              type: string
              description: Name of the application.
    SlosLibrarySloExport:
      allOf:
        - $ref: '#/components/schemas/SlosLibraryBaseExport'
        - type: object
          properties:
            signalType:
              pattern: ^(Latency|Error|Throughput|Availability|Other)$
              type: string
              description: >-
                Type of SLI Signal (latency, error, throughput, availability or
                other).
              example: Latency
              x-pattern-message: >-
                Must be `Latency`, `Error`, `Throughput`, `Availability` or
                `Other`
            compliance:
              $ref: '#/components/schemas/Compliance'
            indicator:
              $ref: '#/components/schemas/Sli'
            service:
              type: string
              description: Name of the service.
            application:
              type: string
              description: Name of the application.
    SlosLibrarySloUpdate:
      allOf:
        - $ref: '#/components/schemas/SlosLibraryBaseUpdate'
        - type: object
          properties:
            signalType:
              pattern: ^(Latency|Error|Throughput|Availability|Other)$
              type: string
              description: >-
                Type of SLI Signal (latency, error, throughput, availability or
                other).
              example: Latency
              x-pattern-message: >-
                Must be `Latency`, `Error`, `Throughput`, `Availability` or
                `Other`
            compliance:
              $ref: '#/components/schemas/Compliance'
            indicator:
              $ref: '#/components/schemas/Sli'
            service:
              type: string
              description: Name of the service.
            application:
              type: string
              description: Name of the application.
    Compliance:
      required:
        - complianceType
        - target
        - timezone
      type: object
      properties:
        complianceType:
          pattern: ^(Rolling|Calendar)$
          type: string
          description: Compliance Type (rolling or calendar)
          example: Rolling
          x-pattern-message: Must be `Rolling` or `Calendar`
        target:
          maximum: 100
          minimum: 0
          type: number
          description: Target value for SLI over compliance period.
          example: 99.5
        timezone:
          type: string
          description: >-
            Time zone for the SLO compliance. Follow the format in the [IANA
            Time Zone
            Database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List).
          example: America/Los_Angeles
      discriminator:
        propertyName: complianceType
        mapping:
          Rolling: '#/components/schemas/RollingCompliance'
          Calendar: '#/components/schemas/CalendarCompliance'
    CalendarCompliance:
      type: object
      description: Window for Calendar Compliance.
      allOf:
        - $ref: '#/components/schemas/Compliance'
        - required:
            - windowType
          type: object
          properties:
            windowType:
              pattern: ^(Week|Month|Quarter)$
              type: string
              description: Type of Calendar Window (week/month/quarter).
              example: Week
              x-pattern-message: Must be `Week`, `Month` or `Quarter`
            startFrom:
              type: string
              description: >-
                Start of the calendar window. For week, it would be the day of
                the week (for e.g Sunday, Monday etc). For month, it will always
                be the first day of the month. For quarter, it would be the
                first month of the quarter (for e.g January, February etc.)
              example: Monday
    RollingCompliance:
      type: object
      description: Window for Rolling Compliance.
      allOf:
        - $ref: '#/components/schemas/Compliance'
        - required:
            - size
          type: object
          properties:
            size:
              type: string
              description: >-
                Size of Rolling Window. Must be a multiple of days (minimum 1d,
                and maximum 14d)
              example: 7d
    Sli:
      required:
        - evaluationType
        - queries
        - queryType
      type: object
      properties:
        evaluationType:
          pattern: ^(Window|Request)$
          type: string
          description: >-
            Evaluate SLI using successful/total windows, or occurence of
            successful events over entire compliance period.
          example: Window
          x-pattern-message: Must be `Window` or `Request`
        queryType:
          pattern: ^(Logs|Metrics)$
          type: string
          description: Type of Raw Data Queries for SLI (logs/metrics).
          example: Logs
          x-pattern-message: Must be `Logs` or `Metrics`
        queries:
          type: array
          description: Queries for defining SLI.
          items:
            $ref: '#/components/schemas/SliQueryGroup'
      discriminator:
        propertyName: evaluationType
        mapping:
          Window: '#/components/schemas/WindowBasedSli'
          Request: '#/components/schemas/RequestBasedSli'
    SliQueryGroup:
      required:
        - queryGroup
        - queryGroupType
      type: object
      properties:
        queryGroupType:
          pattern: ^(Successful|Unsuccessful|Total|Threshold)$
          type: string
          description: Type of Query (successful/unsuccessful/total/threshold).
          example: Threshold
          x-pattern-message: Must be `Successful`, `Unsuccessful`, `Total` or `Threshold`
        queryGroup:
          maxItems: 6
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/SliQuery'
    SliQuery:
      required:
        - query
        - rowId
        - useRowCount
      type: object
      properties:
        rowId:
          type: string
          description: >-
            Unique id of the row. Used for query arithmetic, only for metric
            queries.
          example: A
        query:
          type: string
          description: Query String.
          example: _sourceCategory=webserver "Request completed successfully"
        useRowCount:
          type: boolean
          description: >-
            Determines whether to use count of rows (for logs) or data points
            (for metrics) in query result or specific field.
          example: false
        field:
          type: string
          description: >-
            Field of log query output to compare against. To be used only for
            logs based data type when `useRowCount` is false.
          example: request_latency
      description: Group of queries to allow for query arithmetic.
    RequestBasedSli:
      type: object
      description: >-
        Evaluate SLI using occurences of successful events over compliance
        period.
      allOf:
        - $ref: '#/components/schemas/Sli'
        - type: object
          properties:
            threshold:
              type: number
              description: >-
                Compared against threshold query's raw data points to determine
                success.
              example: 200
            op:
              pattern: ^(LessThan|GreaterThan|LessThanOrEqual|GreaterThanOrEqual)$
              type: string
              description: >-
                Comparison function with threshold
                (LessThan/GreaterThan/LessThanOrEqual/GreaterThanOrEqual).
              example: LessThan
              x-pattern-message: >-
                Must be `LessThan`, `GreaterThan`, `LessThanOrEqual` or
                `GreaterThanOrEqual`
    WindowBasedSli:
      type: object
      description: >-
        Evaluate SLI using successful or unsuccessful windows over compliance
        period.
      allOf:
        - $ref: '#/components/schemas/Sli'
        - required:
            - op
            - size
            - threshold
          type: object
          properties:
            threshold:
              type: number
              description: Threshold for classifying window as successful or unsuccessful.
              example: 200
            op:
              pattern: ^(LessThan|GreaterThan|LessThanOrEqual|GreaterThanOrEqual)$
              type: string
              description: >-
                Comparison function with window threshold
                (LessThan/GreaterThan/LessThanOrEqual/GreaterThanOrEqual).
              example: LessThan
              x-pattern-message: >-
                Must be `LessThan`, `GreaterThan`, `LessThanOrEqual` or
                `GreaterThanOrEqual`
            aggregation:
              pattern: ^(Avg|Min|Max|Sum|(p[5-9][0-9])(\.\d{1,3})?$)$
              type: string
              description: Aggregation function applied over each window to arrive at SLI.
              example: p99.95
              x-pattern-message: >-
                Must be `Avg`, `Min`, `Max`, `Sum`, or percentile of the form
                `pX` where `X` is a number up to three decimal places and
                50<=X<100
            size:
              type: string
              description: >-
                Size of the aggregation window (minimum of 1m and maximum of
                1h).
              example: 15m
    ListAppsResult:
      required:
        - apps
      type: object
      properties:
        apps:
          type: array
          description: An array of Apps
          items:
            $ref: '#/components/schemas/App'
      description: List of all available apps from the App Catalog.
    App:
      required:
        - appDefinition
        - appManifest
      type: object
      properties:
        appDefinition:
          $ref: '#/components/schemas/AppDefinition'
        appManifest:
          $ref: '#/components/schemas/AppManifest'
    AppDefinition:
      required:
        - appVersion
        - contentId
        - name
        - uuid
      type: object
      properties:
        contentId:
          type: string
          description: Content identifier of the app in hexadecimal format.
          example: 00000000000011AE
        uuid:
          type: string
          description: Unique identifier for the app.
          format: uuid
          example: 1c57fbc3-3141-4b12-aab3-5f40152bc3d9
        name:
          type: string
          description: Name of the app.
          example: Sumo Config
        appVersion:
          type: string
          description: Version of the app.
          example: '1.0'
        preview:
          type: boolean
          description: Indicates whether the app is in preview or not.
          example: true
        manifestVersion:
          type: string
          description: Manifest version of the app
          example: '0.1'
    AppManifest:
      required:
        - description
        - hoverText
        - iconURL
      type: object
      properties:
        family:
          type: string
          description: The app family
          example: IIS
        description:
          type: string
          description: Description of the app.
          example: A description for Sumo Logic Config App.
        categories:
          type: array
          description: Categories that the app belongs to.
          example:
            - Sumo Logic
            - Configuration
          items:
            type: string
        hoverText:
          type: string
          description: Text to be displayed when hovered over in UI.
          example: Sumo Config App
        iconURL:
          type: string
          description: App icon URL.
          example: https://sumologic-app-data.sumologic.com/icons/sumoconfig.png
        screenshotURLs:
          type: array
          description: App screenshot URLs.
          example:
            - >-
              https://sumologic-app-data.sumologic.com/icons/sumoconfig/overview.png
            - >-
              https://sumologic-app-data.sumologic.com/screenshots/sumoconfig/details.png
          items:
            type: string
        helpURL:
          type: string
          description: App help page URL.
          example: https://help.sumologic.com/
        helpDocIdMap:
          type: object
          additionalProperties:
            type: string
          description: the IDs of the docs pages for this app
        communityURL:
          type: string
          description: App community page URL.
          example: >-
            https://support.sumologic.com/hc/en-us/community/topics/200263058-Applications-and-Integrations
        requirements:
          type: array
          description: Requirements for the app.
          example: []
          items:
            type: string
        accountTypes:
          type: array
          description: Account types that are allowed to install the app
          example:
            - free
          items:
            type: string
        requiresInstallationInstructions:
          type: boolean
          description: Indicates whether installation instructions are required or not.
          example: false
        installationInstructions:
          type: string
          description: Installation instructions for the app.
          example: ''
        parameters:
          type: array
          description: Content identifier of the app.
          items:
            $ref: '#/components/schemas/ServiceManifestDataSourceParameter'
        author:
          type: string
          description: App author.
          example: Sumo Logic
        authorWebsite:
          type: string
          description: App author website URL.
          example: https://www.sumologic.com
    ServiceManifestDataSourceParameter:
      required:
        - parameterId
        - parameterType
      type: object
      properties:
        parameterType:
          pattern: ^DATA_SOURCE$
          type: string
          description: Parameter type.
          example: DATA_SOURCE
          x-pattern-message: 'Supported parameter types include: DATA_SOURCE'
        parameterId:
          type: string
          description: Parameter identifier.
          example: paramId1
        dataSourceType:
          pattern: ^(LOG|METRICS)$
          type: string
          description: Data source type.
          example: LOG
          x-pattern-message: 'Supported data source types include: LOG, METRICS'
        label:
          type: string
          description: Label.
          example: Log label
        description:
          type: string
          description: Description.
          example: Log data source
        example:
          type: string
          description: Example.
          example: ''
        hidden:
          type: boolean
          description: Should the UI display?
          default: false
    ErrorResponse:
      required:
        - errors
        - id
      type: object
      properties:
        id:
          type: string
          description: >-
            An identifier for the error; this is unique to the specific API
            request.
          example: IUUQI-DGH5I-TJ045
        errors:
          type: array
          description: A list of one or more causes of the error.
          example:
            - code: auth:password_too_short
              message: Your password was too short.
            - code: auth:password_character_classes
              message: Your password did not contain any non-alphanumeric characters
          items:
            $ref: '#/components/schemas/ErrorDescription'
    ErrorDescription:
      required:
        - code
        - message
      type: object
      properties:
        code:
          type: string
          description: An error code describing the type of error.
          example: auth:password_too_short
        message:
          type: string
          description: A short English-language description of the error.
          example: Your password was too short.
        detail:
          type: string
          description: An optional fuller English-language description of the error.
          example: >-
            Your password was 5 characters long, the minimum length is 12
            characters. See http://example.com/password for more information.
        meta:
          type: object
          description: An optional list of metadata about the error.
          example:
            minLength: 12
            actualLength: 5
    BeginAsyncJobResponse:
      required:
        - id
      type: object
      properties:
        id:
          type: string
          description: Identifier to get the status of an asynchronous job.
          example: C03E086C137F38B4
    AsyncJobStatus:
      required:
        - status
      type: object
      properties:
        status:
          type: string
          description: >-
            Whether or not the request is in progress (`InProgress`), has
            completed successfully (`Success`), or has completed with an error
            (`Failed`).
        statusMessage:
          type: string
          description: Additional status message generated if the status is not `Failed`.
        error:
          $ref: '#/components/schemas/ErrorDescription'
      example:
        status: Success
        statusMessage: ''
    AppItemsList:
      required:
        - items
      type: object
      properties:
        items:
          type: array
          description: Items associated with the app.
          items:
            $ref: '#/components/schemas/AppListItem'
    AppListItem:
      required:
        - itemType
        - name
      type: object
      properties:
        itemType:
          type: string
          description: >-
            Type of the item. Can be `Dashboard`, `Report`, `Search`,
            `ScheduledSearch`, `MetricsSearch` or `Folder`.
          example: Dashboard
        name:
          type: string
          description: Name of the item.
          example: AWS CloudTrail - Overview
        description:
          type: string
          description: Description of the item.
          example: >-
            See an overview of your AWS users, resources, network and security
            events.
        query:
          type: string
          description: >-
            Search query for the item. Applicable only for `Search`,
            `ScheduledSearch` and `MetricsSearch` itemType.
          example: _sourceCategory=aws
        screenshotUrl:
          type: string
          description: >-
            URL for the screenshot of the item. Applicable only for `Dashboard`
            and `Report` itemType.
          example: >-
            https://my-app-data.s3.amazonaws.com/dashboards/AWSCloudTrail/Overview.PNG
        panels:
          type: array
          description: >-
            Panels associated with the item. Applicable only for `Dashboard` and
            `Report` itemType.
          items:
            $ref: '#/components/schemas/PanelItem'
        children:
          type: array
          description: Child content items. Applicable only for `Folder` itemType.
          items:
            $ref: '#/components/schemas/AppListItem'
    PanelItem:
      required:
        - name
      type: object
      properties:
        name:
          type: string
          description: Name of the panel.
          example: Failed Logins
        description:
          type: string
          description: Description of the panel.
          example: Details about failed logins
    AppInstallRequest:
      required:
        - description
        - destinationFolderId
        - name
      type: object
      properties:
        name:
          maxLength: 128
          minLength: 1
          type: string
          description: >-
            Preferred name of the app to be installed. This will be the name of
            the app in the selected installation folder.
          example: Sumo Logic Configuration App
        description:
          maxLength: 255
          minLength: 1
          type: string
          description: >-
            Preferred description of the app to be installed. This will be
            displayed as the app description in the selected installation
            folder.
          example: >-
            Sumo Logic Configuration App to configure collectors and data
            sources
        destinationFolderId:
          type: string
          description: >-
            Identifier of the folder in which the app will be installed in
            hexadecimal format.
          example: 00000000000001C8
        dataSourceValues:
          type: object
          additionalProperties:
            type: string
          description: Dictionary of properties specifying log-source name and value.
          example:
            logsrc: _sourceCategory = api
      description: >-
        JSON object containing name, description, destinationFolderId, and
        dataSourceType.
    ListAppRecommendations:
      type: array
      description: List of app recommendations
      items:
        $ref: '#/components/schemas/AppRecommendation'
    AppRecommendation:
      required:
        - confidence
        - description
        - iconURL
        - name
        - uuid
      type: object
      properties:
        uuid:
          type: string
          description: Unique identifier for the app.
          format: uuid
          example: ebcbd463-b38b-47b0-819c-8d44ca859c3b
        name:
          type: string
          description: Name of the app.
          example: Data Volume
        description:
          type: string
          description: Description of the app.
          example: >-
            The Sumo Logic App for Data Volume uses predefined searches and
            Dashboards to provide real-time visibility and analysis of your
            account's data usage volume for both logs and metrics. Use this app
            to identify your top Collectors and monitor your ingest activity and
            trends. NOTE: Please enable Data Volume Index before installing this
            app.
        iconURL:
          type: string
          description: URL of the app icon.
          example: https://app_icons.s3.amazonaws.com/volumeview.png
        confidence:
          type: number
          description: Percentage relevance of recommendation.
          format: double
          example: 0.98
      description: App recommendation details
    ListConnectionsResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of connections.
          items:
            $ref: '#/components/schemas/Connection'
        next:
          type: string
          description: Next continuation token.
    Connection:
      required:
        - createdAt
        - createdBy
        - description
        - id
        - modifiedAt
        - modifiedBy
        - name
        - type
      type: object
      properties:
        type:
          type: string
          description: >-
            Type of connection. Valid values are `WebhookConnection`,
            `ServiceNowConnection`.
        id:
          type: string
          description: Unique identifier for the connection.
        name:
          type: string
          description: Name of the connection.
        description:
          type: string
          description: Description of the connection.
        createdAt:
          type: string
          description: >-
            Creation timestamp in UTC in
            [RFC3339](https://tools.ietf.org/html/rfc3339) format.
          format: date-time
        createdBy:
          type: string
          description: Identifier of the user who created the resource.
        modifiedAt:
          type: string
          description: Last modification timestamp in UTC.
          format: date-time
        modifiedBy:
          type: string
          description: Identifier of the user who last modified the resource.
      discriminator:
        propertyName: type
    ConnectionDefinition:
      required:
        - name
        - type
      type: object
      properties:
        type:
          pattern: ^(WebhookDefinition|ServiceNowDefinition)$
          type: string
          description: >-
            Type of connection. Valid values are `WebhookDefinition`,
            `ServiceNowDefinition`.
          x-pattern-message: must be either `WebhookDefinition` or `ServiceNowDefinition`
        name:
          maxLength: 127
          minLength: 1
          pattern: ^([a-zA-Z0-9 +%\-@.,_()]+)$
          type: string
          description: Name of connection. Name should be a valid alphanumeric value.
        description:
          maxLength: 1024
          type: string
          description: Description of the connection.
          default: ''
      discriminator:
        propertyName: type
    TestConnectionResponse:
      required:
        - responseContent
        - statusCode
      type: object
      properties:
        statusCode:
          type: integer
          description: Status code of the response of the connection test.
        responseContent:
          type: string
          description: Content of the response of the connection test.
    GetIncidentTemplatesResponse:
      required:
        - templates
      type: object
      properties:
        templates:
          type: array
          description: List of incident templates.
          items:
            $ref: '#/components/schemas/IncidentTemplate'
    IncidentTemplate:
      required:
        - id
        - name
      type: object
      properties:
        id:
          type: integer
          description: Unique identifier of the incident template.
        name:
          type: string
          description: Name of the incident template.
    ListScheduledViewsResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of scheduled views.
          items:
            $ref: '#/components/schemas/ScheduledView'
        next:
          type: string
          description: Next continuation token.
    ScheduledView:
      type: object
      allOf:
        - $ref: '#/components/schemas/CreateScheduledViewDefinition'
        - required:
            - id
          properties:
            id:
              type: string
              description: Identifier for the scheduled view.
            createdAt:
              type: string
              description: Creation timestamp in UTC.
              format: date-time
            createdByOptimizeIt:
              type: boolean
              description: If the scheduled view is created by OptimizeIt.
            error:
              type: string
              description: Errors related to the scheduled view.
            status:
              type: string
              description: Status of the scheduled view.
            totalBytes:
              type: integer
              description: Total storage consumed by the scheduled view.
              format: int64
            totalMessageCount:
              type: integer
              description: Total number of messages for the scheduled view.
              format: int64
            createdBy:
              type: string
              description: Identifier of the user who created the scheduled view.
      x-tf-generated-properties: id,query,indexName,startTime,retentionPeriod,parsingMode
    CreateScheduledViewDefinition:
      required:
        - indexName
        - query
        - startTime
        - store
      type: object
      properties:
        query:
          maxLength: 16384
          minLength: 1
          type: string
          description: >-
            The query that defines the data to be included in the scheduled
            view.
          example: _sourcecategory=*/Apache
        indexName:
          maxLength: 255
          minLength: 0
          type: string
          description: Name of the index for the scheduled view.
          example: TestScheduledView
        startTime:
          type: string
          description: >-
            Start timestamp in UTC in
            [RFC3339](https://tools.ietf.org/html/rfc3339) format.
          format: date-time
          example: '2020-06-03T17:22:35Z'
        retentionPeriod:
          type: integer
          description: >-
            The number of days to retain data in the scheduled view, or -1 to
            use the default value for your account.  Only relevant if your
            account has multi-retention. enabled.
          format: int32
          example: 365
          default: -1
        dataForwardingId:
          type: string
          description: >-
            An optional ID of a data forwarding configuration to be used by the
            scheduled view.
        parsingMode:
          pattern: ^(AutoParse|Manual)$
          type: string
          description: >-
            Define the parsing mode to scan the JSON format log messages.
            Possible values are:
              1. `AutoParse`
              2. `Manual`
            In AutoParse mode, the system automatically figures out fields to
            parse based on the search query. While in the Manual mode, no fields
            are parsed out automatically. For more information see [Dynamic
            Parsing](https://help.sumologic.com/?cid=0011).
          example: AutoParse
          default: Manual
          x-pattern-message: should be either AutoParse or Manual
    UpdateScheduledViewDefinition:
      type: object
      properties:
        dataForwardingId:
          type: string
          description: >-
            An optional ID of a data forwarding configuration to be used by the
            scheduled view.
        retentionPeriod:
          type: integer
          description: >-
            The number of days to retain data in the scheduled view, or -1 to
            use the default value for your account.  Only relevant if your
            account has multi-retention. enabled.
          format: int32
          example: 365
          default: -1
        reduceRetentionPeriodImmediately:
          type: boolean
          description: >-
            This is required if the newly specified `retentionPeriod` is less
            than the existing retention period.  In such a situation, a value of
            `true` says that data between the existing retention period and the
            new retention period should be deleted immediately; if `false`, such
            data will be deleted after seven days. This property is optional and
            ignored if the specified `retentionPeriod` is greater than or equal
            to the current retention period.
          default: false
    LookupTable:
      required:
        - id
      type: object
      description: Lookup table definition and metadata.
      allOf:
        - $ref: '#/components/schemas/MetadataModel'
        - $ref: '#/components/schemas/LookupTableDefinition'
        - properties:
            id:
              type: string
              description: Identifier of the lookup table as a content item.
              example: 0000000001C41EE4
            contentPath:
              type: string
              description: >-
                Address/path of the parent folder of this lookup table in
                content library. For example, a lookup table existing  in the
                personal/lookupTable folder for user johndoe would be:
                /Library/Users/johndoe@acme.com/lookupTable
              example: /Library/Users/johndoe@acme.com/lookupTable
            size:
              type: integer
              description: The current size of the lookup table in bytes
              format: int64
              example: 100
    LookupTableDefinition:
      required:
        - name
        - parentFolderId
      type: object
      description: Definition of the lookup table.
      allOf:
        - $ref: '#/components/schemas/ExportableLookupTableInfo'
        - properties:
            name:
              maxLength: 255
              type: string
              description: The name of the lookup table.
              example: SampleLookupTable
            parentFolderId:
              type: string
              description: >-
                The parent-folder-path identifier of the lookup table in the
                Library.
              example: 0000000001C41EE4
    ExportableLookupTableInfo:
      required:
        - description
        - fields
        - primaryKeys
      type: object
      properties:
        description:
          maxLength: 1000
          type: string
          description: The description of the lookup table.
          example: This is a sample lookup table description.
        fields:
          minItems: 1
          type: array
          description: The list of fields in the lookup table.
          items:
            $ref: '#/components/schemas/LookupTableField'
        primaryKeys:
          minItems: 1
          uniqueItems: true
          type: array
          description: >-
            The names of the fields that make up the primary key for the lookup
            table. These will be a subset of the fields that the table will
            contain.
          example:
            - FieldName1
          items:
            type: string
        ttl:
          maximum: 525600
          minimum: 0
          type: integer
          description: >-
            A time to live for each entry in the lookup table (in minutes). 365
            days is the maximum time to live for each entry that you can
            specify. Setting it to 0 means that the records will not expire
            automatically.
          format: int32
          example: 100
          default: 0
        sizeLimitAction:
          pattern: ^(StopIncomingMessages|DeleteOldData)$
          type: string
          description: >-
            The action that needs to be taken when the size limit is reached for
            the table. The possible values can be `StopIncomingMessages` or
            `DeleteOldData`. DeleteOldData will start deleting old data once
            size limit is reached whereas StopIncomingMessages will discard all
            the updates made to the lookup table once size limit is reached.
          example: DeleteOldData
          default: StopIncomingMessages
          x-pattern-message: must be either `StopIncomingMessages` or `DeleteOldData`
      description: >-
        The lookup table definition independent of its location in the Library
        and name.
    LookupTableField:
      required:
        - fieldName
        - fieldType
      type: object
      properties:
        fieldName:
          type: string
          description: The name of the field.
          example: FieldName1
        fieldType:
          pattern: ^(boolean|int|long|double|string)$
          type: string
          description: |-
            The data type of the field. Supported types:
              - `boolean`
              - `int`
              - `long`
              - `double`
              - `string`
          example: boolean
          x-pattern-message: >-
            must be one of the following: `boolean`, `int`, `long`, `double`,
            `string`
      description: The definition of the field.
    LookupUpdateDefinition:
      required:
        - description
        - ttl
      type: object
      properties:
        ttl:
          maximum: 525600
          minimum: 0
          type: integer
          description: >-
            A time to live for each entry in the lookup table (in minutes). 0 is
            a special value. A TTL of 0 implies entry will never be deleted from
            the table.
          format: int32
          example: 100
          default: 0
        description:
          maxLength: 1000
          type: string
          description: >-
            The description of the lookup table. The description cannot be
            blank.
          example: This is a sample lookup table description.
        sizeLimitAction:
          type: string
          description: >-
            The action that needs to be taken when the size limit is reached for
            the table. The possible values can be `StopIncomingMessages` or
            `DeleteOldData`. DeleteOldData will starting deleting old data once
            size limit is reached whereas StopIncomingMessages will discard all
            the updates made to the lookup table once size limit is reached.
          example: DeleteOldData
          default: StopIncomingMessages
      description: The updated lookup table parameters.
    LookupRequestToken:
      required:
        - id
      type: object
      properties:
        id:
          type: string
          description: The identifier used to track the request.
          example: 0000000001C41EF2
      description: Allows you to track the status of an upload or export request.
    LookupAsyncJobStatus:
      required:
        - createdAt
        - eventType
        - jobId
        - lookupContentId
        - lookupContentPath
        - lookupName
        - modifiedAt
        - status
        - userId
      type: object
      properties:
        jobId:
          type: string
          description: An identifier returned in response to an asynchronous request.
          example: 0000000001C41EF2
        status:
          type: string
          description: >-
            Whether or not the request is pending (`Pending`), in progress
            (`InProgress`), has completed successfully (`Success`), has
            completed partially with warnings (`PartialSuccess`) or has
            completed with an error (`Failed`).
        statusMessages:
          type: array
          description: >-
            Additional status messages generated if any if the status is
            `Success`.
          items:
            type: string
        errors:
          type: array
          description: More information about the failures, if the status is `Failed`.
          items:
            $ref: '#/components/schemas/ErrorDescription'
        warnings:
          type: array
          description: >-
            More information about the warnings, if the status is
            `PartialSuccess`.
          items:
            $ref: '#/components/schemas/warningDescription'
        lookupContentId:
          type: string
          description: Content id of lookup table on which this operation was performed.
          example: 0000000001C41EE4
        lookupName:
          type: string
          description: Name of lookup table on which this operation was performed.
          example: sampleLookup
        lookupContentPath:
          type: string
          description: Content path of lookup table on which this operation was performed.
          example: /Library/Users/xyz@demo.com/sampleLookup
        requestType:
          type: string
          description: |-
            Type of asynchronous request made:
              - `BulkMerge`
              - `BulkReplace`
              - `Truncate`
          example: BulkMerge
        userId:
          type: string
          description: User id of user who initiated this operation.
          example: 0000000006743FDD
        createdAt:
          type: string
          description: Creation time of this job in UTC.
          format: date-time
          example: '2018-10-16T09:10:00Z'
        modifiedAt:
          type: string
          description: Timestamp in UTC when status was last updated.
          format: date-time
          example: '2018-10-16T09:10:00Z'
      description: Lookup table async job status.
    warningDescription:
      required:
        - message
      type: object
      properties:
        message:
          type: string
          description: Description of the warning.
          example: 60 rows were dropped.
        cause:
          type: string
          description: An optional cause of this warning.
          example: Primary key values were duplicate.
      description: Warning description
    LookupPreviewData:
      type: object
      properties:
        fieldProperties:
          type: array
          description: >-
            The field properties of the lookup table. This includes the field
            name, field description, and an identifier associated with each
            field.
          items:
            $ref: '#/components/schemas/PreviewLookupTableField'
        fieldValueMapList:
          type: array
          description: >-
            The data of the lookup table as a list of field identifiers mapped
            to their values.
          items:
            type: object
            additionalProperties:
              type: string
            description: A map of all the field identifiers and their corresponding values.
      description: The preview data of the lookup table.
    PreviewLookupTableField:
      required:
        - fieldId
        - fieldName
        - fieldType
      type: object
      properties:
        fieldName:
          type: string
          description: The name of the field.
          example: sampleFieldName
        fieldType:
          type: string
          description: |-
            The data type of the field. Supported types:
              - `boolean`
              - `int`
              - `long`
              - `double`
              - `string`
          example: boolean
        fieldId:
          type: string
          description: Identifier associated with each field of the table.
          example: '1'
      description: The properties of the field.
    RowUpdateDefinition:
      required:
        - row
      type: object
      properties:
        row:
          maxItems: 1000
          type: array
          description: A list of all the field identifiers and their corresponding values.
          items:
            $ref: '#/components/schemas/TableRow'
      description: Lookup table data to be uploaded.
    TableRow:
      required:
        - columnName
        - columnValue
      type: object
      properties:
        columnName:
          type: string
          description: Name of the column of the table.
          example: user_id
        columnValue:
          type: string
          description: Value of the specified column.
          example: user1
      description: Lookup table row column and column value.
    RowDeleteDefinition:
      required:
        - primaryKey
      type: object
      properties:
        primaryKey:
          maxItems: 1000
          type: array
          description: >-
            A list of all primary key field identifiers and their corresponding
            values.
          items:
            $ref: '#/components/schemas/TableRow'
      description: Lookup table primary key of the row to be deleted.
    SecondaryKeysDefinition:
      maxItems: 20
      minItems: 1
      type: array
      description: The secondary keys of the lookup table
      example:
        - - ip
        - - latitude
          - longitude
      items:
        type: array
        items:
          type: string
    LookupTablesLimits:
      type: object
      properties:
        tablesCreated:
          type: integer
          description: Number of lookup tables currently created.
          format: int32
          example: 8
        tableCapacityRemaining:
          type: integer
          description: Remaining count of lookup tables that can be created.
          format: int32
          example: 2
        totalTableCapacity:
          type: integer
          description: >-
            Total capacity of lookup tables that can be created for the given
            org id.
          format: int32
          example: 10
      description: Properties related to lookup tables being allowed and created.
    ListPartitionsResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of partitions.
          items:
            $ref: '#/components/schemas/Partition'
        next:
          type: string
          description: Next continuation token.
          example: '1'
    Partition:
      type: object
      allOf:
        - $ref: '#/components/schemas/CreatePartitionDefinition'
        - $ref: '#/components/schemas/MetadataModel'
        - required:
            - id
            - totalBytes
          properties:
            id:
              type: string
              description: Unique identifier for the partition.
              example: '1'
            totalBytes:
              type: integer
              description: Size of data in partition in bytes.
              format: int64
              example: 42
            isActive:
              type: boolean
              description: >-
                This has the value `true` if the partition is active and `false`
                if it has been decommissioned.
            newRetentionPeriod:
              type: integer
              description: >-
                If the retentionPeriod is scheduled to be updated in the future
                (i.e., if retentionPeriod is previously reduced with value of
                reduceRetentionPeriodImmediately as false), this property gives
                the future value of retentionPeriod while retentionPeriod gives
                the current value. retentionPeriod will take up the value of
                newRetentionPeriod after the scheduled time.
              format: int32
              example: 300
            indexType:
              pattern: ^(DefaultIndex|AuditIndex|Partition)$
              type: string
              description: >-
                This has the value `DefaultIndex`, `AuditIndex`or `Partition`
                depending upon the type of partition.
              example: Partition
            retentionEffectiveAt:
              type: string
              description: When the newRetentionPeriod will become effective in UTC format.
              format: date-time
            dataForwardingId:
              type: string
              description: >-
                Id of the data forwarding configuration to be used by the
                partition.
    CreatePartitionDefinition:
      required:
        - name
        - routingExpression
      type: object
      properties:
        name:
          maxLength: 255
          type: string
          description: The name of the partition.
          example: apache
        routingExpression:
          maxLength: 16384
          minLength: 1
          type: string
          description: The query that defines the data to be included in the partition.
          example: _sourcecategory=*/Apache
        analyticsTier:
          pattern: ^(frequent|infrequent|continuous)$
          type: string
          description: >-
            The Data Tier where the data in the partition will reside. Possible
            values are:
                          1. `continuous`
                          2. `frequent`
                          3. `infrequent`
            Note: The "infrequent" and "frequent" tiers are only available to
            Cloud Flex Credits Enterprise Suite accounts.
          example: continuous
          default: continuous
          x-pattern-message: must be one of `continuous`, `frequent` or `infrequent`
        retentionPeriod:
          type: integer
          description: >-
            The number of days to retain data in the partition, or -1 to use the
            default value for your account.  Only relevant if your account has
            variable retention enabled.
          example: 365
          default: -1
        isCompliant:
          type: boolean
          description: >-
            Whether the partition is compliant or not. Mark a partition as
            compliant if it contains data used for compliance or audit purpose.
            Retention for a compliant partition can only be increased and cannot
            be reduced after the partition is marked compliant. A partition once
            marked compliant, cannot be marked non-compliant later.
          example: false
          default: false
    ListPartitionsInfoResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of partitions information
          items:
            $ref: '#/components/schemas/PartitionInfo'
        next:
          type: string
          description: Next continuation token.
          example: '1'
    PartitionInfo:
      required:
        - name
      type: object
      properties:
        name:
          maxLength: 255
          type: string
          description: The name of the partition.
          example: apache
        analyticsTier:
          pattern: ^(frequent|infrequent|continuous)$
          type: string
          description: >-
            The Data Tier where the data in the partition will reside. Possible
            values are:
                          1. `continuous`
                          2. `frequent`
                          3. `infrequent`
            Note: The "infrequent" and "frequent" tiers are only available to
            Cloud Flex Credits Enterprise Suite accounts.
          example: continuous
          default: continuous
          x-pattern-message: must be one of `continuous`, `frequent` or `infrequent`
    UpdatePartitionDefinition:
      type: object
      properties:
        retentionPeriod:
          type: integer
          description: >-
            The number of days to retain data in the partition, or -1 to use the
            default value for your account. Only relevant if your account has
            variable retention enabled.
          example: 365
        reduceRetentionPeriodImmediately:
          type: boolean
          description: >-
            This is required if the newly specified `retentionPeriod` is less
            than the existing retention period.  In such a situation, a value of
            `true` says that data between the existing retention period and the
            new retention period should be deleted immediately; if `false`, such
            data will be deleted after seven days. This property is optional and
            ignored if the specified `retentionPeriod` is greater than or equal
            to the current retention period.
          default: false
        isCompliant:
          type: boolean
          description: >-
            Whether to mark a partition as compliant. Mark a partition as
            compliant if it contains data used for compliance or audit purpose.
            Retention for a compliant partition can only be increased and cannot
            be reduced after the partition marked as compliant. A partition once
            marked compliant, cannot be marked non-compliant later.
          example: false
          default: false
        routingExpression:
          maxLength: 16384
          minLength: 1
          type: string
          description: The query that defines the data to be included in the partition.
          example: _sourcecategory=*/Apache
    PartitionsResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: Array of partitions.
          items:
            $ref: '#/components/schemas/Partition'
    ListExtractionRulesResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of field extraction rules.
          items:
            $ref: '#/components/schemas/ExtractionRule'
        next:
          type: string
          description: Next continuation token.
    ExtractionRule:
      type: object
      allOf:
        - $ref: '#/components/schemas/ExtractionRuleDefinition'
        - $ref: '#/components/schemas/MetadataModel'
        - required:
            - id
          properties:
            id:
              type: string
              description: Unique identifier for the field extraction rule.
            fieldNames:
              type: array
              description: List of extracted fields from "parseExpression".
              items:
                type: string
      x-tf-generated-properties: id,name,scope,parseExpression,enabled
      x-tf-resource-name: ExtractionRule
    ExtractionRuleDefinition:
      allOf:
        - $ref: '#/components/schemas/BaseExtractionRuleDefinition'
        - type: object
          properties:
            enabled:
              type: boolean
              description: Is the field extraction rule enabled.
              default: true
    BaseExtractionRuleDefinition:
      required:
        - name
        - parseExpression
        - scope
      type: object
      properties:
        name:
          maxLength: 256
          minLength: 1
          type: string
          description: >-
            Name of the field extraction rule. Use a name that makes it easy to
            identify the rule.
          example: ExtractionRule123
        scope:
          maxLength: 2048
          minLength: 0
          type: string
          description: >-
            Scope of the field extraction rule. This could be a sourceCategory,
            sourceHost, or any other metadata that describes the data you want
            to extract from. Think of the Scope as the first portion of an ad
            hoc search, before the first pipe ( | ). You'll use the Scope to run
            a search against the rule.
          example: _sourceHost=127.0.0.1
        parseExpression:
          maxLength: 16384
          type: string
          description: Describes the fields to be parsed.
          example: csv _raw extract 1 as f1
    UpdateExtractionRuleDefinition:
      allOf:
        - $ref: '#/components/schemas/BaseExtractionRuleDefinition'
        - required:
            - enabled
          type: object
          properties:
            enabled:
              type: boolean
              description: Is the field extraction rule enabled.
    ListDynamicRulesResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of dynamic parsing rules.
          items:
            $ref: '#/components/schemas/DynamicRule'
        next:
          type: string
          description: Next continuation token.
          example: 0000000001C51FF7
    DynamicRule:
      type: object
      allOf:
        - $ref: '#/components/schemas/DynamicRuleDefinition'
        - $ref: '#/components/schemas/Metadata'
        - required:
            - id
            - isSystemRule
          properties:
            id:
              type: string
              description: Unique identifier for the dynamic parsing rule.
              example: 0000000001C41EE4
            isSystemRule:
              type: boolean
              description: >-
                Whether the rule has been defined by the system, rather than by
                a user.
              example: false
    DynamicRuleDefinition:
      required:
        - enabled
        - name
        - scope
      type: object
      properties:
        name:
          maxLength: 256
          minLength: 1
          type: string
          description: >-
            Name of the dynamic parsing rule. Use a name that makes it easy to
            identify the rule.
          example: DynamicParsingRule123
        scope:
          maxLength: 2048
          minLength: 1
          type: string
          description: >-
            Scope of the dynamic parsing rule. This could be a sourceCategory,
            sourceHost, or any other metadata that describes the data you want
            to extract from. Think of the Scope as the first portion of an ad
            hoc search, before the first pipe ( | ). You'll use the Scope to run
            a search against the rule.
          example: _sourceHost=127.0.0.1
        enabled:
          type: boolean
          description: Is the dynamic parsing rule enabled.
          example: false
          default: true
    ListCustomFieldsResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of custom fields.
          items:
            $ref: '#/components/schemas/CustomField'
    CustomField:
      allOf:
        - $ref: '#/components/schemas/FieldName'
        - required:
            - dataType
            - fieldId
            - state
          type: object
          properties:
            fieldId:
              type: string
              description: Identifier of the field.
              example: 00000000031D02DA
            dataType:
              pattern: ^(String|Long|Int|Double|Boolean)$
              type: string
              description: >-
                Field type. Possible values are `String`, `Long`, `Int`,
                `Double`, and `Boolean`.
              example: String
              x-pattern-message: Must be `String`, `Long`, `Int`, `Double` or `Boolean`
            state:
              pattern: ^(Enabled|Disabled)$
              type: string
              description: >-
                Indicates whether the field is enabled and its values are being
                accepted. Possible values are `Enabled` and `Disabled`.
              example: Enabled
              x-pattern-message: Must be `Enabled` or `Disabled`
    FieldName:
      required:
        - fieldName
      type: object
      properties:
        fieldName:
          maxLength: 255
          minLength: 1
          type: string
          description: Field name.
          example: hostIP
    ListDroppedFieldsResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of dropped fields.
          items:
            $ref: '#/components/schemas/DroppedField'
    DroppedField:
      allOf:
        - $ref: '#/components/schemas/FieldName'
    ListBuiltinFieldsResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of built-in fields.
          items:
            $ref: '#/components/schemas/BuiltinField'
    BuiltinField:
      allOf:
        - $ref: '#/components/schemas/FieldName'
        - required:
            - dataType
            - fieldId
            - state
          type: object
          properties:
            fieldId:
              type: string
              description: Identifier of the field.
              example: 00000000031D02DA
            dataType:
              pattern: ^(String|Long|Int|Double|Boolean)$
              type: string
              description: >-
                Field type. Possible values are `String`, `Long`, `Int`,
                `Double`, and `Boolean`.
              example: String
              x-pattern-message: Must be `String`, `Long`, `Int`, `Double` or `Boolean`
            state:
              pattern: ^(Enabled|Disabled)$
              type: string
              description: >-
                Indicates whether the field is enabled and its values are being
                accepted. Possible values are `Enabled` and `Disabled`.
              example: Enabled
              x-pattern-message: Must be `Enabled` or `Disabled`
    FieldQuotaUsage:
      required:
        - quota
        - remaining
      type: object
      properties:
        quota:
          type: integer
          description: Maximum number of fields available.
          format: int32
          example: 200
        remaining:
          type: integer
          description: Current number of fields available.
          format: int32
          example: 121
    ListFieldNamesResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of all built-in and custom field names.
          items:
            $ref: '#/components/schemas/FieldName'
    ListCustomFieldsUsageResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of fields with their usages.
          items:
            $ref: '#/components/schemas/CustomFieldUsage'
    CustomFieldUsage:
      allOf:
        - $ref: '#/components/schemas/FieldName'
        - required:
            - dataType
            - fieldId
            - state
          type: object
          properties:
            fieldId:
              type: string
              description: Identifier of the field.
              example: 00000000031D02DA
            dataType:
              pattern: ^(String|Long|Int|Double|Boolean)$
              type: string
              description: >-
                Field type. Possible values are `String`, `Long`, `Int`,
                `Double`, `Boolean`.
              example: String
              x-pattern-message: Must be `String`, `Long`, `Int`, `Double` or `Boolean`
            state:
              pattern: ^(Enabled|Disabled)$
              type: string
              description: >-
                Indicates whether the field is enabled and its values are being
                accepted. Possible values are `Enabled` and `Disabled`.
              example: Enabled
              x-pattern-message: Must be `Enabled` or `Disabled`
            fieldExtractionRules:
              type: array
              description: >-
                An array of hexadecimal identifiers of field extraction rules
                which use this field.
              items:
                type: string
            roles:
              type: array
              description: >-
                An array of hexadecimal identifiers of roles which use this
                field in the search filter.
              items:
                type: string
            partitions:
              type: array
              description: >-
                An array of hexadecimal identifiers of partitions which use this
                field in the routing expression.
              items:
                type: string
            collectorsCount:
              type: integer
              description: Total number of collectors using this field.
              format: int32
              example: 228
            sourcesCount:
              type: integer
              description: Total number of sources using this field.
              format: int32
              example: 228
    ListBuiltinFieldsUsageResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of fields with their usages.
          items:
            $ref: '#/components/schemas/BuiltinFieldUsage'
    BuiltinFieldUsage:
      allOf:
        - $ref: '#/components/schemas/FieldName'
        - required:
            - dataType
            - fieldId
            - state
          type: object
          properties:
            fieldId:
              type: string
              description: Identifier of the field.
              example: 00000000031D02DA
            dataType:
              pattern: ^(String|Long|Int|Double|Boolean)$
              type: string
              description: >-
                Field type. Possible values are `String`, `Long`, `Int`,
                `Double`, `Boolean`.
              example: String
              x-pattern-message: Must be `String`, `Long`, `Int`, `Double` or `Boolean`
            state:
              pattern: ^(Enabled|Disabled)$
              type: string
              description: >-
                Indicates whether the field is enabled and its values are being
                accepted. Possible values are `Enabled` and `Disabled`.
              example: Enabled
              x-pattern-message: Must be `Enabled` or `Disabled`
            fieldExtractionRules:
              type: array
              description: >-
                An array of hexadecimal identifiers of field extraction rules
                which use this field.
              items:
                type: string
            roles:
              type: array
              description: >-
                An array of hexadecimal identifiers of roles which use this
                field in the search filter.
              items:
                type: string
            partitions:
              type: array
              description: >-
                An array of hexadecimal identifiers of partitions which use this
                field in the routing expression.
              items:
                type: string
    GetCollectorsUsageResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of collectors.
          items:
            $ref: '#/components/schemas/Collector'
        next:
          type: string
          description: Next continuation token.
    Collector:
      required:
        - collectorId
        - collectorName
      type: object
      properties:
        collectorId:
          type: string
          description: Identifier of a collector.
          example: 000000000000000F
        collectorName:
          type: string
          description: Name of a collector.
          example: SyslogCollector
    GetSourcesUsageResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of sources.
          items:
            $ref: '#/components/schemas/Source'
        next:
          type: string
          description: Next continuation token.
    Source:
      required:
        - sourceId
        - sourceName
      type: object
      properties:
        sourceId:
          type: string
          description: Identifier of a source.
          example: 000000000000000F
        sourceName:
          type: string
          description: Name of a source.
          example: Collector
    ListIngestBudgetsResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of ingest budgets.
          items:
            $ref: '#/components/schemas/IngestBudget'
        next:
          type: string
          description: Next continuation token.
    IngestBudget:
      type: object
      allOf:
        - $ref: '#/components/schemas/IngestBudgetDefinition'
        - $ref: '#/components/schemas/MetadataWithUserInfo'
        - required:
            - id
          properties:
            id:
              type: string
              description: Unique identifier for the ingest budget.
            usageBytes:
              type: integer
              description: Current usage since the last reset, in bytes.
              format: int64
              example: 900
            usageStatus:
              type: string
              description: >-
                Status of the current usage. Can be `Normal`, `Approaching`,
                `Exceeded`, or `Unknown` (unable to retrieve usage).
              example: Approaching
            numberOfCollectors:
              type: integer
              description: Number of collectors assigned to the ingest budget.
              format: int64
              example: 10
    IngestBudgetDefinition:
      required:
        - action
        - capacityBytes
        - fieldValue
        - name
        - resetTime
        - timezone
      type: object
      properties:
        name:
          maxLength: 128
          minLength: 1
          type: string
          description: Display name of the ingest budget.
          example: Developer Budget
        fieldValue:
          maxLength: 1024
          minLength: 1
          type: string
          description: >-
            Custom field value that is used to assign Collectors to the ingest
            budget.
          example: dev_30_gb
        capacityBytes:
          minimum: 0
          type: integer
          description: >-
            Capacity of the ingest budget, in bytes. It takes a few minutes for
            Collectors to stop collecting when capacity is reached. We recommend
            setting a soft limit that is lower than your needed hard limit.
          format: int64
          example: 1000
        timezone:
          type: string
          description: >-
            Time zone of the reset time for the ingest budget. Follow the format
            in the [IANA Time Zone
            Database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List).
          example: America/Los_Angeles
        resetTime:
          maxLength: 5
          minLength: 5
          type: string
          description: Reset time of the ingest budget in HH:MM format.
          example: '23:30'
        description:
          maxLength: 1024
          minLength: 0
          type: string
          description: Description of the ingest budget.
        action:
          pattern: ^(keepCollecting|stopCollecting)$
          type: string
          description: >-
            Action to take when ingest budget's capacity is reached. All actions
            are audited. Supported values are:
              * `stopCollecting`
              * `keepCollecting`
          example: stopCollecting
          x-pattern-message: must be either `keepCollecting` or `stopCollecting`
        auditThreshold:
          maximum: 99
          minimum: 1
          type: integer
          description: >-
            The threshold as a percentage of when an ingest budget's capacity
            usage is logged in the Audit Index.
          format: int32
          example: 85
    ListCollectorIdentitiesResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of Collector identities.
          items:
            $ref: '#/components/schemas/CollectorIdentity'
        next:
          type: string
          description: Next continuation token.
    CollectorIdentity:
      required:
        - id
        - name
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the Collector.
        name:
          type: string
          description: The name of the Collector.
    ListIngestBudgetsResponseV2:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of ingest budgets.
          items:
            $ref: '#/components/schemas/IngestBudgetV2'
        next:
          type: string
          description: Next continuation token.
    IngestBudgetV2:
      type: object
      allOf:
        - $ref: '#/components/schemas/IngestBudgetDefinitionV2'
        - required:
            - createdAt
            - createdBy
            - id
            - modifiedAt
            - modifiedBy
            - version
          properties:
            id:
              type: string
              description: Unique identifier for the ingest budget.
              example: 0000000003343FDD
            usageBytes:
              type: integer
              description: Current usage since the last reset, in bytes.
              format: int64
              example: 900
            usageStatus:
              pattern: ^(Normal|Approaching|Exceeded|Unknown)$
              type: string
              description: >-
                Status of the current usage. Can be `Normal`, `Approaching`,
                `Exceeded`, or `Unknown` (unable to retrieve usage).
              example: Approaching
              x-pattern-message: must be either `Normal`, `Approaching`, `Exceeded`, or `Unknown`
            createdAt:
              type: string
              description: The creation timestamp in UTC of the Ingest Budget.
              format: date-time
              example: '2018-10-16T09:10:00Z'
            createdBy:
              type: string
              description: The identifier of the user who created the Ingest Budget.
              example: 0000000006743FDD
            modifiedAt:
              type: string
              description: The modified timestamp in UTC of the Ingest Budget.
              format: date-time
              example: '2018-10-16T09:10:00Z'
            modifiedBy:
              type: string
              description: The identifier of the user who modified the Ingest Budget.
              example: 0000000001243FDD
            budgetVersion:
              type: integer
              description: The version of the Ingest Budget
              format: int32
              example: 2
    IngestBudgetDefinitionV2:
      required:
        - action
        - capacityBytes
        - name
        - resetTime
        - scope
        - timezone
      type: object
      properties:
        name:
          maxLength: 128
          minLength: 1
          type: string
          description: Display name of the ingest budget.
          example: Developer Budget
        scope:
          maxLength: 1024
          minLength: 1
          type: string
          description: >-
            A scope is a constraint that will be used to identify the messages
            on which budget needs to be applied. A scope is consists of key and
            value separated by =. The field must be enabled in the fields table.
            Value supports wildcard. e.g. _sourceCategory=*prod*payment*,
            cluster=kafka. If the scope is defined _sourceCategory=*nginx* in
            this budget will be applied on messages having fields
            _sourceCategory=prod/nginx, _sourceCategory=dev/nginx, or
            _sourceCategory=dev/nginx/error
          example: _sourceCategory=*prod*nginx*
        capacityBytes:
          minimum: 1
          type: integer
          description: >-
            Capacity of the ingest budget, in bytes. It takes a few minutes for
            Collectors to stop collecting when capacity is reached. We recommend
            setting a soft limit that is lower than your needed hard limit.
          format: int64
          example: 1000
        timezone:
          type: string
          description: >-
            Time zone of the reset time for the ingest budget. Follow the format
            in the [IANA Time Zone
            Database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List).
          example: America/Los_Angeles
        resetTime:
          maxLength: 5
          minLength: 5
          type: string
          description: Reset time of the ingest budget in HH:MM format.
          example: '23:30'
        description:
          maxLength: 1024
          minLength: 0
          type: string
          description: Description of the ingest budget.
        action:
          pattern: ^(keepCollecting|stopCollecting)$
          type: string
          description: >-
            Action to take when ingest budget's capacity is reached. All actions
            are audited. Supported values are:
              * `stopCollecting`
              * `keepCollecting`
          example: stopCollecting
          x-pattern-message: must be either `keepCollecting` or `stopCollecting`
        auditThreshold:
          maximum: 99
          minimum: 1
          type: integer
          description: >-
            The threshold as a percentage of when an ingest budget's capacity
            usage is logged in the Audit Index.
          format: int32
          example: 85
    ListUserModelsResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of users.
          items:
            $ref: '#/components/schemas/UserModel'
        next:
          type: string
          description: Next continuation token.
          example: GDCiRv4vebF3UWFJQ1kySXBOR3Bzh69GR0RyWm9vCtc
    UserModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/CreateUserDefinition'
        - $ref: '#/components/schemas/MetadataModel'
        - required:
            - id
          properties:
            id:
              type: string
              description: Unique identifier for the user.
              example: 000000000FE20FE2
            isActive:
              type: boolean
              description: True if the user is active.
              example: true
            isLocked:
              type: boolean
              description: >-
                This has the value `true` if the user's account has been locked.
                If a user tries to log into their account several times and
                fails, his or her account will be locked for security reasons.
              example: false
            isMfaEnabled:
              type: boolean
              description: True if multi factor authentication is enabled for the user.
              example: false
            lastLoginTimestamp:
              type: string
              description: >-
                Timestamp of the last login for the user in UTC. Will be null if
                the user has never logged in.
              format: date-time
    CreateUserDefinition:
      required:
        - email
        - firstName
        - lastName
        - roleIds
      type: object
      properties:
        firstName:
          maxLength: 128
          minLength: 1
          type: string
          description: First name of the user.
          example: John
        lastName:
          maxLength: 128
          minLength: 0
          type: string
          description: Last name of the user.
          example: Doe
        email:
          maxLength: 255
          type: string
          description: Email address of the user.
          format: email
          example: johndoe@acme.com
        roleIds:
          type: array
          description: List of roleIds associated with the user.
          example:
            - 00000000000001DF
            - 00000000000002D2
          items:
            type: string
    ListUserId:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of users.
          items:
            type: string
    UpdateUserDefinition:
      required:
        - firstName
        - isActive
        - lastName
        - roleIds
      type: object
      properties:
        firstName:
          maxLength: 128
          minLength: 1
          type: string
          description: First name of the user.
          example: John
        lastName:
          maxLength: 128
          minLength: 0
          type: string
          description: Last name of the user.
          example: Doe
        isActive:
          type: boolean
          description: >-
            This has the value `true` if the user is active and `false` if they
            have been deactivated.
          example: true
        roleIds:
          type: array
          description: List of role identifiers associated with the user.
          example:
            - 00000000000001DF
            - 00000000000002D2
          items:
            type: string
    ChangeEmailRequest:
      required:
        - email
      type: object
      properties:
        email:
          maxLength: 255
          type: string
          description: New email address of the user.
          format: email
          example: johndoe@acme.com
    DisableMfaRequest:
      required:
        - email
        - password
      type: object
      properties:
        email:
          maxLength: 255
          type: string
          description: Email of user whose mfa is being disabled.
          format: email
          example: johndoe@cme.com
        password:
          type: string
          description: Password of user whose mfa is being disabled.
    ListRoleModelsResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of roles.
          items:
            $ref: '#/components/schemas/RoleModel'
        next:
          type: string
          description: Next continuation token.
          example: GDCiRv4vebF3UWFJQ1kySXBOR3Bzh69GR0RyWm9vCtc
    RoleModel:
      type: object
      allOf:
        - $ref: '#/components/schemas/CreateRoleDefinition'
        - $ref: '#/components/schemas/MetadataModel'
        - required:
            - id
          properties:
            id:
              type: string
              description: Unique identifier for the role.
              example: 0000000000E20FE3
            systemDefined:
              type: boolean
              description: Role is system or user defined.
              example: false
      x-tf-generated-properties: id,name,description,filterPredicate,capabilities
      x-tf-resource-name: Role
    CreateRoleDefinition:
      required:
        - name
      type: object
      properties:
        name:
          maxLength: 128
          minLength: 1
          type: string
          description: Name of the role.
          example: DataAdmin
        description:
          maxLength: 255
          minLength: 0
          type: string
          description: Description of the role.
          example: Manage data of the org.
        filterPredicate:
          type: string
          description: >-
            A search filter to restrict access to specific logs. The filter is
            silently added to the beginning of each query a user runs. For
            example, using '!_sourceCategory=billing' as a filter predicate will
            prevent users assigned to the role from viewing logs from the source
            category named 'billing'.
          example: '!_sourceCategory=billing'
        users:
          type: array
          description: List of user identifiers to assign the role to.
          example:
            - 0000000006743FE0
            - 0000000005FCE0EE
          items:
            type: string
        capabilities:
          type: array
          description: >-
            List of
            [capabilities](https://help.sumologic.com/Manage/Users-and-Roles/Manage-Roles/Role-Capabilities)
            associated with this role. Valid values are

            ### Data Management
              - viewCollectors
              - manageCollectors
              - manageBudgets
              - manageDataVolumeFeed
              - viewFieldExtraction
              - manageFieldExtractionRules
              - manageS3DataForwarding
              - manageContent
              - dataVolumeIndex
              - manageConnections
              - viewScheduledViews
              - manageScheduledViews
              - viewPartitions
              - managePartitions
              - viewFields
              - manageFields
              - viewAccountOverview
              - manageTokens

            ### Entity management
              - manageEntityTypeConfig

            ### Metrics
              - metricsTransformation
              - metricsExtraction
              - metricsRules

            ### Security
              - managePasswordPolicy
              - ipAllowlisting
              - createAccessKeys
              - manageAccessKeys
              - manageSupportAccountAccess
              - manageAuditDataFeed
              - manageSaml
              - shareDashboardOutsideOrg
              - manageOrgSettings
              - changeDataAccessLevel

            ### Dashboards
              - shareDashboardWorld
              - shareDashboardAllowlist

            ### UserManagement
              - manageUsersAndRoles

            ### Observability
              - searchAuditIndex
              - auditEventIndex

            ### Cloud SIEM Enterprise
              - viewCse

            ### Alerting
              - viewMonitorsV2
              - manageMonitorsV2
              - viewAlerts
          example:
            - manageContent
            - manageDataVolumeFeed
            - manageFieldExtractionRules
            - manageS3DataForwarding
          items:
            type: string
        autofillDependencies:
          type: boolean
          description: >-
            Set this to true if you want to automatically append all missing
            capability requirements. If set to false an error will be thrown if
            any capabilities are missing their dependencies.
          default: true
    UpdateRoleDefinition:
      required:
        - capabilities
        - description
        - filterPredicate
        - name
        - users
      type: object
      properties:
        name:
          maxLength: 128
          minLength: 1
          type: string
          description: Name of the role.
          example: DataAdmin
        description:
          maxLength: 255
          minLength: 0
          type: string
          description: Description of the role.
          example: Manage data of the org.
        filterPredicate:
          type: string
          description: >-
            A search filter to restrict access to specific logs. The filter is
            silently added to the beginning of each query a user runs. For
            example, using '!_sourceCategory=billing' as a filter predicate will
            prevent users assigned to the role from viewing logs from the source
            category named 'billing'.
          example: '!_sourceCategory=billing'
        users:
          type: array
          description: List of user identifiers to assign the role to.
          example:
            - 0000000006743FE0
            - 0000000005FCE0EE
          items:
            type: string
        capabilities:
          type: array
          description: >-
            List of
            [capabilities](https://help.sumologic.com/Manage/Users-and-Roles/Manage-Roles/Role-Capabilities)
            associated with this role. Valid values are

            ### Data Management
              - viewCollectors
              - manageCollectors
              - manageBudgets
              - manageDataVolumeFeed
              - viewFieldExtraction
              - manageFieldExtractionRules
              - manageS3DataForwarding
              - manageContent
              - dataVolumeIndex
              - manageConnections
              - viewScheduledViews
              - manageScheduledViews
              - viewPartitions
              - managePartitions
              - viewFields
              - manageFields
              - viewAccountOverview
              - manageTokens

            ### Entity management
              - manageEntityTypeConfig

            ### Metrics
              - metricsTransformation
              - metricsExtraction
              - metricsRules

            ### Security
              - managePasswordPolicy
              - ipAllowlisting
              - createAccessKeys
              - manageAccessKeys
              - manageSupportAccountAccess
              - manageAuditDataFeed
              - manageSaml
              - shareDashboardOutsideOrg
              - manageOrgSettings
              - changeDataAccessLevel

            ### Dashboards
              - shareDashboardWorld
              - shareDashboardAllowlist

            ### UserManagement
              - manageUsersAndRoles

            ### Observability
              - searchAuditIndex
              - auditEventIndex

            ### Cloud SIEM Enterprise
              - viewCse

            ### Alerting
              - viewMonitorsV2
              - manageMonitorsV2
              - viewAlerts
          example:
            - manageContent
            - manageDataVolumeFeed
            - manageFieldExtractionRules
            - manageS3DataForwarding
          items:
            type: string
        autofillDependencies:
          type: boolean
          description: >-
            Set this to true if you want to automatically append all missing
            capability requirements. If set to false an error will be thrown if
            any capabilities are missing their dependencies.
          default: true
    CapabilityMap:
      required:
        - capabilities
      type: object
      properties:
        capabilities:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/CapabilityDefinition'
          description: Map of capabilities to their attributes
    CapabilityDefinition:
      required:
        - dependsOn
        - group
        - id
        - label
      type: object
      properties:
        id:
          type: string
          description: The name of the capability
          example: manageParsers
        label:
          type: string
          description: The UI label for the capability.
          example: Manage Parsers
        dependsOn:
          type: array
          description: >-
            Any capabilities that are required for this capability to be
            enabled.
          example:
            - ViewParsers
            - EditParsers
          items:
            type: string
        group:
          required:
            - id
            - label
          type: object
          properties:
            id:
              type: string
              description: The backend name for the capability group
              example: CloudSiem
            label:
              type: string
              description: The label for the capability group
              example: Insights
            parentId:
              type: string
              description: The ID of the parent capability group
              example: Cloud Siem
          description: The group that the capability belongs to.
        message:
          type: string
          description: Warning message that appears when this capability is enabled.
          example: >-
            By enabling this capability, you are allowing any user in this role
            to share a dashboard, including its contents, with ANYONE who has
            the URL. This URL can be shared with users outside of your
            organization, allowing them to view the dashboard and its contents.
            Are you sure you want to enable this permission?
    CapabilityList:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of capabilities
          items:
            $ref: '#/components/schemas/CapabilityDefinition'
    Folder:
      allOf:
        - $ref: '#/components/schemas/Content'
        - type: object
          properties:
            description:
              maxLength: 255
              minLength: 0
              type: string
              description: The description of the folder.
              example: This is a sample folder.
            children:
              type: array
              description: A list of the content items.
              items:
                $ref: '#/components/schemas/Content'
    FolderDefinition:
      required:
        - name
        - parentId
      type: object
      properties:
        name:
          maxLength: 128
          minLength: 1
          type: string
          description: The name of the folder.
          example: SampleFolder
        description:
          maxLength: 255
          minLength: 0
          type: string
          description: The description of the folder.
          example: This is a sample folder.
        parentId:
          type: string
          description: The identifier of the parent folder.
    UpdateFolderRequest:
      required:
        - name
      type: object
      properties:
        name:
          maxLength: 128
          minLength: 1
          type: string
          description: The name of the folder.
          example: SampleFolder
        description:
          maxLength: 255
          minLength: 0
          type: string
          description: The description of the folder.
          example: This is a sample folder.
    ContentList:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: A list of the content items.
          items:
            $ref: '#/components/schemas/Content'
    ContentPermissionResult:
      required:
        - explicitPermissions
      type: object
      properties:
        explicitPermissions:
          type: array
          description: Explicitly assigned content permissions.
          items:
            $ref: '#/components/schemas/ContentPermissionAssignment'
        implicitPermissions:
          type: array
          description: Implicitly inherited content permissions.
          items:
            $ref: '#/components/schemas/ContentPermissionAssignment'
    ContentPermissionAssignment:
      required:
        - contentId
        - permissionName
        - sourceId
        - sourceType
      type: object
      properties:
        permissionName:
          pattern: ^(View|GrantView|Edit|GrantEdit|Manage|GrantManage)$
          type: string
          description: >-
            Content permission name. Valid values are: `View`, `GrantView`,
            `Edit`, `GrantEdit`, `Manage`, and `GrantManage`.
          x-pattern-message: >-
            must be one of the following: `View`, `GrantView`, `Edit`,
            `GrantEdit`, `Manage`, `GrantManage`
        sourceType:
          pattern: ^(user|role|org)$
          type: string
          description: >-
            Type of source for the permission. Valid values are: `user`, `role`,
            and `org`.
          example: role
          x-pattern-message: 'must be one of the following: `user`, `role`, `org`'
        sourceId:
          type: string
          description: >-
            An identifier that belongs to the source type chosen above. For e.g.
            if the sourceType is set to "user", sourceId should be identifier of
            a user (same goes for `role` and `org` sourceType)
        contentId:
          type: string
          description: Unique identifier for the content item.
    ContentPermissionUpdateRequest:
      required:
        - contentPermissionAssignments
        - notificationMessage
        - notifyRecipients
      type: object
      properties:
        contentPermissionAssignments:
          type: array
          description: Content permissions to be updated.
          items:
            $ref: '#/components/schemas/ContentPermissionAssignment'
        notifyRecipients:
          type: boolean
          description: Set this to "true" to notify the users who had a permission update.
        notificationMessage:
          type: string
          description: >-
            The notification message sent to the users who had a permission
            update.
    Content:
      type: object
      allOf:
        - $ref: '#/components/schemas/MetadataModel'
        - required:
            - id
            - itemType
            - name
            - parentId
            - permissions
          properties:
            id:
              type: string
              description: Identifier of the content item.
              example: 000000000C1C17C6
            name:
              type: string
              description: The name of the content item.
              example: Personal
            itemType:
              type: string
              description: |-
                Type of the content item. Supported values are:
                  1. Folder
                  2. Search
                  3. Report (for old dashboards)
                  4. Dashboard (for new dashboards)
                  5. Lookups
              example: Folder
            parentId:
              type: string
              description: Identifier of the parent content item.
              example: 0000000001C41EF2
            permissions:
              type: array
              description: List of permissions the user has on the content item.
              example:
                - View
                - GrantView
                - Edit
              items:
                type: string
    MetadataModel:
      required:
        - createdAt
        - createdBy
        - modifiedAt
        - modifiedBy
      type: object
      properties:
        createdAt:
          type: string
          description: >-
            Creation timestamp in UTC in
            [RFC3339](https://tools.ietf.org/html/rfc3339) format.
          format: date-time
          example: '2018-10-16T09:10:00Z'
        createdBy:
          type: string
          description: Identifier of the user who created the resource.
          example: 0000000006743FDD
        modifiedAt:
          type: string
          description: Last modification timestamp in UTC.
          format: date-time
          example: '2018-10-16T09:10:00Z'
        modifiedBy:
          type: string
          description: Identifier of the user who last modified the resource.
          example: 0000000006743FE8
    ContentPath:
      required:
        - path
      type: object
      properties:
        path:
          type: string
          description: Path of the content item.
          example: /Library/Users/user@test.com/SampleFolder
    ContentSyncDefinition:
      required:
        - name
        - type
      type: object
      properties:
        type:
          type: string
          description: |-
            The content item type.
            **Note:**
             - `MewboardSyncDefinition` _is depreciated, and will soon be removed. Please use_ `DashboardV2SyncDefinition`
               _instead_.
             - Dashboard links are not supported for dashboards.
        name:
          type: string
          description: The name of the item.
      discriminator:
        propertyName: type
    IdArray:
      type: array
      items:
        type: string
    BulkBeginAsyncJobResponse:
      required:
        - errors
        - jobIds
      type: object
      properties:
        jobIds:
          type: object
          additionalProperties:
            type: string
          description: Map of content identifiers to job identifiers.
        errors:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/BulkErrorResponse'
          description: >-
            Map of content identifiers to error messages for all failed job
            requests
    BulkErrorResponse:
      required:
        - errorResponse
        - status
      type: object
      properties:
        status:
          type: integer
          description: HTTP status code of individual request
        errorResponse:
          $ref: '#/components/schemas/ErrorResponse'
    BulkAsyncStatusResponse:
      required:
        - errors
        - jobStatuses
      type: object
      properties:
        jobStatuses:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/AsyncJobStatus'
          description: Map of job identifiers to job statuses.
        errors:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/BulkErrorResponse'
          description: >-
            Map of content identifiers to error messages for all failed job
            requests
    TransformationRulesResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of transformation rules.
          items:
            $ref: '#/components/schemas/TransformationRuleResponse'
        next:
          type: string
          description: Next continuation token.
          example: aGNzTmZBN1ZZWFk9
      description: A generic response for transformation rule.
    TransformationRuleResponse:
      type: object
      description: A generic response for transformation rule.
      allOf:
        - $ref: '#/components/schemas/TransformationRuleRequest'
        - $ref: '#/components/schemas/MetadataModel'
        - required:
            - id
          properties:
            id:
              type: string
              description: Unique identifier for the transformation rule.
    TransformationRuleRequest:
      required:
        - enabled
        - ruleDefinition
      type: object
      properties:
        ruleDefinition:
          $ref: '#/components/schemas/TransformationRuleDefinition'
        enabled:
          type: boolean
          description: True if the rule is enabled.
          example: true
      description: A request for creating or updating a transformation rule.
    TransformationRuleDefinition:
      required:
        - name
        - retention
        - selector
      type: object
      properties:
        name:
          type: string
          description: Name of the transformation rule.
          example: Transformation Rule 1
        selector:
          type: string
          description: Selector of the transformation rule.
          example: _sourceCategory=metricsstore
        dimensionTransformations:
          type: array
          description: Dimension transformations of the transformation rule.
          example:
            - transformationType: AggregateOnTransformation
              aggregateOn:
                - metric
            - transformationType: AddOrReplaceTransformation
              dimensionToReplace: metric
              value: '{{metric}}_aggregated'
          items:
            $ref: '#/components/schemas/DimensionTransformation'
          default: []
        transformedMetricsRetention:
          type: integer
          description: >-
            Retention period in days for the transformed metrics that are
            generated by this rule. The supported retention periods for
            transformed metrics are 8 days, and 400 days. If no dimension
            transformations are defined, this value will be set to 0.
          format: int64
          example: 8
          default: 0
        retention:
          type: integer
          description: >-
            Retention period in days for the metrics that are selected by the
            selector. The supported retention periods for selected metrics are 8
            days, 400 days, and 0 (Do not store) if this rule contains dimension
            transformation.
          format: int64
          example: 8
          default: 400
      description: The properties that define a transformation rule.
    DimensionTransformation:
      required:
        - transformationType
      type: object
      properties:
        transformationType:
          type: string
          description: This is the base type of all dimension transformations.
      description: Base class of all transformation types.
      discriminator:
        propertyName: transformationType
    ContractDetails:
      required:
        - contractPeriod
        - currentBillingPeriod
        - entitlements
        - orgId
        - planType
      type: object
      properties:
        orgId:
          type: string
          description: Organization identifier of the account.
        planType:
          type: string
          description: Plan name of the account.
          example: >-
            Sumo Logic Logs and Metrics Analytics Service - Enterprise Edition
            (Cloud Flex)
        entitlements:
          type: array
          description: >-
            List of the entitlements of the account. Entitlements of the account
            are the list of products subscribed by the user.
          items:
            $ref: '#/components/schemas/Entitlements'
        sharedBuckets:
          type: array
          description: >-
            Contains list of buckets. Bucket means shared pool from which
            multiple entitlements can use capacity.
          items:
            $ref: '#/components/schemas/SharedBucket'
        contractPeriod:
          $ref: '#/components/schemas/ContractPeriod'
        currentBillingPeriod:
          $ref: '#/components/schemas/CurrentBillingPeriod'
      description: >
        Contract details include Entitlements of the customer such as
        ContinuousLogs, FrequentLogs, Metrics, Storage, and Dashboards along
        with the entitlement value of each entitlement.
    Entitlements:
      required:
        - capacity
        - contractType
        - entitlementType
        - label
      type: object
      properties:
        contractType:
          type: string
          description: >-
            Details of the contract type. `AnnualBucket` are contracts that buy
            and consume ingest on yearly basis. `Credits` are contracts that buy
            a single unit called credits for all our features. `DailyAverage`
            are contracts that buy and consume ingest on a monthly basis.
          example: AnnualBucket, Credits, DailyAverage
        entitlementType:
          type: string
          description: >-
            Text denoting the type of entitlement. - `continuous` for Continuous
            Analytics, - `frequent` for Frequent Analytics, - `storage` for
            Total Storage, - `metrics` for Metrics.
        label:
          type: string
          description: >-
            The label of an entitlement is the plan name displayed on the
            accounts page in our user interface.
          example: >-
            Continuous log entitlement is represented by `Daily Log Ingest
            (Continuous Analytics)`.
        capacity:
          $ref: '#/components/schemas/Capacity'
        capacities:
          type: array
          description: Contains the capacities that were part of the contract.
          items:
            $ref: '#/components/schemas/Capacity'
    Capacity:
      required:
        - unit
        - value
      type: object
      properties:
        value:
          type: number
          description: The value of the entitlement in units.
          format: double
          example: 61425.23
        unit:
          type: string
          description: >-
            The unit of the entitlement. Units are provided in `GB` or
            `DPM`(data points per minute).
          example: GB
        capacityType:
          pattern: ^(Paid|Free)$
          type: string
          description: >-
            Type of capacity. Valid values are: 1) `Paid` : This means that the
            capacity is chargeable. 2) `Free` : This means that this capacity is
            not chargeable.
      description: >-
        Amount of entitlement provided by Sumo Logic for the entitlement type of
        the account.
    SharedBucket:
      required:
        - capacities
        - label
        - linkedEntitlementTypes
        - name
      type: object
      properties:
        name:
          type: string
          description: Name of the bucket.
          example: totalReservedCredits
        label:
          type: string
          description: The text to be displayed on UI for this bucket.
          example: Sumo Credits
        linkedEntitlementTypes:
          type: array
          description: List of entitlement types which can consume from this bucket.
          example:
            - continuous
            - frequent
            - metrics
            - storage
          items:
            type: string
        capacitites:
          type: array
          description: List of capacities alloted.
          items:
            $ref: '#/components/schemas/Capacity'
      description: >-
        A shared bucket contains capacities which can be used my multiple
        entitlements which are linked to the bucket. There will be a 1:many
        mapping between SharedBucket:Entitlement.
    ContractPeriod:
      required:
        - endDate
        - startDate
      type: object
      properties:
        startDate:
          type: string
          description: Start date of the contract.
          format: date
        endDate:
          type: string
          description: End date of the contract.
          format: date
    CurrentBillingPeriod:
      required:
        - endDate
        - startDate
      type: object
      properties:
        startDate:
          type: string
          description: Start date of the current billing period.
          format: date
          example: '2012-02-02'
        endDate:
          type: string
          description: End date of the current billing period.
          format: date
          example: '2012-02-02'
    ConsumptionDetails:
      required:
        - endDate
        - entitlementConsumptions
        - startDate
      type: object
      properties:
        entitlementConsumptions:
          type: array
          description: An array of entitlements.
          items:
            $ref: '#/components/schemas/EntitlementConsumption'
        startDate:
          type: string
          description: Start date of the data usage.
          format: date
        endDate:
          type: string
          description: End date of the data usage.
          format: date
      description: List of entitlements consumption.
    EntitlementConsumption:
      required:
        - contractType
        - dataPoints
        - entitlementType
        - operators
      type: object
      properties:
        entitlementType:
          type: string
          description: >-
            String value denoting the type of entitlement. - `continuous` for
            Continuous Analytics, - `frequent` for Frequent Analytics, -
            `storage` for Total Storage, - `metrics` for Metrics.
        datapoints:
          type: array
          description: >-
            Array of data points of the entitlement with their respective date
            range.
          items:
            $ref: '#/components/schemas/DataPoints'
        operators:
          type: array
          description: >-
            Operators used on the data. Available operators are `sum`,
            `average`, `usagePercentage`, `forecastValue`, `forecastPercentage`,
            and `forecastRemainingDays`. sum - Returns the sum of the usages.
            average - Returns the average of the usages. usagePercentage -
            Returns percentage of total capacity used for the startDate and
            endDate. forecastValue - Returns expected usage value assuming
            current usage behavior continues. forecastPercentage - Returns
            expected percentage usage by the endDate assuming current usage
            behavior continues. forecastRemainingDays- Returns the number of
            expected days, from today, that consumption will last assuming
            current usage behavior continues.
          items:
            $ref: '#/components/schemas/Operator'
        contractType:
          type: string
          description: >-
            Consumption model of the entitlements, available values are
            `DailyAverage`, `AnnualBucket`, and `Credits`.
          example: DailyAverage
    DataPoints:
      required:
        - timeRange
        - value
      type: object
      properties:
        timeRange:
          $ref: '#/components/schemas/BeginBoundedTimeRange'
        values:
          type: array
          description: An array of objects denoting the value and unit of the data points.
          items:
            $ref: '#/components/schemas/DataValue'
      description: >-
        Denotes the data points as a result of the groupBy function performed on
        the usage data.
    DataValue:
      required:
        - unit
        - value
      type: object
      properties:
        value:
          type: number
          description: The value of the data point in units.
          format: double
          example: 425
        unit:
          type: string
          description: >-
            The unit of the entitlement, possible values are `GB`, `DPM`, or
            `Credits`.
          example: GB
    Operator:
      required:
        - name
        - values
      type: object
      properties:
        values:
          type: array
          description: An array of objects denoting the value and unit of the results.
          items:
            $ref: '#/components/schemas/DataValue'
        name:
          type: string
          description: The name of the operator applied to the data.
          example: sum
      description: >-
        Result of the aggregations performed on the usages. Operator can be
        `sum`, `average`, `usagePercentage`,
        `forecastValue`,`forecastPercentage`, or `forecastRemainingDays`.
    PlansCatalog:
      required:
        - plans
      type: object
      properties:
        plans:
          type: array
          description: List of plans available.
          items:
            $ref: '#/components/schemas/SelfServicePlan'
      description: Plans available for the account to update.
    SelfServicePlan:
      required:
        - productGroups
        - productId
        - productName
        - productSubscriptionOptions
      type: object
      properties:
        productId:
          $ref: '#/components/schemas/ProductId'
        productName:
          $ref: '#/components/schemas/ProductName'
        productGroups:
          type: array
          description: A list of product group for preview.
          items:
            $ref: '#/components/schemas/ProductGroup'
        productSubscriptionOptions:
          type: array
          description: A list of product subscription option.
          items:
            $ref: '#/components/schemas/ProductSubscriptionOption'
      description: >-
        Details about a Plan, along with its product groups and subscription
        options
    ProductId:
      pattern: ^(Essentials|Trial|Free|EnterpriseOps|EnterpriseSec|EnterpriseSuite)$
      type: string
      description: >
        Unique identifier of the product in current plan. Valid values are: 1.
        `Free` 2. `Trial` 3. `Essentials` 4. `EnterpriseOps` 5. `EnterpriseSec`
        6. `EnterpriseSuite`
      example: Essentials
      x-pattern-message: >-
        must be one of the following: `Essentials`, `Trial`, `Free`,
        `EnterpriseOps`, `EnterpriseSec`, `EnterpriseSuite`
    ProductName:
      type: string
      description: Name for the product.
      example: Sumo Logic Continuous Intelligence Service - Essentials Edition
    ProductGroup:
      required:
        - productGroupName
        - productVariables
      type: object
      properties:
        productGroupName:
          type: string
          description: |
            Name of the Product group:
          example: Continuous Analytics
        productVariables:
          type: array
          description: Different product variables of the product group
          items:
            $ref: '#/components/schemas/ProductVariable'
      description: Details of product group and its quantity.
    ProductVariable:
      required:
        - possibleValues
        - productVariableId
        - productVariableName
        - unit
      type: object
      properties:
        productVariableName:
          type: string
          description: Name of a product variable.
          example: Continuous Log Ingest
        productVariableId:
          pattern: >-
            ^(continuousIngest|continuousStorage|frequentIngest|frequentStorage|infrequentIngest|infrequentStorage|infrequentScannedData|cseIngest|cseStorage|metrics)$
          type: string
          description: Unique Identifier of the product variable.
          example: continuousIngest
          x-pattern-message: >-
            must be one of the following: `continuousIngest`,
            `continuousStorage`, `frequentIngest`, `frequentStorage`,
            `infrequentIngest`, `infrequentStorage`, `infrequentScannedData`,
            `cseIngest`, `cseStorage`, `metrics`
        unit:
          type: string
          description: Unit of measure for the productvariable.
          example: GB
        possibleValues:
          type: array
          description: Possible values allowed for the productvariable.
          example:
            - 3
            - 5
            - 10
            - 20
          items:
            type: integer
            format: int64
      description: Details of product variable and its quantity.
    ProductSubscriptionOption:
      required:
        - billingFrequency
        - discountPercentage
      type: object
      properties:
        billingFrequency:
          $ref: '#/components/schemas/BillingFrequency'
        discountPercentage:
          type: integer
          description: Discount percentage for this plan's subscription.
          example: 20
      description: Subscription option containing billing frequency and discount details.
    BillingFrequency:
      pattern: ^(Monthly|Annually)$
      type: string
      description: |
        Identifier for the plans billing term. Valid values are:
         1. Monthly
         2. Annually
      example: Monthly
      x-pattern-message: 'must be one of the following: `Monthly`, `Annually`'
    CurrentPlan:
      required:
        - billingFrequency
        - planCost
        - productId
      type: object
      properties:
        productId:
          pattern: >-
            ^(Essentials|Trial|Free|EnterpriseOps|EnterpriseSec|EnterpriseSuite)$
          type: string
          description: >
            Unique identifier of the product in current plan. Valid values are:
            1. `Free` 2. `Trial` 3. `Essentials` 4. `EnterpriseOps` 5.
            `EnterpriseSec` 6. `EnterpriseSuite`
          example: Essentials
          x-pattern-message: >-
            must be one of the following: `Essentials`, `Trial`, `Free`,
            `EnterpriseOps`, `EnterpriseSec`, `EnterpriseSuite`
        planCost:
          type: number
          description: Cost incurred for the current plan.
          format: double
          example: 725.46
        billingFrequency:
          pattern: ^(Monthly|Annually)$
          type: string
          description: >
            Billing frequency for the current plan. Valid values are: 1.
            `Monthly` 2. `Annually`
          example: Monthly
          x-pattern-message: 'must be one of the following: `Monthly` or `Annually`'
        consumables:
          type: array
          description: Consumables in the current plan.
          items:
            $ref: '#/components/schemas/Consumable'
        planType:
          pattern: ^(Free|Trial|Paid)$
          type: string
          description: Whether the account is `Free`/`Trial`/`Paid`
          example: Free
          x-pattern-message: 'must be one of the following: `Free`, `Trial` or `Paid`'
        planName:
          type: string
          description: The plan name for the product being used.
        discountAmount:
          type: integer
          description: The discount offered for the given contract period.
        contractPeriod:
          $ref: '#/components/schemas/ContractPeriod'
        currentBillingPeriod:
          $ref: '#/components/schemas/CurrentBillingPeriod'
        credits:
          type: integer
          description: Numerical value of the amount of credits
          format: int64
          example: 300
        baselines:
          $ref: '#/components/schemas/Baselines'
      description: Current plan of the account.
    Consumable:
      required:
        - consumableId
        - quantity
      type: object
      properties:
        consumableId:
          pattern: ^(Storage|Metrics|Continuous|Credits)$
          type: string
          description: >
            Unique identifier of the consumable. Valid values are: 1. `Storage`
            2. `Metrics` 3. `Continuous` 4. `Credits`
          example: Metrics
          x-pattern-message: >-
            must be one of the following: `Storage`, `Metrics`, `Continuous`,
            `Credits`
        quantity:
          $ref: '#/components/schemas/Quantity'
      description: Details of consumable and its quantity.
    Quantity:
      required:
        - unit
        - value
      type: object
      properties:
        value:
          type: integer
          description: The value of the consumable in units.
          format: int64
          example: 61425
        unit:
          pattern: ^(GB|DPM|Credits|Days)$
          type: string
          description: >
            The unit of the consumable. Units are provided in: 1. `GB` 2.
            `DPM`(Data Points Per Minute) 3. `Credits` 4. `Days`
          example: GB
          x-pattern-message: 'must be one of the following: `GB`, `DPM`, `Credits`, `Days`'
      description: Details of unit of consumption and its value.
    Baselines:
      type: object
      properties:
        continuousIngest:
          maximum: 1000000
          minimum: 0
          type: integer
          description: >-
            The amount of continuous logs ingest to allocate to the
            organization, in GBs.
          format: int64
          example: 50000
          default: 0
        continuousStorage:
          maximum: 30
          minimum: 30
          type: integer
          description: >-
            Number of days of continuous logs storage to allocate to the
            organization, in Days.
          format: int64
          example: 30
          default: 30
        frequentIngest:
          maximum: 1000000
          minimum: 0
          type: integer
          description: >-
            The amount of frequent logs ingest to allocate to the organization,
            in GBs.
          format: int64
          example: 50000
          default: 0
        frequentStorage:
          maximum: 30
          minimum: 30
          type: integer
          description: >-
            Number of days of frequent logs storage to allocate to the
            organization, in Days.
          format: int64
          example: 30
          default: 30
        infrequentIngest:
          maximum: 1000000
          minimum: 0
          type: integer
          description: >-
            The amount of infrequent logs ingest to allocate to the
            organization, in GBs.
          format: int64
          example: 50000
          default: 0
        infrequentStorage:
          maximum: 30
          minimum: 30
          type: integer
          description: >-
            The amount of infrequent logs storage to allocate to the
            organization, in Days.
          format: int64
          example: 30
          default: 30
        infrequentScan:
          maximum: 1000000
          minimum: 0
          type: integer
          description: >-
            The amount of infrequent logs scan to allocate to the organization,
            in GBs.
          format: int64
          example: 50000
          default: 0
        metrics:
          maximum: 1000000
          minimum: 0
          type: integer
          description: >-
            The amount of Metrics usage to allocate to the organization, in DPMs
            (Data Points per Minute).
          format: int64
          example: 50000
          default: 0
        cseIngest:
          maximum: 1000000
          minimum: 0
          type: integer
          description: The amount of CSE ingest to allocate to the organization, in GBs.
          format: int64
          example: 50000
          default: 0
        cseStorage:
          maximum: 1000000
          minimum: 0
          type: integer
          description: The amount of CSE storage to allocate to the organization, in GBs.
          format: int64
          example: 50000
          default: 0
        tracingIngest:
          maximum: 1000000
          minimum: 0
          type: integer
          description: >-
            The amount of tracing data ingest to allocate to the organization,
            in GBs.
          format: int64
          example: 50000
          default: 0
      description: Details of consumable and its quantity.
    UpdateRequest:
      required:
        - baselines
        - billingFrequency
        - productId
      type: object
      properties:
        productId:
          $ref: '#/components/schemas/ProductId'
        billingFrequency:
          $ref: '#/components/schemas/BillingFrequency'
        baselines:
          $ref: '#/components/schemas/SelfServiceCreditsBaselines'
      description: Update request for the account.
    SelfServiceCreditsBaselines:
      type: object
      properties:
        continuousIngest:
          minimum: 0
          type: integer
          description: >-
            The amount of continuous logs ingest to allocate to the
            organization, in GBs.
          format: int64
          example: 5
          default: 0
        continuousStorage:
          minimum: 0
          type: integer
          description: >-
            Number of days of continuous logs storage to allocate to the
            organization, in Days.
          format: int64
          example: 30
          default: 0
        metrics:
          minimum: 0
          type: integer
          description: >-
            The amount of Metrics usage to allocate to the organization, in DPMs
            (Data Points per Minute).
          format: int64
          example: 20000
          default: 0
        tracingIngest:
          minimum: 0
          type: integer
          description: >-
            The amount of tracing data ingest to allocate to the organization,
            in GBs.
          format: int64
          example: 1
          default: 0
      description: Details of product variables and its quantity as required for credits.
    UpgradePlans:
      required:
        - plans
      type: object
      properties:
        plans:
          type: array
          description: List of plans available.
          items:
            $ref: '#/components/schemas/Plan'
      description: Upgrade plans available for the account.
    Plan:
      required:
        - productGroups
        - productId
        - productName
      type: object
      properties:
        productId:
          $ref: '#/components/schemas/ProductId'
        productName:
          $ref: '#/components/schemas/ProductName'
        productGroups:
          type: array
          description: A list of product group for preview.
          items:
            $ref: '#/components/schemas/ProductGroup'
      description: Upgrade preview request for the account.
    AccountStatusResponse:
      required:
        - applicationUse
        - canUpdatePlan
        - planType
        - pricingModel
      type: object
      properties:
        pricingModel:
          pattern: ^(credits|cloudflex)$
          type: string
          description: Whether the account is `cloudflex` or `credits`
          example: credits
        canUpdatePlan:
          type: boolean
          description: If the plan can be updated by the given user
          example: true
        planType:
          pattern: ^(Free|Trial|Paid)$
          type: string
          description: Whether the account is `Free`/`Trial`/`Paid`
          example: Free
        planExpirationDays:
          type: integer
          description: The number of days in which the plan will expire
          example: 20
        applicationUse:
          pattern: ^(ALLOWED|ALLOWED_WITH_WARNING|THROTTLED|RESTRICTED)$
          type: string
          description: The current usage of the application.
          example: ALLOWED
        accountActivated:
          type: boolean
          description: If the account is activated or not
          example: true
      description: Information about the account's plan and payment.
    SubdomainDefinitionResponse:
      required:
        - createdAt
        - createdBy
        - modifiedAt
        - modifiedBy
        - subdomain
        - url
      type: object
      properties:
        createdAt:
          type: string
          description: >
            Creation timestamp in UTC in
            [RFC3339](https://tools.ietf.org/html/rfc3339) format.
          format: date-time
        createdBy:
          type: string
          description: Identifier of the user who created the resource.
        modifiedAt:
          type: string
          description: Last modification timestamp in UTC.
          format: date-time
        modifiedBy:
          type: string
          description: Identifier of the user who last modified the resource.
        subdomain:
          type: string
          description: The new subdomain.
          example: my-company
        url:
          type: string
          description: Login URL corresponding to the subdomain.
          example: https://your-company.sumologic.com
    ConfigureSubdomainRequest:
      required:
        - subdomain
      type: object
      properties:
        subdomain:
          maxLength: 63
          minLength: 4
          pattern: ^(?!xn--)[a-z0-9]([a-z0-9-]*[a-z0-9])?$
          type: string
          description: The new subdomain.
          example: my-company
    SubdomainAvailabilityResponse:
      required:
        - isAvailable
      type: object
      properties:
        isAvailable:
          type: boolean
          description: Subdomain is available for use or not.
          example: false
    SubdomainUrlResponse:
      required:
        - url
      type: object
      properties:
        url:
          type: string
          description: Login URL corresponding to the subdomain.
          example: https://your-company.sumologic.com
    TotalCredits:
      required:
        - totalCredits
      type: object
      properties:
        totalCredits:
          type: number
          description: Numerical value of the amount of credits
          format: double
          example: 300
        breakdown:
          $ref: '#/components/schemas/CreditsBreakdown'
      description: >-
        Total amount of credits to be deducted from the parent organization
        corresponding to the baselines
    CreditsBreakdown:
      required:
        - allocatedCredits
        - deploymentChargeCredits
      type: object
      properties:
        deploymentChargeCredits:
          type: number
          description: >-
            The total credits deducted from the parent organization in the form
            of deployment charge.
          format: double
          example: 100
        allocatedCredits:
          type: number
          description: The total useable credits allocated to the child organization.
          format: double
          example: 200
      description: Breakdown of the credits.
    CalculatorRequest:
      type: object
      properties:
        parentDeploymentId:
          maxLength: 4
          type: string
          description: Identifier of the deployment in which the parent org is present.
          example: us2
        deploymentId:
          type: string
          description: Identifier of the deployment in which the child org is present.
          example: us2
        trialPlanPeriod:
          type: integer
          description: length of the trial period.
          example: 45
        baselines:
          $ref: '#/components/schemas/Baselines'
      description: Details of the request
    PlanUpdateEmail:
      required:
        - baselines
        - emailId
      type: object
      properties:
        emailId:
          maxLength: 255
          type: string
          description: email id on which support team will contact on
          format: email
          example: johndoe@acme.com
        phoneNumber:
          maxLength: 30
          type: string
          description: contact number on which support team can call user
          example: +01-87789-65749
        billingFrequency:
          pattern: ^(Monthly|Annually|)$
          type: string
          description: >-
            The frequency with with the customer needs to be billed at. The
            current supported values are Monthly and Annually
          example: Monthly
          x-pattern-message: 'must be one of the following: `Monthly`, `Annually`'
        baselines:
          $ref: '#/components/schemas/SelfServiceCreditsBaselines'
        details:
          type: string
          description: option details the user might want to inform
          example: I need some help with my plan.
      description: details of the plan for updating with contact information
    MetricsSearchInstance:
      allOf:
        - $ref: '#/components/schemas/MetricsSearchV1'
        - $ref: '#/components/schemas/MetadataModel'
        - required:
            - id
          type: object
          properties:
            id:
              type: string
              description: Identifier of the metrics search.
              example: 000000000000001A
            parentId:
              type: string
              description: >-
                Identifier of the parent element in the content library, such as
                folder.
              example: 0000000000007D2B
    MetricsSearchV1:
      required:
        - description
        - metricsQueries
        - timeRange
        - title
      type: object
      properties:
        title:
          maxLength: 255
          minLength: 1
          pattern: ^[a-zA-Z0-9 +%-@.,_()]+$
          type: string
          description: Item title in the content library.
          example: Short title
        description:
          maxLength: 8192
          type: string
          description: Item description in the content library.
          example: Long and detailed description
        timeRange:
          $ref: '#/components/schemas/ResolvableTimeRange'
        logQuery:
          maxLength: 10240
          type: string
          description: Log query used to add an overlay to the chart.
          example: my_metric | timeslice 1m | count by _timeslice
        metricsQueries:
          type: array
          description: Metrics queries, up to the maximum of six.
          items:
            $ref: '#/components/schemas/MetricsSearchQuery'
        desiredQuantizationInSecs:
          minimum: 0
          type: integer
          description: Desired quantization in seconds.
          format: int32
          example: 60
          default: 0
        properties:
          type: string
          description: >
            Chart properties, like line width, color palette, and the fill
            missing data method. Leave this field empty to use the defaults.

            This property contains JSON object encoded as a string.
          example: '{ \"key\": \"value\" }'
      description: Definition of a metrics search.
    MetricsSearchQuery:
      required:
        - query
        - rowId
      type: object
      properties:
        rowId:
          type: string
          description: >-
            Row identifier. All row IDs are represented by subsequent upper case
            letters starting with `A`.
          example: A
        query:
          type: string
          description: Metrics query.
          example: my_metric | avg
      description: Definition of a metrics query.
    SaveMetricsSearchRequest:
      type: object
      description: The definition of the metrics search to save in the content library.
      allOf:
        - $ref: '#/components/schemas/MetricsSearchV1'
        - required:
            - parentId
          type: object
          properties:
            parentId:
              type: string
              description: >-
                Identifier of a folder to which the metrics search should be
                added.
              example: 000000000000001A
    ListTokensBaseResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of tokens.
          items:
            $ref: '#/components/schemas/TokenBaseResponse'
    TokenBaseResponse:
      required:
        - createdAt
        - createdBy
        - description
        - id
        - modifiedAt
        - modifiedBy
        - name
        - status
        - type
        - version
      type: object
      properties:
        id:
          type: string
          description: Identifier of the token.
        name:
          maxLength: 255
          minLength: 1
          type: string
          description: Name of the token.
          example: token-name
        description:
          maxLength: 4096
          minLength: 0
          type: string
          description: Description of the token.
          example: 'token description: for test.'
        status:
          pattern: ^(Active|Inactive)$
          type: string
          description: Status of the token. Can be `Active`, or `Inactive`.
          example: Active
          x-pattern-message: must be either `Active` or `Inactive`
        type:
          pattern: ^(CollectorRegistrationTokenResponse)$
          type: string
          description: >-
            Type of the token. Valid values: 1)
            CollectorRegistrationTokenResponse
          example: CollectorRegistrationTokenResponse
          x-pattern-message: must be `CollectorRegistrationTokenResponse`
        version:
          type: integer
          description: Version of the token.
          format: int64
        createdAt:
          type: string
          description: >-
            Creation timestamp in UTC in
            [RFC3339](https://tools.ietf.org/html/rfc3339) format.
          format: date-time
        createdBy:
          type: string
          description: Identifier of the user who created the resource.
        modifiedAt:
          type: string
          description: Last modification timestamp in UTC.
          format: date-time
        modifiedBy:
          type: string
          description: Identifier of the user who last modified the resource.
      discriminator:
        propertyName: type
    TokenBaseDefinition:
      required:
        - name
        - status
        - type
      type: object
      properties:
        name:
          maxLength: 255
          minLength: 1
          type: string
          description: Name of the token.
          example: token-name
        description:
          maxLength: 4096
          minLength: 0
          type: string
          description: Description of the token.
          example: 'token description: for test.'
        status:
          pattern: ^(Active|Inactive)$
          type: string
          description: Status of the token. Can be `Active`, or `Inactive`.
          example: Active
          x-pattern-message: must be either `Active` or `Inactive`
        type:
          pattern: ^(CollectorRegistration)$
          type: string
          description: 'Type of the token. Valid values: 1) CollectorRegistration'
          example: CollectorRegistration
          x-pattern-message: must be `CollectorRegistration`
    TokenBaseDefinitionUpdate:
      required:
        - name
        - status
        - type
        - version
      type: object
      properties:
        name:
          maxLength: 255
          minLength: 1
          type: string
          description: Name of the token.
          example: token-name
        description:
          maxLength: 4096
          minLength: 0
          type: string
          description: Description of the token.
          example: 'token description: for test.'
        status:
          pattern: ^(Active|Inactive)$
          type: string
          description: Status of the token. Can be `Active`, or `Inactive`.
          example: Active
          x-pattern-message: must be either `Active` or `Inactive`
        type:
          pattern: ^(CollectorRegistration)$
          type: string
          description: 'Type of the token. Valid values: 1) CollectorRegistration'
          example: CollectorRegistration
          x-pattern-message: must be `CollectorRegistration`
        version:
          type: integer
          description: Version of the token.
          format: int64
    PaginatedListAccessKeysResult:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: An array of access keys.
          items:
            $ref: '#/components/schemas/AccessKeyPublic'
        next:
          type: string
          description: Next continuation token.
          example: GDCiRv4vebF3UWFJQ1kySXBOR3Bzh69GR0RyWm9vCtc
      description: List of access keys.
    AccessKeyPublic:
      required:
        - createdAt
        - createdBy
        - disabled
        - id
        - label
        - modifiedAt
      type: object
      properties:
        id:
          type: string
          description: Identifier of the access key.
          example: su0w3Q37CBzHUM
        label:
          type: string
          description: The name of the access key.
          example: collector access key
        corsHeaders:
          type: array
          description: >-
            An array of domains for which the access key is valid. Whether Sumo
            Logic accepts or rejects an API request depends on whether it
            contains an ORIGIN header and the entries in the allowlist. Sumo
            Logic will reject:
              1. Requests with an ORIGIN header but the allowlist is empty.
              2. Requests with an ORIGIN header that don't match any entry in the allowlist.
          example:
            - https://my-app.com
            - https://mail.my-app.com
          items:
            type: string
        disabled:
          type: boolean
          description: Indicates whether the access key is disabled or not.
          example: false
        createdAt:
          type: string
          description: >-
            Creation timestamp in UTC in
            [RFC3339](https://tools.ietf.org/html/rfc3339) format.
          format: date-time
          example: '2018-10-16T09:10:00Z'
        createdBy:
          type: string
          description: Identifier of the user who created the access key.
          example: 0000000006743FDD
        modifiedAt:
          type: string
          description: Last modification timestamp in UTC.
          format: date-time
          example: '2018-10-16T09:10:00Z'
    AccessKey:
      allOf:
        - $ref: '#/components/schemas/AccessKeyPublic'
        - required:
            - key
          type: object
          properties:
            key:
              type: string
              description: >-
                The key for the created access key. This field will have values
                only in the response for an access key create request. The value
                will be an empty string while listing all keys.
              example: F9GZvb4fISxUZHM7pqHCsGXGWf4OArgmt9Tz8ewZ
    AccessKeyCreateRequest:
      required:
        - label
      type: object
      properties:
        label:
          maxLength: 128
          type: string
          description: A name for the access key to be created.
          example: automation access key
        corsHeaders:
          maxItems: 20
          type: array
          description: >-
            An array of domains for which the access key is valid. Whether Sumo
            Logic accepts or rejects an API request

            depends on whether it contains an ORIGIN header and the entries in
            the allowlist.

            Sumo Logic will reject:
              1. Requests with an ORIGIN header but the allowlist is empty.
              2. Requests with an ORIGIN header that don't match any entry in the allowlist.
          example:
            - https://my-app.com
            - https://mail.my-app.com
          items:
            type: string
    ListAccessKeysResult:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: An array of access keys.
          items:
            $ref: '#/components/schemas/AccessKeyPublic'
      description: List of access keys.
    AccessKeyUpdateRequest:
      required:
        - disabled
      type: object
      properties:
        disabled:
          type: boolean
          description: Indicates whether the access key is disabled or not.
          example: true
        corsHeaders:
          maxItems: 20
          type: array
          description: >-
            An array of domains for which the access key is valid. Whether Sumo
            Logic accepts or rejects an API request depends on whether it
            contains an ORIGIN header and the entries in the allowlist. Sumo
            Logic will reject:
              1. Requests with an ORIGIN header but the allowlist is empty.
              2. Requests with an ORIGIN header that don't match any entry in the allowlist.
          example:
            - https://my-app.com
            - https://mail.my-app.com
          items:
            type: string
    SamlIdentityProvider:
      type: object
      allOf:
        - $ref: '#/components/schemas/SamlIdentityProviderRequest'
        - $ref: '#/components/schemas/AuthnCertificateResult'
        - $ref: '#/components/schemas/MetadataModel'
        - required:
            - id
          properties:
            id:
              type: string
              description: Unique identifier of the SAML Identity Provider.
              example: 00000000361130F7
            assertionConsumerUrl:
              type: string
              description: >-
                The URL on Sumo Logic where the IdP will redirect to with its
                authentication response.
              example: https://service.sumologic.com/sumo/saml/consume/9483922
              default: ''
            entityId:
              type: string
              description: >-
                A unique identifier that is the intended audience of the SAML
                assertion.
              example: https://service.sumologic.com/sumo/saml/9483922
              default: ''
    SamlIdentityProviderRequest:
      required:
        - configurationName
        - issuer
        - x509cert1
      type: object
      properties:
        spInitiatedLoginPath:
          type: string
          description: This property has been deprecated and is no longer used.
          example: http://www.okta.com/abxcseyuiwelflkdjh
          deprecated: true
          default: ''
        configurationName:
          type: string
          description: >-
            Name of the SSO policy or another name used to describe the policy
            internally.
          example: SumoLogic
        issuer:
          type: string
          description: >-
            The unique URL assigned to the organization by the SAML Identity
            Provider.
          example: http://www.okta.com/abxcseyuiwelflkdjh
        spInitiatedLoginEnabled:
          type: boolean
          description: >-
            True if Sumo Logic redirects users to your identity provider with a
            SAML AuthnRequest when signing in.
          default: false
        authnRequestUrl:
          type: string
          description: >-
            The URL that the identity provider has assigned for Sumo Logic to
            submit SAML authentication requests to the identity provider.
          example: https://www.okta.com/app/sumologic/abxcseyuiwelflkdjh/sso/saml
          default: ''
        x509cert1:
          type: string
          description: The certificate is used to verify the signature in SAML assertions.
        x509cert2:
          type: string
          description: >-
            The backup certificate used to verify the signature in SAML
            assertions when x509cert1 expires.
          default: ''
        x509cert3:
          type: string
          description: >-
            The backup certificate used to verify the signature in SAML
            assertions when x509cert1 expires and x509cert2 is empty.
          default: ''
        onDemandProvisioningEnabled:
          $ref: '#/components/schemas/OnDemandProvisioningInfo'
        rolesAttribute:
          type: string
          description: The role that Sumo Logic will assign to users when they sign in.
          example: Sumo_Role
          default: ''
        logoutEnabled:
          type: boolean
          description: >-
            True if users are redirected to a URL after signing out of Sumo
            Logic.
          default: false
        logoutUrl:
          type: string
          description: >-
            The URL that users will be redirected to after signing out of Sumo
            Logic.
          example: https://www.sumologic.com
          default: ''
        emailAttribute:
          type: string
          description: The email address of the new user account.
          example: attribute/subject
          default: ''
        debugMode:
          type: boolean
          description: >-
            True if additional details are included when a user fails to sign
            in.
          default: false
        signAuthnRequest:
          type: boolean
          description: >-
            True if Sumo Logic will send signed Authn requests to the identity
            provider.
          default: false
        disableRequestedAuthnContext:
          type: boolean
          description: >-
            True if Sumo Logic will include the RequestedAuthnContext element of
            the SAML AuthnRequests it sends to the identity provider.
          default: false
        isRedirectBinding:
          type: boolean
          description: True if the SAML binding is of HTTP Redirect type.
          default: false
    OnDemandProvisioningInfo:
      required:
        - onDemandProvisioningRoles
      type: object
      properties:
        firstNameAttribute:
          type: string
          description: First name attribute of the new user account.
          example: http://schemas.microsoft.com/ws/2008/06/identity/claims/givenname
          default: ''
        lastNameAttribute:
          type: string
          description: Last name attribute of the new user account.
          example: http://schemas.microsoft.com/ws/2008/06/identity/claims/surname
          default: ''
        onDemandProvisioningRoles:
          type: array
          description: >-
            Sumo Logic RBAC roles to be assigned when user accounts are
            provisioned.
          example: '["Analyst", "Administrator"]'
          items:
            type: string
          default: []
    AuthnCertificateResult:
      required:
        - certificate
      type: object
      properties:
        certificate:
          type: string
          description: Authentication Request Signing Certificate for the user.
    AllowlistedUserResult:
      required:
        - canManageSaml
        - email
        - firstName
        - isActive
        - lastLogin
        - lastName
        - userId
      type: object
      properties:
        userId:
          type: string
          description: Unique identifier of the user.
        firstName:
          type: string
          description: First name of the user.
        lastName:
          type: string
          description: Last name of the user.
        email:
          type: string
          description: Email of the user.
          example: john@sumologic.com
        canManageSaml:
          type: boolean
          description: If the user can manage SAML Configurations.
        isActive:
          type: boolean
          description: Checks if the user is active.
        lastLogin:
          type: string
          description: Timestamp of the last login of the user.
          format: date-time
    CidrList:
      required:
        - data
      type: object
      properties:
        data:
          maxItems: 50
          type: array
          description: An array of CIDR notations and/or IP addresses.
          items:
            $ref: '#/components/schemas/Cidr'
      description: A list of CIDR notations and/or IP addresses.
    Cidr:
      required:
        - cidr
      type: object
      properties:
        cidr:
          pattern: >-
            ^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))?$
          type: string
          description: The string representation of the CIDR notation or IP address.
          example: 192.35.24.1
          x-pattern-message: Invalid CIDR/IP
        description:
          type: string
          description: Description of the CIDR notation or IP address.
          example: Accountant
      description: A CIDR notation or IP address along with its description.
    AllowlistingStatus:
      required:
        - contentEnabled
        - loginEnabled
      type: object
      properties:
        contentEnabled:
          type: boolean
          description: Whether service allowlisting is enabled for Content.
        loginEnabled:
          type: boolean
          description: Whether service allowlisting is enabled for Login.
      description: The status of service allowlisting for Content and Login.
    AuditPolicy:
      required:
        - enabled
      type: object
      properties:
        enabled:
          type: boolean
          description: Whether the Audit policy is enabled.
          example: true
      description: Audit policy.
    SearchAuditPolicy:
      required:
        - enabled
      type: object
      properties:
        enabled:
          type: boolean
          description: Whether the Search Audit policy is enabled.
          example: true
      description: Search Audit policy.
    ShareDashboardsOutsideOrganizationPolicy:
      required:
        - enabled
      type: object
      properties:
        enabled:
          type: boolean
          description: Whether the Share Dashboards Outside Organization policy is enabled.
          example: true
      description: Share Dashboards Outside Organization policy.
    DataAccessLevelPolicy:
      required:
        - enabled
      type: object
      properties:
        enabled:
          type: boolean
          description: Whether the Data Access Level policy is enabled.
          example: true
      description: Data Access Level policy.
    UserConcurrentSessionsLimitPolicy:
      required:
        - enabled
      type: object
      properties:
        enabled:
          type: boolean
          description: Whether the User Concurrent Sessions Limit policy is enabled.
          example: true
        maxConcurrentSessions:
          maximum: 100
          minimum: 1
          type: integer
          description: Maximum number of concurrent sessions a user may have.
          format: int32
          example: 50
          default: 100
      description: User Concurrent Sessions Limit policy.
    MaxUserSessionTimeoutPolicy:
      required:
        - maxUserSessionTimeout
      type: object
      properties:
        maxUserSessionTimeout:
          pattern: ^(5m|15m|30m|1h|2h|6h|12h|1d|2d|3d|5d|7d)$
          type: string
          description: >-
            Maximum web session timeout users are able to configure within their
            user preferences. Valid values are: `5m`, `15m`, `30m`, `1h`, `2h`,
            `6h`, `12h`, `1d`, `2d`, `3d`, `5d`, or `7d`
          example: 1d
          x-pattern-message: >-
            must be one of the following: `5m`, `15m`, `30m`, `1h`, `2h`, `6h`,
            `12h`, `1d`, `2d`, `3d`, `5d`, or `7d`
      description: Max User Session Timeout policy.
    ListHealthEventResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of health events.
          items:
            $ref: '#/components/schemas/HealthEvent'
        next:
          type: string
          description: Next continuation token.
    HealthEvent:
      required:
        - details
        - eventId
        - eventName
        - eventTime
        - resourceIdentity
        - severityLevel
        - subsystem
      type: object
      properties:
        eventId:
          type: string
          description: The unique identifier of the event.
          example: e801dc7d-f483-46e9-bcc9-410f08f96497
        eventName:
          type: string
          description: The name of the event.
          example: InstalledCollectorOffline
        details:
          $ref: '#/components/schemas/TrackerIdentity'
        resourceIdentity:
          $ref: '#/components/schemas/ResourceIdentity'
        eventTime:
          type: string
          description: >-
            Creation timestamp in UTC in
            [RFC3339](https://tools.ietf.org/html/rfc3339) format.
          format: date-time
          example: '2018-10-16T09:10:00Z'
        subsystem:
          type: string
          description: The product area of the event.
        severityLevel:
          type: string
          description: The criticality of the event. It is either `Error` or `Warning`
    ResourceIdentities:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: A list of the resources.
          items:
            $ref: '#/components/schemas/ResourceIdentity'
    ListArchiveJobsResponse:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of Archive Jobs.
          items:
            $ref: '#/components/schemas/ArchiveJob'
        next:
          type: string
          description: Next continuation token.
    ArchiveJob:
      type: object
      allOf:
        - $ref: '#/components/schemas/CreateArchiveJobRequest'
        - required:
            - createdAt
            - createdBy
            - id
            - status
            - totalBytesIngested
            - totalObjectsIngested
            - totalObjectsScanned
          properties:
            id:
              type: string
              description: The unique identifier of the ingestion job.
              example: 4e214571-cf27-4114-93e6-69a98c017f3
            totalObjectsScanned:
              type: integer
              description: The total number of objects scanned by the ingestion job.
              format: int64
              example: 25
            totalObjectsIngested:
              type: integer
              description: The total number of objects ingested by the ingestion job.
              format: int64
              example: 10
            totalBytesIngested:
              type: integer
              description: The total bytes ingested by the ingestion job.
              format: int64
              example: 100
            status:
              type: string
              description: >-
                The status of the ingestion job, either
                `Pending`,`Scanning`,`Ingesting`,`Failed`, or `Succeeded`.
              example: Scanning
            createdAt:
              type: string
              description: The creation timestamp in UTC of the ingestion job.
              format: date-time
              example: '2018-10-16T09:10:00Z'
            createdBy:
              type: string
              description: The identifier of the user who created the ingestion job.
              example: 0000000006743FDD
    CreateArchiveJobRequest:
      required:
        - endTime
        - name
        - startTime
      type: object
      properties:
        name:
          maxLength: 128
          minLength: 1
          type: string
          description: The name of the ingestion job.
        startTime:
          type: string
          description: The starting timestamp of the ingestion job.
          format: date-time
          example: '2018-10-16T09:10:00Z'
        endTime:
          type: string
          description: The ending timestamp of the ingestion job.
          format: date-time
          example: '2018-10-16T10:10:00Z'
    ListArchiveJobsCount:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: List of archive sources with count of jobs having various statuses.
          items:
            $ref: '#/components/schemas/ArchiveJobsCount'
    ArchiveJobsCount:
      required:
        - failed
        - ingesting
        - pending
        - scanning
        - sourceId
        - succeeded
      type: object
      properties:
        sourceId:
          type: string
          description: Identifier for the archive source.
          example: 000000000606C009
        pending:
          type: integer
          description: >-
            The total number of archive jobs with pending status for the archive
            source.
          format: int64
          example: 4
        scanning:
          type: integer
          description: >-
            The total number of archive jobs with scanning status for the
            archive source.
          format: int64
          example: 1
        ingesting:
          type: integer
          description: >-
            The total number of archive jobs with ingesting status for the
            archive source.
          format: int64
          example: 2
        failed:
          type: integer
          description: >-
            The total number of archive jobs with failed status for the archive
            source.
          format: int64
          example: 5
        succeeded:
          type: integer
          description: >-
            The total number of archive jobs with succeeded status for the
            archive source.
          format: int64
          example: 20
    LogSearchEstimatedUsageDefinition:
      allOf:
        - $ref: '#/components/schemas/LogSearchEstimatedUsageRequest'
        - required:
            - estimatedUsageDetails
          type: object
          properties:
            estimatedUsageDetails:
              $ref: '#/components/schemas/EstimatedUsageDetails'
    LogSearchEstimatedUsageRequest:
      allOf:
        - $ref: '#/components/schemas/LogSearchQueryTimeRangeBase'
        - required:
            - timezone
          type: object
          properties:
            timezone:
              type: string
              description: >
                Time zone to get the estimated usage details. Follow the format
                in the [IANA Time Zone
                Database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List).
              example: America/Los_Angeles
    EstimatedUsageDetails:
      type: object
      properties:
        dataScannedInBytes:
          type: integer
          description: Amount of data scanned in bytes, to run the query.
          format: int64
          example: 114086541
    LogSearchEstimatedUsageByTierDefinition:
      allOf:
        - $ref: '#/components/schemas/LogSearchEstimatedUsageRequestV2'
        - required:
            - estimatedUsageDetails
          type: object
          properties:
            estimatedUsageDetails:
              type: array
              items:
                $ref: '#/components/schemas/EstimatedUsageDetailsWithTier'
    LogSearchEstimatedUsageRequestV2:
      allOf:
        - $ref: '#/components/schemas/LogSearchQueryTimeRangeBaseExceptParsingMode'
        - required:
            - timezone
          type: object
          properties:
            timezone:
              type: string
              description: >
                Time zone to get the estimated usage details. Follow the format
                in the [IANA Time Zone
                Database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List).
              example: America/Los_Angeles
    EstimatedUsageDetailsWithTier:
      type: object
      properties:
        tier:
          type: string
          description: >-
            Name of the data tier. Supported Values are Continuous, Frequent,
            Infrequent
          example: Continuous
        dataScannedInBytes:
          type: integer
          description: Amount of data scanned in bytes, to run the query.
          format: int64
          example: 114086541
    PaginatedDashboards:
      required:
        - dashboards
      type: object
      properties:
        dashboards:
          type: array
          description: List of dashboards.
          items:
            $ref: '#/components/schemas/Dashboard'
        next:
          type: string
          description: >-
            Next continuation token. `token` is set to null when no more pages
            are left.
          example: GDCiRv4vebF3UWFJQ1kySXBOR3Bzh69GR0RyWm9vCtc
    Dashboard:
      allOf:
        - $ref: '#/components/schemas/DashboardRequest'
        - type: object
          properties:
            id:
              type: string
              description: >
                Unique identifier for the dashboard. This id is used to get
                detailed information about the dashboard, such as panels,
                variables and the layout.
              example: B23OjNs5ZCyn5VdMwOBoLo3PjgRnJSAlNTKEDAcpuDG2CIgRe9KFXMofm2H2
            contentId:
              type: string
              description: >
                Content identifier for the dashboard. This id is used to connect
                to the Sumo Content Library and get general metadata about the
                dashboard. Use this id if you want to search for dashboards in
                Sumo folders.
              example: '1'
    DashboardRequest:
      required:
        - timeRange
        - title
      type: object
      properties:
        title:
          maxLength: 255
          minLength: 1
          type: string
          description: Title of the dashboard.
          example: Kubernetes Dashboard
        description:
          type: string
          description: Description of the dashboard.
          example: A view of pods, namespaces and nodes of your cluster.
        folderId:
          type: string
          description: >
            The identifier of the folder to save the dashboard in. By default it
            is saved in your personal folder.
          example: 000000000C1C17C6
        topologyLabelMap:
          $ref: '#/components/schemas/TopologyLabelMap'
        domain:
          type: string
          description: >-
            If set denotes that the dashboard concerns a given domain (e.g.
            `aws`, `k8s`, `app`).
          example: aws
          default: ''
        hierarchies:
          maxItems: 20
          type: array
          description: >-
            If set to non-empty array denotes that the dashboard concerns given
            hierarchies.
          example:
            - Kubernetes Node View
          items:
            type: string
          default: []
        refreshInterval:
          type: integer
          description: >
            Interval of time (in seconds) to automatically refresh the
            dashboard. A value of 0 means we never automatically refresh the
            dashboard. Allowed values are `0`, `30`, `60`, 120`, `300`, `900`,
            `3600`, `86400`.
          format: int32
          example: 30
        timeRange:
          $ref: '#/components/schemas/ResolvableTimeRange'
        panels:
          type: array
          description: Panels in the dashboard.
          items:
            $ref: '#/components/schemas/Panel'
        layout:
          $ref: '#/components/schemas/Layout'
        variables:
          type: array
          description: Variables to apply to the panels.
          items:
            $ref: '#/components/schemas/Variable'
        theme:
          pattern: ^(light|dark|Light|Dark)$
          type: string
          description: Theme for the dashboard. Either `Light` or `Dark`.
          example: light
          default: Light
          x-pattern-message: Must be `Light`, or `Dark`
    MonitorUsageInfo:
      type: array
      description: The usage info of logs and metrics monitors.
      items:
        $ref: '#/components/schemas/MonitorUsage'
    MonitorUsage:
      properties:
        monitorType:
          type: string
          description: The type of monitor usage info (Logs or Metrics).
          example: Logs
          enum:
            - Logs
            - Metrics
        usage:
          type: integer
          description: Current number of active Logs/Metrics monitors.
          example: 100
        limit:
          type: integer
          description: The limit of active Logs/Metrics monitors.
          example: 100
        total:
          type: integer
          description: >-
            The total number of monitors created. (Including both active and
            disabled Logs/Metrics monitors)
          example: 100
      description: The usage info of monitors.
    QueriesParametersResult:
      type: object
      properties:
        isValid:
          type: boolean
          description: Whether or not if queries are valid.
          example: false
        errors:
          type: array
          description: Error messages from validation.
          example:
            - >-
              Field fieldName not found, please check the spelling and try
              again.
          items:
            type: string
          default: []
        logsOutlier:
          $ref: '#/components/schemas/LogsOutlier'
        metricsOutlier:
          $ref: '#/components/schemas/MetricsOutlier'
      description: Queries validation and extracted parameters result.
    LogsOutlier:
      type: object
      properties:
        trimmedQuery:
          type: string
          description: The query string after trimming out the outlier clause.
          example: _sourceCategory=search error | timeslice 1m | count by _timeslice
        window:
          type: integer
          description: Sets the trailing number of data points to calculate mean and sigma.
          format: int64
          example: 15
          default: 10
        consecutive:
          type: integer
          description: >-
            Sets the required number of consecutive indicator data points
            (outliers) to trigger a violation.
          format: int64
          example: 3
          default: 1
        direction:
          $ref: '#/components/schemas/OutlierDirection'
        threshold:
          type: number
          description: Sets the number of standard deviations for calculating violations.
          format: double
          example: 10
          default: 3
        field:
          type: string
          description: The name of the field that the trigger condition will alert on.
          example: _count
      description: The parameters extracted from the logs outlier query.
    OutlierDirection:
      type: string
      description: >-
        Specifies which direction should trigger violations. Valid values:
          1. `Both`: Both positive and negative deviations
          2. `Up`: Positive deviations only
          3. `Down`: Negative deviations only
        example: "Up" pattern: "^(Both|Up|Down)$" default: "Both"
        x-pattern-message: "should be one of the following: 'Both', 'Up',
        'Down'"
    MetricsOutlier:
      type: object
      properties:
        trimmedQuery:
          type: string
          description: The query string after trimming out the outlier clause.
          example: _sourceHost=prod-search-1 metric=CPU_User
        baselineWindow:
          type: string
          description: The time range used to compute the baseline.
          example: 10m
          default: 5m
        baselineTimeRangeWindow:
          $ref: '#/components/schemas/ResolvableTimeRange'
        direction:
          $ref: '#/components/schemas/OutlierDirection'
        threshold:
          type: number
          description: >-
            How much should the indicator be different from the baseline for
            each datapoint.
          format: double
          example: 10
          default: 3
      description: The parameters extracted from the metrics outlier query.
    MonitorQueries:
      required:
        - monitorType
        - queries
        - timeRange
      type: object
      properties:
        monitorType:
          pattern: ^(Logs|Metrics)$
          type: string
          description: |-
            The type of monitor. Valid values:
              1. `Logs`: A logs query monitor.
              2. `Metrics`: A metrics query monitor.
          example: Logs
          x-pattern-message: should be either 'Logs' or 'Metrics'
        timeRange:
          type: string
          description: The relative time range of the monitor.
          example: 15m
        queries:
          type: array
          description: Queries to be validated.
          items:
            $ref: '#/components/schemas/UnvalidatedMonitorQuery'
      description: Queries to be validated.
    UnvalidatedMonitorQuery:
      required:
        - query
        - rowId
      type: object
      properties:
        rowId:
          type: string
          description: >-
            The unique identifier of the row. Defaults to sequential capital
            letters, `A`, `B`, `C`, etc.
          example: A
        query:
          type: string
          description: >-
            The logs or metrics query that defines the stream of data the
            monitor runs on.
          example: >-
            _sourceCategory=search error | timeslice 1m | count by _timeslice |
            outlier _count window=5,threshold=3,consecutive=2,direction=+
      description: A search query.
    SeriesData:
      required:
        - dataPoints
        - name
        - seriesAxisRange
      type: object
      properties:
        name:
          type: string
          description: Name of the series.
          example: monitor-manager-cpu-1
        dataPoints:
          type: array
          description: Data points of the series.
          items:
            $ref: '#/components/schemas/DataPoint'
        seriesAxisRange:
          $ref: '#/components/schemas/SeriesAxisRange'
        aggregateInfo:
          $ref: '#/components/schemas/VisualAggregateData'
        seriesMetadata:
          $ref: '#/components/schemas/SeriesMetadata'
      description: The data for visualizing monitor chart.
    DataPoint:
      type: object
      properties:
        dataPointType:
          pattern: ^(OutlierSeriesData|StaticSeriesData)$
          type: string
          description: Type of the data point.
          example: OutlierSeriesData
      description: Data for visualizing monitor chart.
      discriminator:
        propertyName: dataPointType
    SeriesAxisRange:
      type: object
      properties:
        x:
          $ref: '#/components/schemas/AxisRange'
        'y':
          $ref: '#/components/schemas/AxisRange'
      description: The axis limitation for chart data.
    AxisRange:
      type: object
      properties:
        min:
          type: integer
          description: minimum limit of x or y axis.
          format: int64
          example: 50
        max:
          type: integer
          description: maximum limit of x or y axis.
          format: int64
          example: 100
      description: The min and max of the x,y axis of the monitor chart.
    SeriesMetadata:
      type: object
      properties:
        rowId:
          type: string
          description: Row ID of the query this time series belongs to.
          example: A
        dimensions:
          type: array
          description: Dimensions for the time series.
          items:
            $ref: '#/components/schemas/DimensionKeyValue'
      description: The metadata of time series for chart.
    DimensionKeyValue:
      type: object
      properties:
        key:
          type: string
          description: The key of the metric dimension.
          example: region
        value:
          type: string
          description: The value of the metric dimension.
          example: us-east-1
      description: The key and value pair for each metric dimension.
    MonitorQuery:
      required:
        - query
        - rowId
      type: object
      properties:
        rowId:
          type: string
          description: >-
            The unique identifier of the row. Defaults to sequential capital
            letters, `A`, `B`, `C`, etc.
          example: A
        query:
          type: string
          description: >-
            The logs or metrics query that defines the stream of data the
            monitor runs on.
          example: _sourceCategory=search error
      description: A search query.
    LogSearchQuery:
      required:
        - queryString
      type: object
      properties:
        queryString:
          type: string
          description: Query string for which to get log fields.
          example: _sourceCategory=service
      description: Query for which to get log fields.
    GroupFieldsResponse:
      required:
        - groupFields
      type: object
      properties:
        groupFields:
          type: array
          description: List of group fields
          items:
            type: string
      description: Group fields for the monitor
    GroupFieldsRequest:
      required:
        - monitorType
        - queries
      type: object
      properties:
        queries:
          uniqueItems: true
          type: array
          description: All queries from the monitor.
          items:
            $ref: '#/components/schemas/MonitorQuery'
        monitorType:
          pattern: ^(Logs|Metrics)$
          type: string
          description: |-
            The type of monitor. Valid values:
              1. `Logs`: A logs query monitor.
              2. `Metrics`: A metrics query monitor.
          example: Logs
      description: Monitor type and queries
    DisableMonitorResponse:
      type: object
      properties:
        monitors:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/MonitorsLibraryMonitorResponse'
          description: A map between an identifier and its monitor.
        warnings:
          type: array
          description: Warnings from the operation.
          items:
            $ref: '#/components/schemas/DisableMonitorWarning'
      description: Response for disabling monitors.
    DisableMonitorWarning:
      type: object
      properties:
        code:
          type: string
          description: A code for the warning message.
          example: content:not_found
        message:
          type: string
          description: A short message with details about the warning.
          example: Monitor id=0000000000000001 not found.
      description: >-
        Warning object from the operation providing details such as when a given
        monitor to disable does not exist.
    ListAlertsLibraryAlertResponse:
      type: array
      description: List of Alerts.
      items:
        $ref: '#/components/schemas/AlertsLibraryAlertResponse'
    RelatedAlertsLibraryAlertResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/RelatedAlert'
      description: List of related Alerts.
    RelatedAlert:
      type: object
      properties:
        alert:
          $ref: '#/components/schemas/AlertsLibraryAlertResponse'
        relations:
          type: array
          description: Tags describing the relationship between the two alerts.
          items:
            $ref: '#/components/schemas/RelationTypeTag'
      description: An alert and how it is related to the given alert
    RelationTypeTag:
      pattern: ^(Time|Entity)$
      type: string
      description: |-
        The nature of the relationship between alerts. Valid values:
          1. `Time`: Alerts are related by their time of creation.
          2. `Entity`: Alerts are related by the entities linked to their queries.
      example: Time
      x-pattern-message: should be either 'Time' or 'Entity'
    AlertsListPageResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/AlertsListPageObject'
      description: List of Alert list page objects.
    AlertsListPageObject:
      type: object
      properties:
        id:
          type: string
          description: Identifier of the alert.
          example: 000000000000000A
        name:
          type: string
          description: Name of the alert.
          example: CPU Total above 90
        severity:
          pattern: ^(Critical|Warning|MissingData)$
          type: string
          description: |-
            The severity of the Alert. Valid values:
              1. `Critical`
              2. `Warning`
              3. `MissingData`
          example: Warning
          x-pattern-message: should be either 'Critical', 'Warning' or 'MissingData'
        status:
          pattern: ^(Active|Resolved)$
          type: string
          description: |-
            The status of the Alert. Valid values:
              1. `Active`
              2. `Resolved`
          example: Active
          x-pattern-message: should be either 'Active' or 'Resolved'
        entitiesInfo:
          type: array
          items:
            $ref: '#/components/schemas/AlertEntityInfo'
        violationCount:
          type: string
          description: >-
            The number of unique result groups that have met the alert
            condition.
          example: '2'
        lastViolation:
          type: string
          description: The condition from the last alert violation.
          example: greater than 90.0 for all of the last 5 minutes
        duration:
          type: string
          description: The current duration of the alert.
          example: 2 hours
        createdAt:
          type: string
          description: The creation time of the alert.
          example: 11:11 AM August 25, 2021
        lastUpdated:
          type: string
          description: The time when this alert was updated with the most recent violation.
          example: 1:11 PM August 25, 2021
      description: Alert list page object.
    AlertEntityInfo:
      type: object
      properties:
        entityId:
          type: string
          description: Identifier of the entity.
          example: f11046564fc9fd093f92fdca24e2823f
        entityName:
          type: string
          description: Name of the entity.
          example: _sourceCategory=worker _sourceHost=node-1
      description: An entity's name and Id.
    AlertChartDataResult:
      required:
        - metadata
        - series
      type: object
      properties:
        series:
          type: array
          description: List of time series of the alert chart data.
          items:
            $ref: '#/components/schemas/SeriesData'
        metadata:
          $ref: '#/components/schemas/AlertChartMetadata'
      description: Response for alert response chart data visualization.
    AlertChartMetadata:
      type: object
      properties:
        abnormalityStartTime:
          type: integer
          description: The time stamp at which abnomarlity started.
          format: int64
          example: 1630017549842
        abnormalityEndTime:
          type: integer
          description: The time stamp at which abnomarlity ended.
          format: int64
          example: 1630017549842
        evaluationDelay:
          type: integer
          description: >-
            The delay duration for evaluating the monitor (relative to current
            time). The timerange of monitor will be shifted in the past by this
            delay time.
          format: int64
          example: 1630017549842
        alertCreatedAt:
          type: integer
          description: The time stamp at which the alert response page is created.
          format: int64
          example: 1630017549842
        alertResolvedAt:
          type: integer
          description: The time stamp at which the alert response page is resolved.
          format: int64
          example: 1630017549842
      description: The metadata timestamps of alert chart data
    ActiveCount:
      type: integer
      description: The number of currently active alerts.
      format: int32
      example: 205
    CompliancePeriodRef:
      required:
        - complianceRefType
      type: object
      properties:
        complianceRefType:
          pattern: ^(Relative)$
          type: string
          description: Type of reference to the compliance period. Must be `Relative`.
          example: Relative
          x-pattern-message: Must be `Relative`
        relativeShift:
          type: integer
          description: >-
            Relative shift of compliance period from the latest/current
            compliance period.
          example: -1
      description: Reference to the compliance period of the SLO.
    DashboardSearchResult:
      required:
        - axes
        - series
        - status
      type: object
      properties:
        status:
          $ref: '#/components/schemas/DashboardSearchStatus'
        axes:
          $ref: '#/components/schemas/VisualDataAxes'
        series:
          type: array
          description: The series returned from a search.
          items:
            $ref: '#/components/schemas/VisualDataSeries'
        errors:
          type: array
          description: Errors returned by backend.
          items:
            $ref: '#/components/schemas/ErrorDescription'
        timeRange:
          $ref: '#/components/schemas/BeginBoundedTimeRange'
        requestToken:
          type: string
          description: >-
            A user-generated string to uniquely identify the search request.
            This field can be safely ignored if you don't intend to identify a
            search request.
        fieldOrdering:
          type: array
          description: >
            The expected ordering of the column fields in tabular format. If
            null or empty, the ordering is unknown or indeterminate.
          example:
            - _timeslice
            - _sourceHost
          items:
            type: string
    DashboardSearchStatus:
      required:
        - state
      type: object
      properties:
        state:
          type: string
          description: Current state of the search.
        percentCompleted:
          maximum: 100
          minimum: 0
          type: integer
          description: Percentage of search completed.
          format: int32
    VisualDataAxes:
      required:
        - x
        - 'y'
      type: object
      properties:
        x:
          type: array
          description: The data of the primary x axis.
          items:
            $ref: '#/components/schemas/VisualAxisData'
        'y':
          type: array
          description: The data of the primary y axis.
          items:
            $ref: '#/components/schemas/VisualAxisData'
        x2:
          type: array
          description: The data of the secondary x axis.
          items:
            $ref: '#/components/schemas/VisualAxisData'
        y2:
          type: array
          description: The data of the secondary y axis.
          items:
            $ref: '#/components/schemas/VisualAxisData'
    VisualAxisData:
      type: object
      properties:
        index:
          type: integer
          description: The value of the axis labels.
          format: int32
          example: 0
    VisualDataSeries:
      required:
        - dataPoints
        - name
        - queryId
      type: object
      properties:
        queryId:
          type: string
          description: The id of the query.
          example: A
        name:
          type: string
          description: |
            The meaning of 'name' depends on the series type.
              - For results of type 'timeseries', it is the value of the 'metric' key.
              - For results of type 'nontimeseries', it is the name of one of the fields that is not part of 'xAxisKeys'.
              - For results of type 'table', it is the comma-separated string of names of all fields.
          example: max(Disk_Used)
        dataPoints:
          type: array
          description: A list of data points in the visual series.
          items:
            $ref: '#/components/schemas/VisualPointData'
        aggregateInfo:
          $ref: '#/components/schemas/VisualAggregateData'
        metaData:
          $ref: '#/components/schemas/VisualMetaData'
        seriesType:
          pattern: ^(timeseries|nontimeseries|table)$|^$
          type: string
          description: Type of the visual series.
          example: timeseries
        xAxisKeys:
          type: array
          description: Keys that will be plotted as a point on the x axis.
          example:
            - _sourceCategory
            - _sourceHost
          items:
            type: string
        valueType:
          type: string
          description: Value that represents if the series values are String or Double
          example: Double
        source:
          pattern: ^(Logs|Metrics)$|^$
          type: string
          description: Source of the visual series.
          example: Logs
        xAxisKeyTypes:
          type: object
          additionalProperties:
            type: string
          description: >-
            Keys that will be plotted as a point on the x axis and their data
            type
          example:
            _sourceCategory: String
          default: {}
    VisualPointData:
      required:
        - 'y'
      type: object
      properties:
        x:
          type: number
          description: Value that represents a point on the x axis.
          format: double
          example: 1
        'y':
          type: string
          description: Value that represents a point on the y axis.
          example: '12.3'
        isFilled:
          type: boolean
          description: >-
            Whether the field is interpolated or extrapolated - not derived from
            underlying data.
          example: false
          default: false
        xAxisValues:
          type: object
          additionalProperties:
            type: string
          description: Values that represents a point on the x axis.
          example:
            _sourceCategory: collector
            _collector: nite-index-7
          default: {}
        outlierData:
          $ref: '#/components/schemas/VisualOutlierData'
    VisualOutlierData:
      required:
        - anomalyScore
        - baseline
        - isOutlier
        - lowerBound
        - unit
        - upperBound
      type: object
      properties:
        anomalyScore:
          type: number
          description: A measure of how anomalous the data point is.
          format: double
          example: 12.3
        baseline:
          type: number
          description: The estimated value of the data point.
          format: double
          example: 1.2
        unit:
          type: number
          description: The variation in the estimated value of the data point.
          format: double
          example: 5.6
        lowerBound:
          type: number
          description: The lower bound of the outlier band
          format: double
          example: 5.3
        upperBound:
          type: number
          description: The upper bound of the outlier band
          format: double
          example: 6.3
        isOutlier:
          type: boolean
          description: Indicates if the data point is outlier or not.
          example: false
    VisualAggregateData:
      required:
        - avg
        - latest
        - max
        - min
        - sum
      type: object
      properties:
        max:
          type: number
          description: The maximum value in the series.
          format: double
          example: 10
        min:
          type: number
          description: The minimum value in the series.
          format: double
          example: 1.2
        avg:
          type: number
          description: The average value in the series.
          format: double
          example: 5.6
        sum:
          type: number
          description: The sum of all the values in the series.
          format: double
          example: 123.4
        latest:
          type: number
          description: The last value in the series.
          format: double
          example: 23.4
        count:
          type: number
          description: The number of values in the series.
          format: double
          example: 600
    VisualMetaData:
      required:
        - data
      type: object
      properties:
        data:
          type: object
          additionalProperties:
            type: string
          description: The value of the metadata.
          example:
            deployment: dev
            cluster: frontend
            instance: frontend-12
          default: {}
    PasswordPolicy:
      type: object
      properties:
        minLength:
          maximum: 128
          minimum: 8
          type: integer
          description: The minimum length of the password.
          format: int32
          example: 8
          default: 8
        maxLength:
          maximum: 128
          minimum: 128
          type: integer
          description: >-
            The maximum length of the password. (Setting this to any value other
            than 128 is no longer supported; this field may be deprecated in the
            future.)
          format: int32
          example: 128
          default: 128
        mustContainLowercase:
          type: boolean
          description: If the password must contain lower case characters.
          example: true
          default: true
        mustContainUppercase:
          type: boolean
          description: If the password must contain upper case characters.
          example: true
          default: true
        mustContainDigits:
          type: boolean
          description: If the password must contain digits.
          example: true
          default: true
        mustContainSpecialChars:
          type: boolean
          description: If the password must contain special characters.
          example: true
          default: true
        maxPasswordAgeInDays:
          maximum: 365
          minimum: -1
          type: integer
          description: >-
            Maximum number of days that a password can be used before user is
            required to change it. Put -1 if the user should not have to change
            their password.
          format: int32
          example: 365
          default: 365
        minUniquePasswords:
          maximum: 10
          minimum: 4
          type: integer
          description: >-
            The minimum number of unique new passwords that a user must use
            before an old password can be reused.
          format: int32
          example: 10
          default: 10
        accountLockoutThreshold:
          maximum: 10
          minimum: 3
          type: integer
          description: >-
            Number of failed login attempts allowed before account is
            locked-out.
          format: int32
          example: 6
          default: 6
        failedLoginResetDurationInMins:
          maximum: 10
          minimum: 1
          type: integer
          description: >-
            The duration of time in minutes that must elapse from the first
            failed login attempt after which failed login count is reset to 0.
          format: int32
          example: 10
          default: 10
        accountLockoutDurationInMins:
          maximum: 120
          minimum: 30
          type: integer
          description: >-
            The duration of time in minutes that a locked-out account remained
            locked before getting unlocked automatically.
          format: int32
          example: 30
          default: 30
        requireMfa:
          type: boolean
          description: >-
            If MFA should be required to log in. By default, this field is set
            to `false`.
          example: false
          default: false
        rememberMfa:
          type: boolean
          description: If MFA should be remembered on the browser.
          example: true
          default: true
      description: Password Policy
    ConfidenceScoreResponse:
      required:
        - confidenceScore
      type: object
      properties:
        confidenceScore:
          type: string
          description: List of confidence scores to the CSE Insights.
      description: CSE insight confidence score.
    CseInsightConfidenceRequest:
      required:
        - cseInsight
      type: object
      properties:
        cseInsight:
          type: string
          description: >-
            List of CSE Insight Created logs for which the confidence score
            should be calculated.
          example: >-
            "[{\"timestamp\":\"1605562085024\",\"type\":\"event\",\"name\":\"insight_closed\",\"tenant_hash\":\"d130a603dea563686c911aa5d3f196881b1e6e7a\",\"created\":1605550459107,\"id\":\"ef444d0e-b1f0-351e-aae6-b608d2a4769c\",\"insight_threshold\":12,\"insight_lookback_days\":14,\"resolution\":\"Resolved\",\"source\":\"RULE\",\"entity_id\":\"2254232b-d7b4-567b-b4ce-61466b79e491\",\"entity_type\":\"username\",\"rule_ids\":[\"MATCH-U00018\"],\"mitre_tactics\":[\"Initial
            Access\"],\"signals\":[{\"rule_id\":\"MATCH-U00018\",\"mitre_tactic\":\"Initial
            Access\",\"timestamp\":\"1605549391000\",\"name_hash\":\"091d66fc35b6ad361d7525238d37319b06ff0bd5\",\"severity\":5,\"vendors\":[\"Proofpoint\"],\"products\":[\"Targeted
            Attack Protection\"],\"vendor_products\":[\"Proofpoint Targeted
            Attack Protection\"],\"object_types\":[\"Email\"]}]}]"
      description: CSE insight JSON object.
    PaginatedListEndpoints:
      required:
        - data
      type: object
      properties:
        data:
          type: array
          description: An array of endpoints.
          items:
            $ref: '#/components/schemas/EndpointResponse'
        next:
          type: string
          description: Next continuation token.
          example: GDCiRv4vebF3UWFJQ1kySXBOR3Bzh69GR0RyWm9vCtc
      description: List of open analytics endpoints.
    EndpointResponse:
      required:
        - id
        - inputSchema
        - name
        - outputSchema
        - url
      properties:
        id:
          type: string
          description: Identifier of endpoint.
          example: 00000000000001A5
        name:
          type: string
          description: Unique name of endpoint.
          example: linear_regression
        url:
          type: string
          description: Address of endpoint.
          example: http://my-aws-lambda/linear-regression/predict
        inputSchema:
          type: string
          description: Schema of the input table to endpoint.
          example: '[]'
        outputSchema:
          type: string
          description: Schema of the output table from endpoint.
          example: '[]'
      description: Endpoint response object.
    EndpointDefinition:
      required:
        - headers
        - inputSchema
        - name
        - outputSchema
        - url
      properties:
        name:
          type: string
          description: Unique name of endpoint.
          example: linear_regression
        url:
          type: string
          description: Address of endpoint.
          example: http://my-aws-lambda/linear-regression/predict
        inputSchema:
          type: string
          description: Schema of the input table to endpoint.
          example: '["field1", "field2"]'
        outputSchema:
          type: string
          description: Schema of the output table from endpoint.
          example: '["field1", "field2", "score"]'
        headers:
          type: string
          description: HTTP headers for endpoint.
          example: >-
            [{"awsRegion": "us-west-2"}, {"serviceName": "execute-api"},
            {"accessKey": "myAccessKey"}, {"secretKey": "mySecretKey"}]
      description: Endpoint creation request object.
    SignalsRequest:
      required:
        - signalContext
        - signalTypes
      type: object
      properties:
        signalTypes:
          maxItems: 1
          minItems: 1
          type: array
          description: >
            A list of signal types to compute. Can be `LogFluctuation`,
            `DimensionalityExplanation`, `GisBenchmark` or `Anomalies`
          items:
            pattern: >-
              ^(LogFluctuation|DimensionalityExplanation|GisBenchmark|Anomalies)$|^$
            type: string
            x-pattern-message: >-
              Must be `LogFluctuation`, `DimensionalityExplanation`,
              `GisBenchmark` or `Anomalies`
        signalContext:
          $ref: '#/components/schemas/SignalContext'
      description: Signal Request object.
    SignalContext:
      required:
        - contextType
      type: object
      properties:
        contextType:
          pattern: ^(Alert)$|^$
          type: string
          description: Type of context of the request object.
          x-pattern-message: Must be `Alert`
      discriminator:
        propertyName: contextType
        mapping:
          Alert: '#/components/schemas/AlertSignalContext'
    SignalsJobResult:
      required:
        - isComplete
        - signals
        - warnings
      type: object
      properties:
        isComplete:
          type: boolean
          description: Whether the signal computing job finished.
          example: true
        signals:
          type: array
          description: Sequence of computed signals.
          items:
            $ref: '#/components/schemas/SignalsResponse'
        warnings:
          type: array
          description: List of warnings while computing signals.
          items:
            $ref: '#/components/schemas/WarningDetails'
      description: >-
        The job result containing the job status, computed signals and any
        warnings.
    SignalsResponse:
      required:
        - endTime
        - openInQueries
        - payload
        - signalId
        - signalType
        - startTime
        - summary
      type: object
      properties:
        signalType:
          pattern: >-
            ^(LogFluctuation|DimensionalityExplanation|GisBenchmark|Anomalies)$|^$
          type: string
          description: >
            The type of the signal to compute. Can be `LogFluctuation`,
            `DimensionalityExplanation`, `GisBenchmark` or `Anomalies`
          x-pattern-message: >-
            Must be `LogFluctuation`, `DimensionalityExplanation`,
            `GisBenchmark` or `Anomalies`
        signalId:
          type: string
          description: The id for the signal result in hex format.
          example: 00000000F5000634
        startTime:
          type: string
          description: Start time of the signal.
          format: date-time
          example: '2018-10-16T09:10:00Z'
        endTime:
          type: string
          description: End time of the signal.
          format: date-time
          example: '2018-10-16T09:10:00Z'
        summary:
          type: string
          description: Description of the payload.
          example: Variation in the logs
        payload:
          type: string
          description: Json string for computed signal.
        openInQueries:
          type: array
          description: Raw data queries for the computed signal.
          items:
            $ref: '#/components/schemas/OpenInQuery'
      description: Signal response object.
    OpenInQuery:
      required:
        - endTime
        - query
        - startTime
      type: object
      properties:
        query:
          $ref: '#/components/schemas/Query'
        startTime:
          type: string
          description: Start time of the query.
          format: date-time
          example: '2018-10-16T09:10:00Z'
        endTime:
          type: string
          description: End time of the query.
          format: date-time
          example: '2018-10-16T09:10:00Z'
      description: Raw data query for the computed signal.
    WarningDetails:
      required:
        - code
        - detail
        - message
      type: object
      properties:
        code:
          type: string
          description: Warning code.
        message:
          type: string
          description: Warning message.
        detail:
          type: string
          description: Details related to warning.
      description: Warning while computing signals.
    MetricsQueryResponse:
      required:
        - errors
        - queryResults
      type: object
      properties:
        queryResult:
          type: array
          description: A list of the time series returned by metric query.
          items:
            $ref: '#/components/schemas/TimeSeriesRow'
        errors:
          $ref: '#/components/schemas/ErrorResponse'
    TimeSeriesRow:
      required:
        - rowId
        - timeSeriesList
      type: object
      properties:
        rowId:
          type: string
          description: Row id for the query row as specified in the request.
          example: A
        timeSeriesList:
          $ref: '#/components/schemas/TimeSeriesList'
    TimeSeriesList:
      required:
        - timeSeries
      type: object
      properties:
        timeSeries:
          type: array
          description: A list of timeseries returned by corresponding query.
          items:
            $ref: '#/components/schemas/TimeSeries'
        unit:
          type: string
          description: Unit of the query.
          example: 1/second
        timeShiftLabel:
          type: string
          description: Time shift value if specified in request in human readable format.
          example: '-1h'
    TimeSeries:
      required:
        - metricDefinition
        - points
      type: object
      properties:
        metricDefinition:
          $ref: '#/components/schemas/MetricDefinition'
        points:
          $ref: '#/components/schemas/Points'
    MetricDefinition:
      type: object
      properties:
        metric:
          type: string
          description: Name of the metric returning the timeseries.
          example: CPU_Total
        dimensions:
          type: object
          additionalProperties:
            type: string
          description: Metric dimensions / metadata related to each timeseries.
          example:
            _sourceHost: us2-alert-1
            _sourceCategory: alert
    Points:
      required:
        - timestamps
        - values
      type: object
      properties:
        timestamps:
          type: array
          description: Array of timestamps of datapoints in milliseconds.
          items:
            type: integer
            format: int64
            example: 1623258710000
        values:
          type: array
          description: Array of values of datapoints corresponding to timestamp array.
          items:
            type: number
            format: double
            example: 1.5
      description: >-
        The `values` and `timestamps` are of the same length, and points are
        sorted by time ascending.
    MetricsQueryRequest:
      required:
        - queries
        - timeRange
      type: object
      properties:
        queries:
          minItems: 1
          type: array
          description: A list of metrics queries.
          items:
            $ref: '#/components/schemas/MetricsQueryRow'
        timeRange:
          $ref: '#/components/schemas/ResolvableTimeRange'
      description: >-
        A list of metrics queries to run along with the time range for the
        query.
    MetricsQueryRow:
      required:
        - query
        - rowId
      type: object
      properties:
        rowId:
          pattern: '[A-Z]'
          type: string
          description: Row id for the query row, A to Z letter.
          example: A
          x-pattern-message: >-
            Row id must be one character long and must be an upper case letter
            between A and Z
        query:
          maxLength: 3000
          minLength: 3
          type: string
          description: >-
            A metric query consists of a metric, one or more filters and
            optionally, one or more [Metrics
            Operators](https://help.sumologic.com/?cid=10144). Strictly
            speaking, both filters and operators are optional.


            Most of the [Metrics
            Operators](https://help.sumologic.com/?cid=10144) are allowed in the
            query string except `fillmissing`, `outlier`, `quantize` and
            `timeshift`.

              * `fillmissing`: Not supported in API.
              * `outlier`: Not supported in API.
              * `quantize`: Only supported through `quantization` param.
              * `timeshift`: Only supported through `timeshift` param.


            In practice, your metric queries will almost always contain filters
            that narrow the scope of your query. For more information about the
            query language see [Metrics
            Queries](https://help.sumologic.com/?cid=1079).
          example: metric=CPU_Idle
        quantization:
          type: integer
          description: >-
            Segregates time series data by time period. This allows you to
            create aggregated results in buckets of fixed intervals (for
            example, 5-minute intervals). The value is in milliseconds.
          format: int64
          example: 60000
        rollup:
          pattern: ^(Count|Min|Max|Sum|Avg|None)$|^$
          type: string
          description: >-
            We use the term rollup to refer to the aggregation function Sumo
            Logic uses when quantizing metrics. Can be `Avg`, `Sum`, `Min`,
            `Max`, `Count` or `None`.
          example: Avg
          x-pattern-message: Must be `Avg`, `Sum`, `Min`, `Max`, `Count` or `None`
        timeshift:
          type: integer
          description: >-
            Shifts the time series from your metrics query by the specified
            amount of time. This can help when comparing a time series across
            multiple time periods. Specified as a signed duration in
            milliseconds.
          format: int64
          example: -3600000
    CreateTraceQueryResponse:
      required:
        - queryId
      type: object
      properties:
        queryId:
          type: string
          description: Id of the created query
          example: cafaebf2f4f8320f
    AsyncTraceQueryRequest:
      required:
        - queryRows
        - timeRange
      type: object
      properties:
        queryRows:
          type: array
          description: A list of trace queries.
          items:
            $ref: '#/components/schemas/AsyncTraceQueryRow'
        timeRange:
          $ref: '#/components/schemas/ResolvableTimeRange'
    AsyncTraceQueryRow:
      required:
        - query
        - rowId
      type: object
      properties:
        query:
          $ref: '#/components/schemas/TraceQueryExpression'
        rowId:
          maxLength: 16
          type: string
          description: >-
            An identifier used to reference this particular row of the query
            request while fetching a query result. Within a query, row ids must
            have distinct values.
          example: '#A'
        orderBy:
          $ref: '#/components/schemas/OrderBy'
    OrderBy:
      required:
        - fieldName
        - order
      type: object
      properties:
        fieldName:
          maxLength: 32
          minLength: 1
          type: string
          description: >-
            Field based on which results should be sorted. When not provided,
            the default behavior is to sort by timestamp descending. Sortable
            fields values: `trace_id`, `start_timestamp`, `duration`,
            `spans_number`, `errors`, `status_code`.
          example: start_timestamp
        order:
          pattern: ^(Asc|Desc)$
          type: string
          description: Type of sorting values - descending or ascending.
          example: Asc
          default: Desc
          x-pattern-message: should be either 'Asc' or 'Desc'
    TraceQueryStatusResponse:
      required:
        - queryRows
        - status
      type: object
      properties:
        queryRows:
          type: array
          description: A list of trace queries.
          items:
            $ref: '#/components/schemas/TraceQueryRowStatus'
        status:
          pattern: ^(Processing|Finished|Error|Canceled)$
          type: string
          description: >-
            Status of the query. Possible values: `Processing`, `Finished`,
            `Error`, `Canceled`.
          example: Processing
          x-pattern-message: Should be either `Processing`, `Finished`, `Error`, `Canceled`.
    TraceQueryRowStatus:
      required:
        - count
        - rowId
        - status
      type: object
      properties:
        rowId:
          type: string
          description: A unique identifier of the query.
          example: A
        status:
          pattern: ^(Processing|Finished|Error|Canceled)$
          type: string
          description: >-
            Status of the query. Possible values: `Processing`, `Finished`,
            `Error`, `Canceled`.
          example: Processing
          x-pattern-message: Should be either `Processing`, `Finished`, `Error`, `Canceled`.
        statusMessage:
          type: string
          description: Descriptive message of the status
          example: Finished successfully
        count:
          minimum: 0
          type: integer
          description: Number of results matching the query
          format: int64
          example: 3215
    TraceQueryResultResponse:
      required:
        - results
      type: object
      properties:
        results:
          type: array
          description: List of traces matching the query.
          items:
            $ref: '#/components/schemas/TraceDetail'
        next:
          type: string
          description: Next continuation token.
          example: '10001'
    TraceDetail:
      required:
        - id
      type: object
      properties:
        id:
          type: string
          description: Trace identifier.
          example: 00000000000120CB
        rootService:
          type: string
          description: >-
            Root service which started the trace. Examples: `user-service`,
            `authentication-service`, `payment-service`, `/shopping-cart`
          example: user-service
        rootResource:
          type: string
          description: >-
            Root resource on which the trace was started. Examples: `db.query`,
            `http.request`, `rpc.call`, `container`
          example: http.request
        rootStatus:
          $ref: '#/components/schemas/TraceSpanStatus'
        rootOperationName:
          type: string
          description: The name of the operation given to the root span.
          example: retrieveAccount
        metrics:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/DoubleTracingValue'
          description: Calculated trace metrics.
          example:
            _duration: 143984411
        startedAt:
          type: string
          description: >-
            Date and time the trace was started in [ISO 8601 /
            RFC3339](https://tools.ietf.org/html/rfc3339) format.
          format: date-time
          example: '2019-11-22T09:00:00Z'
        criticalPathServiceBreakdownSummary:
          $ref: '#/components/schemas/CriticalPathServiceBreakdownSummary'
    TraceSpanStatus:
      required:
        - code
      type: object
      properties:
        code:
          type: string
          description: 'Status code of the span. Possible values: `OK`, `ERROR`, `UNKNOWN`.'
          example: OK
        message:
          type: string
          description: >-
            Optional descriptive message about the status, could be an http
            status code or the kind of an error, e.g. OSError.
          example: '404'
    CriticalPathServiceBreakdownSummary:
      required:
        - elements
        - otherServicesDuration
      type: object
      properties:
        elements:
          type: array
          description: >-
            List of the elements representing the critical path service duration
            breakdown - contains the first few services with the longest overall
            duration of the spans contributing to the critical path.
          items:
            $ref: '#/components/schemas/CriticalPathServiceBreakdownElementBase'
        otherServicesDuration:
          type: integer
          description: >-
            Overall processing time in nanoseconds consumed by the rest of the
            spans in the critical path (a sum of the duration times of the
            spans' critical path segments).
          format: int64
          example: 12957153
    CriticalPathServiceBreakdownElementBase:
      required:
        - duration
      type: object
      properties:
        service:
          type: string
          description: The name of the service.
          example: user-service
        serviceColor:
          type: string
          description: Color hex code assigned to the service.
          example: '#fa41c6'
        duration:
          type: integer
          description: >-
            Overall processing time in nanoseconds consumed by the spans
            belonging to this service in the critical path (a sum of the
            duration times of the spans' critical path segments).
          format: int64
          example: 12957153
    TraceMetricsResponse:
      required:
        - metrics
      type: object
      properties:
        metrics:
          type: array
          description: List of trace metrics.
          items:
            $ref: '#/components/schemas/TraceMetricDetail'
    TraceMetricDetail:
      required:
        - metric
        - type
      type: object
      properties:
        metric:
          type: string
          description: >-
            Trace metric name. In trace queries it can be used in
            `MetricTracingFilter.metric`.
          example: _duration
        description:
          type: string
          description: Short description of the metric.
          example: The duration of a trace in nanoseconds.
        type:
          type: string
          description: >-
            The type the values of this field will have. Possible values:
            `DoubleTracingValue`, `IntegerTracingValue`.
          example: IntegerTracingValue
    TraceFieldsResponse:
      required:
        - fields
      type: object
      properties:
        fields:
          type: array
          description: List of filter fields.
          items:
            $ref: '#/components/schemas/TraceFieldDetail'
    TraceFieldDetail:
      required:
        - field
        - type
      type: object
      properties:
        field:
          type: string
          description: Filter field name.
          example: operation
        valueListing:
          type: boolean
          description: Indicates whether values for this field can be listed.
          example: false
        description:
          type: string
          description: Short description of the field.
          example: A piece of the workflow represented by a span
        type:
          type: string
          description: >-
            The type the values of this field will have. Possible values:
            `DoubleTracingValue`, `IntegerTracingValue`, `StringTracingValue`,
            `DateTimeTracingValue`.
          example: StringTracingValue
        noValuesReason:
          $ref: '#/components/schemas/NoTraceFieldValuesReason'
    NoTraceFieldValuesReason:
      required:
        - code
        - message
      type: object
      properties:
        code:
          pattern: ^(HighCardinalityField|AutocompleteDisabled)$
          type: string
          description: >-
            A code uniquely identifying the reason for the lack of trace field
            values. Possible values: `HighCardinalityField`,
            `AutocompleteDisabled`.
          example: HighCardinalityField
          x-pattern-message: Should be either `HighCardinalityField`, `AutocompleteDisabled`.
        message:
          type: string
          description: A short English-language description of the reason.
          example: >-
            Autocomplete has been disabled for this field due to high
            cardinality.
    TraceFieldValuesResponse:
      required:
        - fieldValues
        - totalCount
      type: object
      properties:
        fieldValues:
          type: array
          description: List of filter field values.
          items:
            type: string
        totalCount:
          type: integer
          description: >-
            Total number of values for a field matching the query. Can be
            approximated when it's above 3000.
          format: int64
          example: 1234
        next:
          type: string
          description: Next continuation token.
          example: Mi93V0ZqTTBzaW89
    TraceExistsResponse:
      required:
        - exists
      type: object
      properties:
        exists:
          type: boolean
          description: Indicates whether the trace with the given trace id exists.
          example: true
        url:
          type: string
          description: A path to the trace view page in Sumo Logic UI.
          example: '#/trace/00000000000120CB'
    TraceSpansResponse:
      required:
        - spans
        - totalCount
      type: object
      properties:
        spanPage:
          type: array
          description: List of trace spans.
          items:
            $ref: '#/components/schemas/TraceSpan'
        totalCount:
          type: integer
          description: Total count of spans for this trace.
          format: int64
          example: 1234
        next:
          type: string
          description: Next continuation token.
          example: dlFXd0lhSkxzRjAwYnpVZkMrRmlhYnF4cGtNMWdnVEI
    TraceSpan:
      required:
        - duration
        - id
        - operationName
        - startedAt
        - status
      type: object
      properties:
        id:
          type: string
          description: Identifier of the span.
          example: 00000000002317A9
        parentId:
          type: string
          description: >-
            Identifier of the parent span, if any. If the span has no parent
            it's considered a root span.
          example: 000000000003C7BE
        operationName:
          type: string
          description: The name of the operation given to the span.
          example: retrieveAccount
        resource:
          type: string
          description: The name of the resource attached to the span.
          example: http.request
        service:
          type: string
          description: The name of the service this span is part of.
          example: user-service
        serviceColor:
          type: string
          description: Color hex code assigned to the service.
          example: '#fa41c6'
        serviceType:
          $ref: '#/components/schemas/ServiceType'
        duration:
          type: integer
          description: Number of nanoseconds the span lasted.
          format: int64
          example: 212957153
        startedAt:
          type: string
          description: >-
            Date and time the span was started in the [ISO 8601 /
            RFC3339](https://tools.ietf.org/html/rfc3339) format.
          format: date-time
          example: '2019-11-22T09:00:00Z'
        status:
          $ref: '#/components/schemas/TraceSpanStatus'
        kind:
          pattern: ^(CLIENT|SERVER|PRODUCER|CONSUMER|INTERNAL)$
          type: string
          description: >-
            Span kind describes the relationship between the Span, its parents,
            and its children in a Trace. Possible values: `CLIENT`, `SERVER`,
            `PRODUCER`, `CONSUMER`, `INTERNAL`.
          example: SERVER
          x-pattern-message: >-
            Should be either `CLIENT`, `SERVER`, `PRODUCER`, `CONSUMER` or
            `INTERNAL`.
        remoteService:
          type: string
          description: Name of the possible remote span's service.
          example: external-service
        remoteServiceColor:
          type: string
          description: Color hex code assigned to the remote service.
          example: '#fa41c6'
        remoteServiceType:
          $ref: '#/components/schemas/ServiceType'
        info:
          $ref: '#/components/schemas/TraceSpanInfo'
    ServiceType:
      pattern: >-
        ^(Db|HTTP|MQ|Web|Mixed|Unknown|Cpp|Dotnet|Erlang|Go|Java|Nodejs|Php|Python|Ruby|Webjs|Swift|MSSQL|MySQL|Oracle|Db2|PostgreSQL|Redshift|Hive|Cloudscape|HSQLDB|Progress|MaxDB|HANADB|Ingres|FirstSQL|EnterpriseDB|Cache|Adabas|Firebird|ApacheDerby|FileMaker|Informix|InstantDB|InterBase|MariaDB|Netezza|PervasivePSQL|PointBase|SQLite|Sybase|Teradata|Vertica|H2|ColdFusion|Cassandra|HBase|MongoDB|Redis|Couchbase|CouchDB|CosmosDB|DynamoDB|Neo4j|Geode|Elasticsearch|Memcached|CockroachDB)$
      type: string
      description: Defines type of service.
      example: HTTP
      x-pattern-message: >-
        Should be either `Db`, `HTTP`, `MQ`, `Web`, `Mixed`, `Unknown`, `Cpp`,
        `Dotnet`, `Erlang`, `Go`, `Java`, `Nodejs`, `Php`, `Python`, `Ruby`,
        `Webjs`, `Swift`, `MSSQL`, `MySQL`, `Oracle`, `Db2`, `PostgreSQL`,
        `Redshift`, `Hive`, `Cloudscape`, `HSQLDB`, `Progress`, `MaxDB`,
        `HANADB`, `Ingres`, `FirstSQL`, `EnterpriseDB`, `Cache`, `Adabas`,
        `Firebird`, `ApacheDerby`, `FileMaker`, `Informix`, `InstantDB`,
        `InterBase`, `MariaDB`, `Netezza`, `PervasivePSQL`, `PointBase`,
        `SQLite`, `Sybase`, `Teradata`, `Vertica`, `H2`, `ColdFusion`,
        `Cassandra`, `HBase`, `MongoDB`, `Redis`, `Couchbase`, `CouchDB`,
        `CosmosDB`, `DynamoDB`, `Neo4j`, `Geode`, `Elasticsearch`, `Memcached`
        or `CockroachDB`
    TraceSpanInfo:
      required:
        - type
      type: object
      properties:
        type:
          type: string
          description: >-
            Type of this span. Possible values: `TraceHttpSpanInfo`,
            `TraceDbSpanInfo`, `TraceMessageBusSpanInfo`.
          example: TraceHttpSpanInfo
      discriminator:
        propertyName: type
    TagsReversedIndexResponse:
      type: object
      properties:
        tagsIndices:
          maxItems: 1000
          minItems: 0
          type: array
          description: List of spans tag values indices.
          items:
            $ref: '#/components/schemas/TagReversedIndex'
        attributesIndices:
          maxItems: 1000
          minItems: 0
          type: array
          description: List of spans attribute values indices.
          items:
            $ref: '#/components/schemas/AttributeReversedIndex'
        next:
          type: string
          description: Next continuation token.
          example: dlFXd0lhSkxzRjAwYnpVZkMrRmlhYnF4cGtNMWdnVEI
    TagReversedIndex:
      required:
        - tagName
        - tagValueStatistics
      type: object
      properties:
        tagName:
          maxLength: 128
          minLength: 1
          type: string
          description: Name of the tag.
          example: k8s.container.name
        tagValueStatistics:
          maxItems: 1000
          minItems: 1
          type: array
          description: List of value statistics of the given tag.
          items:
            $ref: '#/components/schemas/TagValueReversedIndex'
    TagValueReversedIndex:
      required:
        - spanIds
        - tagValue
      type: object
      properties:
        tagValue:
          maxLength: 128
          minLength: 1
          type: string
          description: Value of the tag.
          example: web-proxy
        spanIds:
          maxItems: 1000
          minItems: 1
          type: array
          description: List of span ids which have the given tag and value.
          example:
            - 52c3f60425aba353
            - 432630b74ac37c60
          items:
            type: string
    AttributeReversedIndex:
      required:
        - attributeName
        - attributeValueStatistics
      type: object
      properties:
        attributeName:
          maxLength: 128
          minLength: 1
          type: string
          description: Name of the attribute.
          example: service
        attributeValueStatistics:
          maxItems: 1000
          minItems: 1
          type: array
          description: List of value statistics of the given attribute.
          items:
            $ref: '#/components/schemas/AttributeValueReversedIndex'
    AttributeValueReversedIndex:
      required:
        - attributeValue
        - spanIds
      type: object
      properties:
        attributeValue:
          maxLength: 128
          minLength: 1
          type: string
          description: Value of the attribute.
          example: rest-soa
        spanIds:
          maxItems: 1000
          minItems: 1
          type: array
          description: List of span ids which have the given attribute and value.
          example:
            - 52c3f60425aba343
            - 432630b74ac37c50
          items:
            type: string
    TraceLightEventsResponse:
      type: object
      properties:
        spanEvents:
          type: object
          additionalProperties:
            type: array
            items:
              $ref: '#/components/schemas/LightSpanEvent'
          description: Map of span ids to lists of their events, without their attributes.
        next:
          type: string
          description: Next continuation token.
          example: dlFXd0lhSkxzRjAwYnpVZkMrRmlhYnF4cGtNMWdnVEI
    LightSpanEvent:
      required:
        - name
        - timestamp
      type: object
      properties:
        timestamp:
          type: string
          description: >-
            Time when an event happened in the [ISO 8601 /
            RFC3339](https://tools.ietf.org/html/rfc3339) format.
          format: date-time
          example: '2021-04-19T17:36:57.476Z'
        name:
          type: string
          description: Name of the event.
          example: domContentLoadedEventStart
      description: Light version of Span Event, without the attributes.
    CriticalPathResponse:
      required:
        - segments
      type: object
      properties:
        segments:
          type: array
          description: List of span segments from the critical path.
          items:
            $ref: '#/components/schemas/SpanPathSegment'
        next:
          type: string
          description: Next continuation token.
          example: Mi93V0ZqTTBzaW89
    SpanPathSegment:
      required:
        - duration
        - ratio
        - spanId
        - startOffset
      type: object
      properties:
        spanId:
          type: string
          description: Span identifier.
          example: 00000000000120CB
        service:
          type: string
          description: The name of the service this span is part of.
          example: user-service
        serviceColor:
          type: string
          description: Color hex code assigned to the service.
          example: '#fa41c6'
        startOffset:
          type: integer
          description: Number of nanoseconds from the span startedAt the segment started.
          format: int64
          example: 311285715
        duration:
          type: integer
          description: Number of nanoseconds the span segment lasted.
          format: int64
          example: 12957153
        fraction:
          type: number
          description: >-
            The fraction (value between 0.0 and 1.0) from the trace duration
            time this segment took.
          format: double
          example: 0.4
    CriticalPathServiceBreakdownResponse:
      required:
        - elements
      type: object
      properties:
        elements:
          type: array
          description: List of elements representing the critical path service breakdown.
          items:
            $ref: '#/components/schemas/CriticalPathServiceBreakdownElementDetail'
    CriticalPathServiceBreakdownElementDetail:
      allOf:
        - $ref: '#/components/schemas/CriticalPathServiceBreakdownElementBase'
        - required:
            - longestSegmentDuration
            - numSpans
          type: object
          properties:
            numSpans:
              type: integer
              description: Number of spans that are part of this service.
              format: int32
              example: 12957153
            longestSegmentDuration:
              type: integer
              description: >-
                Number of nanoseconds the longest span segment in the critical
                path lasted.
              format: int64
              example: 12957153
    TraceSpanDetail:
      allOf:
        - $ref: '#/components/schemas/TraceSpan'
        - type: object
          properties:
            errorMessage:
              type: string
              description: >-
                Produced error message (could be a stack trace, database error
                code, ..)
              example: >
                Exception in thread "local[9]" java.lang.OutOfMemoryError: Java
                heap space
                    at my.app.force.fields.SpaceShipForceField.main(SpaceShipForceField.java:17)
            fields:
              type: object
              additionalProperties:
                $ref: '#/components/schemas/TracingValue'
              description: Fields attached to this span.
              example:
                component:
                  type: StringTracingValue
                  value: http
                http.method:
                  type: StringTracingValue
                  value: GET
                http.url:
                  type: StringTracingValue
                  value: /v1/users/123
                http.status_code:
                  type: StringTracingValue
                  value: '200'
            criticalPathContribution:
              $ref: '#/components/schemas/TraceSpanCriticalPathContribution'
            logs:
              type: array
              description: Logs attached to this span.
              example:
                - >-
                  [19/Dec/2019:10:58:21 +0000] 'GET /v1/users/123 HTTP/1.1' 200
                  8215 'http://111.111.11.1/' 'Mozilla/5.0 (Macintosh; Intel Mac
                  OS X 11_11_1) AppleWebKit/111.11 (KHTML, like Gecko)
                  Chrome/11.1.1111.11 Safari/111.11'
                - >-
                  [19/Dec/2019:10:58:24 +0000] 'GET /logo.png HTTP/1.1' 404 555
                  'http://111.111.11.1/' 'Mozilla/5.0 (Macintosh; Intel Mac OS X
                  11_11_1) AppleWebKit/111.11 (KHTML, like Gecko)
                  Chrome/11.1.1111.11 Safari/111.11'
              items:
                type: string
            events:
              type: array
              description: Events attached to this spans.
              items:
                $ref: '#/components/schemas/SpanEvent'
    TraceSpanCriticalPathContribution:
      required:
        - duration
        - fraction
      type: object
      properties:
        duration:
          type: integer
          description: >-
            Overall processing time in nanoseconds consumed by this span in the
            critical path of its trace (a sum of the duration times of this
            span's critical path segments).
          format: int64
          example: 12957153
        fraction:
          type: number
          description: >-
            The total fraction (value between 0.0 and 1.0) of the trace duration
            time consumed by this span in the critical path of its trace.
          format: double
          example: 0.4
    SpanEvent:
      description: Span event containing all information (in particular attributes).
      allOf:
        - $ref: '#/components/schemas/LightSpanEvent'
        - type: object
          properties:
            attributes:
              type: array
              description: Span event attributes.
              items:
                $ref: '#/components/schemas/SpanEventAttribute'
    SpanEventAttribute:
      type: object
      properties:
        attributeName:
          type: string
          description: Name of the attribute.
          example: message_details
        attributeValue:
          $ref: '#/components/schemas/EventAttributeValue'
    TraceSpanBillingInfo:
      required:
        - billedBytes
        - billedFormat
      type: object
      properties:
        billedBytes:
          type: integer
          description: Number of bytes that were charged for the span.
          example: 502
        billedFormat:
          type: string
          description: >-
            Billing format of the span. Number of bytes of this representation
            of the span is equal to `billedBytes`.
          example: >-
            traceId=2ff9c457b1aa00f4;spanId=97872e33215c4275;parentSpanId=98bcdfc5da874c40;operation=spanId-97872e33215c4275;startTimestamp=1603283111874000000;endTimestamp=1603283112268000000;service=ServiceA;status.code=ERROR;status.message=ERROR;kind=SERVER;custom-tag-2=value2;_sourcehost=127.0.0.1;http.url=/api/operation-x;message=Some
            error message;_sourcecategory=Http
            Input;custom-tag-1=value1;error=true;_sourcename=Http
            Input;error.kind=InvalidInput;_collector=trace-generator-collector;http.method=GET;
    SpanQueryResponse:
      required:
        - queryId
        - queryRows
      type: object
      properties:
        queryId:
          type: string
          description: Id of the created query
        queryRows:
          type: array
          description: A list of row responses with details about individual queries.
          items:
            $ref: '#/components/schemas/SpanQueryRowResponse'
        hasErrors:
          type: boolean
          description: Indicates whether there was an error while executing the query.
          example: true
          default: false
        timeRange:
          $ref: '#/components/schemas/BeginBoundedTimeRange'
    SpanQueryRowResponse:
      required:
        - isAggregation
        - rowId
      type: object
      properties:
        rowId:
          type: string
          description: A unique identifier of the query.
          example: A
        errors:
          type: array
          description: List of errors which occured when executing the query
          items:
            $ref: '#/components/schemas/SpanQueryRowError'
        isAggregation:
          type: boolean
          description: Indicates whether this query is an aggregation
          example: true
          default: false
        executedQuery:
          type: string
          description: The executed query after rewriting
          example: _index=_trace_spans traceId=00000000002317A9
    SpanQueryRowError:
      required:
        - code
        - message
      type: object
      properties:
        code:
          type: string
          description: The error code.
          example: spanquery:query_validation_error
        message:
          type: string
          description: Short description of the occured error.
          example: Query A was invalid
        details:
          type: string
          description: Details about the occured error.
          example: '[1.78] failure: ''('' expected but '')'' found.'
    SpanQueryRequest:
      required:
        - queryRows
        - timeRange
      type: object
      properties:
        queryRows:
          type: array
          description: A list of span analytics queries.
          items:
            $ref: '#/components/schemas/SpanQueryRow'
        timeRange:
          $ref: '#/components/schemas/ResolvableTimeRange'
        timeZone:
          type: string
          description: >-
            Time zone for the query time ranges. Follow the format in the [IANA
            Time Zone
            Database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List).
          example: America/Los_Angeles
          default: UTC
    SpanQueryRow:
      required:
        - queryString
        - rowId
      type: object
      properties:
        queryString:
          type: string
          description: Query string using the log search syntax.
        rowId:
          pattern: ^[a-zA-Z0-9_]*$
          type: string
          description: >-
            An identifier used to reference this particular row of the query
            request. Within a query, row ids must have distinct values.
          example: A
    SpanQueryStatusResponse:
      required:
        - queryRows
        - status
      type: object
      properties:
        queryRows:
          type: array
          description: A list of span analytics queries.
          items:
            $ref: '#/components/schemas/SpanQueryRowStatus'
        status:
          pattern: ^(Processing|Finished|Error|Paused)$
          type: string
          description: >-
            Status of the query. Possible values: `Processing`, `Finished`,
            `Error`, `Paused`
          example: Processing
          x-pattern-message: Should be either `Processing`, `Finished`, `Error`, `Paused`.
    SpanQueryRowStatus:
      required:
        - count
        - rowId
        - status
      type: object
      properties:
        rowId:
          type: string
          description: A unique identifier of the query.
          example: A
        status:
          pattern: ^(Processing|Finished|Error|Paused)$
          type: string
          description: >-
            Status of the query. Possible values: `Processing`, `Finished`,
            `Error`, `Paused`.
          example: Processing
          x-pattern-message: Should be either `Processing`, `Finished`, `Error`, `Paused`.
        statusMessage:
          type: string
          description: Descriptive message of the status.
          example: Finished successfully
        count:
          minimum: 0
          type: integer
          description: Number of restuls matching the query
          format: int64
          example: 3215
        approximatedFieldCounts:
          type: boolean
          description: >-
            Indicates whether facet field cardinality counts are approximated or
            not.
          example: false
        facetsCompleted:
          type: boolean
          description: Indicates whether facets calculation has completed.
          example: false
    SpanQueryResultSpansResponse:
      required:
        - spanPage
      type: object
      properties:
        spanPage:
          type: array
          description: List of trace spans.
          items:
            $ref: '#/components/schemas/SpanQuerySpanData'
        next:
          type: string
          description: Next continuation token.
          example: Mi93V0ZqTTBzaW89
    SpanQuerySpanData:
      required:
        - duration
        - startedAt
      type: object
      properties:
        spanId:
          type: string
          description: Identifier of the span.
          example: 00000000002317A9
        traceId:
          type: string
          description: Identifier of the trace.
          example: 1BB004A0005213C2
        parentSpanId:
          type: string
          description: >-
            Identifier of the parent span, if any. If the span has no parent
            it's considered a root span.
          example: 000000000003C7BE
        operationName:
          type: string
          description: The name of the operation given to the span.
          example: retrieveAccount
        service:
          type: string
          description: The name of the service this span is part of.
          example: user-service
        remoteService:
          type: string
          description: Name of the possible remote span's service.
          example: external-service
        duration:
          type: integer
          description: Number of nanoseconds the span lasted.
          format: int64
          example: 212957153
        startedAt:
          type: string
          description: >-
            Date and time the span was started in [ISO 8601 /
            RFC3339](https://tools.ietf.org/html/rfc3339) format.
          format: date-time
          example: '2019-11-22T09:00:00Z'
        status:
          $ref: '#/components/schemas/TraceSpanStatus'
        kind:
          pattern: ^(CLIENT|SERVER|PRODUCER|CONSUMER|INTERNAL)$
          type: string
          description: >-
            Span kind describes the relationship between the Span, its parents,
            and its children in a Trace. Possible values: `CLIENT`, `SERVER`,
            `PRODUCER`, `CONSUMER`, `INTERNAL`.
          example: SERVER
          x-pattern-message: >-
            Should be either `CLIENT`, `SERVER`, `PRODUCER`, `CONSUMER` or
            `INTERNAL`.
        tagsJSON:
          type: string
          description: Tags attached to this span as JSON.
          example: |-
            {
              &quot;http.host&quot;:&quot;http://example.com&quot;,
              &quot;http.method&quot;:&quot;GET&quot;
            }
        metadata:
          type: object
          additionalProperties:
            type: string
          description: Metadata attached to the span.
          example:
            _sourceCategory: account-backend
    SpanQueryResultFacetsResponse:
      required:
        - facets
      type: object
      properties:
        facets:
          type: array
          description: List of facets.
          items:
            $ref: '#/components/schemas/SpanQueryRowFacet'
    SpanQueryRowFacet:
      required:
        - cardinality
        - dataType
        - name
      type: object
      properties:
        name:
          type: string
          description: Name of the field facet.
          example: _sourceHost
        cardinality:
          type: integer
          description: The number of unique values this field occured.
          format: int32
          example: 3
        dataType:
          pattern: ^(String|Int|Long|Double|Boolean)$
          type: string
          description: Data type of the field.
          example: String
          x-pattern-message: Should be either `String`, `Int`, `Long`, `Double` or `Boolean`.
        inSchema:
          type: boolean
          description: Indicates whether the field is available in the span schema.
          example: false
        valueFrequency:
          type: object
          additionalProperties:
            type: integer
            format: int64
          description: Map of field value frequencies.
          example:
            _sourceHost: 34099
    SpanQueryAggregateResponse:
      required:
        - result
      type: object
      properties:
        result:
          $ref: '#/components/schemas/SpanQueryAggregateResult'
    SpanQueryAggregateResult:
      required:
        - series
        - status
      type: object
      properties:
        status:
          pattern: ^(Processing|Finished|Error|Paused)$
          type: string
          description: >-
            Status of the query. Possible values: `Processing`, `Finished`,
            `Error`, `Paused`.
          example: Processing
          x-pattern-message: Should be either `Processing`, `Finished`, `Error`, `Paused`.
        statusMessage:
          type: string
          description: Descriptive message of the status
          example: Finished successfully
        series:
          type: array
          description: The series returned from a search.
          items:
            $ref: '#/components/schemas/SpanQueryAggregateDataSeries'
    SpanQueryAggregateDataSeries:
      required:
        - dataPoints
        - name
        - queryId
      type: object
      properties:
        queryId:
          type: string
          description: The id of the query.
          example: A
        name:
          type: string
          description: |
            The meaning of 'name' depends on the series type.
              - For results of type 'timeseries', it is the value of the x axis 'field' key.
              - For results of type 'nontimeseries', it is the name of one of the fields that is not part of 'xAxisKeys'.
              - For results of type 'table', it is the comma-separated string of names of all fields.
          example: max(Disk_Used)
        dataPoints:
          type: array
          description: A list of data points in the series.
          items:
            $ref: '#/components/schemas/SpanQueryAggregatePointData'
        aggregateInfo:
          $ref: '#/components/schemas/SpanQueryAggregateAggregateData'
        metaData:
          $ref: '#/components/schemas/SpanQueryAggregateMetaData'
        seriesType:
          pattern: ^(TIMESERIES|NONTIMESERIES|TABLE)$
          type: string
          description: Type of the visual series.
          example: TIMESERIES
          x-pattern-message: Should be either `TIMESERIES`, `NONTIMESERIES`, `TABLE`.
        xAxisKeys:
          type: array
          description: Keys that will be plotted as a point on the x axis.
          example:
            - _sourceCategory
            - _sourceHost
          items:
            type: string
        valueType:
          pattern: ^(STRING|DOUBLE)$
          type: string
          description: Type of the values in the series.
          example: DOUBLE
          x-pattern-message: Should be either `STRING`, `DOUBLE`.
    SpanQueryAggregatePointData:
      required:
        - 'y'
      type: object
      properties:
        x:
          type: number
          description: Value that represents a point on the x axis.
          format: double
          example: 1
        'y':
          type: string
          description: Value that represents a point on the y axis.
          example: '12.3'
        xAxisValues:
          type: object
          additionalProperties:
            type: string
          description: Values that represents a point on the x axis.
          example:
            operation: /get/accounts
            service: accountService
          default: {}
    SpanQueryAggregateAggregateData:
      required:
        - avg
        - latest
        - max
        - min
        - sum
      type: object
      properties:
        max:
          type: number
          description: The maximum value in the series.
          format: double
          example: 10
        min:
          type: number
          description: The minimum value in the series.
          format: double
          example: 1.2
        avg:
          type: number
          description: The average value in the series.
          format: double
          example: 5.6
        sum:
          type: number
          description: The sum of all the values in the series.
          format: double
          example: 123.4
        latest:
          type: number
          description: The last value in the series.
          format: double
          example: 23.4
        count:
          type: number
          description: The number of values in the series.
          format: double
          example: 600
    SpanQueryAggregateMetaData:
      required:
        - data
      type: object
      properties:
        data:
          type: object
          additionalProperties:
            type: string
          description: The value of the metadata.
          example:
            deployment: dev
            cluster: frontend
            instance: frontend-12
          default: {}
    SpanQueryFieldsResponse:
      required:
        - fields
      type: object
      properties:
        fields:
          type: array
          description: List of span fields.
          items:
            $ref: '#/components/schemas/SpanQueryFieldDetail'
    SpanQueryFieldDetail:
      allOf:
        - $ref: '#/components/schemas/TraceFieldDetail'
        - required:
            - inSchema
          type: object
          properties:
            inSchema:
              type: boolean
              description: Indicates whether the field is available in the schema.
              example: false
    ServiceMapResponse:
      required:
        - edges
        - nodes
      type: object
      properties:
        nodes:
          type: array
          description: List of service map nodes.
          items:
            $ref: '#/components/schemas/ServiceMapNode'
        edges:
          type: array
          description: List of service map edges.
          items:
            $ref: '#/components/schemas/ServiceMapEdge'
    ServiceMapNode:
      required:
        - isRemote
        - lastSeenAt
        - serviceName
        - serviceType
      type: object
      properties:
        serviceName:
          type: string
          description: Name of a service in a service map.
          example: service_name_1
        lastSeenAt:
          type: string
          description: >-
            The last time in UTC a service has been seen. Formatted as defined
            by date-time - RFC3339.
          format: date-time
          example: '2019-11-22T09:00:00Z'
        isRemote:
          type: boolean
          description: >-
            Indicates whether node comes from inferred remote service or
            instrumented one.
          example: true
        serviceType:
          $ref: '#/components/schemas/ServiceType'
    ServiceMapEdge:
      required:
        - lastSeenAt
        - source
        - target
      type: object
      properties:
        source:
          type: string
          description: Name of a source service. Edge is directed from source to target.
          example: service_name_1
        target:
          type: string
          description: Name of a target service. Edge is directed from source to target.
          example: service_name_2
        lastSeenAt:
          type: string
          description: >-
            The last time in UTC an edge has been seen. Formatted as defined by
            date-time - RFC3339.
          format: date-time
          example: '2019-11-22T09:00:00Z'
    IdToAlertsLibraryBaseResponseMap:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/AlertsLibraryBaseResponse'
    ListAlertsLibraryItemWithPath:
      type: array
      description: Multi-type list of types alert or folder.
      items:
        $ref: '#/components/schemas/AlertsLibraryItemWithPath'
    AlertsLibraryItemWithPath:
      required:
        - item
        - path
      type: object
      properties:
        item:
          $ref: '#/components/schemas/AlertsLibraryBaseResponse'
        path:
          type: string
          description: Path of the alert or folder.
          example: /Alerts/SampleFolder/TestAlert
    Path:
      required:
        - path
        - pathItems
      type: object
      properties:
        pathItems:
          type: array
          description: Elements of the path.
          items:
            $ref: '#/components/schemas/PathItem'
        path:
          type: string
          description: String representation of the path.
    PathItem:
      required:
        - id
        - name
      type: object
      properties:
        id:
          type: string
          description: Identifier of the path element.
        name:
          type: string
          description: Name of the path element.
    ContentCopyParams:
      required:
        - parentId
      type: object
      properties:
        parentId:
          type: string
          description: Identifier of the parent folder to copy to.
        name:
          type: string
          description: Optionally provide a new name.
        description:
          type: string
          description: Optionally provide a new description.
    IdToMonitorsLibraryBaseResponseMap:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/MonitorsLibraryBaseResponse'
    ListMonitorsLibraryItemWithPath:
      type: array
      description: Multi-type list of types monitor or folder.
      items:
        $ref: '#/components/schemas/MonitorsLibraryItemWithPath'
    MonitorsLibraryItemWithPath:
      required:
        - item
        - path
      type: object
      properties:
        item:
          $ref: '#/components/schemas/MonitorsLibraryBaseResponse'
        path:
          type: string
          description: Path of the monitor or folder.
          example: /Monitors/SampleFolder/TestMonitor
    IdToSlosLibraryBaseResponseMap:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/SlosLibraryBaseResponse'
    ListSlosLibraryItemWithPath:
      type: array
      description: Multi-type list of types slo or folder.
      items:
        $ref: '#/components/schemas/SlosLibraryItemWithPath'
    SlosLibraryItemWithPath:
      required:
        - item
        - path
      type: object
      properties:
        item:
          $ref: '#/components/schemas/SlosLibraryBaseResponse'
        path:
          type: string
          description: Path of the slo or folder.
          example: /Slos/SampleFolder/TestSlo
    ConnectionType:
      pattern: >-
        ^(AWSLambda|Azure|Datadog|HipChat|PagerDuty|Slack|Webhook|NewRelic|Jira|Opsgenie|MicrosoftTeams|ServiceNow|SumoCloudSOAR)$
      type: string
      description: >-
        Type of webhook connection. Valid values are `AWSLambda`, `Azure`,
        `Datadog`, `HipChat`, `NewRelic`, `Opsgenie`, `PagerDuty`, `Slack`,
        `MicrosoftTeams`, `ServiceNow`, `SumoCloudSOAR` and `Webhook`.
      x-pattern-message: >-
        must be `AWSLambda`, `Azure`, `Datadog`, `HipChat`, `PagerDuty`,
        `Slack`, `Webhook`, `NewRelic`, `Jira`, `Opsgenie`, `MicrosoftTeams`,
        `ServiceNow` or `SumoCloudSOAR`
    OperatorData:
      required:
        - operatorName
        - parameters
      type: object
      properties:
        operatorName:
          type: string
          description: The name of the metrics operator.
          example: avg
        parameters:
          type: array
          description: A list of operator parameters for the operator data.
          items:
            $ref: '#/components/schemas/OperatorParameter'
      description: The operator data for metrics query.
      example:
        operatorName: avg
        parameters:
          - key: aggregator
            value: max
          - key: operation
            value: ''
          - key: value
            value: 50
    OperatorParameter:
      required:
        - key
        - value
      type: object
      properties:
        key:
          type: string
          description: The key of the operator parameter.
          example: operation
        value:
          type: string
          description: The value of the operator parameter.
          example: '>'
      description: The operator parameter for operator data.
      example:
        key: aggregator
        value: max
    TracesQueryData:
      required:
        - filters
      type: object
      properties:
        filters:
          type: array
          description: A list of filters for the traces query.
          items:
            $ref: '#/components/schemas/TracesFilter'
      description: The data format describing a basic traces query.
    TracesFilter:
      required:
        - type
      type: object
      properties:
        type:
          pattern: >-
            ^(FieldDescriptor|DurationMetricDescriptor|NumericMetricDescriptor|CPCOfFilterDescriptor|MaxCPCOfFilterDescriptor|MaxCPCFilterDescriptor)$|^$
          type: string
          description: The type of the filter.
          example: FieldDescriptor
          x-pattern-message: >-
            Must be `FieldDescriptor`, `DurationMetricDescriptor`,
            `NumericMetricDescriptor`, `CPCOfFilterDescriptor`,
            `MaxCPCOfFilterDescriptor` or `MaxCPCFilterDescriptor`
      description: The filter for traces query.
      discriminator:
        propertyName: type
    SpansFilter:
      required:
        - fieldName
        - type
      type: object
      properties:
        type:
          pattern: ^(StandaloneKey|KeyValuePair)$
          type: string
          description: The spans filter type.
          example: StandaloneKey
          x-pattern-message: Must be `StandaloneKey` or `KeyValuePair`.
        fieldName:
          type: string
          description: The name of the filtering field.
          example: service
      discriminator:
        propertyName: type
        mapping:
          StandaloneKey: '#/components/schemas/SpansFilterStandaloneKey'
          KeyValuePair: '#/components/schemas/SpansFilterKeyValuePair'
    SpansVisualization:
      required:
        - name
        - type
      type: object
      properties:
        type:
          pattern: ^(count|calculation)$
          type: string
          description: The visualization type.
          example: count
          x-pattern-message: Must be `count` or `calculation`
        name:
          type: string
          description: A unique name of the visualization.
          example: duration_pct_95
      discriminator:
        propertyName: type
        mapping:
          count: '#/components/schemas/SpansCountVisualization'
          calculation: '#/components/schemas/SpansCalculationVisualization'
    SpansGroupBy:
      required:
        - type
      type: object
      properties:
        type:
          pattern: ^(time|field)$
          type: string
          description: The type of the group-by clause.
          example: time
          x-pattern-message: Must be `time` or `field`
      discriminator:
        propertyName: type
        mapping:
          time: '#/components/schemas/SpansTimeGroupBy'
          field: '#/components/schemas/SpansFieldGroupBy'
    SpansLimitItem:
      required:
        - direction
        - limitValue
      type: object
      properties:
        direction:
          pattern: ^(asc|desc)$
          type: string
          description: >-
            Describes whether the results should be sorted in an ascending or a
            descending order.
          example: asc
          x-pattern-message: Must be `asc` or `desc`
        limitValue:
          type: integer
          description: >
            The number of aggregated results returned, e.g. if 10 is requested,
            then only the first 10 aggregated results are returned.
          format: int32
          example: 10
      description: >
        A representation of the limit operator which reduces the number of
        aggregate results returned:  either the top k results or bottom k
        results.
    LinkedDashboard:
      required:
        - id
      type: object
      properties:
        id:
          type: string
          description: Identifier of the linked dashboard.
          example: B23OjNs5ZCyn5VdMwOBoLo3PjgRnJSAlNTKEDAcpuDG2CIgRe9KFXMofm2H2
        relativePath:
          type: string
          description: >-
            Relative path of the linked dashboard to the dashboard of the
            linking panel.
          example: ./subdirectory/LinkedDashboard
        includeTimeRange:
          type: boolean
          description: >-
            Include time range from the current dashboard to the linked
            dashboard.
          example: true
          default: true
        includeVariables:
          type: boolean
          description: >-
            Include variables from the current dashboard to the linked
            dashboard.
          example: true
          default: true
    VariableValuesData:
      required:
        - variableValues
      type: object
      properties:
        variableValues:
          type: array
          description: Values for the variable.
          example:
            - myCluster
          items:
            type: string
        status:
          $ref: '#/components/schemas/DashboardSearchStatus'
        variableType:
          pattern: >-
            ^(LogQueryVariableSourceDefinition|MetadataVariableSourceDefinition|CsvVariableSourceDefinition)$
          type: string
          description: The type of the variable.
          example: LogQueryVariableSourceDefinition
          x-pattern-message: >-
            Must be `LogQueryVariableSourceDefinition`,
            `MetadataVariableSourceDefinition` or `CsvVariableSourceDefinition`.
        valueType:
          pattern: ^(String|Any)$
          type: string
          description: >-
            The type of value of the variable. Allowed values are `String` and
            Any`. `String` considers as a single phrase and will wrap in
            double-quotes, `Any` is all characters.
          example: Any
          default: Any
          x-pattern-message: Only `String` and `Any` are allowed.
        errors:
          type: array
          description: >-
            Generic errors returned by backend from downstream assemblies. More
            specific errors will be thrown in the future.
          items:
            $ref: '#/components/schemas/ErrorDescription'
      description: Variable values, status, type and errors for the variable values search.
    ParameterAutoCompleteSyncDefinition:
      required:
        - autoCompleteType
      type: object
      properties:
        autoCompleteType:
          type: string
          description: |-
            The autocomplete parameter type. Supported values are:
              1. `SKIP_AUTOCOMPLETE`
              2. `CSV_AUTOCOMPLETE`
              3. `AUTOCOMPLETE_KEY`
              4. `VALUE_ONLY_AUTOCOMPLETE`
              5. `VALUE_ONLY_LOOKUP_AUTOCOMPLETE`
              6. `LABEL_VALUE_LOOKUP_AUTOCOMPLETE`
        autoCompleteKey:
          type: string
          description: The autocomplete key to be used to fetch autocomplete values.
          example: Ephemeral-3644138589235809747-1583470806220-parameter
        autoCompleteValues:
          type: array
          description: The array of values of the corresponding autocomplete parameter.
          items:
            $ref: '#/components/schemas/AutoCompleteValueSyncDefinition'
        lookupFileName:
          type: string
          description: The lookup file to use as a source for autocomplete values.
        lookupLabelColumn:
          type: string
          description: The column from the lookup file to use for autocomplete labels.
        lookupValueColumn:
          type: string
          description: >-
            The column from the lookup file to fill the actual value when a
            particular label is selected.
    AutoCompleteValueSyncDefinition:
      required:
        - label
        - value
      type: object
      properties:
        label:
          type: string
          description: The label of the autocomplete value.
        value:
          type: string
          description: The value of the autocomplete value.
    MetricsQuerySyncDefinition:
      required:
        - query
        - rowId
      type: object
      properties:
        query:
          type: string
          description: The text of a metrics query.
        rowId:
          type: string
          description: >-
            A label referring to the query; used if other metrics queries
            reference this one.
    ReportAutoParsingInfo:
      type: object
      properties:
        mode:
          pattern: ^(intelligent|performance)$|^$
          type: string
          description: Can be `intelligent` or `performance`
          example: performance
          default: performance
      description: >-
        Auto-parsing information for the panel. This information tells us
        whether automatic field extraction from JSON log messages is enabled or
        not
    MetricsSavedSearchQuerySyncDefinition:
      required:
        - query
        - rowId
      type: object
      properties:
        rowId:
          type: string
          description: >-
            Row id. All rows ids are represented by subsequent upper case
            letters starting with `A`.
          example: A
        query:
          type: string
          description: Metrics query.
          example: my_metric | avg
      description: Definition of a metrics query.
    ResourceIdentity:
      required:
        - id
        - type
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the resource.
          example: C03E086C137F38B4
        name:
          type: string
          description: The name of the resource.
          example: S3 Source, Scheduled View name.
          default: Unknown
        type:
          type: string
          description: >-
            -> Resource type. Supported types are - `Collector`, `Source`,
            `IngestBudget` and `Organisation`.
          example: Collector
      discriminator:
        propertyName: type
        mapping:
          Collector: '#/components/schemas/CollectorResourceIdentity'
          Source: '#/components/schemas/SourceResourceIdentity'
          IngestBudget: '#/components/schemas/IngestBudgetResourceIdentity'
          Organisation: '#/components/schemas/OrgIdentity'
          LogsToMetricsRule: '#/components/schemas/LogsToMetricsRuleIdentity'
    TrackerIdentity:
      required:
        - description
        - error
        - trackerId
      type: object
      properties:
        trackerId:
          type: string
          description: >-
            Name that uniquely identifies the health event. It focuses on what
            happened rather than why.
        error:
          type: string
          description: Description of the underlying reason for the event change.
          example: Access denied to Amazon S3 bucket
        description:
          type: string
          description: A more elaborate description of why the event occurred.
          example: S3 collection is not working as expected because of access issues.
      discriminator:
        propertyName: description
    DataIngestAffectedTracker:
      type: object
      properties:
        eventType:
          type: string
          description: Event type.
      discriminator:
        propertyName: eventType
    S3CollectionErrorTracker:
      type: object
      properties:
        eventType:
          type: string
          description: Event type.
      discriminator:
        propertyName: eventType
    FileCollectionErrorTracker:
      type: object
      properties:
        eventType:
          type: string
          description: Event type.
      discriminator:
        propertyName: eventType
    AwsCloudWatchCollectionErrorTracker:
      type: object
      properties:
        eventType:
          type: string
          description: Event type.
      discriminator:
        propertyName: eventType
    AwsInventoryCollectionErrorTracker:
      type: object
      properties:
        eventType:
          type: string
          description: Event type.
      discriminator:
        propertyName: eventType
    CSEWindowsErrorTracker:
      type: object
      properties:
        eventType:
          type: string
          description: Event type.
      discriminator:
        propertyName: eventType
    CSEWindowsAccessErrorTracker:
      type: object
      properties:
        eventType:
          type: string
          description: Event type.
      discriminator:
        propertyName: eventType
    CSEWindowsSensorOutOfStorageTracker:
      type: object
      properties:
        eventType:
          type: string
          description: Event type.
      discriminator:
        propertyName: eventType
    CSEWindowsParsingErrorTracker:
      type: object
      properties:
        eventType:
          type: string
          description: Event type.
      discriminator:
        propertyName: eventType
    CSEWindowsExcessiveBacklogTracker:
      type: object
      properties:
        eventType:
          type: string
          description: Event type.
      discriminator:
        propertyName: eventType
    MetricsMetadataKeyLengthLimitExceededTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/MetricsMetadataLimitsExceededTracker'
    MetricsMetadataLimitsExceededTracker:
      type: object
      properties:
        eventType:
          type: string
          description: Event type.
      discriminator:
        propertyName: eventType
    MetricsMetadataValueLengthLimitExceededTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/MetricsMetadataLimitsExceededTracker'
    MetricsMetadataKeyValuePairsLimitExceededTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/MetricsMetadataLimitsExceededTracker'
    MetricsMetadataTotalMetadataSizeLimitExceededTracker:
      allOf:
        - $ref: '#/components/schemas/TrackerIdentity'
        - $ref: '#/components/schemas/MetricsMetadataLimitsExceededTracker'
    OTCReceiverErrorTracker:
      type: object
      properties:
        eventType:
          type: string
          description: Event type.
      discriminator:
        propertyName: eventType
    OTCExporterErrorTracker:
      type: object
      properties:
        eventType:
          type: string
          description: Event type.
      discriminator:
        propertyName: eventType
    OTCProcessErrorTracker:
      type: object
      properties:
        eventType:
          type: string
          description: Event type.
      discriminator:
        propertyName: eventType
    Action:
      required:
        - connectionType
      type: object
      properties:
        connectionType:
          pattern: >-
            ^(Email|AWSLambda|AzureFunctions|Datadog|HipChat|Jira|NewRelic|Opsgenie|PagerDuty|Slack|MicrosoftTeams|ServiceNow|SumoCloudSOAR|Webhook)$
          type: string
          description: |-
            Connection type of the connection. Valid values:
              1.  `Email`
              2.  `AWSLambda`
              3.  `AzureFunctions`
              4.  `Datadog`
              5.  `HipChat`
              6.  `Jira`
              7.  `NewRelic`
              8.  `Opsgenie`
              9.  `PagerDuty`
              10. `Slack`
              11. `MicrosoftTeams`
              12. `ServiceNow`
              13. `SumoCloudSOAR`
              14. `Webhook`
          x-pattern-message: >-
            should be one of the following: 'Email', 'AWSLambda',
            'AzureFunctions', 'Datadog', 'HipChat', 'Jira', 'NewRelic',
            'Opsgenie', 'PagerDuty', 'Slack', 'MicrosoftTeams', 'ServiceNow',
            'SumoCloudSOAR' and 'Webhook'
      description: The base class of all connection types.
      discriminator:
        propertyName: connectionType
    OutlierDataValue:
      type: object
      properties:
        baseline:
          $ref: '#/components/schemas/OutlierBound'
        critical:
          $ref: '#/components/schemas/OutlierBound'
        warning:
          $ref: '#/components/schemas/OutlierBound'
        value:
          type: number
          description: The value of outlier data point.
          format: double
          example: 70
        violation:
          pattern: >-
            ^(CriticalUpperViolation|CriticalLowerViolation|WarningUpperViolation|WarningLowerViolation|NoViolation)$
          type: string
          description: The type of violation.
          example: CriticalUpperViolation
          x-pattern-message: >-
            should be one of the following: 'CriticalUpperViolation',
            'CriticalLowerViolation', 'WarningUpperViolation',
            'WarningLowerViolation', 'NoViolation'
      description: Data value and bounds of outlier data point.
    OutlierBound:
      type: object
      properties:
        lower:
          type: number
          description: Lower bond value.
          format: double
          example: 50
        upper:
          type: number
          description: Upper bond value.
          format: double
          example: 100
      description: The upper and lower bound of outlier/baseline.
    StaticThreshold:
      type: number
      description: >-
        The data value for the condition. This defines the threshold for when to
        trigger. Threshold value is not applicable for `MissingData` and
        `ResolvedMissingData` triggerTypes and will be ignored if specified.
      format: double
      example: 50
      default: 0
    StaticThresholdType:
      pattern: ^(LessThan|GreaterThan|LessThanOrEqual|GreaterThanOrEqual)$
      type: string
      description: >-
        The comparison type for the `threshold` evaluation. This defines how you
        want the data value compared. Valid values:
          1. `LessThan`: Less than than the configured threshold.
          2. `GreaterThan`: Greater than the configured threshold.
          3. `LessThanOrEqual`: Less than or equal to the configured threshold.
          4. `GreaterThanOrEqual`: Greater than or equal to the configured threshold.
        ThresholdType value is not applicable for `MissingData` and
        `ResolvedMissingData` triggerTypes and will be ignored if specified.
      example: GreaterThanOrEqual
      default: GreaterThanOrEqual
      x-pattern-message: >-
        should be one of the following: 'LessThan', 'GreaterThan',
        'LessThanOrEqual', or 'GreaterThanOrEqual'
    OccurrenceType:
      pattern: ^(AtLeastOnce|Always|ResultCount|MissingData)$
      type: string
      description: >-
        The criteria to evaluate the threshold and thresholdType in the given
        time range. Valid values:
          1. `AtLeastOnce`: Trigger if the threshold is met at least once. (NOTE: This is the only valid value if monitorType is `Metrics`.)
          2. `Always`: Trigger if the threshold is met continuously. (NOTE: This is the only valid value if monitorType is `Metrics`.)
          3. `ResultCount`: Trigger if the threshold is met against the count of results. (NOTE: This is the only valid value if monitorType is `Logs`.)
          4. `MissingData`: Trigger if the data is missing. (NOTE: This is valid for both `Logs` and `Metrics` monitorTypes)
      example: ResultCount
      x-pattern-message: >-
        should be one of the following: 'AtLeastOnce', 'Always', 'ResultCount'
        or 'MissingData'
    TriggerSource:
      pattern: ^(AllTimeSeries|AnyTimeSeries|AllResults)$
      type: string
      description: >-
        Determines which time series from queries to use for Metrics MissingData
        and ResolvedMissingData triggers Valid values:
          1. `AllTimeSeries`: Evaluate the condition against all time series. (NOTE: This option is only valid if monitorType is `Metrics`)
          2. `AnyTimeSeries`: Evaluate the condition against any time series. (NOTE: This option is only valid if monitorType is `Metrics`)
          3. `AllResults`: Evaluate the condition against results from all queries. (NOTE: This option is only valid if monitorType is `Logs`)
      example: AllResults
      x-pattern-message: >-
        should be one of the following: 'AllTimeSeries', 'AnyTimeSeries', or
        'AllResults'
    OutlierDirection_1:
      pattern: ^(Both|Up|Down)$
      type: string
      description: Specifies which direction should trigger violations.
      example: Up
      default: Both
      x-pattern-message: 'should be one of the following: ''Both'', ''Up'', ''Down'''
    Metadata:
      required:
        - createdAt
        - createdBy
        - modifiedAt
        - modifiedBy
      type: object
      properties:
        createdAt:
          type: string
          description: >-
            Creation timestamp in UTC in
            [RFC3339](https://tools.ietf.org/html/rfc3339) format.
          format: dateTime
        createdBy:
          type: string
          description: Identifier of the user who created the resource.
        modifiedAt:
          type: string
          description: Last modification timestamp in UTC.
          format: dateTime
        modifiedBy:
          type: string
          description: Identifier of the user who last modified the resource.
    MetadataWithUserInfo:
      required:
        - createdAt
        - createdByUser
        - modifiedAt
        - modifiedByUser
      type: object
      properties:
        createdAt:
          type: string
          description: >-
            Creation timestamp in UTC in
            [RFC3339](https://tools.ietf.org/html/rfc3339) format.
          format: date-time
          nullable: true
        createdByUser:
          $ref: '#/components/schemas/UserInfo'
        modifiedAt:
          type: string
          description: >-
            Last modification timestamp in UTC in
            [RFC3339](https://tools.ietf.org/html/rfc3339) format.
          format: date-time
          nullable: true
        modifiedByUser:
          $ref: '#/components/schemas/UserInfo'
    UserInfo:
      required:
        - email
        - firstName
        - id
        - lastName
      type: object
      properties:
        id:
          type: string
          description: User's identifier.
          example: 0000000006743FDD
        email:
          type: string
          description: User's email.
          example: johndoe@acme.com
        firstName:
          type: string
          description: User's first name.
          example: John
        lastName:
          type: string
          description: User's last name.
          example: Doe
    LogSearchQueryTimeRangeBase:
      description: Definition of a log search with query and timerange.
      allOf:
        - $ref: '#/components/schemas/LogSearchQueryTimeRangeBaseExceptParsingMode'
        - type: object
          properties:
            parsingMode:
              type: string
              description: >-
                Define the parsing mode to scan the JSON format log messages.
                Possible values are:
                  1. `AutoParse`
                  2. `Manual`
                In AutoParse mode, the system automatically figures out fields
                to parse based on the search query. While in the Manual mode, no
                fields are parsed out automatically. For more information see
                [Dynamic Parsing](https://help.sumologic.com/?cid=0011).
              example: AutoParse
              default: Manual
    LogSearchQueryTimeRangeBaseExceptParsingMode:
      required:
        - queryString
        - timeRange
      type: object
      properties:
        queryString:
          type: string
          description: Query to perform.
          example: error | count by _sourceCategory
        timeRange:
          $ref: '#/components/schemas/ResolvableTimeRange'
        runByReceiptTime:
          type: boolean
          description: >-
            This has the value `true` if the search is to be run by receipt time
            and `false` if it is to be run by message time.
          example: false
          default: false
        queryParameters:
          type: array
          description: Definition of the query parameters.
          items:
            $ref: '#/components/schemas/LogSearchQueryParameterSyncDefinition'
      description: Definition of a log search with query and timerange.
    TopologyLabelMap:
      required:
        - data
      type: object
      properties:
        data:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/TopologyLabelValuesList'
          description: Map from topology labels to `TopologyLabelValuesList`.
      description: >
        Map of the topology labels. Each label has a key and a list of values.
        If a value is `*`, it means the label will match content for all values
        of its key.
      example:
        service:
          - kube-scheduler
          - kube-dns
    TopologyLabelValuesList:
      type: array
      description: List of values corresponding to a key of a label.
      example: kube-scheduler
      items:
        type: string
        description: Value of the label.
      default: []
    LogSearchQueryParameterSyncDefinition:
      required:
        - autoComplete
        - dataType
        - description
        - label
        - name
        - value
      type: object
      properties:
        name:
          type: string
          description: The name of the parameter.
        label:
          type: string
          description: The label of the parameter.
        description:
          type: string
          description: A description of the parameter.
        dataType:
          pattern: ^(NUMBER|STRING|QUERY_FRAGMENT|SEARCH_KEYWORD)$
          type: string
          description: |-
            The data type of the parameter. Supported values are:
              1. `NUMBER`
              2. `STRING`
              3. `QUERY_FRAGMENT`
              4. `SEARCH_KEYWORD`
        value:
          type: string
          description: >-
            A value for the parameter. Should be compatible with the type set in
            dataType field.
        autoComplete:
          $ref: '#/components/schemas/LogSearchParameterAutoCompleteSyncDefinition'
    LogSearchParameterAutoCompleteSyncDefinition:
      required:
        - autoCompleteType
      type: object
      properties:
        autoCompleteType:
          pattern: >-
            ^(None|TextEntries|LabelValuePairs|ValueOnlyLookup|LabelValueLookup)$
          type: string
          description: |-
            The autocomplete parameter type. Supported values are:
              1. `None`
              2. `TextEntries`
              3. `LabelValuePairs`
              4. `ValueOnlyLookup`
              5. `LabelValueLookup`
        autoCompleteKey:
          type: string
          description: The autocomplete key to be used to fetch autocomplete values.
          example: Ephemeral-3644138589235809747-1583470806220-parameter
        autoCompleteValues:
          type: array
          description: The array of values of the corresponding autocomplete parameter.
          items:
            $ref: '#/components/schemas/AutoCompleteValueSyncDefinition'
        lookupFileName:
          type: string
          description: The lookup file to use as a source for autocomplete values.
        lookupLabelColumn:
          type: string
          description: The column from the lookup file to use for autocomplete labels.
        lookupValueColumn:
          type: string
          description: >-
            The column from the lookup file to fill the actual value when a
            particular label is selected.
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
x-tagGroups:
  - name: Archive Management
    tags:
      - archiveManagement
  - name: Health Events
    tags:
      - healthEvents
  - name: Infrequent Data Tier
    tags:
      - logSearchesEstimatedUsage
  - name: Ingest Budgets Management
    tags:
      - ingestBudgetManagementV1
  - name: Ingest Budgets Management V2
    tags:
      - ingestBudgetManagementV2
  - name: Library Management
    tags:
      - appManagement
      - contentManagement
      - dashboardManagement
      - folderManagement
      - lookupManagement
      - contentPermissions
  - name: Metrics
    tags:
      - metricsSearchesManagement
      - transformationRuleManagement
      - metricsQuery
  - name: Security Management
    tags:
      - accessKeyManagement
      - accountManagement
      - passwordPolicy
      - policiesManagement
      - samlConfigurationManagement
      - serviceAllowlistManagement
  - name: Settings Management
    tags:
      - connectionManagement
      - dynamicParsingRuleManagement
      - extractionRuleManagement
      - fieldManagementV1
      - partitionManagement
      - scheduledViewManagement
  - name: Tokens Management
    tags:
      - tokensLibraryManagement
  - name: Tracing
    tags:
      - traces
      - spanAnalytics
      - serviceMap
  - name: Users and Roles Management
    tags:
      - roleManagement
      - userManagement
  - name: Monitor Management
    tags:
      - monitorsLibraryManagement
