{
  "openapi": "3.0.1",
  "info": {
    "title": "Fusion Admin APIs",
    "description": "These APIs provide general administrative functions for your Fusion instance. Use these APIs to manage Fusion objects, App Studio objects, connections to Solr clusters, license files, job schedules, and more. You can also use them to create a history of service events.",
    "termsOfService": "https://lucidworks.com/legal/developer-license-agreement/",
    "contact": {
      "name": "Lucidworks",
      "url": "www.lucidworks.com",
      "email": "support@lucidworks.com"
    },
    "license": {
      "name": "License of API",
      "url": "https://lucidworks.com/legal/developer-license-agreement/"
    },
    "version": "5.9"
  },
  "servers": [
    {
      "url": "https://{FUSION_HOST}/api",
      "description": "Fusion",
      "variables": {
        "FUSION_HOST": {
          "default": "FUSION_HOST",
          "description": "Your environment host."
        }
      }
    },
    {
      "url": "https://{FUSION_HOST}/api/apps/{APP_NAME}",
      "description": "Fusion app",
      "variables": {
        "FUSION_HOST": {
          "default": "FUSION_HOST",
          "description": "Your environment host."
        },
        "APP_NAME": {
          "default": "APP_NAME",
          "description": "The name of your Fusion application."
        }
      }
    }
  ],
  "tags": [
    {
      "name": "Apps",
      "description": "The Apps API manages your Fusion apps. To export or import an app, see the Objects API. You can also import an app using the Fusion UI."
    },
    {
      "name": "Blobs",
      "description": "The Blob Store REST API allows storing binary objects in Solr. You can use it to store entity extraction models, lookup lists or exclusion lists for use in index pipelines. This may include the entity extraction models and lookup lists included with Fusion in the `{fusion_path}/data/nlp` directory, or files that you have created on your own."
    },
    {
      "name": "Collections",
      "description": "The Collections API manages Fusion collections. It provides endpoints for creating, updating, and deleting collection, as well as endpoints for getting a collection's status and usage statistics.\n\nFusion maintains internal system collections for logs, blobs, and metrics data which operate in conjunction with collections created by users. The Collections API is used to manage all Fusion collections."
    },
    {
      "name": "Configurations",
      "description": "The Configurations API allows setting global properties for Fusion.\n\nSome settings are not set by any configuration file but are reported as settings from the operating system. Those settings cannot be changed with this API.\n\n> ⚠️ **Blocked by default:** This API is blocked on the API gateway by default because it exposes all Fusion admin service environment variables. It can be enabled in special cases — contact [Lucidworks Support](https://lucidworks.com/support) to discuss your use case. In Fusion 5.18 and later, use [Fusion Vault](/docs/5/fusion/operations/security/external-vault) instead, which provides a safer, structured approach to managing configuration values and secrets. The Configurations API is deprecated as of Fusion 5.18."
    },
    {
      "name": "CRUD events",
      "description": "Check the status of the CRUD Events service."
    },
    {
      "name": "Data models",
      "description": "These APIs manage data models.\n\nData models simplify the process of getting started with Fusion by providing pre-configured objects to reduce the effort spent on basic starting tasks. This helps keep documents consistent between datasources and intuitive to the object's type."
    },
    {
      "name": "Features",
      "description": "The Features API lets you observe the status of features across collections.  To manipulate features for a specific collection, use the Collections API."
    },
    {
      "name": "Groups",
      "description": "These endpoints show you how your Fusion objects are grouped.  For example, you can use this API to see the signals-related jobs and collections that are part of a primary collection's group."
    },
    {
      "name": "History",
      "description": "The History API provides information about the services that are running. The list of these services is provided by the Introspect API."
    },
    {
      "name": "Introspect",
      "description": "The Fusion Introspect endpoint lists basic information about endpoints and parameters for all Fusion endpoints."
    },
    {
      "name": "Jobs",
      "description": "The Jobs API allows you to define schedules for objects that perform work. You can schedule datasources, tasks, and Spark jobs."
    },
    {
      "name": "License",
      "description": "The License API provides license management features."
    },
    {
      "name": "Links",
      "description": "The Links API manages the links that represent the relationships between Fusion objects. You can see these links in the Object Explorer in the Fusion UI. You can also export and import links using the Objects API.\n\nLinks are structured as a tuple of (`subject`, `object`, `linkType`). An example would be (`foo`, `bar`, `dependsOn`), which would read as \"foo dependsOn bar\"."
    },
    {
      "name": "Nodes",
      "description": "The Nodes API lets you check the status of each node in the search cluster."
    },
    {
      "name": "Objects",
      "description": "The Objects API lets you import and export objects between Fusion instances. Fusion objects include all your searchable data, plus pipelines, aggregations, and other configurations on which your collections depend."
    },
    {
      "name": "Registration",
      "description": "Check the status of the Registration service."
    },
    {
      "name": "Scheduler",
      "description": "Use the Scheduler API to define a schedule for system activities and manage the jobs that result from the schedule.  All of the Fusion services are available for scheduling, as are any Solr activities and any other HTTP-based URI.\n\n\n\n>This API is deprecated in favor of the Jobs API."
    },
    {
      "name": "Search cluster",
      "description": "The Search Cluster API lets you connect Fusion with existing Solr instances in a Zookeeper-managed cluster."
    },
    {
      "name": "Search logs",
      "description": "The Search Logs API lets you manage a `searchLogs` collection."
    },
    {
      "name": "Solr",
      "description": "The Solr API is used to manage collection-level configurations.\n\nSince this API proxies requests to Solr, each available method corresponds to the method in Solr. So, a `GET` request to Solr would use the `GET` method of this endpoint; a `POST` would use the `POST` method, and so on.\n\nDepending on the request, the response may consist of records that match a query or output from a Schema API request."
    },
    {
      "name": "Solr Configuration",
      "description": "The Solr Configuration REST API lets you access and manage Solr configuration files stored in ZooKeeper."
    },
    {
      "name": "Solr admin",
      "description": "The Solr Admin API lets you send commands to Solr through Fusion's proxy service. This allows you to protect your Solr instances from outside connections, and apply roles and user permissions from Fusion when running Solr commands. Requests sent to this API are subject to access restrictions above the collection level.\n\nNote that because one `searchCluster` may host several collections, it is not recommended to use this with a collection-level command (such as a query, or document update)."
    },
    {
      "name": "Swagger",
      "description": "These endpoints give you details about Fusion's REST API schemas."
    },
    {
      "name": "System",
      "description": "The System REST API allows you to monitor the system performance."
    },
    {
      "name": "Tasks",
      "description": "These endpoints let you manage tasks, a flexible job type that can be used to clean up old logs or run any REST call."
    },
    {
      "name": "Update",
      "description": "Consult Lucidworks before using these endpoints."
    },
    {
      "name": "Webapps",
      "description": "Deprecated."
    },
    {
      "name": "ZooKeeper",
      "description": "The ZooKeeper Import/Export API provides methods to upload or download information from Fusion's ZooKeeper service. This service provides an alternative to the ZooKeeper clients `zkCli.sh` and `zk-shell` which are part of the Apache Zookeeper distribution included as part of the Fusion distribution."
    }
  ],
  "paths": {
    "/apps/status": {
      "get": {
        "tags": [
          "Apps"
        ],
        "summary": "Get apps service status",
        "description": "Check the status of the apps service.",
        "operationId": "getStatus",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/apps": {
      "get": {
        "tags": [
          "Apps"
        ],
        "summary": "List all apps",
        "description": "Get the list of all existing Fusion apps and their configuration details.",
        "operationId": "getAllEntities",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Entity"
                  }
                },
                "example": [
                  {
                    "id": "movies",
                    "name": "Movies",
                    "description": "Search the movielens database.",
                    "dataUri": "/App-Tile-01-460x160.png",
                    "properties": {
                      "headerImageName": "headerImage1",
                      "tileColor": "apps-darkblue",
                      "previousCollectionId": "movies"
                    }
                  },
                  {
                    "id": "tech-pubs",
                    "name": "TechPubs",
                    "description": "Search the documentation.",
                    "dataUri": "/App-Tile-02-460x160.png",
                    "properties": {
                      "headerImageName": "headerImage2",
                      "tileColor": "apps-darkblue",
                      "previousCollectionId": "tech-pubs"
                    }
                  }
                ]
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Apps"
        ],
        "summary": "Create an app",
        "description": "Create a new Fusion app.",
        "operationId": "createApp",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "name",
                  "description"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "The unique ID for the app.",
                    "example": "MyNewApp"
                  },
                  "name": {
                    "type": "string",
                    "description": "The display name for the app.",
                    "example": "My new app"
                  },
                  "description": {
                    "type": "string",
                    "description": "A short description of the app.",
                    "example": "A really great new app"
                  }
                }
              },
              "example": {
                "id": "MyNewApp",
                "name": "My new app",
                "description": "A really great new app"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "id": "MyNewApp",
                  "name": "My new app",
                  "description": "A really great new app"
                }
              }
            }
          }
        }
      }
    },
    "/apps/{id}": {
      "get": {
        "tags": [
          "Apps"
        ],
        "summary": "Get an app",
        "description": "Fetch an app by its ID.  The response is the app's complete configuration in JSON.",
        "operationId": "getEntity",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The app ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Entity"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Apps"
        ],
        "summary": "Delete an app",
        "description": "Delete a Fusion app.",
        "operationId": "deleteEntityWithBody",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The app ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "An optional tag to match.",
            "schema": {
              "type": "string",
              "default": "-1"
            }
          }
        ],
        "requestBody": {
          "description": "Additional request parameters, if any (such as `relatedObjectIds`), can be supplied in the request body instead of as request parameters. Use this if the URL is getting too long.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BodyRequestParams"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/apps/_schema": {
      "get": {
        "tags": [
          "Apps"
        ],
        "summary": "Get the apps schema",
        "description": "Get the JSON configuration schema for apps.",
        "operationId": "getEntitySchema",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/schema+json; qs=1.0": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectType"
                }
              },
              "application/json; qs=0.9": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectType"
                }
              }
            }
          }
        }
      }
    },
    "/blobs/status": {
      "get": {
        "tags": [
          "Blobs"
        ],
        "summary": "Get blob store service status",
        "description": "Check the status of the Blob Store service.",
        "operationId": "getStatus_2",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/blobs": {
      "get": {
        "tags": [
          "Blobs"
        ],
        "summary": "List all blobs",
        "description": "Get the list of existing blobs and their attributes.\n\nNote that recursion is off by default.",
        "operationId": "listBlobManifests",
        "parameters": [
          {
            "name": "dir",
            "in": "query",
            "description": "A blob store directory to be queried.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "recurse",
            "in": "query",
            "description": "`true` to recurse when querying the directory.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "showdirs",
            "in": "query",
            "description": "Show directories when querying directory.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Blob"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/blobs/{id}": {
      "get": {
        "tags": [
          "Blobs"
        ],
        "summary": "Get a blob",
        "description": "Get a blob's attributes.",
        "operationId": "getBlob",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The blob ID.",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "example": [
                  {
                    "id": "query-pipeline-js-stage.js",
                    "path": "/query-pipeline-js-stage.js",
                    "dir": "/",
                    "filename": "query-pipeline-js-stage.js",
                    "contentType": "text/javascript",
                    "size": 0,
                    "modifiedTime": "2018-09-11T16:23:17.743Z",
                    "version": 1611328911094841344,
                    "md5": "d41d8cd98f00b204e9800998ecf8427e",
                    "metadata": {
                      "resourceType": "file:js-query"
                    }
                  }
                ]
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Blobs"
        ],
        "summary": "Upload a blob",
        "description": "Upload a blob and define its ID.",
        "operationId": "putBlob",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The blob ID.",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "An optional tag to match against the specified blob.",
            "schema": {
              "type": "string",
              "default": "0"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "The media type of the blob body.",
            "schema": {
              "type": "string",
              "default": "application/octet-stream"
            }
          },
          {
            "name": "fusion-blob-type",
            "in": "header",
            "description": "The blob sub-type.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "commit",
            "in": "query",
            "description": "`true` to commit to Solr's Blob store.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "update",
            "in": "query",
            "description": "Whether to update the `data`, `metadata`, or `both`.",
            "schema": {
              "type": "string",
              "default": "both"
            }
          }
        ],
        "requestBody": {
          "description": "The blob to store.",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/InputStream"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "example": {
                  "name": "mydriver",
                  "contentType": "application/java-archive",
                  "size": 707261,
                  "modifiedTime": "2017-06-09T19:00:48.919Z",
                  "version": 0,
                  "md5": "c67163ca764bfe632f28229c142131b5",
                  "metadata": {
                    "subtype": "driver:jdbc",
                    "drivers": "org.postgresql.Driver",
                    "resourceType": "driver:jdbc"
                  }
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      },
      "delete": {
        "tags": [
          "Blobs"
        ],
        "summary": "Delete a blob",
        "description": "Remove a blob from the Blob Store.",
        "operationId": "deleteFile_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The blob ID.",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "An optional tag to match against the specified blob.",
            "schema": {
              "type": "string",
              "default": "0"
            }
          },
          {
            "name": "commit",
            "in": "query",
            "description": "`true` to commit to Solr's Blob store.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        }
      },
      "head": {
        "tags": [
          "Blobs"
        ],
        "summary": "Get blob metadata",
        "description": "Get only the metadata about a blob.",
        "operationId": "getBlobMetadata",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The blob ID.",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        }
      }
    },
    "/blobs/convert": {
      "put": {
        "tags": [
          "Blobs"
        ],
        "summary": "Convert blob manifests",
        "description": "Migrate blob manifests from 3.x to 4.x format.",
        "operationId": "migrateBlobManifests",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "deprecated": true
      }
    },
    "/collections/status": {
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "Get collections service status",
        "description": "Check the status of the Collections service.",
        "operationId": "getStatus_3",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/collections": {
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "List all collections",
        "description": "Return properties for all existing collections.",
        "operationId": "getCollections",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Collection"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Collections"
        ],
        "summary": "Create a new collection",
        "description": "Define the properties of a new data collection.",
        "operationId": "createCollection",
        "parameters": [
          {
            "name": "pipelines",
            "in": "query",
            "description": "A boolean to indicate if pipelines should also be created. This has been deprecated in favor of 'relatedObjects'.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "description": "JSON-formatted configuration values.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Collection"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Collection"
                },
                "example": {
                  "id": "newCollection",
                  "createdAt": "2014-09-19T18:46:52.954Z",
                  "searchClusterId": "default",
                  "solrParams": {
                    "name": "newCollection",
                    "numShards": 1,
                    "replicationFactor": 1
                  },
                  "type": "DATA",
                  "metadata": {}
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/collections/{collection}": {
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "Get a collection",
        "description": "Return the properties for a specific collection.",
        "operationId": "getCollection",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "The name of a collection.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Collection"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Collections"
        ],
        "summary": "Create or update a collection",
        "description": "Create a new data collection or update an existing one.",
        "operationId": "overwriteCollection",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "The name of a collection.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "An optional tag to match against the specified blob.",
            "schema": {
              "type": "string",
              "default": "-1"
            }
          }
        ],
        "requestBody": {
          "description": "JSON-formatted configuration values.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Collection"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Collection"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      },
      "delete": {
        "tags": [
          "Collections"
        ],
        "summary": "Delete a collection",
        "description": "Remove a collection from the system.",
        "operationId": "deleteCollection",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "The name of a collection.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "solr",
            "in": "query",
            "description": "'True' to delete the collection from Solr while it is deleted from Fusion.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "purge",
            "in": "query",
            "description": "'True' to also delete associated signals and `searchLogs` collections.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "pipelines",
            "in": "query",
            "description": "'True' to also delete associated pipelines.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "An optional tag to match against the specified collection.",
            "schema": {
              "type": "string",
              "default": "-1"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        }
      }
    },
    "/collections/{collection}/stats": {
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "Get collection statistics",
        "description": "Stats include the number of documents in the index, how many requests have been made of the collection, the average request time, and the index size in bytes.",
        "operationId": "getCollectionMetrics",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "The name of a collection.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollectionMetrics"
                },
                "example": {
                  "collectionId": "demo",
                  "documentCount": 536,
                  "requestCount": 6,
                  "qps": 28.34716542561849,
                  "sizeInBytes": 7646045,
                  "lastModified": "2014-05-19T19:58:33.545Z"
                }
              }
            }
          }
        }
      }
    },
    "/collections/{collection}/status": {
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "Get collection status",
        "description": "Status includes the state of each shard and each shard's replica. Each shard will be listed, and within that each replica, including the core name, its status as leader, the base URL, and the node name.",
        "operationId": "getCollectionStatus",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "The name of a collection.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CollectionInfo"
                },
                "example": {
                  "maxShardsPerNode": 1,
                  "replicationFactor": 1,
                  "shards": {
                    "shard1": {
                      "range": "80000000-7fffffff",
                      "state": "active",
                      "replicas": {
                        "core_node1": {
                          "state": "active",
                          "core": "demo_shard1_replica1",
                          "leader": true,
                          "base_url": "https://FUSION_HOST:8983/solr",
                          "node_name": "FUSION_HOST:8983_solr"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/collections/{collection}/features": {
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "Get collection features.",
        "description": "Return all features for a specified collection.",
        "operationId": "listFeatures",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "The name of a collection.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Feature"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/collections/{collection}/features/{feature}": {
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "Get a feature",
        "description": "Return all attributes for a specified feature in a collection.",
        "operationId": "getFeature",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "The name of a collection.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "feature",
            "in": "path",
            "description": "The feature to update. Allowed values:\n\n- `signals`: Create a parallel collection for storing signals data (such as user clicks or ratings). Signals need to be indexed and aggregated before they can be used.\n- `recommendations`: Get configuration information about recommendations. Parameters include `idField` (document ID field), `itemsForUser` (enable or disable items-for-user recommendations), `itemsForQuery` (enable or disable items-for-query recommendations), `itemsForItem` (enable or disable items-for-item recommendations), and `queriesForQuery` (enable or disable queries-for-query recommendations).",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "signals",
                "recommendations"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Feature"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Collections"
        ],
        "summary": "Update a feature",
        "description": "Update a feature's properties.",
        "operationId": "overwriteFeature",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "The name of a collection.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "feature",
            "in": "path",
            "description": "The feature to update. Allowed values:\n\n- `signals`: Create a parallel collection for storing signals data (such as user clicks or ratings). Signals need to be indexed and aggregated before they can be used.\n- `recommendations`: Get configuration information about recommendations. Parameters include `idField` (document ID field), `itemsForUser` (enable or disable items-for-user recommendations), `itemsForQuery` (enable or disable items-for-query recommendations), `itemsForItem` (enable or disable items-for-item recommendations), and `queriesForQuery` (enable or disable queries-for-query recommendations).",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "signals",
                "recommendations"
              ]
            }
          },
          {
            "name": "callback",
            "in": "query",
            "description": "Additional commands to execute.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "An optional tag to match against the specified feature.",
            "schema": {
              "type": "string",
              "default": "-1"
            }
          }
        ],
        "requestBody": {
          "description": "JSON-formatted configuration values.",
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": true
              },
              "examples": {
                "recommendations": {
                  "summary": "Enable recommendations",
                  "description": "Adds the recommendations feature for the 'tempy' collection with configuration options for ID field and item/query behavior.",
                  "value": {
                    "name": "recommendations",
                    "collectionId": "tempy",
                    "params": {
                      "idField": "id",
                      "itemsForUser": true,
                      "itemsForQuery": false,
                      "itemsForItem": true,
                      "queriesForQuery": false
                    },
                    "enabled": true
                  }
                },
                "signals": {
                  "summary": "Disable signals",
                  "description": "Disables the signals feature for the 'tempy' collection.",
                  "value": {
                    "name": "signals",
                    "collectionId": "tempy",
                    "params": {},
                    "enabled": false
                  }
                },
                "searchLogs": {
                  "summary": "Disable search logs",
                  "description": "Disables the search logs feature for the 'tempy' collection.",
                  "value": {
                    "name": "searchLogs",
                    "collectionId": "tempy",
                    "params": {},
                    "enabled": false
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      },
      "delete": {
        "tags": [
          "Collections"
        ],
        "summary": "Delete a feature",
        "description": "Remove a feature from a collection.",
        "operationId": "resetFeature",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "The name of a collection.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "feature",
            "in": "path",
            "description": "The feature to update. Allowed values:\n\n- `signals`: Create a parallel collection for storing signals data (such as user clicks or ratings). Signals need to be indexed and aggregated before they can be used.\n- `recommendations`: Get configuration information about recommendations. Parameters include `idField` (document ID field), `itemsForUser` (enable or disable items-for-user recommendations), `itemsForQuery` (enable or disable items-for-query recommendations), `itemsForItem` (enable or disable items-for-item recommendations), and `queriesForQuery` (enable or disable queries-for-query recommendations).",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "signals",
                "recommendations"
              ]
            }
          },
          {
            "name": "callback",
            "in": "query",
            "description": "Additional commands to execute.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "An optional tag to match against the specified feature.",
            "schema": {
              "type": "string",
              "default": "-1"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        }
      }
    },
    "/collections/{collection}/partitions/status": {
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "Get collection partitions status",
        "description": "Get the status of a collection's partitions.",
        "operationId": "getStatus_16",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "Collection ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/collections/{collection}/partitions": {
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "List a collection's partitions",
        "description": "Returns list of partitions for a given collection.",
        "operationId": "getPartitions",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "Collection ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/collections/{collection}/partitions/{partition}": {
      "delete": {
        "tags": [
          "Collections"
        ],
        "summary": "Delete a partition",
        "description": "Delete a partition from a collection.",
        "operationId": "deletePartition",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "Collection ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "partition",
            "in": "path",
            "description": "Partition ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        }
      }
    },
    "/collections/{collection}/partitions/_scheduledCallback": {
      "post": {
        "tags": [
          "Collections"
        ],
        "summary": "Perform partition maintenance",
        "description": "Perform scheduled background maintenance on partitions for a given collection, such as preemptively creating partitions and deleting expired partitions.",
        "operationId": "scheduledCallback",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "Collection ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        }
      }
    },
    "/collections/{collection}/partitions/_changed": {
      "post": {
        "tags": [
          "Collections"
        ],
        "summary": "Update a partition feature",
        "description": "Change partitioned feature for a collection.",
        "operationId": "changeCallback",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "Collection ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Partitioned feature configuration.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Feature"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/collections/{collection}/partitions/_schema": {
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "Get the partition feature schema",
        "description": "Fetch the partition feature schema for a given collection.",
        "operationId": "getSchema",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "Collection ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectType"
                }
              }
            }
          }
        }
      }
    },
    "/collections/{collection}/schema/status": {
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "Get collection schema status",
        "description": "Get the status of a collection's schema.",
        "operationId": "getStatus_19",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "Collection ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/collections/{collection}/schema/fields": {
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "List all collection fields",
        "description": "Returns fields for a given collection.",
        "operationId": "getFields",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "Collection ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Field"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Collections"
        ],
        "summary": "Create a collection field",
        "description": "Adds a field to a given collection.",
        "operationId": "addField",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "Collection ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Field configuration.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Field"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/collections/{collection}/schema/fields/{field}": {
      "delete": {
        "tags": [
          "Collections"
        ],
        "summary": "Delete a collection field",
        "description": "Deletes a field from a given collection.",
        "operationId": "deleteField",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "Collection ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "field",
            "in": "path",
            "description": "Field name.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        }
      },
      "put": {
        "tags": [
          "Collections"
        ],
        "summary": "Update a collection field",
        "description": "Updates a field from a given collection.",
        "operationId": "updateField",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "Collection ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "field",
            "in": "path",
            "description": "Field name.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Field configuration.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Field"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/collections/{collection}/schema/fields.schema": {
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "Get a collection's fields schema",
        "description": "Returns fields schema for a given collection.",
        "operationId": "getSchema_1",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "Collection ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectType"
                }
              }
            }
          }
        }
      }
    },
    "/collections/{collection}/schema/fieldTypes": {
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "List all collection field types",
        "description": "Returns field types from a given collection.",
        "operationId": "getFieldTypes",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "Collection ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SolrFieldType"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Collections"
        ],
        "summary": "Create a field type",
        "description": "Adds a new field type to a given collection.",
        "operationId": "addFieldType",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "Collection ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Field type configuration.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SolrFieldType"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/collections/{collection}/schema/fieldTypes/{fieldTypeId}": {
      "put": {
        "tags": [
          "Collections"
        ],
        "summary": "Update a field type",
        "description": "Updates a field type from a given collection.",
        "operationId": "updateFieldType",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "Collection ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fieldTypeId",
            "in": "path",
            "description": "Field type ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Field type configuration.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SolrFieldType"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/collections/{collection}/schema/dynamicfields": {
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "List all dynamic fields",
        "description": "Returns dynamic fields for a given collection.",
        "operationId": "getDynamicFields",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "Collection ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DynamicField"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Collections"
        ],
        "summary": "Create a dynamic field",
        "description": "Adds a new dynamic field to a given collection.",
        "operationId": "addDynamicField",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "Collection ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Dynamic field configuration.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DynamicField"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/collections/{collection}/schema/dynamicfields/{field}": {
      "delete": {
        "tags": [
          "Collections"
        ],
        "summary": "Delete a dynamic field",
        "description": "Deletes a dynamic field from a given collection.",
        "operationId": "deleteDynamicField",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "Collection ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "field",
            "in": "path",
            "description": "Field name.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        }
      },
      "put": {
        "tags": [
          "Collections"
        ],
        "summary": "Update a dynamic field",
        "description": "Updates a dynamic field from a given collection.",
        "operationId": "updateDynamicField",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "Collection ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "field",
            "in": "path",
            "description": "Field name.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Dynamic field configuration.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DynamicField"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/collections/{collection}/schema/dynamicfields.schema": {
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "Get the dynamic fields schema",
        "description": "Returns dynamic fields schema for a given collection.",
        "operationId": "getDynamicSchema",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "Collection ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectType"
                }
              }
            }
          }
        }
      }
    },
    "/collections/{collection}/synonyms/status": {
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "Get synonyms status",
        "description": "Check the status of a collection's synonyms.",
        "operationId": "getStatus_26",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "Collection ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/collections/{collection}/synonyms": {
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "List all synonyms files",
        "description": "Return a list of synonyms files along with their editing states (`READY`/`NOT_READY`/`NOT_SAVED`).",
        "operationId": "listFiles_1",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "The name of a collection.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SynonymFile"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/collections/{collection}/synonyms/{path}": {
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "Get the synonyms file editing status",
        "description": "Return editing READY/NOT_READY status for a single synonyms file (or 404).",
        "operationId": "getFile_1",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "The name of a collection.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "path",
            "in": "path",
            "description": "The path to a synonyms file.",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SynonymFile"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Collections"
        ],
        "summary": "Update a synonyms file",
        "description": "Change a synonyms file's state.",
        "operationId": "changeState",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "The name of a collection.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "path",
            "in": "path",
            "description": "The path to a synonyms file.",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The file's new path and state.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SynonymFile"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/collections/{collection}/synonyms/{path}/items": {
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "Get a synonyms file",
        "description": "Export synonyms as a CSV file.",
        "operationId": "exportToCsv",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "The name of a collection.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "path",
            "in": "path",
            "description": "The path to a synonyms file.",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "text/csv; qs=0.9": {
                "schema": {
                  "$ref": "#/components/schemas/StreamingOutput"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Collections"
        ],
        "summary": "Create synonym entries",
        "description": "Add one or more new entries to a synonyms file.",
        "operationId": "addSynonym",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "The name of a collection.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "path",
            "in": "path",
            "description": "The path to a synonyms file.",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            }
          },
          {
            "name": "commit",
            "in": "query",
            "description": "If true, commit the change to Solr immediately instead of asynchronously.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "fusion-user-name",
            "in": "header",
            "description": "The Fusion user for authentication.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "JSON-formatted synonym entries.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SynonymEntry"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SynonymEntry"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/collections/{collection}/synonyms/{path}/items/{id}": {
      "put": {
        "tags": [
          "Collections"
        ],
        "summary": "Update a synonym entry",
        "description": "Update an entry in a synonyms file.",
        "operationId": "updateSynonym",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "The name of a collection.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "path",
            "in": "path",
            "description": "The path to a synonyms file.",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique ID of the synonym entry.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "commit",
            "in": "query",
            "description": "If true, commit the change to Solr immediately instead of asynchronously.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "fusion-user-name",
            "in": "header",
            "description": "The Fusion user for authentication.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "JSON-formatted synonym entries.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SynonymEntry"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SynonymEntry"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      },
      "delete": {
        "tags": [
          "Collections"
        ],
        "summary": "Delete a synonym entry",
        "description": "Delete an entry in a synonyms file.",
        "operationId": "deleteSynonym",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "The name of a collection.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "path",
            "in": "path",
            "description": "The path to a synonyms file.",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique ID of the synonym entry.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "commit",
            "in": "query",
            "description": "If true, commit the change to Solr immediately instead of asynchronously.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        }
      }
    },
    "/collections/{collection}/synonyms/{path}/suggestions": {
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "Get synonym suggestions",
        "description": "Get term suggestions from synonyms/categories/comments for autocomplete/autosuggest purposes.",
        "operationId": "getSuggestions",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "The name of a collection.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "path",
            "in": "path",
            "description": "The path to a synonyms file.",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            }
          },
          {
            "name": "field",
            "in": "query",
            "description": "The field to search.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "description": "The query term for which to get suggestions.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "deprecated": true
      }
    },
    "/collections/{collection}/solr-config/status": {
      "get": {
        "tags": [
          "Collections"
        ],
        "summary": "Get the Solr config status",
        "description": "Check the status of a collection's Solr config.",
        "operationId": "getStatus_23",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "Collection ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/collections/{collection}/solr-config": {
      "get": {
        "tags": [
          "Solr Configuration"
        ],
        "summary": "List all Solr config files",
        "description": "Get a list of all Solr configuration files from ZooKeeper.",
        "operationId": "listConfigNodes",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "The collection that contains the configuration files.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "recursive",
            "in": "query",
            "description": "'True' to return children of nested ZooKeeper nodes. This can be used in conjunction with the path to show only children of a specific node. If `recursive=true` and `expand=true` are both used in the same request, the request may be a little slow depending on how much data is requested.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "expand",
            "in": "query",
            "description": "If true, the binary content of a file is returned base64-encoded. Otherwise, only the metadata about each node is returned. To see the content of the file in plain text, you can add 'Accept: text/plain' to the request header. Alternately, you can get the raw bytes by adding 'Accept: application/octet-stream' to the header.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SolrZkConfigNode"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/collections/{collection}/solr-config/{path}": {
      "get": {
        "tags": [
          "Solr Configuration"
        ],
        "summary": "Get a Solr config file",
        "description": "Fetch a single Solr configuration file.  Use `/solr-config` with `recursive` set to `true` to get the list of existing files and their paths.",
        "operationId": "getConfigNode",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "The collection that contains the configuration files.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "api-test-app"
          },
          {
            "name": "path",
            "in": "path",
            "description": "The path to a specific file or nested child nodes. If the file is not nested, the filename can be entered without any path information.",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            },
            "example": "solrconfig.xml"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "$ref": "#/components/schemas/SolrZkConfigNode"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Solr Configuration"
        ],
        "summary": "Replace a Solr configuration file",
        "description": "Overwrite a Solr configuration file with the one provided in the request body. As a best practice, all requests should include the Content-type in the request header.",
        "operationId": "putFile_1",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "The collection that contains the configuration files.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "api-test-app"
          },
          {
            "name": "path",
            "in": "path",
            "description": "The path to a specific file or nested child nodes. If the file is not nested, the filename can be entered without any path information.",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            },
            "example": "solrconfig.xml"
          },
          {
            "name": "reload",
            "in": "query",
            "description": "'True' to reload the collection and make the changes available to Solr immediately.",
            "schema": {
              "type": "boolean",
              "default": false
            },
            "example": true
          },
          {
            "name": "validate",
            "in": "query",
            "description": "Before updating the Solr configuration, reload the Solr collection and verify that it doesn't fail.",
            "schema": {
              "type": "boolean",
              "default": true
            },
            "example": false
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "An optional tag to match against the specified blob.",
            "schema": {
              "type": "string",
              "default": "-1"
            }
          }
        ],
        "requestBody": {
          "description": "The content of the file to be saved.",
          "content": {
            "*/*": {
              "schema": {
                "type": "array",
                "items": {
                  "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "required": false
        },
        "responses": {
          "204": {
            "description": "No Content",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      },
      "post": {
        "tags": [
          "Solr Configuration"
        ],
        "summary": "Create a Solr configuration file",
        "description": "Upload a new Solr configuration file in the request body. As a best practice, all requests should include the Content-type in the request header.",
        "operationId": "postFile",
        "parameters": [
          {
            "name": "collection",
            "in": "path",
            "description": "The collection that contains the configuration files.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "api-test-app"
          },
          {
            "name": "path",
            "in": "path",
            "description": "The path to a specific file or nested child nodes. If the file is not nested, the filename can be entered without any path information.",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            },
            "example": "solrconfig.xml"
          },
          {
            "name": "reload",
            "in": "query",
            "description": "'True' to reload the collection and make the changes available to Solr immediately.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "validate",
            "in": "query",
            "description": "Validate the configuration file before saving it.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "An optional tag to match against the specified blob.",
            "schema": {
              "type": "string",
              "default": "0"
            }
          }
        ],
        "requestBody": {
          "description": "The content of the file to be saved.",
          "content": {
            "*/*": {
              "schema": {
                "type": "array",
                "items": {
                  "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/configurations/status": {
      "get": {
        "tags": [
          "Configurations"
        ],
        "summary": "Get configurations service status",
        "description": "Check the status of the Configurations service.\n\n> ⚠️ **Blocked by default:** This API is blocked on the API gateway by default because it exposes all Fusion admin service environment variables. It can be enabled in special cases — contact [Lucidworks Support](https://lucidworks.com/support) to discuss your use case. In Fusion 5.18 and later, use [Fusion Vault](/docs/5/fusion/operations/security/external-vault) instead, which provides a safer, structured approach to managing configuration values and secrets. The Configurations API is deprecated as of Fusion 5.18.",
        "operationId": "getStatus_4",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/configurations": {
      "get": {
        "tags": [
          "Configurations"
        ],
        "summary": "List matching configurations",
        "description": "List all configurations in the system, or use prefixes or pattern matching to list the set of matching configurations.\n\n> ⚠️ **Blocked by default:** This API is blocked on the API gateway by default because it exposes all Fusion admin service environment variables. It can be enabled in special cases — contact [Lucidworks Support](https://lucidworks.com/support) to discuss your use case. In Fusion 5.18 and later, use [Fusion Vault](/docs/5/fusion/operations/security/external-vault) instead, which provides a safer, structured approach to managing configuration values and secrets. The Configurations API is deprecated as of Fusion 5.18.",
        "operationId": "find",
        "parameters": [
          {
            "name": "pattern",
            "in": "query",
            "description": "Find all configuration items that _contain_ the specified string.",
            "schema": {
              "type": "string"
            },
            "example": "connect"
          },
          {
            "name": "prefix",
            "in": "query",
            "description": "Find all configuration items that _start with_ the specified string.",
            "schema": {
              "type": "string"
            },
            "example": "com.lucidworks"
          },
          {
            "name": "verbose",
            "in": "query",
            "description": "Display the Fusion component (or the part of the server’s operating system) that set the configuration item. Otherwise, the output includes only the name and value of the configuration item.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "value": {
                          "type": "string"
                        },
                        "location": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "value",
                        "location"
                      ]
                    }
                  }
                },
                "example": {
                  "com.lucidworks.apollo-admin.config/zk-connect": [
                    {
                      "value": "FUSION_HOST:9983",
                      "location": "system properties"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/configurations/{key}": {
      "get": {
        "tags": [
          "Configurations"
        ],
        "summary": "Get a configuration item",
        "description": "Display the specified configuration item.\n\n> ⚠️ **Blocked by default:** This API is blocked on the API gateway by default because it exposes all Fusion admin service environment variables. It can be enabled in special cases — contact [Lucidworks Support](https://lucidworks.com/support) to discuss your use case. In Fusion 5.18 and later, use [Fusion Vault](/docs/5/fusion/operations/security/external-vault) instead, which provides a safer, structured approach to managing configuration values and secrets. The Configurations API is deprecated as of Fusion 5.18.",
        "operationId": "getProperty",
        "parameters": [
          {
            "name": "key",
            "in": "path",
            "description": "A configuration item key.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Configurations"
        ],
        "summary": "Update a configuration item",
        "description": "Modify a configuration item's value.\n\n> ⚠️ **Blocked by default:** This API is blocked on the API gateway by default because it exposes all Fusion admin service environment variables. It can be enabled in special cases — contact [Lucidworks Support](https://lucidworks.com/support) to discuss your use case. In Fusion 5.18 and later, use [Fusion Vault](/docs/5/fusion/operations/security/external-vault) instead, which provides a safer, structured approach to managing configuration values and secrets. The Configurations API is deprecated as of Fusion 5.18.",
        "operationId": "setProperty",
        "parameters": [
          {
            "name": "key",
            "in": "path",
            "description": "A configuration item key.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "com.lucidworks.apollo.service.recommend.allowed.types"
          },
          {
            "name": "secret",
            "in": "query",
            "description": "Store this item as encrypted.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "description": "The configuration item value.",
          "content": {
            "application/json": {
              "schema": {
                "type": "string"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      },
      "post": {
        "tags": [
          "Configurations"
        ],
        "summary": "Create a configuration item",
        "description": "Define a new configuration item.\n\n> ⚠️ **Blocked by default:** This API is blocked on the API gateway by default because it exposes all Fusion admin service environment variables. It can be enabled in special cases — contact [Lucidworks Support](https://lucidworks.com/support) to discuss your use case. In Fusion 5.18 and later, use [Fusion Vault](/docs/5/fusion/operations/security/external-vault) instead, which provides a safer, structured approach to managing configuration values and secrets. The Configurations API is deprecated as of Fusion 5.18.",
        "operationId": "createProperty",
        "parameters": [
          {
            "name": "key",
            "in": "path",
            "description": "The new configuration item key.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "secret",
            "in": "query",
            "description": "Store this item as encrypted.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "description": "The new configuration item value.",
          "content": {
            "application/json": {
              "schema": {
                "type": "string"
              }
            },
            "text/plain": {
              "schema": {
                "type": "string"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/crud-events/status": {
      "get": {
        "tags": [
          "CRUD events"
        ],
        "summary": "Get crud-events service status",
        "description": "Check the status of the CRUD Events service.",
        "operationId": "getStatus_5",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/data-models/status": {
      "get": {
        "tags": [
          "Data models"
        ],
        "summary": "Get data models service status",
        "description": "Check the status of the Data Models service.",
        "operationId": "getStatus_6",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/data-models": {
      "get": {
        "tags": [
          "Data models"
        ],
        "summary": "List all data models",
        "description": "Get the list of existing data models.",
        "operationId": "getAllEntities_2",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Entity"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/data-models/{id}": {
      "get": {
        "tags": [
          "Data models"
        ],
        "summary": "Get a data model",
        "description": "Fetch a data model by its ID.  Use `/data-models` to get the list of data model IDs.",
        "operationId": "getEntity_2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The data model ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Entity"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Data models"
        ],
        "summary": "Delete a data model",
        "description": "Remove a data model from the system by its ID.  Use `/data-models` to get the list of data model IDs.",
        "operationId": "deleteEntityWithBody_2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The data model ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "An optional tag to match.",
            "schema": {
              "type": "string",
              "default": "-1"
            }
          }
        ],
        "requestBody": {
          "description": "For supplying additional request parameters (such as relatedObjectIds) via request body instead of as request parameters. Use this if the URL is getting too long.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BodyRequestParams"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/data-models/{id}/fields": {
      "get": {
        "tags": [
          "Data models"
        ],
        "summary": "Get data model fields",
        "description": "Get the list of declared fields for a specified data model.  Use `/data-models` to get the list of data model IDs.",
        "operationId": "getDataModelFields",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Data model ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AllowedValue"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/data-models/_schema": {
      "get": {
        "tags": [
          "Data models"
        ],
        "summary": "Get the data model schema",
        "description": "Fetch the JSON schema for data models.",
        "operationId": "getEntitySchema_2",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/schema+json; qs=1.0": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectType"
                }
              },
              "application/json; qs=0.9": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectType"
                }
              }
            }
          }
        }
      }
    },
    "/features/status": {
      "get": {
        "tags": [
          "Features"
        ],
        "summary": "Get features service status",
        "description": "Check the status of the Features service.",
        "operationId": "getStatus_7",
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                },
                "example": [
                  {
                    "name": "searchLogs",
                    "collectionId": "demo",
                    "params": {},
                    "enabled": false
                  },
                  {
                    "name": "signals",
                    "collectionId": "demo",
                    "params": {},
                    "enabled": false
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/features": {
      "get": {
        "tags": [
          "Features"
        ],
        "summary": "List all features",
        "description": "Fetch the list of existing features.",
        "operationId": "listFeatures_1",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FeatureSpec"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/features/{feature}": {
      "get": {
        "tags": [
          "Features"
        ],
        "summary": "Get a feature",
        "description": "Fetch details about a feature.",
        "operationId": "getFeature_1",
        "parameters": [
          {
            "name": "feature",
            "in": "path",
            "description": "The feature to update. Allowed values:\n\n- `signals`: Create a parallel collection for storing signals data (such as user clicks or ratings). Signals need to be indexed and aggregated before they can be used.\n- `recommendations`: Get configuration information about recommendations. Parameters include `idField` (document ID field), `itemsForUser` (enable or disable items-for-user recommendations), `itemsForQuery` (enable or disable items-for-query recommendations), `itemsForItem` (enable or disable items-for-item recommendations), and `queriesForQuery` (enable or disable queries-for-query recommendations).",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "signals",
                "recommendations"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FeatureSpec"
                }
              }
            }
          }
        }
      }
    },
    "/features/{feature}/_schema": {
      "get": {
        "tags": [
          "Features"
        ],
        "summary": "Get feature configuration schema",
        "description": "Get a feature's configuration schema.",
        "operationId": "getFeatureSchema",
        "parameters": [
          {
            "name": "feature",
            "in": "path",
            "description": "The feature to update. Allowed values:\n\n- `signals`: Create a parallel collection for storing signals data (such as user clicks or ratings). Signals need to be indexed and aggregated before they can be used.\n- `recommendations`: Get configuration information about recommendations. Parameters include `idField` (document ID field), `itemsForUser` (enable or disable items-for-user recommendations), `itemsForQuery` (enable or disable items-for-query recommendations), `itemsForItem` (enable or disable items-for-item recommendations), and `queriesForQuery` (enable or disable queries-for-query recommendations).",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "signals",
                "recommendations"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectType"
                }
              }
            }
          }
        }
      }
    },
    "/groups/status": {
      "get": {
        "tags": [
          "Groups"
        ],
        "summary": "Get groups service status",
        "description": "Check the status of the Groups service.",
        "operationId": "getStatus_15",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/groups": {
      "get": {
        "tags": [
          "Groups"
        ],
        "summary": "List all groups",
        "description": "Fetch the list of existing groups.",
        "operationId": "getAllEntities_3",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Entity"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/groups/{id}": {
      "get": {
        "tags": [
          "Groups"
        ],
        "summary": "Get a group",
        "description": "Fetch the specified group.",
        "operationId": "getEntity_3",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The group ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Entity"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Groups"
        ],
        "summary": "Delete a group",
        "description": "Delete a group.",
        "operationId": "deleteEntityWithBody_3",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The group ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "An optional tag to match.",
            "schema": {
              "type": "string",
              "default": "-1"
            }
          }
        ],
        "requestBody": {
          "description": "For supplying additional request parameters (such as relatedObjectIds) via request body instead of as request parameters. Use this if the URL is getting too long.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BodyRequestParams"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/groups/_schema": {
      "get": {
        "tags": [
          "Groups"
        ],
        "summary": "Get the groups schema",
        "description": "Get the JSON schema for groups.",
        "operationId": "getEntitySchema_3",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/schema+json; qs=1.0": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectType"
                }
              },
              "application/json; qs=0.9": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectType"
                }
              }
            }
          }
        }
      }
    },
    "/history/status": {
      "get": {
        "tags": [
          "History"
        ],
        "summary": "Get history service status",
        "description": "Check the status of the History service.",
        "operationId": "getStatus_8",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/history": {
      "get": {
        "tags": [
          "History"
        ],
        "summary": "List all services",
        "description": "Fetch the list of services managed by these APIs.",
        "operationId": "listAllServices",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "History"
        ],
        "summary": "Clear service histories",
        "description": "Clear the histories for all services.",
        "operationId": "clearAllServiceHistory",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        }
      }
    },
    "/history/{service}": {
      "get": {
        "tags": [
          "History"
        ],
        "summary": "Get a service",
        "description": "Return information about a service.",
        "operationId": "getServiceHistory",
        "parameters": [
          {
            "name": "service",
            "in": "path",
            "description": "The name of a service.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "timeRange",
            "in": "query",
            "description": "Time range in Solr format. Default value is [NOW-30DAYS/DAY TO NOW].",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "maxLength",
            "in": "query",
            "description": "Maximum number of history elements to retrieve. Default value is 50. For values greater than 500, only 500 history elements will be retrieved.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/History"
                },
                "example": {
                  "events": [
                    {
                      "start": "2014-05-16T14:11:48.849Z",
                      "end": "2014-05-16T14:11:48.849Z",
                      "source": "index-pipelines::v1",
                      "type": "start",
                      "status": "ok",
                      "details": null,
                      "error": null
                    },
                    {
                      "start": "2014-05-16T14:12:48.845Z",
                      "end": "2014-05-16T14:12:48.845Z",
                      "source": "index-pipelines::v1",
                      "type": "start",
                      "status": "ok",
                      "details": null,
                      "error": null
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "History"
        ],
        "summary": "Internal only",
        "description": "For internal use by the system.",
        "operationId": "addServiceHistory",
        "parameters": [
          {
            "name": "service",
            "in": "path",
            "description": "The name of a service.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "JSON-formatted configuration values.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HistoryEvent"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body",
        "x-hidden": true
      },
      "delete": {
        "tags": [
          "History"
        ],
        "summary": "Delete service history",
        "description": "Delete all history for a specified service.",
        "operationId": "clearServiceHistory",
        "parameters": [
          {
            "name": "service",
            "in": "path",
            "description": "The name of a service.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        }
      }
    },
    "/history/{service}/items": {
      "get": {
        "tags": [
          "History"
        ],
        "summary": "Get service history",
        "description": "Return all items in a service's history.",
        "operationId": "listAllItems",
        "parameters": [
          {
            "name": "service",
            "in": "path",
            "description": "The name of a service.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "History"
        ],
        "summary": "Delete service history items",
        "description": "Clear all items from a service's history.",
        "operationId": "clearAllItemHistory",
        "parameters": [
          {
            "name": "service",
            "in": "path",
            "description": "The name of a service.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        }
      }
    },
    "/history/{service}/items/{item}": {
      "get": {
        "tags": [
          "History"
        ],
        "summary": "Get a service history item",
        "description": "Return a specific item in a service's history.",
        "operationId": "getItemHistory",
        "parameters": [
          {
            "name": "service",
            "in": "path",
            "description": "The name of a service.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "item",
            "in": "path",
            "description": "The name of a history item.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "timeRange",
            "in": "query",
            "description": "Time range in Solr format. Default value is [NOW-30DAYS/DAY TO NOW].",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "maxLength",
            "in": "query",
            "description": "Maximum number of history elements to retrieve. Default value is 50. For values greater than 500, only 500 history elements will be retrieved.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/History"
                },
                "example": {
                  "events": [
                    {
                      "start": "2014-05-16T15:34:49.008Z",
                      "end": "2014-05-16T15:34:49.435Z",
                      "source": "scheduler",
                      "type": "execute",
                      "status": "ok",
                      "details": {
                        "status": 200,
                        "entity": "{\n  \"id\" : \"TwitterSearch\",\n  \"dataSourceId\" : \"TwitterSearch\",\n  \"state\" : \"RUNNING\",\n  \"message\" : null,\n  \"startTime\" : 1400254489000,\n  \"endTime\" : -1,\n  \"finished\" : false,\n  \"counters\" : { },\n  \"exception\" : null,\n  \"running\" : true\n}"
                      },
                      "error": null
                    },
                    {
                      "start": "2014-05-16T15:38:32.536Z",
                      "end": "2014-05-16T15:38:32.559Z",
                      "source": "scheduler",
                      "type": "execute",
                      "status": "ok",
                      "details": {
                        "status": 200,
                        "entity": "{\n  \"id\" : \"TwitterSearch\",\n  \"dataSourceId\" : \"TwitterSearch\",\n  \"state\" : \"RUNNING\",\n  \"message\" : null,\n  \"startTime\" : 1400254712000,\n  \"endTime\" : -1,\n  \"finished\" : false,\n  \"counters\" : { },\n  \"exception\" : null,\n  \"running\" : true\n}"
                      },
                      "error": null
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "History"
        ],
        "summary": "Create a service history item",
        "description": "Add an item to a service's history.",
        "operationId": "addItemHistory",
        "parameters": [
          {
            "name": "service",
            "in": "path",
            "description": "The name of a service.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "item",
            "in": "path",
            "description": "The name of a history item.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "JSON-formatted history items.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HistoryEvent"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      },
      "delete": {
        "tags": [
          "History"
        ],
        "summary": "Delete a service history item",
        "description": "Clear a specific item from a service's history.",
        "operationId": "clearItemHistory",
        "parameters": [
          {
            "name": "service",
            "in": "path",
            "description": "The name of a service.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "item",
            "in": "path",
            "description": "The name of a history item.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        }
      }
    },
    "/introspect/status": {
      "get": {
        "tags": [
          "Introspect"
        ],
        "summary": "Get introspect service status",
        "description": "Check the status of the Introspect service.",
        "operationId": "getStatus_9",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/introspect": {
      "get": {
        "tags": [
          "Introspect"
        ],
        "summary": "List all endpoints and parameters",
        "description": "List basic information about endpoints and parameters for all Fusion endpoints.",
        "operationId": "listEndpoints",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/jobs/{resource}/history": {
      "get": {
        "tags": [
          "Jobs"
        ],
        "summary": "Get a job's run history",
        "description": "Get the run history for the specified job.",
        "operationId": "listJobHistory",
        "parameters": [
          {
            "name": "resource",
            "in": "path",
            "description": "The job ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Return first N history items.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "*/*": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobRunView"
                  }
                },
                "example": [
                  {
                    "resource": "datasource:movies-db",
                    "startTime": "2017-05-17T21:01:46.743Z",
                    "endTime": "2017-05-17T21:02:05.720Z",
                    "status": "success"
                  },
                  {
                    "resource": "datasource:movies-db",
                    "startTime": "2017-05-17T20:58:10.503Z",
                    "endTime": "2017-05-17T20:58:42.020Z",
                    "status": "success"
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/jobs/_schema": {
      "get": {
        "tags": [
          "Jobs"
        ],
        "summary": "Get the jobs schema",
        "description": "Get the JSON schema for jobs.",
        "operationId": "getJobConfigSchema",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/schema+json; qs=1.0": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectType"
                }
              },
              "application/json; qs=0.9": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectType"
                }
              }
            }
          }
        }
      }
    },
    "/jobs/{resource}/actions": {
      "post": {
        "tags": [
          "Jobs"
        ],
        "summary": "Start/pause/abort a job",
        "description": "Start, pause, or abort the specified job.",
        "operationId": "controlJob",
        "parameters": [
          {
            "name": "resource",
            "in": "path",
            "description": "The job ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "One of: `start`, `pause`, or `abort`.",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/JobActionRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/JobActionResponse"
                },
                "example": {
                  "resource": "datasource:movies-db",
                  "action": "start",
                  "accepted": true,
                  "message": "Started job datasource:movies-db"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/jobs/status": {
      "get": {
        "tags": [
          "Jobs"
        ],
        "summary": "Get jobs service status",
        "description": "Get the status of the Jobs service.",
        "operationId": "getStatus_10",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/jobs": {
      "get": {
        "tags": [
          "Jobs"
        ],
        "summary": "List all jobs",
        "description": "Fetch the list of existing jobs.",
        "operationId": "listJobs",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "description": "Filter jobs by status, one of: `ready`, `running`, `success`, `aborted`, or `failed`.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "enabled",
            "in": "query",
            "description": "Filter jobs by whether they are enabled (`true`) or disabled (`false`).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Filter jobs by type, one of: `task`, `spark`, or `datasource`.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "*/*": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobView"
                  }
                },
                "example": [
                  {
                    "resource": "datasource:ratings-db",
                    "enabled": true,
                    "startedBy": "acb38917-611a-46e1-a3cf-4ed46a30fd24"
                  },
                  {
                    "resource": "datasource:movies-db",
                    "enabled": true,
                    "startedBy": "acb38917-611a-46e1-a3cf-4ed46a30fd24",
                    "status": "success",
                    "lastStartTime": "2017-05-17T20:58:10.503Z",
                    "lastEndTime": "2017-05-17T20:58:42.020Z"
                  }
                ]
              }
            }
          }
        },
        "deprecated": true
      }
    },
    "/jobs/{resource}": {
      "get": {
        "tags": [
          "Jobs"
        ],
        "summary": "Get a job",
        "description": "Get the status and configuration for the specified job.",
        "operationId": "getJob",
        "parameters": [
          {
            "name": "resource",
            "in": "path",
            "description": "The job ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/JobView"
                }
              }
            }
          }
        }
      }
    },
    "/jobs/{resource}/schedule": {
      "get": {
        "tags": [
          "Jobs"
        ],
        "summary": "Get a job schedule",
        "description": "Get the schedule for the specified job.",
        "operationId": "getJobConfig",
        "parameters": [
          {
            "name": "resource",
            "in": "path",
            "description": "The job ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/JobConfig"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Jobs"
        ],
        "summary": "Update a job schedule",
        "description": "Configure the schedule for the specified job.",
        "operationId": "JobConfigUpdate",
        "parameters": [
          {
            "name": "resource",
            "in": "path",
            "description": "The job ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "validate",
            "in": "query",
            "description": "Validate that the job config exists.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "description": "JSON-formatted configuration values.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JobConfig"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/JobConfig"
                },
                "example": {
                  "resource": "datasource:ratings-db",
                  "triggers": [
                    {
                      "type": "cron",
                      "enabled": true,
                      "value": "0 15 10 ? * MON-FRI"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      },
      "delete": {
        "tags": [
          "Jobs"
        ],
        "summary": "Reset a job schedule",
        "description": "Reset the schedule for the specified job.",
        "operationId": "resetJobConfig",
        "parameters": [
          {
            "name": "resource",
            "in": "path",
            "description": "The job ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        }
      }
    },
    "/license/status": {
      "get": {
        "tags": [
          "License"
        ],
        "summary": "Get license service status",
        "description": "Check the status of the License service.",
        "operationId": "getStatus_11",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/license": {
      "get": {
        "tags": [
          "License"
        ],
        "summary": "Get the Fusion license",
        "description": "Export the current Fusion license.",
        "operationId": "exportLicense",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/octet-stream; qs=0.9": {
                "schema": {
                  "type": "array",
                  "items": {
                    "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
                    "type": "string",
                    "format": "byte"
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "License"
        ],
        "summary": "Update the Fusion license",
        "description": "Replace current Fusion License with a new license file.",
        "operationId": "replaceLicense_1",
        "requestBody": {
          "description": "New License.",
          "content": {
            "application/octet-stream": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string",
                  "format": "byte"
                }
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/license/check": {
      "get": {
        "tags": [
          "License"
        ],
        "summary": "Validate the Fusion license",
        "description": "Check whether the current license is valid.",
        "operationId": "checkLicense",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "*/*": {
                "schema": {
                  "type": "boolean",
                  "description": "`true` if the license is valid."
                }
              }
            }
          }
        }
      }
    },
    "/license/capability/{capability}": {
      "get": {
        "tags": [
          "License"
        ],
        "summary": "Get license capabilities",
        "description": "Gets the licensed capability details.",
        "operationId": "getCapability",
        "parameters": [
          {
            "name": "capability",
            "in": "path",
            "description": "The name of a Fusion capability.  Use `/apps-manager/license` to get the list of possible values.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/license/expiration": {
      "get": {
        "tags": [
          "License"
        ],
        "summary": "Get the license expiration",
        "description": "Gets the expiration date for the current Fusion license.",
        "operationId": "getExpirationDate",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "*/*": {
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      }
    },
    "/links/status": {
      "get": {
        "tags": [
          "Links"
        ],
        "summary": "Get the links service status",
        "description": "Check the status of the Links service.",
        "operationId": "getStatus_12",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/links": {
      "get": {
        "tags": [
          "Links"
        ],
        "summary": "List all links",
        "description": "Get all links, or links matching the given criteria.  You can use an asterisk (*) for wildcard matching in the `subject`, `object`, and `linkType` fields.",
        "operationId": "listLinks",
        "parameters": [
          {
            "name": "subject",
            "in": "query",
            "description": "Return only links with a matching subject.",
            "schema": {
              "type": "string",
              "default": "*"
            },
            "example": "collection:default_signals_aggr"
          },
          {
            "name": "object",
            "in": "query",
            "description": "Return only links with a matching object.",
            "schema": {
              "type": "string",
              "default": "*"
            }
          },
          {
            "name": "linkType",
            "in": "query",
            "description": "Return only links with a matching type.<br/><br/>Possible link types:\n\n* `DependsOn` - The subject depends on the object.\n\n* `Supports` - The subject is depended on by the object (the reverse of `dependsOn`).\n\n* `IsPartOf` - The subject is part of the object, where the object is a group.\n\n* `HasPart` - The subject is a group, of which the object is a member (the reverse of `isPartOf`).\n\n* `RelatesTo` - The subject relates to the object. This is a uni-directional relationship that associates two objects that have none of the relationships described above.\n\n* `InContextOf` - The subject exists in the context of the object, which is an app.\n\n* `HasContext` - The subject is an app that contains the object.\n\n* `Self` - The subject and the object are the same.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "dependsOn",
                "supports",
                "isPartOf",
                "hasPart",
                "relatesTo",
                "inContextOf",
                "hasContext",
                "self"
              ]
            }
          },
          {
            "name": "transitive",
            "in": "query",
            "description": "Return transitive links.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "bypassCache",
            "in": "query",
            "description": "Bypass the cache and retrieve directly from storage.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Link"
                  }
                },
                "example": [
                  {
                    "subject": "group:4e6ee9a6-d4ab-413a-ac70-a27c1445bb60",
                    "object": "collection:default_signals_aggr",
                    "linkType": "hasPart"
                  },
                  {
                    "subject": "group:4e6ee9a6-d4ab-413a-ac70-a27c1445bb60",
                    "object": "spark:default_click_signals_aggregation",
                    "linkType": "hasPart"
                  },
                  {
                    "subject": "group:4e6ee9a6-d4ab-413a-ac70-a27c1445bb60",
                    "object": "collection:default",
                    "linkType": "relatesTo"
                  },
                  {
                    "subject": "group:4e6ee9a6-d4ab-413a-ac70-a27c1445bb60",
                    "object": "collection:default_signals",
                    "linkType": "hasPart"
                  }
                ]
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Links"
        ],
        "summary": "Create a link",
        "description": "Link two objects together with a link type.",
        "operationId": "putLink",
        "requestBody": {
          "description": "A JSON-formatted link definition that specifies the `subject`, `object`, and `linkType`.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Link"
              },
              "example": {
                "linkType": "supports",
                "object": "index-pipeline:default",
                "subject": "collection:default"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Link"
                },
                "example": {
                  "subject": "collection:default",
                  "object": "index-pipeline:default",
                  "linkType": "supports"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      },
      "delete": {
        "tags": [
          "Links"
        ],
        "summary": "Delete links",
        "description": "Delete one or more links matching the provided criteria.  You can use an asterisk (*) for wildcard matching in the `subject`, `object`, and `linkType` fields.",
        "operationId": "deleteLink",
        "parameters": [
          {
            "name": "subject",
            "in": "query",
            "description": "Delete only links with a matching subject.",
            "schema": {
              "type": "string"
            },
            "example": "collection:default"
          },
          {
            "name": "object",
            "in": "query",
            "description": "Delete only links with a matching object.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "linkType",
            "in": "query",
            "description": "Delete only links with a matching type.<br/><br/>Possible link types:\n\n* `DependsOn` - The subject depends on the object.\n\n* `Supports` - The subject is depended on by the object (the reverse of `dependsOn`).\n\n* `IsPartOf` - The subject is part of the object, where the object is a group.\n\n* `HasPart` - The subject is a group, of which the object is a member (the reverse of `isPartOf`).\n\n* `RelatesTo` - The subject relates to the object. This is a uni-directional relationship that associates two objects that have none of the relationships described above.\n\n* `InContextOf` - The subject exists in the context of the object, which is an app.\n\n* `HasContext` - The subject is an app that contains the object.\n\n* `Self` - The subject and the object are the same.",
            "schema": {
              "type": "string",
              "enum": [
                "dependsOn",
                "supports",
                "isPartOf",
                "hasPart",
                "relatesTo",
                "inContextOf",
                "hasContext",
                "self"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        }
      }
    },
    "/links/unlink": {
      "delete": {
        "tags": [
          "Links"
        ],
        "summary": "Unlink two resources",
        "description": "Remove the link between two objects.  If `object` is not specified, all links for `subject` are removed.",
        "operationId": "unlink",
        "parameters": [
          {
            "name": "subject",
            "in": "query",
            "description": "Subject to unlink.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "object",
            "in": "query",
            "description": "Object to unlink.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "*/*": {
                "schema": {
                  "type": "integer",
                  "format": "int32"
                }
              }
            }
          }
        }
      }
    },
    "/links/involving": {
      "get": {
        "tags": [
          "Links"
        ],
        "summary": "Get all links for a resource",
        "description": "Get all links involving the resource.",
        "operationId": "getLinksInvolving",
        "parameters": [
          {
            "name": "resource",
            "in": "query",
            "description": "Resource to get links for.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Link"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/links/contexts": {
      "get": {
        "tags": [
          "Links"
        ],
        "summary": "Get app contexts",
        "description": "Get the Fusion app contexts for each of the specified resources.  Don't pass contexts if you want to evaluate against all existing Fusion apps.",
        "operationId": "findContexts",
        "parameters": [
          {
            "name": "contexts",
            "in": "query",
            "description": "List of Fusion apps to check against.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "resources",
            "in": "query",
            "description": "List of resources to check against.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "bypassCache",
            "in": "query",
            "description": "Bypass the cache and retrieve directly from storage.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "uniqueItems": true,
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/FusionResource"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Links"
        ],
        "summary": "Update a link's context",
        "description": "Change the Fusion app to which a link belongs.",
        "operationId": "findContexts_1",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContextAssets"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "uniqueItems": true,
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/FusionResource"
                    }
                  }
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/links/app-context": {
      "get": {
        "tags": [
          "Links"
        ],
        "summary": "List an app's resources",
        "description": "Get the list of resources that belong to a Fusion app.  Specify `resourceType` to filter resources by type.",
        "operationId": "findAppContext",
        "parameters": [
          {
            "name": "resource",
            "in": "query",
            "description": "A Fusion app ID, as `app:<app-id>`.",
            "schema": {
              "type": "string"
            },
            "example": "`app:api-test-app`"
          },
          {
            "name": "resourceType",
            "in": "query",
            "description": "Resource type to filter by. Options include uploaded files, plugins, scripts, dashboards, and others.",
            "schema": {
              "type": "string",
              "enum": [
                "banana",
                "driver:jdbc",
                "file:js-index",
                "file:js-query",
                "file",
                "unspecified",
                "plugin:index-stage",
                "plugin:query-stage"
              ]
            },
            "examples": {
              "banana": {
                "summary": "A Banana dashboard",
                "value": "banana"
              },
              "driver:jdbc": {
                "summary": "An uploaded JDBC driver",
                "value": "driver:jdbc"
              },
              "file:js-index": {
                "summary": "A JavaScript file for a managed JavaScript index stage",
                "value": "file:js-index"
              },
              "file:js-query": {
                "summary": "A JavaScript file for a managed JavaScript query stage",
                "value": "file:js-query"
              },
              "file": {
                "summary": "Any uploaded file, such as from the Quickstart or Index Workbench",
                "value": "file"
              },
              "unspecified": {
                "summary": "A blob of unknown type. If no `resourceType` is specified, this is assigned by default",
                "value": "unspecified"
              },
              "plugin:index-stage": {
                "summary": "An index stage plugin",
                "value": "plugin:index-stage"
              },
              "plugin:query-stage": {
                "summary": "A query stage plugin",
                "value": "plugin:query-stage"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "uniqueItems": true,
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/links/check": {
      "get": {
        "tags": [
          "Links"
        ],
        "summary": "Check links",
        "description": "Check that the matching links exist.",
        "operationId": "hasLink",
        "parameters": [
          {
            "name": "subject",
            "in": "query",
            "description": "Subject to check links for.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "object",
            "in": "query",
            "description": "Object to check links for.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "linkType",
            "in": "query",
            "description": "The link type to check.<br/><br/>Possible link types:\n\n* `DependsOn` - The subject depends on the object.\n\n* `Supports` - The subject is depended on by the object (the reverse of `dependsOn`).\n\n* `IsPartOf` - The subject is part of the object, where the object is a group.\n\n* `HasPart` - The subject is a group, of which the object is a member (the reverse of `isPartOf`).\n\n* `RelatesTo` - The subject relates to the object. This is a uni-directional relationship that associates two objects that have none of the relationships described above.\n\n* `InContextOf` - The subject exists in the context of the object, which is an app.\n\n* `HasContext` - The subject is an app that contains the object.\n\n* `Self` - The subject and the object are the same.",
            "schema": {
              "type": "string",
              "enum": [
                "dependsOn",
                "supports",
                "isPartOf",
                "hasPart",
                "relatesTo",
                "inContextOf",
                "hasContext",
                "self"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "*/*": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/links/directed": {
      "get": {
        "tags": [
          "Links"
        ],
        "summary": "Get outgoing links",
        "description": "Return outgoing links for the given resource.  When `exclusive` is `true`, objects used by the given resource are not used by other resources.",
        "operationId": "getDirectedLinks",
        "parameters": [
          {
            "name": "resource",
            "in": "query",
            "description": "Resource to get outgoing links for.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "exclusive",
            "in": "query",
            "description": "Exclusive means objects used by the given resource are not used by other resources. Default value is false.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "bypassCache",
            "in": "query",
            "description": "Bypass the cache and retrieve directly from storage.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "skipSharedGroup",
            "in": "query",
            "description": "Exclude shared group from returned links.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Link"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/links/between": {
      "get": {
        "tags": [
          "Links"
        ],
        "summary": "Get links between resources",
        "description": "Get all links between the specified resources.",
        "operationId": "getLinksBetween",
        "parameters": [
          {
            "name": "subject",
            "in": "query",
            "description": "Subject to get links for.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "object",
            "in": "query",
            "description": "Object to get links for.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Link"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/links/replace": {
      "post": {
        "tags": [
          "Links"
        ],
        "summary": "Replace a resource's links",
        "description": "Replace the links for the specified resource.",
        "operationId": "replaceLinks",
        "parameters": [
          {
            "name": "resource",
            "in": "query",
            "description": "Resource to replace links for.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "JSON-formatted list of link definitions.",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Link"
                }
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/nodes/status": {
      "get": {
        "tags": [
          "Nodes"
        ],
        "summary": "Get nodes service status",
        "description": "Check the status of the Nodes service.",
        "operationId": "getStatus_13",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/nodes/hosts": {
      "get": {
        "tags": [
          "Nodes"
        ],
        "summary": "List all hosts",
        "description": "Returns a list of hosts running endpoints.",
        "operationId": "hosts",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/nodes/up": {
      "get": {
        "tags": [
          "Nodes"
        ],
        "summary": "List running endpoints by service",
        "description": "Returns a list of running endpoints grouped by service.",
        "operationId": "up",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "uri"
                    }
                  }
                },
                "example": {
                  "history::v1": [
                    "https://FUSION_HOST:8984/connectors/v1/history",
                    "https://FUSION_HOST:FUSION_PORT/api/history"
                  ],
                  "query-pipelines::v1": [
                    "https://FUSION_HOST:FUSION_PORT/api/query-pipelines",
                    "https://FUSION_HOST:FUSION_PORT/api/query-pipelines"
                  ],
                  "solrconfig::v1": [
                    "https://FUSION_HOST:FUSION_PORT/api/collections//solr-config"
                  ],
                  "solrAdmin::v1": [
                    "https://FUSION_HOST:FUSION_PORT/api/solrAdmin",
                    "https://FUSION_HOST:8984/connectors/v1/solrAdmin"
                  ],
                  "stopwords::v1": [
                    "https://FUSION_HOST:FUSION_PORT/api/stopwords"
                  ],
                  "collections::v1": [
                    "https://FUSION_HOST:FUSION_PORT/api/collections"
                  ],
                  "index-stages::v1": [
                    "https://FUSION_HOST:8984/connectors/v1/index-stages",
                    "https://FUSION_HOST:FUSION_PORT/api/index-stages"
                  ],
                  "nodes::v1": [
                    "https://FUSION_HOST:8984/connectors/v1/nodes",
                    "https://FUSION_HOST:FUSION_PORT/api/nodes"
                  ],
                  "index-profiles::v1": [
                    "https://FUSION_HOST:FUSION_PORT/api/collections//index-profiles",
                    "https://FUSION_HOST:8984/connectors/v1/collections//index-profiles"
                  ],
                  "schema::v1": [
                    "https://FUSION_HOST:FUSION_PORT/api/collections//schema"
                  ],
                  "solr::v1": [
                    "https://FUSION_HOST:8984/connectors/v1/solr",
                    "https://FUSION_HOST:FUSION_PORT/api/solr"
                  ],
                  "query-stages::v1": [
                    "https://FUSION_HOST:FUSION_PORT/api/query-stages"
                  ],
                  "blobs::v1": [
                    "https://FUSION_HOST:FUSION_PORT/api/blobs"
                  ],
                  "connectors::v1": [
                    "https://FUSION_HOST:8984/connectors/v1/connectors"
                  ],
                  "recommend::v1": [
                    "https://FUSION_HOST:FUSION_PORT/api/recommend"
                  ],
                  "configurations::v1": [
                    "https://FUSION_HOST:FUSION_PORT/api/configurations",
                    "https://FUSION_HOST:8984/connectors/v1/configurations"
                  ],
                  "system::v1": [
                    "https://FUSION_HOST:FUSION_PORT/api/system",
                    "https://FUSION_HOST:8984/connectors/v1/system"
                  ],
                  "index-pipelines::v1": [
                    "https://FUSION_HOST:FUSION_PORT/api/index-pipelines",
                    "https://FUSION_HOST:FUSION_PORT/api/index-pipelines",
                    "https://FUSION_HOST:FUSION_PORT/api/index-pipelines",
                    "https://FUSION_HOST:FUSION_PORT/api/index-pipelines",
                    "https://FUSION_HOST:FUSION_PORT/api/index-pipelines",
                    "https://FUSION_HOST:FUSION_PORT/api/index-pipelines",
                    "https://FUSION_HOST:FUSION_PORT/api/index-pipelines",
                    "https://FUSION_HOST:8984/connectors/v1/index-pipelines",
                    "https://FUSION_HOST:8984/connectors/v1/index-pipelines",
                    "https://FUSION_HOST:FUSION_PORT/api/index-pipelines",
                    "https://FUSION_HOST:FUSION_PORT/api/index-pipelines"
                  ],
                  "query-pipeline-templates::v1": [
                    "https://FUSION_HOST:FUSION_PORT/api/pipeline-templates/query"
                  ],
                  "registration::v1": [
                    "https://FUSION_HOST:8984/connectors/v1/registration",
                    "https://FUSION_HOST:FUSION_PORT/api/registration"
                  ],
                  "searchLogs::v1": [
                    "https://FUSION_HOST:FUSION_PORT/api/searchLogs"
                  ],
                  "scheduler::v1": [
                    "https://FUSION_HOST:FUSION_PORT/api/scheduler"
                  ],
                  "aggregator::v1": [
                    "https://FUSION_HOST:FUSION_PORT/api/aggregator"
                  ],
                  "query-profiles::v1": [
                    "https://FUSION_HOST:FUSION_PORT/api/collections//query-profiles"
                  ],
                  "usage::v1": [
                    "https://FUSION_HOST:FUSION_PORT/api/usage",
                    "https://FUSION_HOST:8984/connectors/v1/usage"
                  ],
                  "introspect::v1": [
                    "https://FUSION_HOST:FUSION_PORT/api/introspect",
                    "https://FUSION_HOST:8984/connectors/v1/introspect"
                  ],
                  "searchCluster::v1": [
                    "https://FUSION_HOST:FUSION_PORT/api/searchCluster",
                    "https://FUSION_HOST:8984/connectors/v1/searchCluster"
                  ],
                  "features::v1": [
                    "https://FUSION_HOST:FUSION_PORT/api/features"
                  ],
                  "index-pipeline-templates::v1": [
                    "https://FUSION_HOST:8984/connectors/v1/pipeline-templates/index",
                    "https://FUSION_HOST:FUSION_PORT/api/pipeline-templates/index"
                  ],
                  "synonyms::v1": [
                    "https://FUSION_HOST:FUSION_PORT/api/synonyms"
                  ],
                  "reports::v1": [
                    "https://FUSION_HOST:FUSION_PORT/api/reports"
                  ],
                  "signals::v1": [
                    "https://FUSION_HOST:FUSION_PORT/api/signals"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/nodes/upByHost": {
      "get": {
        "tags": [
          "Nodes"
        ],
        "summary": "List running endpoints by host",
        "description": "Returns a list of running endpoints grouped by host.",
        "operationId": "upByHost",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/objects/status": {
      "get": {
        "tags": [
          "Objects"
        ],
        "summary": "Get objects service status",
        "description": "Check the status of the Objects service.",
        "operationId": "getStatus_14",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/objects/export": {
      "get": {
        "tags": [
          "Objects"
        ],
        "summary": "Export objects",
        "description": "Export Fusion objects as a zip file. To get JSON instead, send the header `Accept: application/json`. Omit parameters to export all objects.\n\nBy default, Fusion system objects aren't exported, even if you request them by ID. To include them, set `filterPolicy` to `none`.\n\nExporting a collection includes its features. To include related objects such as profiles, pipelines, and datasources, request them by type or ID, or set `deep=true`.\n\nEncrypted values, such as passwords, are replaced with variables whose names start with `secret.`, for example `secret.dataSources.DATASOURCE_ID.password`, or `secret.queryPipelines.PIPELINE_ID.bindPassword` for an Active Directory security trimming stage. To list the variables in an export file, use `/objects/substitutions`. Supply the values when you import the file.\n\nWhen you export an app that includes objects shared with other apps, all apps linked to those objects are also exported.\n\nYou can import a file exported from any Fusion 5.x version into any Fusion 5.x version. Files exported from Fusion 4.1 and 4.2 are also accepted. Other source versions fail validation.\n\nIf a large export times out, increase your client's timeout, for example with curl's `--max-time` option.\n\n```bash\ncurl -u USERNAME:PASSWORD \"https://FUSION_HOST/api/objects/export?app.ids=APP_ID\" > app.zip\n```",
        "operationId": "exportJson",
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "description": "The object types to export. Supported values include `app`, `appkit`, `blob`, `collection`, `custom-rule-type`, `data-model`, `datasource`, `experiment`, `group`, `index-pipeline`, `index-profile`, `job`, `link`, `parser`, `query-pipeline`, `query-profile`, `search-cluster`, `spark`, and `task`.",
            "style": "form",
            "explode": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": [
              "datasource",
              "index-pipeline",
              "query-pipeline"
            ]
          },
          {
            "name": "type.ids",
            "in": "query",
            "description": "List the IDs to match for an object type, replacing `type` with the type name, such as `app.ids=movies,tech-pubs` or `datasource.ids=movies_csv-movie`. Separate multiple IDs with commas. The `type` and `type.ids` parameters can be combined as needed.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "filterPolicy",
            "in": "query",
            "description": "One of:\n\n- `system` (default): Exclude Fusion system objects, including objects requested by ID.\n- `none`: Include all objects.",
            "schema": {
              "type": "string",
              "default": "system",
              "enum": [
                "system",
                "none"
              ]
            }
          },
          {
            "name": "deep",
            "in": "query",
            "description": "Whether to include linked objects. For apps, linked objects are included unless you set `deep=false`. For other object types, set `deep=true` to include them. Combining `deep=true` with a `type` value but no IDs, such as `type=datasource&deep=true`, returns an error. Use `type.ids` to name the objects instead.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExportContainer"
                }
              }
            }
          }
        }
      }
    },
    "/objects/import": {
      "post": {
        "tags": [
          "Objects"
        ],
        "summary": "Import objects",
        "description": "Import one or more objects.  Validation is performed before import. Import starts only if validation succeeds. However, validation does not stop on the first error, so the complete list of errors is reported if there are any. You can also use the `/objects/validate` endpoint to validate an object without importing it.\n\nValidation includes checking whether an object already exists on the target system and whether the user is authorized to create or modify the object.\n\nFor collection objects, the following special validation is performed:\n\n- We check the `searchClusterId` of each collection and verify that a cluster with this ID exists on the target system or in the import file (error).\n- We check that features, index profiles, and query profiles belong only to the collections specified in the import file (error).\n- We check that a feature exists on the target system for each feature in the import file (error).\n- We check for index profiles or query profiles that do not exist on the target system or in the import file (warning).\n\nThe request uses these multipart form fields:\n\n- `importData`: The zip file to import. Omit this field if you send `importToken`.\n- `importToken`: The `zipFileToken` value from an earlier `/objects/substitutions` or `/objects/validate` call. Use it to import a file you already uploaded without uploading it again. An invalid token returns the error `Invalid import token`.\n- `variableValues`: Optional. A JSON object that maps the variable names in the import file to their values. For example:\n\n```json\n{\"secret.dataSources.DATASOURCE_ID.password\": \"PASSWORD\"}\n```\n\nIf the variables file can't be parsed, the request fails with `Passwords map can't be parsed`. Values for variables that the import file doesn't declare aren't used, and the response lists them in a warning that begins `Values will not be used`. A declared variable with no value causes an error that begins `Missing value for`.\n\nTo check variables before you import, call `/objects/substitutions` with the zip file. Then call `/objects/import`, sending the returned `zipFileToken` as `importToken`.\n\n```bash\ncurl -u USERNAME:PASSWORD -X POST -F 'importData=@app.zip' -F 'variableValues=@variables.json' \"https://FUSION_HOST/api/objects/import?importPolicy=merge&context=APP_ID\"\n```\n\nThe response `status` is one of:\n\n- `Validation completed with no errors` (there may still be warnings)\n- `Validation found errors`\n- `Validation was not completed because of system error`\n- `There are conflicts`\n- `Import was not performed because validation errors exist`\n- `Import was not completed because of system error`\n- `Import was completed with errors`\n- `Import was completed`",
        "operationId": "importData",
        "parameters": [
          {
            "name": "importPolicy",
            "in": "query",
            "required": true,
            "description": "What to do when objects in the import file already exist:\n\n- `abort`: If there are conflicts, then import nothing.\n- `merge`: If there are conflicts, then skip the conflicting objects.\n- `overwrite`: If there are conflicts, then overwrite or delete/create the conflicting objects on the target system.",
            "schema": {
              "type": "string",
              "enum": [
                "abort",
                "merge",
                "overwrite"
              ]
            },
            "example": "merge"
          },
          {
            "name": "context",
            "in": "query",
            "description": "The ID of the Fusion app to import the objects into. A leading `app:` is optional. If the import file contains apps, validation fails with `Can't import apps in app context`. To import apps, omit `context`.",
            "schema": {
              "type": "string"
            },
            "example": "my-fusion-app"
          }
        ],
        "requestBody": {
          "description": "The objects to import.",
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/FormDataMultiPart"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImportResult"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/objects/substitutions": {
      "post": {
        "tags": [
          "Objects"
        ],
        "summary": "List imported variables",
        "description": "List the variables declared in an export zip file, and any values saved in the file. Send the zip file as the raw request body (`application/zip`), not as multipart form data. The response includes a `zipFileToken`; send it as `importToken` to `/objects/validate` or `/objects/import` instead of uploading the file again.",
        "operationId": "processSubstitutions",
        "requestBody": {
          "description": "A zip file to import.",
          "content": {
            "application/zip": {
              "schema": {
                "$ref": "#/components/schemas/InputStream"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImportSubstitutions"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/objects/validate": {
      "post": {
        "tags": [
          "Objects"
        ],
        "summary": "Validate objects",
        "description": "Validate objects in an import file without importing them. Uses the same form fields as `/objects/import` (`importData` or `importToken`, plus `variableValues`), and doesn't change anything in Fusion. The `importPolicy` parameter is ignored. The response includes a `zipFileToken` you can send as `importToken` to `/objects/import`.",
        "operationId": "validate",
        "requestBody": {
          "description": "The objects to validate.",
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/FormDataMultiPart"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImportResult"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/registration/status": {
      "get": {
        "tags": [
          "Registration"
        ],
        "summary": "Get registration service status",
        "description": "Check the status of the Registration service.",
        "operationId": "getStatus_17",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/scheduler/status": {
      "get": {
        "tags": [
          "Scheduler"
        ],
        "summary": "Get scheduler service status",
        "description": "Check the status of the Scheduler service.",
        "operationId": "getStatus_18",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/scheduler/jobs": {
      "get": {
        "tags": [
          "Scheduler"
        ],
        "summary": "List all running jobs",
        "description": "List all currently-running jobs.",
        "operationId": "getRunningJobs",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "example": [
                  {
                    "id": "2",
                    "trigger": "2_1400011854443_-9223372036854775807",
                    "schedule": {
                      "id": "2",
                      "creatorType": "human",
                      "creatorId": "admin1",
                      "createTime": "2014-05-13T20:10:54.443Z",
                      "startTime": "2014-05-13T20:10:54.443Z",
                      "endTime": null,
                      "repeatUnit": "HOUR",
                      "interval": 1,
                      "active": true,
                      "callParams": {
                        "uri": "solr://demo/update",
                        "method": "GET",
                        "queryParams": {
                          "stream.body": "<commit/>"
                        },
                        "headers": {},
                        "entity": null
                      }
                    }
                  },
                  {
                    "id": "1",
                    "trigger": "1_1400007488512_-9223372036854775808",
                    "schedule": {
                      "id": "1",
                      "creatorType": "human",
                      "creatorId": "admin1",
                      "createTime": "2014-05-13T18:58:08.512Z",
                      "startTime": "2014-05-13T18:58:08.512Z",
                      "endTime": null,
                      "repeatUnit": "DAY",
                      "interval": 1,
                      "active": true,
                      "callParams": {
                        "uri": "service://connectors/jobs/LocalDocs2",
                        "method": "POST",
                        "queryParams": {},
                        "headers": {},
                        "entity": null
                      }
                    }
                  }
                ]
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Scheduler"
        ],
        "summary": "Stop all running jobs",
        "description": "Stop all currently-running jobs.",
        "operationId": "stopRunningJobs",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/scheduler/jobs/{id}": {
      "get": {
        "tags": [
          "Scheduler"
        ],
        "summary": "Get a scheduled job",
        "description": "Fetch details about a scheduled job.",
        "operationId": "getRunningJob",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The schedule ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object",
                    "properties": {}
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Scheduler"
        ],
        "summary": "Stop a running job",
        "description": "Stop a currently-running job.",
        "operationId": "stopRunningJob",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The schedule ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        }
      }
    },
    "/scheduler/schedules": {
      "get": {
        "tags": [
          "Scheduler"
        ],
        "summary": "List matching schedules",
        "description": "Fetch the list of all matching schedules.",
        "operationId": "getSchedules",
        "parameters": [
          {
            "name": "creatorType",
            "in": "query",
            "description": "The type of user that created the schedule.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "creatorId",
            "in": "query",
            "description": "The ID of the user that created the schedule.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Schedule"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Scheduler"
        ],
        "summary": "Create a schedule",
        "description": "Create a new schedule.",
        "operationId": "addSchedule",
        "requestBody": {
          "description": "JSON-formatted schedule configuration values.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Schedule"
              },
              "example": {
                "id": "1",
                "creatorType": "human",
                "creatorId": "admin1",
                "repeatUnit": "DAY",
                "interval": 1,
                "active": true,
                "callParams": {
                  "uri": "service://connectors/jobs/LocalDocs2",
                  "method": "POST"
                }
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "id": "1",
                  "trigger": "1_1400007488512_-9223372036854775808",
                  "schedule": {
                    "id": "1",
                    "creatorType": "human",
                    "creatorId": "admin1",
                    "createTime": "2014-05-13T18:58:08.512Z",
                    "startTime": "2014-05-13T18:58:08.512Z",
                    "endTime": null,
                    "repeatUnit": "DAY",
                    "interval": 1,
                    "active": true,
                    "callParams": {
                      "uri": "service://connectors/jobs/LocalDocs2",
                      "method": "POST",
                      "queryParams": {},
                      "headers": {},
                      "entity": null
                    }
                  }
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      },
      "delete": {
        "tags": [
          "Scheduler"
        ],
        "summary": "Delete schedules",
        "description": "Delete schedules that match a creator ID or type.",
        "operationId": "deleteSchedules",
        "parameters": [
          {
            "name": "creatorType",
            "in": "query",
            "description": "The type of user that created the schedule.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "creatorId",
            "in": "query",
            "description": "The ID of the user that created the schedule.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/scheduler/schedules/{id}": {
      "get": {
        "tags": [
          "Scheduler"
        ],
        "summary": "Get a schedule",
        "description": "Fetch the specified schedule.",
        "operationId": "getSchedule",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The schedule ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Schedule"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Scheduler"
        ],
        "summary": "Update a schedule",
        "description": "Update a schedule's configuration.",
        "operationId": "updateSchedule",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The schedule ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "JSON-formatted schedule configuration values.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Schedule"
              },
              "example": {
                "creatorType": "human",
                "creatorId": "admin1",
                "repeatUnit": "HOUR",
                "interval": 1,
                "active": false,
                "callParams": {
                  "uri": "solr://demo/update",
                  "method": "GET",
                  "queryParams": {
                    "stream.body": "<commit/>"
                  }
                }
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      },
      "delete": {
        "tags": [
          "Scheduler"
        ],
        "summary": "Delete a schedule",
        "description": "Delete a schedule by ID.",
        "operationId": "deleteSchedule",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The schedule ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        }
      }
    },
    "/searchCluster/status": {
      "get": {
        "tags": [
          "Search cluster"
        ],
        "summary": "Get search cluster service status",
        "description": "Check the status of the Search Cluster service.",
        "operationId": "getStatus_20",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/searchCluster": {
      "get": {
        "tags": [
          "Search cluster"
        ],
        "summary": "List all clusters",
        "description": "Return the definitions for all existing clusters.",
        "operationId": "listSearchClusters_1",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SearchCluster"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Search cluster"
        ],
        "summary": "Create a cluster",
        "description": "Create a new cluster definition.",
        "operationId": "createSearchCluster",
        "parameters": [
          {
            "name": "validate",
            "in": "query",
            "description": "Before creating the cluster definition, verify that Fusion can connect to this new search cluster correctly.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "description": "JSON-formatted cluster configuration values.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchCluster"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchCluster"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/searchCluster/{id}": {
      "get": {
        "tags": [
          "Search cluster"
        ],
        "summary": "Get a cluster",
        "description": "Return the definition for the specified cluster.",
        "operationId": "getSearchCluster",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The cluster ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchCluster"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Search cluster"
        ],
        "summary": "Update a cluster",
        "description": "Update a cluster definition.",
        "operationId": "createOrUpdateSearchCluster",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The cluster ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "An optional tag to match against the specified blob.",
            "schema": {
              "type": "string",
              "default": "-1"
            }
          },
          {
            "name": "validate",
            "in": "query",
            "description": "Validate the updated cluster definition before saving it.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "description": "JSON-formatted cluster configuration values.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchCluster"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchCluster"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      },
      "delete": {
        "tags": [
          "Search cluster"
        ],
        "summary": "Delete a cluster",
        "description": "Delete a cluster definition.",
        "operationId": "deleteSearchCluster",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The cluster ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "An optional tag to match against the specified blob.",
            "schema": {
              "type": "string",
              "default": "-1"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        }
      }
    },
    "/searchCluster/{id}/systemInfo": {
      "get": {
        "tags": [
          "Search cluster"
        ],
        "summary": "Get search cluster system info",
        "description": "Return details about a search cluster, including the JVM version, the OS, free space available, and so on.",
        "operationId": "getSystemInfo",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The cluster ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nodeName",
            "in": "query",
            "description": "Return information only for the named node.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "all",
            "in": "query",
            "description": "When true, system information for every node of the cluster is returned.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/SystemInfo"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/searchCluster/{id}/nodes": {
      "get": {
        "tags": [
          "Search cluster"
        ],
        "summary": "Get cluster nodes status",
        "description": "Get the status of each node of the cluster.",
        "operationId": "getClusterState",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The cluster ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "uniqueItems": true,
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Node"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/searchCluster/_schema": {
      "get": {
        "tags": [
          "Search cluster"
        ],
        "summary": "Get the search cluster schema",
        "description": "Fetch the JSON schema for all configuration values.",
        "operationId": "getSchema_2",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectType"
                }
              }
            }
          }
        }
      }
    },
    "/searchLogs/status": {
      "get": {
        "tags": [
          "Search logs"
        ],
        "summary": "Get search logs service status",
        "description": "Check the status of the Search Logs service.",
        "operationId": "getStatus_21",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/searchLogs/_changed": {
      "post": {
        "tags": [
          "Search logs"
        ],
        "summary": "Update search logs",
        "description": "Change search logs feature for a collection.",
        "operationId": "changeCallback_1",
        "requestBody": {
          "description": "Search logs feature configuration.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Feature"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/solrAdmin/{solrApiPath}/{path}": {
      "get": {
        "tags": [
          "Solr admin"
        ],
        "summary": "Send a Solr command",
        "description": "Issue a Solr command to the search cluster.<br/><br/>Note that because one searchCluster may host several collections, it is not recommended to use this with a collection-level command (such as a query, or document update).",
        "operationId": "proxyGetRequestToSolr",
        "parameters": [
          {
            "name": "solrApiPath",
            "in": "path",
            "description": "The Solr API Path.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "path",
            "in": "path",
            "description": "The path to the Solr command to run.",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Solr metadata output",
                  "additionalProperties": true
                },
                "examples": {
                  "solrMBeans": {
                    "summary": "This is the response to GET all CORE MBeans for the default search cluster.",
                    "value": {
                      "responseHeader": {
                        "status": 0,
                        "QTime": 1
                      },
                      "solr-mbeans": [
                        "CORE",
                        {
                          "searcher": {
                            "class": "org.apache.solr.search.SolrIndexSearcher",
                            "version": "1.0",
                            "description": "index searcher",
                            "src": null
                          },
                          "core": {
                            "class": "collection1",
                            "version": "1.0",
                            "description": "SolrCore",
                            "src": null
                          },
                          "Searcher@435cf502[collection1] main": {
                            "class": "org.apache.solr.search.SolrIndexSearcher",
                            "version": "1.0",
                            "description": "index searcher",
                            "src": null
                          }
                        }
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Solr admin"
        ],
        "summary": "Send a Solr command",
        "description": "Issue a Solr command to the search cluster.<br/><br/>Note that because one searchCluster may host several collections, it is not recommended to use this with a collection-level command (such as a query, or document update).",
        "operationId": "proxyPutRequestToSolr",
        "parameters": [
          {
            "name": "solrApiPath",
            "in": "path",
            "description": "The Solr API Path.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "path",
            "in": "path",
            "description": "The path to the Solr command to run.",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Solr request object.",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/InputStream"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      },
      "post": {
        "tags": [
          "Solr admin"
        ],
        "summary": "Send a Solr command",
        "description": "Issue a Solr command to the search cluster.<br/><br/>Note that because one searchCluster may host several collections, it is not recommended to use this with a collection-level command (such as a query, or document update).",
        "operationId": "proxyPostRequestToSolr",
        "parameters": [
          {
            "name": "solrApiPath",
            "in": "path",
            "description": "The Solr API Path.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "path",
            "in": "path",
            "description": "The path to the Solr command to run.",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Solr request body.",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/InputStream"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      },
      "delete": {
        "tags": [
          "Solr admin"
        ],
        "summary": "Send a Solr command",
        "description": "Issue a Solr command to the search cluster.<br/><br/>Note that because one searchCluster may host several collections, it is not recommended to use this with a collection-level command (such as a query, or document update).",
        "operationId": "proxyDeleteRequestToSolr",
        "parameters": [
          {
            "name": "solrApiPath",
            "in": "path",
            "description": "The Solr API Path.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "path",
            "in": "path",
            "description": "The path to the Solr command to run.",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        }
      },
      "options": {
        "tags": [
          "Solr admin"
        ],
        "summary": "List Solr command options",
        "description": "Get the options for a Solr command.",
        "operationId": "proxyOptionsRequestToSolr",
        "parameters": [
          {
            "name": "solrApiPath",
            "in": "path",
            "description": "The Solr API Path.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "path",
            "in": "path",
            "description": "The path to the Solr command to run.",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        }
      },
      "head": {
        "tags": [
          "Solr admin"
        ],
        "summary": "Send an HTTP HEAD request",
        "description": "Issue an HTTP HEAD request to the Solr cluster.",
        "operationId": "proxyHeadRequestToSolr",
        "parameters": [
          {
            "name": "solrApiPath",
            "in": "path",
            "description": "The Solr API Path.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "path",
            "in": "path",
            "description": "The path for the HTTP request.",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        }
      }
    },
    "/solrAdmin/status": {
      "get": {
        "tags": [
          "Solr admin"
        ],
        "summary": "Get Solr admin service status",
        "description": "Check the status of the Solr Admin service.",
        "operationId": "getStatus_22",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/solr": {
      "get": {
        "tags": [
          "Solr"
        ],
        "description": "Internal-only.",
        "operationId": "ok",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-hidden": true
      }
    },
    "/solr/{collection}/{path}": {
      "get": {
        "tags": [
          "Solr"
        ],
        "summary": "Send a GET request to Solr",
        "description": "Send a proxy request to Solr.",
        "operationId": "proxyRequestToSolr",
        "parameters": [
          {
            "name": "collection",
            "description": "The collection ID.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "path",
            "description": "The Solr command path.",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/InputStream"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "Successful Solr response. The structure depends on the request path and handler, such as `/select` or `/update`.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Arbitrary Solr response content depending on the handler invoked.",
                  "additionalProperties": true
                },
                "examples": {
                  "searchResult": {
                    "summary": "Typical response from /select",
                    "value": {
                      "responseHeader": {
                        "status": 0,
                        "QTime": 2,
                        "params": {
                          "fl": "title",
                          "q": "solr",
                          "wt": "json",
                          "rows": "2"
                        }
                      },
                      "response": {
                        "numFound": 52,
                        "start": 0,
                        "docs": [
                          {
                            "title": [
                              "Solr and SolrAdmin APIs - Fusion Documentation - Lucidworks"
                            ]
                          },
                          {
                            "title": [
                              "Search Clusters - Fusion Documentation - Lucidworks"
                            ]
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      },
      "put": {
        "tags": [
          "Solr"
        ],
        "summary": "Send a PUT request to Solr",
        "description": "Send a proxy request to Solr.",
        "operationId": "proxyPutRequestToSolr_1",
        "parameters": [
          {
            "name": "collection",
            "description": "The collection ID.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "path",
            "description": "The Solr command path.",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/InputStream"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      },
      "post": {
        "tags": [
          "Solr"
        ],
        "summary": "Send a POST request to Solr",
        "description": "Send a proxy request to Solr.",
        "operationId": "proxyPostRequestToSolr_1",
        "parameters": [
          {
            "name": "collection",
            "description": "The collection ID.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "path",
            "in": "path",
            "description": "The Solr command path.",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/InputStream"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      },
      "delete": {
        "tags": [
          "Solr"
        ],
        "summary": "Send a DELETE request to Solr",
        "description": "Send a proxy request to Solr.",
        "operationId": "proxyDeleteRequestToSolr_1",
        "parameters": [
          {
            "name": "collection",
            "description": "The collection ID.",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "path",
            "in": "path",
            "description": "The Solr command path.",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/InputStream"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/solr/status": {
      "get": {
        "tags": [
          "Solr"
        ],
        "summary": "Get Solr service status",
        "description": "Check the status of the Solr service.",
        "operationId": "getStatus_24",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/swagger": {
      "get": {
        "tags": [
          "Swagger"
        ],
        "summary": "Get the Fusion API spec (JSON)",
        "description": "Get Fusion API spec as JSON.",
        "operationId": "allJson",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/swagger/yaml": {
      "get": {
        "tags": [
          "Swagger"
        ],
        "summary": "Get the Fusion API spec (YAML)",
        "description": "Get Fusion API spec as YAML.",
        "operationId": "allYaml",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "text/yaml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/swagger/multi-json": {
      "get": {
        "tags": [
          "Swagger"
        ],
        "summary": "Get Fusion per-service API specs (JSON)",
        "description": "Get Fusion per-service API specs as JSON list.",
        "operationId": "perServiceJson",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/swagger/multi-yaml": {
      "get": {
        "tags": [
          "Swagger"
        ],
        "summary": "Get Fusion per-service API specs (YAML)",
        "description": "Get Fusion per-service API specs as concatenated YAML blocks.",
        "operationId": "perServiceYaml",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "text/yaml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/swagger/status": {
      "get": {
        "tags": [
          "Swagger"
        ],
        "summary": "Get swagger service status",
        "description": "Check the status of the Swagger service.",
        "operationId": "getStatus_25",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/system/autocomplete/documents": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "Get autocomplete documents",
        "description": "Fetch the documents to use for autocomplete.",
        "operationId": "listDocs",
        "parameters": [
          {
            "name": "canonicalForm",
            "description": "This param indicates which documents you want, based on canonical form.",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        }
      }
    },
    "/system/autocomplete/status": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "Get autocomplete service status",
        "description": "Check the status of the Autocomplete service.",
        "operationId": "getStatus_27",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/system/resolve": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "Resolve a URN",
        "description": "Resolve a Uniform Resource Name (URN).",
        "operationId": "resolveUrn",
        "parameters": [
          {
            "name": "urn",
            "in": "query",
            "description": "The URN to resolve.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        }
      }
    },
    "/system/live_code": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "Internal only",
        "description": "Internal only",
        "operationId": "live",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-hidden": true
      }
    },
    "/system/teapot": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "I'm a little teapot...",
        "description": "Returns `short` and `stout`.",
        "externalDocs": {
          "description": "Any attempt to brew coffee with a teapot should result in the error code \"418 I'm a teapot\"",
          "url": "https://www.rfc-editor.org/rfc/rfc2324#section-2.3.2"
        },
        "operationId": "teapot",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        }
      }
    },
    "/system/metricNames": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "Show available metric names",
        "description": "For use with the 'metric' endpoint.",
        "operationId": "getMetricNames",
        "parameters": [
          {
            "name": "pattern",
            "in": "query",
            "description": "A regular expression to find all configuration items that contain matching strings.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "prefix",
            "in": "query",
            "description": "Match all configuration items that start with the specified string.",
            "schema": {
              "type": "string"
            },
            "example": "mem.heap"
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "example": {
                  "gauges": [
                    "mem.heap.committed",
                    "mem.heap.init",
                    "mem.heap.max",
                    "mem.heap.usage",
                    "mem.heap.used"
                  ],
                  "counters": [],
                  "histograms": [],
                  "meters": [],
                  "timers": []
                }
              }
            }
          }
        }
      }
    },
    "/system/metric/{name}": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "Get a metric's data",
        "description": "Show data about a specific metric.",
        "operationId": "getSingleMetric",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "description": "The name of the metric to display.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pretty",
            "in": "query",
            "description": "True to format the data for easier reading.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "rateUnit",
            "in": "query",
            "description": "The time unit ('seconds', 'minutes', and so on) to display rates.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "durationUnit",
            "in": "query",
            "description": "The time unit ('seconds', 'minutes', and so on) to display durations.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "showSamples",
            "in": "query",
            "description": "True to display the data values used in calculations.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetricResponse"
                }
              }
            }
          }
        }
      }
    },
    "/system/metrics": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "Get all system metrics",
        "description": "Show data about all system metrics.",
        "operationId": "getMetrics",
        "parameters": [
          {
            "name": "pretty",
            "in": "query",
            "description": "True to format the data for easier reading.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "rateUnit",
            "in": "query",
            "description": "The time unit ('seconds', 'minutes', and so on) to display rates.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "durationUnit",
            "in": "query",
            "description": "The time unit ('seconds', 'minutes', and so on) to display durations.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "showSamples",
            "in": "query",
            "description": "True to display the data values used in calculations.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "pattern",
            "in": "query",
            "description": "A regular expression to find all configuration items that contain matching strings.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "prefix",
            "in": "query",
            "description": "Match all configuration items that start with the specified string.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetricResponse"
                },
                "example": {
                  "version": "3.0.0",
                  "gauges": {},
                  "counters": {},
                  "histograms": {},
                  "meters": {
                    "com.lucidworks.apollo.pipeline.index.IndexPipelineCache.cacheHit": {
                      "count": 4775,
                      "m15_rate": 0.03604340402401043,
                      "m1_rate": 0.04985610410800882,
                      "m5_rate": 0.04753263154077047,
                      "mean_rate": 0.05028487069705915,
                      "units": "events/second"
                    }
                  },
                  "timers": {
                    "com.lucidworks.apollo.pipeline.index.IndexPipelineCache.deserialize": {
                      "count": 7,
                      "max": 0.078783,
                      "mean": 0.028265285714285715,
                      "min": 9.800000000000001e-05,
                      "p50": 0.000194,
                      "p75": 0.06996100000000001,
                      "p95": 0.078783,
                      "p98": 0.078783,
                      "p99": 0.078783,
                      "p999": 0.078783,
                      "values": [
                        9.800000000000001e-05,
                        0.000109,
                        0.000162,
                        0.000194,
                        0.04855,
                        0.06996100000000001,
                        0.078783
                      ],
                      "stddev": 0.03620774742010466,
                      "m15_rate": 2.964393875e-314,
                      "m1_rate": 2.128434034679706e-46,
                      "m5_rate": 4.9195401948202935e-138,
                      "mean_rate": 7.371603924510614e-05,
                      "duration_units": "seconds",
                      "rate_units": "calls/second"
                    },
                    "com.lucidworks.apollo.pipeline.index.IndexStageConfigCache.deserialize": {
                      "count": 7,
                      "max": 0.002377,
                      "mean": 0.00046642857142857147,
                      "min": 8.7e-05,
                      "p50": 0.000116,
                      "p75": 0.000346,
                      "p95": 0.002377,
                      "p98": 0.002377,
                      "p99": 0.002377,
                      "p999": 0.002377,
                      "values": [
                        8.7e-05,
                        9.300000000000001e-05,
                        0.000111,
                        0.000116,
                        0.000135,
                        0.000346,
                        0.002377
                      ],
                      "stddev": 0.000847267737523163,
                      "m15_rate": 2.964393875e-314,
                      "m1_rate": 2.1522151745137967e-46,
                      "m5_rate": 5.086288568158318e-138,
                      "mean_rate": 7.372680363461613e-05,
                      "duration_units": "seconds",
                      "rate_units": "calls/second"
                    },
                    "com.lucidworks.apollo.pipeline.index.IndexStageConfigStore.deserialize": {
                      "count": 6,
                      "max": 0.0019760000000000003,
                      "mean": 0.0005606666666666667,
                      "min": 0.00010800000000000001,
                      "p50": 0.00014250000000000002,
                      "p75": 0.00114875,
                      "p95": 0.0019760000000000003,
                      "p98": 0.0019760000000000003,
                      "p99": 0.0019760000000000003,
                      "p999": 0.0019760000000000003,
                      "values": [
                        0.00010800000000000001,
                        0.00012200000000000001,
                        0.000135,
                        0.00015000000000000001,
                        0.0008730000000000001,
                        0.0019760000000000003
                      ],
                      "stddev": 0.000754704622131511,
                      "m15_rate": 2.964393875e-314,
                      "m1_rate": 1.0220227879692082e-48,
                      "m5_rate": 7.20591046931865e-140,
                      "mean_rate": 6.318494243486903e-05,
                      "duration_units": "seconds",
                      "rate_units": "calls/second"
                    },
                    "com.lucidworks.apollo.pipeline.index.IndexStageConfigStore.getItem": {
                      "count": 6,
                      "max": 0.003128,
                      "mean": 0.002295,
                      "min": 0.0017770000000000002,
                      "p50": 0.0020715,
                      "p75": 0.002774,
                      "p95": 0.003128,
                      "p98": 0.003128,
                      "p99": 0.003128,
                      "p999": 0.003128,
                      "values": [
                        0.0017770000000000002,
                        0.002066,
                        0.002066,
                        0.0020770000000000003,
                        0.0026560000000000004,
                        0.003128
                      ],
                      "stddev": 0.0004989869737778733,
                      "m15_rate": 2.964393875e-314,
                      "m1_rate": 1.0220227879692082e-48,
                      "m5_rate": 7.20591046931865e-140,
                      "mean_rate": 6.318494244418448e-05,
                      "duration_units": "seconds",
                      "rate_units": "calls/second"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/system/status_code": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "Get the system status",
        "description": "Check the status of the system.",
        "operationId": "getStatusCode",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        }
      }
    },
    "/system/version": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "Get the system version",
        "description": "Get Fusion version information.",
        "operationId": "ver",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "*/*": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/system/status": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "Get system status",
        "description": "Check the status of the system.",
        "operationId": "getStatus_28",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/tasks/{id}": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "Get a task",
        "description": "Get the specified task.",
        "operationId": "getEntity_5",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The task ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Task"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Tasks"
        ],
        "summary": "Update a task",
        "description": "Update a task's configuration.",
        "operationId": "updateEntity",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The task ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "An optional tag to match.",
            "schema": {
              "type": "string",
              "default": "-1"
            }
          }
        ],
        "requestBody": {
          "description": "JSON-formatted configuration values.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Task"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Task"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      },
      "delete": {
        "tags": [
          "Tasks"
        ],
        "summary": "Delete a task",
        "description": "Delete a task.",
        "operationId": "deleteEntityWithBody_4",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The task ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "An optional tag to match.",
            "schema": {
              "type": "string",
              "default": "-1"
            }
          }
        ],
        "requestBody": {
          "description": "For supplying additional request parameters (such as relatedObjectIds) via request body instead of as request parameters. Use this if the URL is getting too long.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BodyRequestParams"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/tasks/status": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "Get tasks service status",
        "description": "Check the status of the Tasks service.",
        "operationId": "getStatus_29",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/tasks": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "List all tasks",
        "description": "Fetch the list of existing tasks.",
        "operationId": "getAllEntities_4",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Task"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Tasks"
        ],
        "summary": "Create a task",
        "description": "Create a new task.",
        "operationId": "createEntity",
        "requestBody": {
          "description": "JSON-formatted configuration values.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Task"
              },
              "example": {
                "type": "rest-call",
                "id": "test-task-created",
                "callParams": {
                  "uri": "solr://system_jobs_history/update",
                  "method": "post",
                  "queryParams": {
                    "wt": "json"
                  },
                  "headers": {},
                  "entity": "<root><delete><query>timestamp_dt:[* TO NOW-30DAYS] AND type_s:history</query></delete><commit /></root>"
                }
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Task"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/tasks/_schema": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "Get the tasks schema",
        "description": "Get JSON configuration schema for tasks.",
        "operationId": "getEntitySchema_4",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/schema+json; qs=1.0": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectType"
                }
              },
              "application/json; qs=0.9": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectType"
                }
              }
            }
          }
        }
      }
    },
    "/update/all/signalCollection": {
      "post": {
        "tags": [
          "Update"
        ],
        "summary": "Update a signals collection",
        "description": "This endpoint is only used in some special cases during upgrade.",
        "operationId": "updateAllSignalCollections",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        }
      }
    },
    "/update/status": {
      "get": {
        "tags": [
          "Update"
        ],
        "summary": "Get update service status",
        "description": "Check the status of the Update service.",
        "operationId": "getStatus_30",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/zk/export/{path}": {
      "get": {
        "tags": [
          "ZooKeeper"
        ],
        "summary": "Get ZooKeeper data",
        "description": "Download a ZooKeeper configuration. The REST API only supports export requests. The Fusion distribution includes a utility script `zkImportExport.sh` which can be used to import ZooKeeper configuration as well as to export it from arbitrary Fusion instances.",
        "operationId": "getNodeInfo",
        "parameters": [
          {
            "name": "path",
            "in": "path",
            "description": "Path from ZooKeeper root node, such as 'lucid/query-pipelines'.",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            }
          },
          {
            "name": "recursive",
            "in": "query",
            "description": "Return children nodes.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "excludePaths",
            "in": "query",
            "description": "List of paths to exclude.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "includePaths",
            "in": "query",
            "description": "List of paths to include.",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "encodeValues",
            "in": "query",
            "description": "Values encoding. Default is 'base64'.",
            "schema": {
              "type": "string",
              "default": "base64"
            }
          },
          {
            "name": "ephemeral",
            "in": "query",
            "description": "Include ephemeral nodes. Default is false.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ZNodeDump"
                },
                "example": {
                  "path": "/lucid/query-pipelines",
                  "children": [
                    {
                      "path": "/lucid/query-pipelines/default"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/zk/export/status": {
      "get": {
        "tags": [
          "ZooKeeper"
        ],
        "summary": "Get ZooKeeper export service status",
        "description": "Check the status of the ZooKeeper Export service.",
        "operationId": "getStatus_31",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/webapps/{id}/edits/{sessionId}/files/{file}": {
      "get": {
        "tags": [
          "Webapps"
        ],
        "summary": "Get a file",
        "description": "Access a file within an editing session.",
        "operationId": "getFile",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The webapp ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sessionId",
            "in": "path",
            "description": "Session ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "file",
            "in": "path",
            "description": "File.",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-hidden": true
      },
      "put": {
        "tags": [
          "Webapps"
        ],
        "summary": "Update a file",
        "description": "Update a file within an editing session.",
        "operationId": "putFile",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Application ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sessionId",
            "in": "path",
            "description": "Session ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "file",
            "in": "path",
            "description": "File.",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "If-Match value.",
            "schema": {
              "type": "string",
              "default": "0"
            }
          }
        ],
        "requestBody": {
          "description": "File contents.",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/InputStream"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body",
        "x-hidden": true
      },
      "delete": {
        "tags": [
          "Webapps"
        ],
        "summary": "Delete a file",
        "description": "Delete a file within an editing session.",
        "operationId": "deleteFile",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The webapp ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sessionId",
            "in": "path",
            "description": "Session ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "file",
            "in": "path",
            "description": "File.",
            "required": true,
            "schema": {
              "pattern": ".*",
              "type": "string"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "If-Match value.",
            "schema": {
              "type": "string",
              "default": "0"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-hidden": true
      }
    },
    "/webapps/{id}/edits/{sessionId}": {
      "get": {
        "tags": [
          "Webapps"
        ],
        "summary": "Get an editing session",
        "description": "Get editing session.",
        "operationId": "getSession",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Application ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sessionId",
            "in": "path",
            "description": "Session ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EditingSession"
                }
              }
            }
          }
        },
        "x-hidden": true
      },
      "delete": {
        "tags": [
          "Webapps"
        ],
        "summary": "Delete an editing session",
        "description": "Delete an editing session.",
        "operationId": "deleteSession",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Application ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sessionId",
            "in": "path",
            "description": "Session ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-hidden": true
      }
    },
    "/webapps/{id}/edits/{sessionId}/action": {
      "post": {
        "tags": [
          "Webapps"
        ],
        "summary": "Perform an action",
        "description": "Perform an action on an editing session.",
        "operationId": "action",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Application ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sessionId",
            "in": "path",
            "description": "Session ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "JSON-formatted configuration values.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SessionAction"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body",
        "x-hidden": true
      }
    },
    "/webapps/{id}/edits": {
      "get": {
        "tags": [
          "Webapps"
        ],
        "summary": "List all editing sessions",
        "description": "List editing sessions.",
        "operationId": "listSessions",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Application ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EditingSession"
                  }
                }
              }
            }
          }
        },
        "x-hidden": true
      },
      "post": {
        "tags": [
          "Webapps"
        ],
        "summary": "Start an editing session",
        "description": "Start an editing session.",
        "operationId": "startSession",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Application ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "JSON-formatted configuration values.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditingSession"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EditingSession"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body",
        "x-hidden": true
      }
    },
    "/webapps/{id}": {
      "get": {
        "tags": [
          "Webapps"
        ],
        "summary": "Get a webapp",
        "description": "Get the specified webapp.",
        "operationId": "getEntity_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The webapp ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Entity"
                }
              }
            }
          }
        },
        "x-hidden": true
      },
      "delete": {
        "tags": [
          "Webapps"
        ],
        "summary": "Delete a webapp",
        "description": "Delete a webapp.",
        "operationId": "deleteEntityWithBody_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The webapp ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "An optional tag to match.",
            "schema": {
              "type": "string",
              "default": "-1"
            }
          }
        ],
        "requestBody": {
          "description": "For supplying additional request parameters (such as relatedObjectIds) via request body instead of as request parameters. Use this if the URL is getting too long.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BodyRequestParams"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body",
        "x-hidden": true
      }
    },
    "/webapps": {
      "get": {
        "tags": [
          "Webapps"
        ],
        "summary": "List all webapps",
        "description": "Get all entities.",
        "operationId": "getAllEntities_1",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Entity"
                  }
                }
              }
            }
          }
        },
        "x-hidden": true
      },
      "post": {
        "tags": [
          "Webapps"
        ],
        "summary": "Import webapp metadata",
        "description": "Import Application metadata including all editing sessions.",
        "operationId": "importApp",
        "requestBody": {
          "description": "Application metadata.",
          "content": {
            "application/vnd.lucidworks-appkit-export+json": {
              "schema": {
                "$ref": "#/components/schemas/AppkitAppExportContainer"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body",
        "x-hidden": true
      }
    },
    "/webapps/{id}/edits/{sessionId}/files": {
      "get": {
        "tags": [
          "Webapps"
        ],
        "summary": "List all files",
        "description": "List all files within an editing session.",
        "operationId": "listFiles",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Application ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sessionId",
            "in": "path",
            "description": "Session ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Blob"
                  }
                }
              }
            }
          }
        },
        "x-hidden": true
      }
    },
    "/webapps/{id}/war": {
      "get": {
        "tags": [
          "Webapps"
        ],
        "summary": "Download a .war file",
        "description": "Download a .war file for an app.",
        "operationId": "downloadWar",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Application ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-hidden": true
      },
      "put": {
        "tags": [
          "Webapps"
        ],
        "summary": "Upload a .war file",
        "description": "Upload a war file for an app.",
        "operationId": "uploadWar",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Application ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "War file.",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/InputStream"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-codegen-request-body-name": "body",
        "x-hidden": true
      },
      "head": {
        "tags": [
          "Webapps"
        ],
        "summary": "Get .war file metadata",
        "description": "Get metadata (modifiedTime, md5, etc) of war file as HTTP headers.",
        "operationId": "getWarMetadata",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Application ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {}
          }
        },
        "x-hidden": true
      }
    },
    "/webapps/{id}/war/manifest": {
      "get": {
        "tags": [
          "Webapps"
        ],
        "summary": "Get MANIFEST.MF",
        "description": "Get the MANIFEST.MF of war file.",
        "operationId": "getWarManifestAsText",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Application ID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "x-hidden": true
      }
    },
    "/webapps/_schema": {
      "get": {
        "tags": [
          "Webapps"
        ],
        "summary": "Get the webapps schema",
        "description": "Get JSON schema for objects managed by this API.",
        "operationId": "getEntitySchema_1",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/schema+json; qs=1.0": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectType"
                }
              },
              "application/json; qs=0.9": {
                "schema": {
                  "$ref": "#/components/schemas/ObjectType"
                }
              }
            }
          }
        },
        "x-hidden": true
      }
    },
    "/webapps/status": {
      "get": {
        "tags": [
          "Webapps"
        ],
        "summary": "Get the service status",
        "description": "Get the status of the service.",
        "operationId": "getStatus_1",
        "responses": {
          "200": {
            "description": "successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceStatus"
                  }
                }
              }
            }
          }
        },
        "x-hidden": true
      }
    },
    "/tasks/_backcompat/{id}": {
      "delete": {
        "tags": [
          "Tasks"
        ],
        "summary": "Delete a task (backward compatibility)",
        "description": "Delete a task using the backward compatibility endpoint. Use this endpoint for legacy task deletion operations.",
        "operationId": "deleteEntity",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The entity ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "description": "An entity tag to match",
            "required": false,
            "schema": {
              "type": "string",
              "default": "-1"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully deleted entity"
          }
        },
        "deprecated": true
      }
    }
  },
  "components": {
    "schemas": {
      "Entity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        }
      },
      "AnyType": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "readOnly": true,
            "enum": [
              "String",
              "Number",
              "Integer",
              "Boolean",
              "Object",
              "Array",
              "Null",
              "Ref"
            ]
          },
          "title": {
            "type": "string",
            "readOnly": true
          },
          "description": {
            "type": "string",
            "readOnly": true
          },
          "enum": {
            "uniqueItems": true,
            "type": "array",
            "readOnly": true,
            "items": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "type": "object",
            "properties": {},
            "readOnly": true
          },
          "category": {
            "type": "string",
            "readOnly": true
          },
          "categoryPriority": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "hints": {
            "uniqueItems": true,
            "type": "array",
            "readOnly": true,
            "items": {
              "type": "string"
            }
          },
          "unsafe": {
            "type": "boolean",
            "readOnly": true
          },
          "oneOf": {
            "type": "array",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/AnyTypeObjectObject"
            }
          }
        }
      },
      "AnyTypeObjectObject": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "readOnly": true,
            "enum": [
              "String",
              "Number",
              "Integer",
              "Boolean",
              "Object",
              "Array",
              "Null",
              "Ref"
            ]
          },
          "title": {
            "type": "string",
            "readOnly": true
          },
          "description": {
            "type": "string",
            "readOnly": true
          },
          "enum": {
            "uniqueItems": true,
            "type": "array",
            "readOnly": true,
            "items": {
              "type": "object",
              "properties": {}
            }
          },
          "default": {
            "type": "object",
            "properties": {},
            "readOnly": true
          },
          "category": {
            "type": "string",
            "readOnly": true
          },
          "categoryPriority": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "hints": {
            "uniqueItems": true,
            "type": "array",
            "readOnly": true,
            "items": {
              "type": "string"
            }
          },
          "unsafe": {
            "type": "boolean",
            "readOnly": true
          },
          "oneOf": {
            "type": "array",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/AnyTypeObjectObject"
            }
          }
        }
      },
      "ObjectType": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "readOnly": true,
            "enum": [
              "String",
              "Number",
              "Integer",
              "Boolean",
              "Object",
              "Array",
              "Null",
              "Ref"
            ]
          },
          "title": {
            "type": "string",
            "readOnly": true
          },
          "description": {
            "type": "string",
            "readOnly": true
          },
          "required": {
            "uniqueItems": true,
            "type": "array",
            "readOnly": true,
            "items": {
              "type": "string"
            }
          },
          "properties": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/AnyType"
            },
            "readOnly": true
          },
          "additionalProperties": {
            "type": "object",
            "properties": {},
            "readOnly": true
          },
          "minProperties": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "maxProperties": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "definitions": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/AnyType"
            },
            "readOnly": true
          },
          "category": {
            "type": "string",
            "readOnly": true
          },
          "categoryPriority": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "enum": {
            "uniqueItems": true,
            "type": "array",
            "readOnly": true,
            "items": {
              "type": "object",
              "properties": {}
            }
          },
          "hints": {
            "uniqueItems": true,
            "type": "array",
            "readOnly": true,
            "items": {
              "type": "string"
            }
          },
          "unsafe": {
            "type": "boolean",
            "readOnly": true
          },
          "default": {
            "type": "object",
            "properties": {},
            "readOnly": true
          },
          "oneOf": {
            "type": "array",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/AnyTypeObjectObject"
            }
          },
          "propertyGroups": {
            "type": "array",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/PropertyGroup"
            }
          }
        }
      },
      "PropertyGroup": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "readOnly": true
          },
          "properties": {
            "type": "array",
            "readOnly": true,
            "items": {
              "type": "string"
            }
          }
        }
      },
      "BodyRequestParam": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "readOnly": true
          },
          "values": {
            "type": "array",
            "readOnly": true,
            "items": {
              "type": "string"
            }
          }
        }
      },
      "BodyRequestParams": {
        "type": "object",
        "properties": {
          "params": {
            "type": "array",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/BodyRequestParam"
            }
          }
        }
      },
      "ServiceStatus": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "starting",
              "ok",
              "warning",
              "error",
              "shutdown"
            ]
          },
          "node": {
            "type": "string",
            "readOnly": true
          },
          "messages": {
            "type": "array",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/StatusMessage"
            }
          }
        }
      },
      "StatusMessage": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "message": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "EditingSession": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "owner": {
            "type": "string",
            "readOnly": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "version": {
            "type": "string"
          }
        }
      },
      "SessionAction": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "readOnly": true
          }
        },
        "discriminator": {
          "propertyName": "type"
        }
      },
      "InputStream": {
        "type": "object"
      },
      "AppkitApp": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "readOnly": true
          },
          "description": {
            "type": "string",
            "readOnly": true
          },
          "contextPath": {
            "type": "string",
            "readOnly": true
          },
          "enabled": {
            "type": "boolean",
            "readOnly": true
          },
          "type": {
            "type": "string"
          },
          "war": {
            "type": "string",
            "readOnly": true
          },
          "warMd5": {
            "type": "string",
            "readOnly": true
          },
          "warSize": {
            "type": "integer",
            "format": "int64",
            "readOnly": true
          }
        }
      },
      "AppkitAppExportContainer": {
        "type": "object",
        "properties": {
          "appkitApp": {
            "$ref": "#/components/schemas/AppkitApp"
          },
          "editingSessions": {
            "type": "array",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/EditingSession"
            }
          }
        }
      },
      "Blob": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "path": {
            "type": "string",
            "readOnly": true
          },
          "dir": {
            "type": "string",
            "readOnly": true
          },
          "filename": {
            "type": "string",
            "readOnly": true
          },
          "contentType": {
            "type": "string",
            "readOnly": true
          },
          "size": {
            "type": "integer",
            "format": "int64",
            "readOnly": true
          },
          "modifiedTime": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "version": {
            "type": "integer",
            "format": "int64",
            "readOnly": true
          },
          "md5": {
            "type": "string",
            "readOnly": true
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "readOnly": true
          }
        }
      },
      "Feature": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "collectionId": {
            "type": "string"
          },
          "params": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {}
            }
          },
          "enabled": {
            "type": "boolean"
          }
        }
      },
      "Collection": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "searchClusterId": {
            "type": "string"
          },
          "autoCommit": {
            "type": "integer",
            "format": "int32",
            "description": "Solr hard commit inherited from the collection's `solrconfig.xml` that is designated as Fusion's default parameter for Solr data commits. Number of seconds in which the data is saved, but this parameter does not force the search results to refresh immediately. With this setting, search performance is not slowed, but the new data may not show in search results until the next refresh. Default value is 15.",
            "default": 15
          },
          "autoSoftCommit": {
            "type": "boolean",
            "default": "false",
            "description": "Solr soft commit that does not save the data, but makes the data visible to searches almost immediately. If the system crashes, that new data is lost because it has not been saved. Default is false, and search visibility is managed using the `commitWithin` setting."
          },
          "commitWithin": {
            "type": "integer",
            "format": "int32",
            "description": "Solr's `commitWithin` parameter, configured at the collection level with a default of `10000` milliseconds, ensures data is committed and available for searching within 10 seconds. The default for signals collections is `1000` milliseconds. Fusion uses `commitWithin` to avoid relying on specific Solr-side configurations. The `com.lucidworks.apollo.solr.commitWithin` global property defines the default `commitWithin` for all documents added through Fusion. When you create a new collection in Fusion, its per-collection `commitWithin` is initialized from this global default.",
            "default": 10000
          },
          "features": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/Feature"
            }
          },
          "compositeIdSpec": {
            "$ref": "#/components/schemas/CompositeIdSpec"
          },
          "solrParams": {
            "$ref": "#/components/schemas/CreateCollectionCmd"
          },
          "modifiedAt": {
            "type": "string",
            "format": "date-time"
          },
          "type": {
            "type": "string",
            "enum": [
              "DATA",
              "LOGS",
              "METRICS",
              "SIGNALS",
              "SIGNALS_AGGREGATION",
              "SEARCHLOGS",
              "SYNONYMS",
              "RECOMMENDATIONS",
              "HISTORY",
              "BLOBS",
              "MESSAGES",
              "TAXONOMY",
              "CRAWL_DB",
              "JOB_HISTORY",
              "ARCHIVING",
              "AUTOCOMPLETE_DOCUMENTS",
              "QUERY_REWRITE",
              "USER_PREFS",
              "JOB_REPORTS",
              "ACL",
              "NULL"
            ]
          },
          "relatedCollectionId": {
            "type": "string"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "CompositeIdSpec": {
        "type": "object",
        "properties": {
          "routeKey1Field": {
            "type": "string"
          },
          "routeKey1Bits": {
            "type": "integer",
            "format": "int32"
          },
          "routeKey2Field": {
            "type": "string"
          },
          "routeKey2Bits": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "CreateCollectionCmd": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "numShards": {
            "type": "integer",
            "format": "int32"
          },
          "replicationFactor": {
            "type": "integer",
            "format": "int32"
          },
          "collection.configName": {
            "type": "string"
          }
        }
      },
      "CollectionMetrics": {
        "type": "object",
        "properties": {
          "collectionId": {
            "type": "string",
            "readOnly": true
          },
          "documentCount": {
            "type": "integer",
            "format": "int64",
            "readOnly": true
          },
          "requestCount": {
            "type": "integer",
            "format": "int64",
            "readOnly": true
          },
          "avgTimePerRequestMs": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "sizeInBytes": {
            "type": "integer",
            "format": "int64",
            "readOnly": true
          },
          "lastModified": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          }
        }
      },
      "CollectionInfo": {
        "type": "object",
        "properties": {
          "maxShardsPerNode": {
            "type": "integer",
            "format": "int32"
          },
          "replicationFactor": {
            "type": "integer",
            "format": "int32"
          },
          "configName": {
            "type": "string"
          },
          "shards": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/ShardInfo"
            }
          },
          "policy": {
            "type": "string"
          }
        }
      },
      "ReplicaInfo": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string"
          },
          "core": {
            "type": "string"
          },
          "leader": {
            "type": "boolean"
          },
          "base_url": {
            "type": "string"
          },
          "node_name": {
            "type": "string"
          }
        }
      },
      "ShardInfo": {
        "type": "object",
        "properties": {
          "range": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "replicas": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/ReplicaInfo"
            }
          }
        }
      },
      "AllowedValue": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "readOnly": true
          },
          "value": {
            "type": "string",
            "readOnly": true
          },
          "description": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "CallParams": {
        "type": "object",
        "properties": {
          "uri": {
            "type": "string",
            "description": "A fully-qualified service URI. This can be an HTTP call, a Solr request, or a Managed Fusion service call. <br/>Supported URI schemas are: `http://`, `https://`, `solr://{collection}/…​`, or `service://{serviceName}/{path}`."
          },
          "method": {
            "type": "string",
            "enum": [
              "GET",
              "PUT",
              "POST",
              "DELETE"
            ]
          },
          "queryParams": {
            "type": "object",
            "description": "Query parameters to be passed with the request. For Solr calls, this could be parameters such as `q`, `fq`, `commit`, and so on",
            "additionalProperties": {
              "type": "string"
            }
          },
          "headers": {
            "type": "object",
            "description": "Any additional protocol headers, such as `Content-type`.",
            "additionalProperties": {
              "type": "string"
            }
          },
          "entity": {
            "type": "object",
            "description": "An optional payload to be sent with the request.",
            "properties": {}
          }
        }
      },
      "FeatureSpec": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "defaults": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {}
            }
          },
          "callback": {
            "$ref": "#/components/schemas/CallParams"
          }
        }
      },
      "FusionResource": {
        "anyOf": [
          {
            "type": "string",
            "description": "Resource reference as a string, such as 'datasource:ratings-db'"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "APPKIT_APP",
                  "APP",
                  "COLLECTION",
                  "INDEX_PIPELINE",
                  "QUERY_PIPELINE",
                  "INDEX_PROFILE",
                  "QUERY_PROFILE",
                  "BLOB",
                  "PARSER",
                  "DATASOURCE",
                  "TASK",
                  "SCHEDULE",
                  "SEARCH_CLUSTER",
                  "EXPERIMENT",
                  "SPARK_JOB",
                  "GROUP",
                  "CUSTOM_RULE_TYPE",
                  "SUBSCRIPTION",
                  "DATA_MODEL",
                  "TEMPLATE",
                  "ZONE",
                  "TEMPLATE_SETTINGS",
                  "TYPE",
                  "RESOURCE",
                  "NULL"
                ]
              },
              "id": {
                "type": "string"
              },
              "uri": {
                "type": "string",
                "format": "uri"
              },
              "canonicalName": {
                "type": "string"
              }
            },
            "required": [
              "type"
            ]
          }
        ]
      },
      "HistoryEvent": {
        "type": "object",
        "properties": {
          "start": {
            "type": "string",
            "format": "date-time"
          },
          "end": {
            "type": "string",
            "format": "date-time"
          },
          "source": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "details": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {}
            }
          },
          "error": {
            "$ref": "#/components/schemas/RESTError"
          }
        }
      },
      "RESTError": {
        "type": "object",
        "properties": {
          "httpStatusCode": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "error": {
            "type": "string",
            "readOnly": true
          },
          "message": {
            "type": "string",
            "readOnly": true
          },
          "details": {
            "type": "string",
            "readOnly": true
          },
          "cause": {
            "$ref": "#/components/schemas/Throwable"
          },
          "stackTrace": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StackTraceElement"
            }
          },
          "localizedMessage": {
            "type": "string"
          },
          "suppressed": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Throwable"
            }
          },
          "class": {
            "type": "string",
            "readOnly": true
          },
          "httpStatusMessage": {
            "type": "string",
            "readOnly": true
          },
          "requestId": {
            "type": "string",
            "readOnly": true
          }
        },
        "discriminator": {
          "propertyName": "type"
        }
      },
      "StackTraceElement": {
        "type": "object",
        "properties": {
          "methodName": {
            "type": "string"
          },
          "fileName": {
            "type": "string"
          },
          "lineNumber": {
            "type": "integer",
            "format": "int32"
          },
          "className": {
            "type": "string"
          },
          "nativeMethod": {
            "type": "boolean"
          }
        }
      },
      "Throwable": {
        "type": "object",
        "properties": {
          "cause": {
            "$ref": "#/components/schemas/Throwable"
          },
          "stackTrace": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StackTraceElement"
            }
          },
          "message": {
            "type": "string"
          },
          "localizedMessage": {
            "type": "string"
          },
          "suppressed": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Throwable"
            }
          }
        }
      },
      "History": {
        "type": "object",
        "properties": {
          "events": {
            "type": "array",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/HistoryEvent"
            }
          }
        }
      },
      "JobActionResponse": {
        "type": "object",
        "properties": {
          "resource": {
            "type": "string",
            "readOnly": true
          },
          "action": {
            "type": "string",
            "readOnly": true,
            "enum": [
              "start",
              "pause",
              "abort"
            ]
          },
          "accepted": {
            "type": "boolean",
            "readOnly": true
          },
          "message": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "JobActionRequest": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "readOnly": true,
            "enum": [
              "START",
              "PAUSE",
              "ABORT"
            ]
          },
          "comment": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "JobView": {
        "type": "object",
        "properties": {
          "resource": {
            "$ref": "#/components/schemas/FusionResource"
          },
          "enabled": {
            "type": "boolean",
            "readOnly": true
          },
          "startedBy": {
            "type": "string",
            "readOnly": true
          },
          "status": {
            "type": "string",
            "description": "Values include `ready`, `running`, `success`, `aborted`, or `failed`.",
            "readOnly": true
          },
          "extra": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {}
            },
            "readOnly": true
          },
          "lastStartTime": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "lastEndTime": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "nextStartTime": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          }
        }
      },
      "JobConfig": {
        "type": "object",
        "properties": {
          "resource": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "triggers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JobTriggerConfig"
            }
          },
          "default": {
            "type": "boolean"
          }
        }
      },
      "JobTriggerConfig": {
        "type": "object",
        "discriminator": {
          "propertyName": "type"
        },
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "type": {
            "type": "string",
            "enum": [
              "interval",
              "cron",
              "job"
            ],
            "x-enumDescriptions": {
              "interval": "Run the job at a regular interval over some time range.",
              "cron": "Run the job on a cron-style schedule.",
              "job": "Run the job after another job succeeds or fails."
            }
          },
          "startTime": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time at which the job will first run (ISO-8601 format). Applies to type 'interval'."
          },
          "endTime": {
            "type": "string",
            "format": "date-time",
            "description": "The date and time at which the job will run last (ISO-8601 format). Applies to type 'interval'."
          },
          "interval": {
            "type": "integer",
            "description": "The interval at which the job will run. Applies to type 'interval'."
          },
          "repeatUnit": {
            "type": "string",
            "enum": [
              "minute",
              "hour",
              "day"
            ],
            "description": "The unit for the interval. Applies to type 'interval'."
          },
          "value": {
            "type": "string",
            "description": "A cron string that defines the schedule. Applies to type 'cron'."
          },
          "jobID": {
            "type": "string",
            "description": "The ID of the job that triggers this one. Applies to type 'job'."
          },
          "runOnSuccess": {
            "type": "boolean",
            "description": "Run this job when the triggering job succeeds. Applies to type 'job'."
          },
          "runOnFailure": {
            "type": "boolean",
            "description": "Run this job when the triggering job fails. Applies to type 'job'."
          },
          "runOnAbort": {
            "type": "boolean",
            "description": "Run this job when the triggering job is aborted. Applies to type 'job'."
          }
        }
      },
      "JobRunView": {
        "type": "object",
        "properties": {
          "resource": {
            "$ref": "#/components/schemas/FusionResource"
          },
          "runId": {
            "type": "string",
            "readOnly": true
          },
          "startTime": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "endTime": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "status": {
            "type": "string",
            "description": "Values include `ready`, `running`, `success`, `aborted`, or `failed`.",
            "readOnly": true
          },
          "error": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {}
            },
            "readOnly": true
          },
          "extra": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {}
            },
            "readOnly": true
          },
          "startedBy": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "Link": {
        "type": "object",
        "properties": {
          "subject": {
            "$ref": "#/components/schemas/FusionResource"
          },
          "object": {
            "$ref": "#/components/schemas/FusionResource"
          },
          "linkType": {
            "type": "string",
            "description": "Possible link types:\n\n* `DependsOn` - The subject depends on the object.\n\n* `Supports` - The subject is depended on by the object (the reverse of `dependsOn`).\n\n* `IsPartOf` - The subject is part of the object, where the object is a group.\n\n* `HasPart` - The subject is a group, of which the object is a member (the reverse of `isPartOf`).\n\n* `RelatesTo` - The subject relates to the object. This is a uni-directional relationship that associates two objects that have none of the relationships described above.\n\n* `InContextOf` - The subject exists in the context of the object, which is an app.\n\n* `HasContext` - The subject is an app that contains the object.\n\n* `Self` - The subject and the object are the same.",
            "readOnly": true,
            "enum": [
              "dependsOn",
              "supports",
              "isPartOf",
              "hasPart",
              "relatesTo",
              "inContextOf",
              "hasContext",
              "self"
            ]
          },
          "originator": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "ContextAssets": {
        "type": "object",
        "properties": {
          "resources": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FusionResource"
            }
          },
          "contexts": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FusionResource"
            }
          },
          "bypassCache": {
            "type": "boolean"
          }
        }
      },
      "ImportResult": {
        "type": "object",
        "properties": {
          "conflicts": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "variablesWarnings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "variablesErrors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "variablesSubstitutions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "validationWarnings": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "validationErrors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "importErrors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "importActions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "zipFileToken": {
            "type": "string"
          },
          "transformationMsgs": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "type": "string"
          }
        }
      },
      "BodyPart": {
        "type": "object",
        "properties": {
          "contentDisposition": {
            "$ref": "#/components/schemas/ContentDisposition"
          },
          "entity": {
            "type": "object",
            "properties": {}
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "mediaType": {
            "$ref": "#/components/schemas/MediaType"
          },
          "messageBodyWorkers": {
            "$ref": "#/components/schemas/MessageBodyWorkers"
          },
          "parent": {
            "$ref": "#/components/schemas/MultiPart"
          },
          "providers": {
            "$ref": "#/components/schemas/Providers"
          },
          "parameterizedHeaders": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ParameterizedHeader"
              }
            }
          }
        }
      },
      "ContentDisposition": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "parameters": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "fileName": {
            "type": "string"
          },
          "creationDate": {
            "type": "string",
            "format": "date-time"
          },
          "modificationDate": {
            "type": "string",
            "format": "date-time"
          },
          "readDate": {
            "type": "string",
            "format": "date-time"
          },
          "size": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "FormDataBodyPart": {
        "type": "object",
        "properties": {
          "contentDisposition": {
            "$ref": "#/components/schemas/ContentDisposition"
          },
          "entity": {
            "type": "object",
            "properties": {}
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "mediaType": {
            "$ref": "#/components/schemas/MediaType"
          },
          "messageBodyWorkers": {
            "$ref": "#/components/schemas/MessageBodyWorkers"
          },
          "parent": {
            "$ref": "#/components/schemas/MultiPart"
          },
          "providers": {
            "$ref": "#/components/schemas/Providers"
          },
          "formDataContentDisposition": {
            "$ref": "#/components/schemas/FormDataContentDisposition"
          },
          "simple": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "parameterizedHeaders": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ParameterizedHeader"
              }
            }
          }
        }
      },
      "FormDataContentDisposition": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "parameters": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "fileName": {
            "type": "string"
          },
          "creationDate": {
            "type": "string",
            "format": "date-time"
          },
          "modificationDate": {
            "type": "string",
            "format": "date-time"
          },
          "readDate": {
            "type": "string",
            "format": "date-time"
          },
          "size": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "FormDataMultiPart": {
        "type": "object",
        "properties": {
          "contentDisposition": {
            "$ref": "#/components/schemas/ContentDisposition"
          },
          "entity": {
            "type": "object",
            "properties": {}
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "mediaType": {
            "$ref": "#/components/schemas/MediaType"
          },
          "messageBodyWorkers": {
            "$ref": "#/components/schemas/MessageBodyWorkers"
          },
          "parent": {
            "$ref": "#/components/schemas/MultiPart"
          },
          "providers": {
            "$ref": "#/components/schemas/Providers"
          },
          "bodyParts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BodyPart"
            }
          },
          "fields": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/FormDataBodyPart"
              }
            }
          },
          "parameterizedHeaders": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ParameterizedHeader"
              }
            }
          }
        }
      },
      "MediaType": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "subtype": {
            "type": "string"
          },
          "parameters": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "wildcardType": {
            "type": "boolean"
          },
          "wildcardSubtype": {
            "type": "boolean"
          }
        }
      },
      "MessageBodyWorkers": {
        "type": "object"
      },
      "MultiPart": {
        "type": "object",
        "properties": {
          "contentDisposition": {
            "$ref": "#/components/schemas/ContentDisposition"
          },
          "entity": {
            "type": "object",
            "properties": {}
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "mediaType": {
            "$ref": "#/components/schemas/MediaType"
          },
          "messageBodyWorkers": {
            "$ref": "#/components/schemas/MessageBodyWorkers"
          },
          "parent": {
            "$ref": "#/components/schemas/MultiPart"
          },
          "providers": {
            "$ref": "#/components/schemas/Providers"
          },
          "bodyParts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BodyPart"
            }
          },
          "parameterizedHeaders": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/ParameterizedHeader"
              }
            }
          }
        }
      },
      "ParameterizedHeader": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string"
          },
          "parameters": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "Providers": {
        "type": "object"
      },
      "AuthConfig": {
        "type": "object",
        "properties": {
          "authType": {
            "type": "string",
            "readOnly": true,
            "enum": [
              "NONE",
              "BASIC",
              "KERBEROS"
            ]
          },
          "username": {
            "type": "string",
            "readOnly": true
          },
          "password": {
            "type": "string",
            "readOnly": true
          },
          "keyTab": {
            "type": "string",
            "readOnly": true
          },
          "principal": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "CustomRuleTypeConfig": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "DataModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "indexPipeline": {
            "type": "string"
          },
          "queryPipeline": {
            "type": "string"
          },
          "fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DataModelField"
            }
          }
        }
      },
      "DataModelField": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "required": {
            "type": "boolean",
            "readOnly": true
          },
          "mappings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DataModelSolrFieldMapping"
            }
          }
        }
      },
      "DataModelSolrFieldMapping": {
        "type": "object",
        "properties": {
          "solrField": {
            "type": "string"
          },
          "queryField": {
            "type": "boolean"
          },
          "phraseMatch": {
            "type": "boolean"
          },
          "boostValue": {
            "type": "number",
            "format": "double"
          },
          "phraseBoost": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "DataSource": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "modified": {
            "type": "string",
            "format": "date-time"
          },
          "connector": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "pipeline": {
            "type": "string"
          },
          "parserId": {
            "type": "string"
          },
          "properties": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {}
            },
            "readOnly": true
          }
        }
      },
      "Experiment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "ExportContainer": {
        "type": "object",
        "properties": {
          "objects": {
            "$ref": "#/components/schemas/FusionObjects"
          },
          "properties": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubstitutedProperty"
            }
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          }
        }
      },
      "FusionApp": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "readOnly": true
          },
          "description": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "FusionObjects": {
        "type": "object",
        "properties": {
          "collections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Collection"
            }
          },
          "indexPipelines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IndexPipelineDefinition"
            }
          },
          "queryPipelines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QueryPipelineDefinition"
            }
          },
          "searchClusters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SearchCluster"
            }
          },
          "features": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/Feature"
              }
            }
          },
          "indexProfiles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IndexProfile"
            }
          },
          "queryProfiles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QueryProfile"
            }
          },
          "parsers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ParserConfig"
            }
          },
          "objectGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ObjectGroup"
            }
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Link"
            }
          },
          "tasks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Task"
            }
          },
          "jobs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JobConfig"
            }
          },
          "sparkJobs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SparkJobConfig"
            }
          },
          "blobs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Blob"
            }
          },
          "experiments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Experiment"
            }
          },
          "appkitApps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AppkitAppExportContainer"
            }
          },
          "fusionApps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FusionApp"
            }
          },
          "customRules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomRuleTypeConfig"
            }
          },
          "templates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Template"
            }
          },
          "zones": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Zone"
            }
          },
          "subscriptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Subscription"
            }
          },
          "templateSettings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TemplateSettings"
            }
          },
          "dataModels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DataModel"
            }
          },
          "dataSources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DataSource"
            }
          }
        }
      },
      "IndexPipelineDefinition": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "IndexProfile": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "Metadata": {
        "type": "object",
        "properties": {
          "formatVersion": {
            "type": "string"
          },
          "exportedBy": {
            "type": "string"
          },
          "exportedDate": {
            "type": "string"
          },
          "fusionVersion": {
            "type": "string"
          },
          "fusionGuid": {
            "type": "string"
          }
        }
      },
      "ObjectGroup": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "readOnly": true
          },
          "isSystem": {
            "type": "boolean",
            "readOnly": true
          },
          "description": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "ParserConfig": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "QueryPipelineDefinition": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "QueryProfile": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "Schema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "hints": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "SearchCluster": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "connectString": {
            "type": "string",
            "readOnly": true
          },
          "zkClientTimeout": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "zkConnectTimeout": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "cloud": {
            "type": "boolean",
            "readOnly": true
          },
          "bufferFlushInterval": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "bufferSize": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "concurrency": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "authConfig": {
            "$ref": "#/components/schemas/AuthConfig"
          },
          "validateCluster": {
            "type": "boolean"
          }
        }
      },
      "SparkJobConfig": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "Subscription": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "SubstitutedProperty": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "schema": {
            "$ref": "#/components/schemas/Schema"
          }
        }
      },
      "Task": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "type": {
            "type": "string",
            "readOnly": true
          }
        },
        "discriminator": {
          "propertyName": "type"
        }
      },
      "Template": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "TemplateSettings": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "app": {
            "type": "string"
          }
        }
      },
      "Zone": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "ImportSubstitutions": {
        "type": "object",
        "properties": {
          "properties": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubstitutedProperty"
            }
          },
          "values": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "zipFileToken": {
            "type": "string"
          }
        }
      },
      "Schedule": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The ID of the schedule. This is required when creating a schedule with a POST request."
          },
          "creatorType": {
            "type": "string",
            "description": "The type of user that created the schedule. If you have resources creating schedules programmatically, you could define a type that helps distinguish those schedules from others created by people."
          },
          "creatorId": {
            "type": "string",
            "description": "An ID for the user that created the schedule."
          },
          "createTime": {
            "type": "string",
            "format": "date-time"
          },
          "startTime": {
            "type": "string",
            "description": "A time when the schedule should be started. If this is not set, it will be set to the date/time when the schedule was created.",
            "format": "date-time"
          },
          "endTime": {
            "type": "string",
            "description": "A time when the schedule should be terminated, i.e., when it will not run any more in the future. If not set, the schedule will run until it is disabled (i.e., `active` is set to `false`) or deleted.",
            "format": "date-time"
          },
          "repeatUnit": {
            "type": "string",
            "description": "A unit of time that when combined with the interval property defines how often the schedule will run. Allowed values are: <br/>● `millisecond` or `ms`<br/>● `second` or `sec`<br/>● `minute` or `min`<br/>● `hour` or `hr`<br/>● `day`<br/>● `week`<br/>● `month`  These time units are not case-sensitive.",
            "enum": [
              "MILLISECOND",
              "SECOND",
              "MINUTE",
              "HOUR",
              "DAY",
              "WEEK",
              "MONTH"
            ]
          },
          "interval": {
            "type": "integer",
            "description": "An integer that when combined with the repeatUnit property defines how often the schedule will run. If this is not set, or set to a number lower than '1' (i.e., '0'), the schedule will only be run once.",
            "format": "int32"
          },
          "active": {
            "type": "boolean",
            "description": "If **true**, the schedule will be executed according to the defined interval. If **false**, the schedule will be disabled and will not run at the defined time."
          },
          "callParams": {
            "$ref": "#/components/schemas/CallParams"
          }
        }
      },
      "Analyzer": {
        "type": "object",
        "properties": {
          "tokenizer": {
            "$ref": "#/components/schemas/Tokenizer"
          },
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Filter"
            }
          },
          "type": {
            "type": "string"
          },
          "class": {
            "type": "string"
          }
        }
      },
      "Filter": {
        "type": "object",
        "properties": {
          "class": {
            "type": "string"
          }
        }
      },
      "SolrFieldType": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "analyzer": {
            "$ref": "#/components/schemas/Analyzer"
          },
          "indexAnalyzer": {
            "$ref": "#/components/schemas/Analyzer"
          },
          "queryAnalyzer": {
            "$ref": "#/components/schemas/Analyzer"
          },
          "indexed": {
            "type": "boolean"
          },
          "stored": {
            "type": "boolean"
          },
          "multiValued": {
            "type": "boolean"
          },
          "positionIncrementGap": {
            "type": "integer",
            "format": "int32"
          },
          "class": {
            "type": "string"
          }
        }
      },
      "Tokenizer": {
        "type": "object",
        "properties": {
          "class": {
            "type": "string"
          }
        }
      },
      "DynamicField": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "indexed": {
            "type": "boolean"
          },
          "stored": {
            "type": "boolean"
          },
          "multiValued": {
            "type": "boolean"
          },
          "required": {
            "type": "boolean"
          },
          "docValues": {
            "type": "boolean"
          },
          "omitNorms": {
            "type": "boolean"
          },
          "omitPositions": {
            "type": "boolean"
          },
          "omitTermFreqAndPositions": {
            "type": "boolean"
          },
          "termVectors": {
            "type": "boolean"
          },
          "termPositions": {
            "type": "boolean"
          },
          "termOffsets": {
            "type": "boolean"
          },
          "copyDests": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "copySources": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "numDocs": {
            "type": "integer",
            "format": "int32"
          },
          "indexFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IndexField"
            }
          },
          "default": {
            "type": "string"
          }
        }
      },
      "IndexField": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "numDocs": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "Field": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "indexed": {
            "type": "boolean"
          },
          "stored": {
            "type": "boolean"
          },
          "multiValued": {
            "type": "boolean"
          },
          "required": {
            "type": "boolean"
          },
          "docValues": {
            "type": "boolean"
          },
          "omitNorms": {
            "type": "boolean"
          },
          "omitPositions": {
            "type": "boolean"
          },
          "omitTermFreqAndPositions": {
            "type": "boolean"
          },
          "termVectors": {
            "type": "boolean"
          },
          "termPositions": {
            "type": "boolean"
          },
          "termOffsets": {
            "type": "boolean"
          },
          "copyDests": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "copySources": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "numDocs": {
            "type": "integer",
            "format": "int32"
          },
          "default": {
            "type": "string"
          }
        }
      },
      "HostInfo": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "arch": {
            "type": "string"
          },
          "systemLoadAverage": {
            "type": "number",
            "format": "double"
          },
          "committedVirtualMemorySize": {
            "type": "integer",
            "format": "int64"
          },
          "freePhysicalMemorySize": {
            "type": "integer",
            "format": "int64"
          },
          "freeSwapSpaceSize": {
            "type": "integer",
            "format": "int64"
          },
          "processCpuTime": {
            "type": "integer",
            "format": "int64"
          },
          "totalPhysicalMemorySize": {
            "type": "integer",
            "format": "int64"
          },
          "totalSwapSpaceSize": {
            "type": "integer",
            "format": "int64"
          },
          "openFileDescriptorCount": {
            "type": "integer",
            "format": "int64"
          },
          "maxFileDescriptorCount": {
            "type": "integer",
            "format": "int64"
          },
          "uname": {
            "type": "string"
          },
          "uptime": {
            "type": "string"
          }
        }
      },
      "JVMInfo": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "processors": {
            "type": "integer",
            "format": "int32"
          },
          "memory": {
            "$ref": "#/components/schemas/JVMMemoryInfo"
          }
        }
      },
      "JVMMemoryInfo": {
        "type": "object",
        "properties": {
          "raw": {
            "$ref": "#/components/schemas/JVMRawMemoryInfo"
          }
        }
      },
      "JVMRawMemoryInfo": {
        "type": "object",
        "properties": {
          "free": {
            "type": "integer",
            "format": "int64"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          },
          "max": {
            "type": "integer",
            "format": "int64"
          },
          "used": {
            "type": "integer",
            "format": "int64"
          },
          "used%": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "SystemInfo": {
        "type": "object",
        "properties": {
          "mode": {
            "type": "string",
            "enum": [
              "std",
              "solrcloud"
            ]
          },
          "baseUrl": {
            "type": "string"
          },
          "lucene": {
            "$ref": "#/components/schemas/Version"
          },
          "jvm": {
            "$ref": "#/components/schemas/JVMInfo"
          },
          "system": {
            "$ref": "#/components/schemas/HostInfo"
          }
        }
      },
      "Version": {
        "type": "object",
        "properties": {
          "solr-spec-version": {
            "type": "string"
          },
          "lucene-spec-version": {
            "type": "string"
          }
        }
      },
      "Node": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "readOnly": true
          },
          "baseUrl": {
            "type": "string",
            "readOnly": true
          },
          "state": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "SolrZkConfigNode": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the file or node."
          },
          "parent": {
            "type": "string"
          },
          "href": {
            "type": "string",
            "format": "uri"
          },
          "version": {
            "type": "integer",
            "description": "The file or node version from ZooKeeper.",
            "format": "int32"
          },
          "isDir": {
            "type": "boolean",
            "description": "If the node has children, this value will be true."
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SolrZkConfigNode"
            }
          },
          "value": {
            "type": "array",
            "description": "Only returned if `expand=true` is added as a query parameter. This will be returned as the base64 encoding of the contents of the file.",
            "items": {
              "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
              "type": "string",
              "format": "byte"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "STOPWORDS",
              "SYNONYMS"
            ]
          }
        }
      },
      "SynonymFile": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string"
          },
          "state": {
            "type": "string",
            "enum": [
              "NOT_READY",
              "READY",
              "NOT_SAVED"
            ]
          }
        }
      },
      "SynonymEntry": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "mapping": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "modified": {
            "type": "string",
            "format": "date-time"
          },
          "user": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "readOnly": true,
            "enum": [
              "EXPLICIT",
              "EQUIVALENT"
            ]
          }
        }
      },
      "StreamingOutput": {
        "type": "object"
      },
      "Counter": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "Gauge": {
        "type": "object",
        "properties": {
          "value": {
            "type": "object",
            "properties": {}
          }
        }
      },
      "Histogram": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int64"
          },
          "snapshot": {
            "$ref": "#/components/schemas/Snapshot"
          }
        }
      },
      "Meter": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int64"
          },
          "fifteenMinuteRate": {
            "type": "number",
            "format": "double"
          },
          "fiveMinuteRate": {
            "type": "number",
            "format": "double"
          },
          "meanRate": {
            "type": "number",
            "format": "double"
          },
          "oneMinuteRate": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "Metric": {
        "type": "object"
      },
      "MetricRegistry": {
        "type": "object",
        "properties": {
          "metrics": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/Metric"
            }
          },
          "names": {
            "uniqueItems": true,
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "gauges": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/Gauge"
            }
          },
          "counters": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/Counter"
            }
          },
          "histograms": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/Histogram"
            }
          },
          "meters": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/Meter"
            }
          },
          "timers": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/Timer"
            }
          }
        }
      },
      "MetricResponse": {
        "type": "object",
        "properties": {
          "metricRegistry": {
            "$ref": "#/components/schemas/MetricRegistry"
          },
          "metricsList": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/Metric"
            }
          },
          "pretty": {
            "type": "boolean"
          },
          "rateUnit": {
            "type": "string",
            "enum": [
              "NANOSECONDS",
              "MICROSECONDS",
              "MILLISECONDS",
              "SECONDS",
              "MINUTES",
              "HOURS",
              "DAYS"
            ]
          },
          "durationUnit": {
            "type": "string",
            "enum": [
              "NANOSECONDS",
              "MICROSECONDS",
              "MILLISECONDS",
              "SECONDS",
              "MINUTES",
              "HOURS",
              "DAYS"
            ]
          },
          "showSamples": {
            "type": "boolean"
          }
        }
      },
      "Snapshot": {
        "type": "object",
        "properties": {
          "min": {
            "type": "integer",
            "format": "int64"
          },
          "values": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "max": {
            "type": "integer",
            "format": "int64"
          },
          "mean": {
            "type": "number",
            "format": "double"
          },
          "stdDev": {
            "type": "number",
            "format": "double"
          },
          "median": {
            "type": "number",
            "format": "double"
          },
          "get75thPercentile": {
            "type": "number",
            "format": "double"
          },
          "get95thPercentile": {
            "type": "number",
            "format": "double"
          },
          "get98thPercentile": {
            "type": "number",
            "format": "double"
          },
          "get99thPercentile": {
            "type": "number",
            "format": "double"
          },
          "get999thPercentile": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "Timer": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "format": "int64"
          },
          "fifteenMinuteRate": {
            "type": "number",
            "format": "double"
          },
          "fiveMinuteRate": {
            "type": "number",
            "format": "double"
          },
          "meanRate": {
            "type": "number",
            "format": "double"
          },
          "oneMinuteRate": {
            "type": "number",
            "format": "double"
          },
          "snapshot": {
            "$ref": "#/components/schemas/Snapshot"
          }
        }
      },
      "Params": {
        "type": "object",
        "properties": {
          "zkHost": {
            "type": "string",
            "readOnly": true
          },
          "path": {
            "type": "string",
            "readOnly": true
          },
          "encodeValues": {
            "type": "string",
            "readOnly": true
          },
          "includePaths": {
            "type": "array",
            "readOnly": true,
            "items": {
              "type": "string"
            }
          },
          "excludePaths": {
            "type": "array",
            "readOnly": true,
            "items": {
              "type": "string"
            }
          },
          "recursive": {
            "type": "boolean",
            "readOnly": true
          },
          "ephemeral": {
            "type": "boolean",
            "readOnly": true
          }
        }
      },
      "ZNode": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "readOnly": true
          },
          "children": {
            "type": "array",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/ZNode"
            }
          },
          "data": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "ZNodeDump": {
        "type": "object",
        "properties": {
          "request": {
            "$ref": "#/components/schemas/ZNodeDumpRequest"
          },
          "response": {
            "$ref": "#/components/schemas/ZNode"
          }
        }
      },
      "ZNodeDumpRequest": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "params": {
            "$ref": "#/components/schemas/Params"
          }
        }
      }
    },
    "securitySchemes": {
      "Basic auth": {
        "type": "http",
        "scheme": "basic"
      },
      "API key": {
        "name": "x-api-key",
        "type": "apiKey",
        "in": "header"
      }
    }
  },
  "x-original-swagger-version": "2.0"
}
