{
  "swagger": "2.0",
  "info": {
    "description": "The XNAT REST API (XAPI) functions provide access to XNAT internal functions for remote clients.",
    "version": "1.8.0-RC-SNAPSHOT-69-fef392dc8b (build Manual on Thu Feb 18 17:25:03 UTC 2021)",
    "title": "XNAT REST API",
    "termsOfService": "http://www.xnat.org/download",
    "contact": {
      "name": "XNAT",
      "url": "http://www.xnat.org",
      "email": "info@xnat.org"
    },
    "license": {
      "name": "Simplified 2-Clause BSD",
      "url": "https://opensource.org/licenses/BSD-2-Clause"
    }
  },
  "host": "10.1.1.17",
  "basePath": "/xapi",
  "tags": [
    {
      "name": "anonymize-api",
      "description": "Anonymize Api"
    },
    {
      "name": "archive-processor-instance-api",
      "description": "Archive Processor Instance Api"
    },
    {
      "name": "async-operations-api",
      "description": "Asynchronous Operations Preferences API"
    },
    {
      "name": "automation-api",
      "description": "Automation Service API"
    },
    {
      "name": "catalog-api",
      "description": "Catalog Api"
    },
    {
      "name": "data-access-api",
      "description": "Data Access Api"
    },
    {
      "name": "dicom-mapping-api",
      "description": "Dicom Mapping Api"
    },
    {
      "name": "dicom-scp-api",
      "description": "Dicom SCP Api"
    },
    {
      "name": "dicom-transaction-api",
      "description": "XNAT DICOM transaction management API"
    },
    {
      "name": "event-handler-api",
      "description": "Event Handler Api"
    },
    {
      "name": "event-service-rest-api",
      "description": "Event Service Rest Api"
    },
    {
      "name": "event-tracking-data-api",
      "description": "Event Tracking Data Api"
    },
    {
      "name": "investigators-api",
      "description": "Investigators Api"
    },
    {
      "name": "logging-api",
      "description": "Logging Api"
    },
    {
      "name": "notifications-api",
      "description": "XNAT Notifications management API"
    },
    {
      "name": "pipeline-api",
      "description": "Pipeline Api"
    },
    {
      "name": "plugin-open-urls-configuration-api",
      "description": "Plugin Open URLs Authorization API"
    },
    {
      "name": "preferences-api",
      "description": "Preferences Service API"
    },
    {
      "name": "schema-api",
      "description": "Schema Api"
    },
    {
      "name": "schema-only-api",
      "description": "Schema Only Api"
    },
    {
      "name": "site-config-api",
      "description": "Site Config Api"
    },
    {
      "name": "snapshot-generation-api",
      "description": "Snapshot Generation Api"
    },
    {
      "name": "spawner-api",
      "description": "Spawner Api"
    },
    {
      "name": "theme-api",
      "description": "XNAT Theme Management API"
    },
    {
      "name": "users-api",
      "description": "Users Api"
    },
    {
      "name": "xnat-plugin-api",
      "description": "Xnat Plugin Api"
    },
    {
      "name": "xnat-task-api",
      "description": "Xnat Task Api"
    }
  ],
  "paths": {
    "/access/cache/flush": {
      "delete": {
        "tags": [
          "data-access-api"
        ],
        "summary": "Clears the element cache for the current user=.",
        "operationId": "flushUserCacheStatusUsingDELETE_1",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "The user's cache was properly cleared."
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/access/cache/flush/{username}": {
      "delete": {
        "tags": [
          "data-access-api"
        ],
        "summary": "Clears the element cache for the specified user.",
        "operationId": "flushUserCacheStatusUsingDELETE",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "description": "Indicates the name of the user whose cache should be flushed. If not provided, this flushes the cache of the current user.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The specified user's cache was properly cleared."
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to clear the specified user's cache.."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/access/cache/status": {
      "get": {
        "tags": [
          "data-access-api"
        ],
        "summary": "Returns a map indicating the status of the cache initialization.",
        "operationId": "getCacheStatusUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "A map with information on the status of cache initialization.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to access the list of available element displays."
          },
          "404": {
            "description": "Indicates that the cache implementation doesn't have the ability to report its status."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/access/displays": {
      "get": {
        "tags": [
          "data-access-api"
        ],
        "summary": "Gets a list of the available element displays.",
        "description": "The available element displays can be used as parameters for this call in the form /xapi/access/displays/{DISPLAY}. This call is accessible to guest users when the site preference require login is set to false (i.e. open XNATs).",
        "operationId": "getAvailableElementDisplaysUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "A list of available element displays.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to access the list of available element displays."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/access/displays/modified": {
      "get": {
        "tags": [
          "data-access-api"
        ],
        "summary": "Gets the last modified timestamp for the current user.",
        "description": "This indicates the time of the latest update to elements relevant to the user. An update to these elements can mean that permissions for the user have changed and the various displays should be refreshed if cached on the client side.",
        "operationId": "getLastModifiedUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "A list of available element displays.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to access the list of available element displays."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/access/displays/{display}": {
      "get": {
        "tags": [
          "data-access-api"
        ],
        "summary": "Gets a list of the element displays of the specified type for the current user.",
        "description": "This call is accessible to guest users when the site preference require login is set to false (i.e. open XNATs).",
        "operationId": "getElementDisplaysUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "display",
            "in": "path",
            "description": "display",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "A list of element displays of the specified type for the current user.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to access the list of available element displays."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/access/permissions/group/{projectId}": {
      "get": {
        "tags": [
          "data-access-api"
        ],
        "summary": "Finds any irregular permissions settings for standard project groups (Owners, Members, Collaborators).",
        "operationId": "getProjectPermissionsUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "projectId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Irregular permissions were found and fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "204": {
            "description": "There were no irregular permissions to be fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to clear the specified user's cache.."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "head": {
        "tags": [
          "data-access-api"
        ],
        "summary": "Finds any irregular permissions settings for standard project groups (Owners, Members, Collaborators).",
        "operationId": "getProjectPermissionsUsingHEAD",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "projectId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Irregular permissions were found and fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "204": {
            "description": "There were no irregular permissions to be fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to clear the specified user's cache.."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "data-access-api"
        ],
        "summary": "Finds any irregular permissions settings for standard project groups (Owners, Members, Collaborators).",
        "operationId": "getProjectPermissionsUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "projectId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Irregular permissions were found and fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "204": {
            "description": "There were no irregular permissions to be fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to clear the specified user's cache.."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "data-access-api"
        ],
        "summary": "Finds any irregular permissions settings for standard project groups (Owners, Members, Collaborators).",
        "operationId": "getProjectPermissionsUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "projectId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Irregular permissions were found and fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "204": {
            "description": "There were no irregular permissions to be fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to clear the specified user's cache.."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "data-access-api"
        ],
        "summary": "Finds any irregular permissions settings for standard project groups (Owners, Members, Collaborators).",
        "operationId": "getProjectPermissionsUsingDELETE",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "projectId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Irregular permissions were found and fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "204": {
            "description": "There were no irregular permissions to be fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to clear the specified user's cache.."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "options": {
        "tags": [
          "data-access-api"
        ],
        "summary": "Finds any irregular permissions settings for standard project groups (Owners, Members, Collaborators).",
        "operationId": "getProjectPermissionsUsingOPTIONS",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "projectId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Irregular permissions were found and fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "204": {
            "description": "There were no irregular permissions to be fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to clear the specified user's cache.."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "patch": {
        "tags": [
          "data-access-api"
        ],
        "summary": "Finds any irregular permissions settings for standard project groups (Owners, Members, Collaborators).",
        "operationId": "getProjectPermissionsUsingPATCH",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "projectId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Irregular permissions were found and fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "204": {
            "description": "There were no irregular permissions to be fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to clear the specified user's cache.."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/access/permissions/irregular/find": {
      "get": {
        "tags": [
          "data-access-api"
        ],
        "summary": "Finds any irregular permissions settings for standard project groups (Owners, Members, Collaborators).",
        "operationId": "findIrregularPermissionsUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "Irregular permissions were found and fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "204": {
            "description": "There were no irregular permissions to be fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to clear the specified user's cache.."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "head": {
        "tags": [
          "data-access-api"
        ],
        "summary": "Finds any irregular permissions settings for standard project groups (Owners, Members, Collaborators).",
        "operationId": "findIrregularPermissionsUsingHEAD",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "Irregular permissions were found and fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "204": {
            "description": "There were no irregular permissions to be fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to clear the specified user's cache.."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "data-access-api"
        ],
        "summary": "Finds any irregular permissions settings for standard project groups (Owners, Members, Collaborators).",
        "operationId": "findIrregularPermissionsUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "Irregular permissions were found and fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "204": {
            "description": "There were no irregular permissions to be fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to clear the specified user's cache.."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "data-access-api"
        ],
        "summary": "Finds any irregular permissions settings for standard project groups (Owners, Members, Collaborators).",
        "operationId": "findIrregularPermissionsUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "Irregular permissions were found and fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "204": {
            "description": "There were no irregular permissions to be fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to clear the specified user's cache.."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "data-access-api"
        ],
        "summary": "Finds any irregular permissions settings for standard project groups (Owners, Members, Collaborators).",
        "operationId": "findIrregularPermissionsUsingDELETE",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "Irregular permissions were found and fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "204": {
            "description": "There were no irregular permissions to be fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to clear the specified user's cache.."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "options": {
        "tags": [
          "data-access-api"
        ],
        "summary": "Finds any irregular permissions settings for standard project groups (Owners, Members, Collaborators).",
        "operationId": "findIrregularPermissionsUsingOPTIONS",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "Irregular permissions were found and fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "204": {
            "description": "There were no irregular permissions to be fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to clear the specified user's cache.."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "patch": {
        "tags": [
          "data-access-api"
        ],
        "summary": "Finds any irregular permissions settings for standard project groups (Owners, Members, Collaborators).",
        "operationId": "findIrregularPermissionsUsingPATCH",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "Irregular permissions were found and fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "204": {
            "description": "There were no irregular permissions to be fixed.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Map"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to clear the specified user's cache.."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/access/permissions/irregular/fix": {
      "post": {
        "tags": [
          "data-access-api"
        ],
        "summary": "Finds and fixes any irregular permissions settings for standard project groups (Owners, Members, Collaborators).",
        "operationId": "fixIrregularPermissionsUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "Irregular permissions were found and fixed.",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "204": {
            "description": "There were no irregular permissions to be fixed.",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to clear the specified user's cache.."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/access/projects": {
      "get": {
        "tags": [
          "data-access-api"
        ],
        "summary": "Gets the projects and roles associated with the current user.",
        "operationId": "getProjectRolesUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "A list of projects and roles for the current user.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/access/{username}/displays/modified": {
      "get": {
        "tags": [
          "data-access-api"
        ],
        "summary": "Gets the last modified timestamp for the specified user. This can only be called by users with administrative privileges.",
        "description": "This indicates the time of the latest update to elements relevant to the specified user. An update to these elements can mean that permissions for the specified user have changed and the various displays should be refreshed if cached on the client side.",
        "operationId": "getLastModifiedForUserUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "description": "The user to get the last modified timestamp for.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Timestamp of when the list of available element displays for the specified user was updated.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to access the user's cache timestamp."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/access/{username}/displays/{display}": {
      "get": {
        "tags": [
          "data-access-api"
        ],
        "summary": "Gets a list of the element displays of the specified type for the specified user. This can only be called by users with administrative privileges.",
        "operationId": "getElementDisplaysForUserUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "display",
            "in": "path",
            "description": "display",
            "required": true,
            "type": "string"
          },
          {
            "name": "username",
            "in": "path",
            "description": "username",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "A list of element displays of the specified type for the specified user.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to access the list of available element displays for the specified user."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/access/{username}/projects": {
      "get": {
        "tags": [
          "data-access-api"
        ],
        "summary": "Gets the projects and roles associated with the specified user. This can only be called by users with administrative privileges.",
        "operationId": "getUserProjectRolesUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "description": "The user to get the project roles for.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "A list of projects and roles for the specified user.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to access the user's projects and roles."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/anonymize/default": {
      "get": {
        "tags": [
          "anonymize-api"
        ],
        "summary": "Gets the default anonymization script.",
        "operationId": "getDefaultAnonScriptUsingGET",
        "produces": [
          "text/plain"
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the contents of the default anonymization script.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Insufficient permissions to access the default anonymization script."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/anonymize/projects/{projectId}": {
      "get": {
        "tags": [
          "anonymize-api"
        ],
        "summary": "Gets the project-specific anonymization script.",
        "operationId": "getProjectAnonScriptUsingGET",
        "produces": [
          "text/plain"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "projectId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the contents of the project-specific anonymization script.",
            "schema": {
              "type": "string"
            }
          },
          "204": {
            "description": "The specified project was found but had no associated anonymization script.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Insufficient permissions to access the project-specific anonymization script."
          },
          "404": {
            "description": "The specified project wasn't found."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "anonymize-api"
        ],
        "summary": "Sets the project-specific anonymization script.",
        "operationId": "setProjectAnonScriptUsingPUT",
        "consumes": [
          "text/plain"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "Indicates the ID of the project to be enabled or disabled.",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "script",
            "description": "Whether the specified project's anonymization script should be enabled or disabled.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully stored the contents of the project-specific anonymization script."
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Insufficient permissions to modify the project-specific anonymization script."
          },
          "404": {
            "description": "The specified project wasn't found."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/anonymize/projects/{projectId}/enabled": {
      "get": {
        "tags": [
          "anonymize-api"
        ],
        "summary": "Indicates whether the project-specific anonymization script is enabled or disabled.",
        "operationId": "isProjectAnonScriptEnabledUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "projectId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the status of the project-specific anonymization script.",
            "schema": {
              "type": "boolean"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Insufficient permissions to access the project-specific anonymization script settings."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "anonymize-api"
        ],
        "summary": "Enables or disables the project-specific anonymization script.",
        "operationId": "setProjectAnonScriptEnabledUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "enable",
            "in": "query",
            "description": "enable",
            "required": false,
            "type": "boolean",
            "default": true
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "projectId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully set the status of the project-specific anonymization script."
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Insufficient permissions to modify the project-specific anonymization script settings."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/anonymize/site": {
      "get": {
        "tags": [
          "anonymize-api"
        ],
        "summary": "Gets the site-wide anonymization script.",
        "operationId": "getSiteWideAnonScriptUsingGET",
        "produces": [
          "text/plain"
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the contents of the site-wide anonymization script.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Insufficient permissions to access the site-wide anonymization script."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "anonymize-api"
        ],
        "summary": "Sets the site-wide anonymization script.",
        "operationId": "setSiteWideAnonScriptUsingPUT",
        "consumes": [
          "text/plain"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "script",
            "description": "script",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully stored the contents of the site-wide anonymization script."
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Insufficient permissions to modify the site-wide anonymization script."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/anonymize/site/enabled": {
      "get": {
        "tags": [
          "anonymize-api"
        ],
        "summary": "Indicates whether the site-wide anonymization script is enabled or disabled.",
        "operationId": "isSiteWideAnonScriptEnabledUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved the status of the site-wide anonymization script.",
            "schema": {
              "type": "boolean"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Insufficient permissions to access the site-wide anonymization script settings."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "anonymize-api"
        ],
        "summary": "Enables or disables the site-wide anonymization script.",
        "operationId": "setSiteWideAnonScriptEnabledUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "enable",
            "in": "query",
            "description": "Whether the site-wide anonymization script should be enabled or disabled.",
            "required": true,
            "type": "boolean",
            "default": true,
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully set the status of the site-wide anonymization script."
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Insufficient permissions to modify the site-wide anonymization script settings."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/archive/catalogs/refresh": {
      "put": {
        "tags": [
          "catalog-api"
        ],
        "summary": "Refresh the catalog entry for one or more resources.",
        "description": "The resource should be identified by standard archive-relative paths, such as /archive/experiments/XNAT_E0001 or /archive/projects/XNAT_01/subjects/XNAT_01_01.",
        "operationId": "refreshResourceCatalogUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "resources",
            "description": "The list of resources to be refreshed.",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The refresh operation(s) were completed successfully."
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected or unknown error occurred"
          }
        },
        "deprecated": false
      }
    },
    "/archive/catalogs/refresh/{operations}": {
      "put": {
        "tags": [
          "catalog-api"
        ],
        "summary": "Refresh the catalog entry for one or more resources, performing only the operations specified.",
        "description": "The resource should be identified by standard archive-relative paths, such as /archive/experiments/XNAT_E0001 or /archive/projects/XNAT_01/subjects/XNAT_01_01. The available operations are All, Append, Checksum, Delete, and PopulateStats. They should be comma separated but without spaces. Omitting the operations implies All.",
        "operationId": "refreshResourceCatalogWithOptionsUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "operations",
            "in": "path",
            "description": "The operations to be performed",
            "required": false,
            "type": "string",
            "enum": [
              "All",
              "Append",
              "Checksum",
              "Delete",
              "PopulateStats"
            ]
          },
          {
            "in": "body",
            "name": "resources",
            "description": "The list of resources to be refreshed.",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The refresh operation(s) were completed successfully."
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected or unknown error occurred"
          }
        },
        "deprecated": false
      }
    },
    "/archive/download": {
      "post": {
        "tags": [
          "catalog-api"
        ],
        "summary": "Creates a download catalog for the submitted sessions and other data objects.",
        "description": "The map submitted to this call supports lists of object IDs organized by key type: sessions, scan_type, scan_format, recon, assessors, and resources. The response for this method is the ID for the catalog of resolved resources, which can be submitted to the download/{catalog} function to retrieve the catalog or to the download/{catalog}/zip function to retrieve thefiles in the catalog as a zip archive.",
        "operationId": "createDownloadSessionsCatalogUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/xml"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "resources",
            "description": "The resources to be cataloged.",
            "required": false,
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The download catalog was successfully built.",
            "schema": {
              "type": "string"
            }
          },
          "201": {
            "description": "Created"
          },
          "204": {
            "description": "No resources were specified.",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Something is wrong with the request format."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "The user is not authorized to access one or more of the specified resources."
          },
          "404": {
            "description": "The request was valid but one or more of the specified resources was not found."
          },
          "500": {
            "description": "An unexpected or unknown error occurred"
          }
        },
        "deprecated": false
      }
    },
    "/archive/download/{catalogId}": {
      "get": {
        "tags": [
          "catalog-api"
        ],
        "summary": "Retrieves the download catalog for the submitted catalog ID.",
        "description": "This retrieves a catalog created earlier by the catalog service.",
        "operationId": "getDownloadSessionsCatalogUsingGET",
        "produces": [
          "application/xml"
        ],
        "parameters": [
          {
            "name": "catalogId",
            "in": "path",
            "description": "The ID of the catalog to be downloaded.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The download catalog was successfully built.",
            "schema": {
              "$ref": "#/definitions/CatCatalogBean"
            }
          },
          "204": {
            "description": "No resources were specified.",
            "schema": {
              "$ref": "#/definitions/CatCatalogBean"
            }
          },
          "400": {
            "description": "Something is wrong with the request format."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "The user is not authorized to access one or more of the specified resources."
          },
          "404": {
            "description": "The request was valid but one or more of the specified resources was not found."
          },
          "500": {
            "description": "An unexpected or unknown error occurred"
          }
        },
        "deprecated": false
      }
    },
    "/archive/download/{catalogId}/test": {
      "get": {
        "tags": [
          "catalog-api"
        ],
        "summary": "Downloads the specified catalog as a zip archive, using a small empty file for each entry.",
        "operationId": "downloadSessionCatalogZipTestUsingGET",
        "produces": [
          "application/zip"
        ],
        "parameters": [
          {
            "name": "catalogId",
            "in": "path",
            "description": "The ID of the catalog of resources to be downloaded.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resources were successfully downloaded.",
            "schema": {
              "$ref": "#/definitions/StreamingResponseBody"
            }
          },
          "204": {
            "description": "No resources were specified.",
            "schema": {
              "$ref": "#/definitions/StreamingResponseBody"
            }
          },
          "400": {
            "description": "Something is wrong with the request format."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "The user is not authorized to access one or more of the specified resources."
          },
          "404": {
            "description": "The request was valid but one or more of the specified resources was not found."
          },
          "500": {
            "description": "An unexpected or unknown error occurred"
          }
        },
        "deprecated": false
      }
    },
    "/archive/download/{catalogId}/xml": {
      "get": {
        "tags": [
          "catalog-api"
        ],
        "summary": "Downloads the specified catalog as an XML file.",
        "operationId": "downloadSessionCatalogXmlUsingGET",
        "produces": [
          "application/xml"
        ],
        "parameters": [
          {
            "name": "catalogId",
            "in": "path",
            "description": "The ID of the catalog to be downloaded.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested catalog was successfully downloaded.",
            "schema": {
              "$ref": "#/definitions/StreamingResponseBody"
            }
          },
          "204": {
            "description": "No catalog was specified.",
            "schema": {
              "$ref": "#/definitions/StreamingResponseBody"
            }
          },
          "400": {
            "description": "Something is wrong with the request format."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "The user is not authorized to access the specified catalog."
          },
          "404": {
            "description": "The request was valid but the specified catalog was not found."
          },
          "500": {
            "description": "An unexpected or unknown error occurred"
          }
        },
        "deprecated": false
      }
    },
    "/archive/download/{catalogId}/zip": {
      "get": {
        "tags": [
          "catalog-api"
        ],
        "summary": "Downloads the contents of the specified catalog as a zip archive.",
        "operationId": "downloadSessionCatalogZipUsingGET",
        "produces": [
          "application/zip"
        ],
        "parameters": [
          {
            "name": "catalogId",
            "in": "path",
            "description": "The ID of the catalog of resources to be downloaded.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested resources were successfully downloaded.",
            "schema": {
              "$ref": "#/definitions/StreamingResponseBody"
            }
          },
          "204": {
            "description": "No resources were specified.",
            "schema": {
              "$ref": "#/definitions/StreamingResponseBody"
            }
          },
          "400": {
            "description": "Something is wrong with the request format."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "The user is not authorized to access one or more of the specified resources."
          },
          "404": {
            "description": "The request was valid but one or more of the specified resources was not found."
          },
          "500": {
            "description": "An unexpected or unknown error occurred"
          }
        },
        "deprecated": false
      }
    },
    "/archive/downloadwithsize": {
      "post": {
        "tags": [
          "catalog-api"
        ],
        "summary": "Creates a download catalog for the submitted sessions and other data objects.",
        "description": "The map submitted to this call supports lists of object IDs organized by key type: sessions, scan_type, scan_format, recon, assessors, and resources. The response for this method is jsonwith the ID for the catalog of resolved resources (which can be submitted to the download/{catalog} function to retrieve the catalog or to the download/{catalog}/zip functionto retrieve the files in the catalog as a zip archive), as well as the total size of the files.",
        "operationId": "createDownloadSessionsCatalogWithSizeUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "resources",
            "description": "The resources to be cataloged.",
            "required": false,
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The download catalog was successfully built.",
            "schema": {
              "type": "string"
            }
          },
          "201": {
            "description": "Created"
          },
          "204": {
            "description": "No resources were specified.",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Something is wrong with the request format."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "The user is not authorized to access one or more of the specified resources."
          },
          "404": {
            "description": "The request was valid but one or more of the specified resources was not found."
          },
          "500": {
            "description": "An unexpected or unknown error occurred"
          }
        },
        "deprecated": false
      }
    },
    "/archive/upload/xml": {
      "post": {
        "tags": [
          "catalog-api"
        ],
        "summary": "Accepts the XML payload and attempts to create or update an XNAT data object as appropriate.",
        "operationId": "uploadXmlUsingPOST",
        "consumes": [
          "multipart/form-data"
        ],
        "produces": [
          "text/plain"
        ],
        "parameters": [
          {
            "in": "formData",
            "name": "allowDataDeletion",
            "description": "Indicates whether data in existing objects should be overwritten by values in the uploaded XML",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "formData",
            "name": "event_action",
            "description": "Describes the event action for audit entries",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "formData",
            "name": "event_comment",
            "description": "Includes any comments about the change.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "formData",
            "name": "event_reason",
            "description": "Describes the reason for the change.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "item",
            "in": "formData",
            "description": "The XML body.",
            "required": false,
            "type": "file"
          }
        ],
        "responses": {
          "200": {
            "description": "The requested XML was successfully uploaded.",
            "schema": {
              "type": "string"
            }
          },
          "201": {
            "description": "Created"
          },
          "204": {
            "description": "No resources were specified.",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Something is wrong with the request format."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "The user is not authorized to access one or more of the specified resources."
          },
          "404": {
            "description": "The request was valid but one or more of the specified resources was not found."
          },
          "500": {
            "description": "An unexpected or unknown error occurred"
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "catalog-api"
        ],
        "summary": "Accepts the XML payload and attempts to create or update an XNAT data object as appropriate.",
        "operationId": "uploadXmlUsingPUT",
        "consumes": [
          "application/xml",
          "text/plain"
        ],
        "produces": [
          "text/plain"
        ],
        "parameters": [
          {
            "name": "allowDataDeletion",
            "in": "query",
            "description": "Indicates whether data in existing objects should be overwritten by values in the uploaded XML",
            "required": false,
            "type": "boolean",
            "allowEmptyValue": false
          },
          {
            "name": "event_action",
            "in": "query",
            "description": "Describes the event action for audit entries",
            "required": false,
            "type": "string",
            "default": "REST",
            "allowEmptyValue": false
          },
          {
            "name": "event_comment",
            "in": "query",
            "description": "Includes any comments about the change.",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          },
          {
            "name": "event_reason",
            "in": "query",
            "description": "Describes the reason for the change.",
            "required": false,
            "type": "string",
            "allowEmptyValue": false
          },
          {
            "in": "body",
            "name": "xml",
            "description": "The XML body.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested XML was successfully uploaded.",
            "schema": {
              "type": "string"
            }
          },
          "201": {
            "description": "Created"
          },
          "204": {
            "description": "No resources were specified.",
            "schema": {
              "type": "string"
            }
          },
          "400": {
            "description": "Something is wrong with the request format."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "The user is not authorized to access one or more of the specified resources."
          },
          "404": {
            "description": "The request was valid but one or more of the specified resources was not found."
          },
          "500": {
            "description": "An unexpected or unknown error occurred"
          }
        },
        "deprecated": false
      }
    },
    "/asyncOps": {
      "get": {
        "tags": [
          "async-operations-api"
        ],
        "summary": "Returns the full map of async operations preferences for this XNAT application.",
        "operationId": "getAsyncOperationsPreferencesUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Async operations preferences successfully retrieved.",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Insufficient privileges to retrieve the requested settings."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "async-operations-api"
        ],
        "summary": "Sets a map of async operations preferences.",
        "description": "Sets the async operations preferences specified in the map.",
        "operationId": "setAsyncOperationsPreferencesUsingPOST",
        "consumes": [
          "application/json",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "preferences",
            "description": "The map of async operations preferences to be set.",
            "required": true,
            "schema": {
              "type": "object"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Async operations preferences successfully set.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set async operations preferences."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/asyncOps/{preference}": {
      "get": {
        "tags": [
          "async-operations-api"
        ],
        "summary": "Returns the value of a particular async operations preference.",
        "operationId": "getAsyncOperationsPreferenceUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "preference",
            "in": "path",
            "description": "preference",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Preference settings successfully retrieved.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Insufficient privileges to retrieve the requested setting."
          },
          "404": {
            "description": "Tool ID not found in the system."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "head": {
        "tags": [
          "async-operations-api"
        ],
        "summary": "Returns the value of a particular async operations preference.",
        "operationId": "getAsyncOperationsPreferenceUsingHEAD",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "preference",
            "in": "path",
            "description": "preference",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Preference settings successfully retrieved.",
            "schema": {
              "type": "string"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Insufficient privileges to retrieve the requested setting."
          },
          "404": {
            "description": "Tool ID not found in the system."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "async-operations-api"
        ],
        "summary": "Returns the value of a particular async operations preference.",
        "operationId": "getAsyncOperationsPreferenceUsingPOST_1",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "preference",
            "in": "path",
            "description": "preference",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Preference settings successfully retrieved.",
            "schema": {
              "type": "string"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Insufficient privileges to retrieve the requested setting."
          },
          "404": {
            "description": "Tool ID not found in the system."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "async-operations-api"
        ],
        "summary": "Returns the value of a particular async operations preference.",
        "operationId": "getAsyncOperationsPreferenceUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "preference",
            "in": "path",
            "description": "preference",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Preference settings successfully retrieved.",
            "schema": {
              "type": "string"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Insufficient privileges to retrieve the requested setting."
          },
          "404": {
            "description": "Tool ID not found in the system."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "async-operations-api"
        ],
        "summary": "Returns the value of a particular async operations preference.",
        "operationId": "getAsyncOperationsPreferenceUsingDELETE",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "preference",
            "in": "path",
            "description": "preference",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Preference settings successfully retrieved.",
            "schema": {
              "type": "string"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Insufficient privileges to retrieve the requested setting."
          },
          "404": {
            "description": "Tool ID not found in the system."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "options": {
        "tags": [
          "async-operations-api"
        ],
        "summary": "Returns the value of a particular async operations preference.",
        "operationId": "getAsyncOperationsPreferenceUsingOPTIONS",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "preference",
            "in": "path",
            "description": "preference",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Preference settings successfully retrieved.",
            "schema": {
              "type": "string"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Insufficient privileges to retrieve the requested setting."
          },
          "404": {
            "description": "Tool ID not found in the system."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "patch": {
        "tags": [
          "async-operations-api"
        ],
        "summary": "Returns the value of a particular async operations preference.",
        "operationId": "getAsyncOperationsPreferenceUsingPATCH",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "preference",
            "in": "path",
            "description": "preference",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Preference settings successfully retrieved.",
            "schema": {
              "type": "string"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Insufficient privileges to retrieve the requested setting."
          },
          "404": {
            "description": "Tool ID not found in the system."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/automation": {
      "get": {
        "tags": [
          "automation-api"
        ],
        "summary": "Returns the full map of automation settings for this XNAT application.",
        "description": "Complex objects may be returned as encapsulated JSON strings.",
        "operationId": "getAllAutomationPreferencesUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Automation settings successfully retrieved.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Insufficient privileges to retrieve the requested setting."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "automation-api"
        ],
        "summary": "Sets a map of automation properties.",
        "description": "Sets the automation properties specified in the map.",
        "operationId": "setBatchAutomationPreferencesUsingPOST",
        "consumes": [
          "application/json",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "properties",
            "description": "The map of automation preferences to be set.",
            "required": true,
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Automation properties successfully set."
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set automation properties."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/automation/enabled": {
      "get": {
        "tags": [
          "automation-api"
        ],
        "summary": "Returns whether internal scripting is enabled for this XNAT application.",
        "description": "Internal scripting may be used by XNAT itself even when disabled, but this setting indicates whether users and administrators can configure and execute scripts internally to the application process. Access to this setting is restricted to site administrators.",
        "operationId": "isInternalScriptingEnabledUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Internal scripting setting successfully retrieved.",
            "schema": {
              "type": "boolean"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Insufficient privileges to retrieve the requested setting."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/automation/enabled/{setting}": {
      "put": {
        "tags": [
          "automation-api"
        ],
        "summary": "Sets the internal scripting enabled flag for this XNAT application to the submitted value.",
        "description": "Internal scripting may be used by XNAT itself even when disabled, but this setting indicates whether users and administrators can configure and execute scripts internally to the application process. Access to this setting is restricted to site administrators.",
        "operationId": "setInternalScriptingEnabledUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "setting",
            "in": "path",
            "description": "setting",
            "required": true,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "Internal scripting setting successfully set.",
            "schema": {
              "type": "boolean"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Insufficient privileges to change the requested setting."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/dicom/list/active": {
      "get": {
        "tags": [
          "dicom-transaction-api"
        ],
        "summary": "Get a list of all outstanding (i.e. not completed or failed) inbox import requests.",
        "operationId": "getOutstandingDicomInboxImportRequestsUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "All outstanding inbox import requests are returned.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/DicomInboxImportRequest"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "The user has insufficient authorization to access the list of inbox import requests."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/dicom/list/all": {
      "get": {
        "tags": [
          "dicom-transaction-api"
        ],
        "summary": "Get a list of all inbox import requests.",
        "operationId": "getDicomInboxImportRequestsUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "All inbox import requests are returned.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/DicomInboxImportRequest"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "The user has insufficient authorization to access the list of inbox import requests."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/dicom/{id}": {
      "get": {
        "tags": [
          "dicom-transaction-api"
        ],
        "summary": "Retrieves the requested inbox import request.",
        "operationId": "getDicomInboxImportRequestUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "id",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "All outstanding inbox import requests are returned.",
            "schema": {
              "$ref": "#/definitions/DicomInboxImportRequest"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "The user has insufficient authorization to access the list of inbox import requests."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/dicom_mappings": {
      "get": {
        "tags": [
          "dicom-mapping-api"
        ],
        "summary": "getAll",
        "operationId": "getAllUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The operation completed successfully.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/DicomMapping"
              }
            }
          },
          "400": {
            "description": "Something is wrong with your request"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error."
          }
        },
        "deprecated": false
      }
    },
    "/dicom_mappings/update": {
      "put": {
        "tags": [
          "dicom-mapping-api"
        ],
        "summary": "Create or update.",
        "operationId": "updateUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "text/html"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "pojo",
            "description": "pojo",
            "required": true,
            "schema": {
              "$ref": "#/definitions/DicomMapping"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The operation completed successfully.",
            "schema": {
              "type": "string"
            }
          },
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Something is wrong with your request"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error."
          }
        },
        "deprecated": false
      }
    },
    "/dicom_mappings/{id}": {
      "delete": {
        "tags": [
          "dicom-mapping-api"
        ],
        "summary": "Delete.",
        "operationId": "deleteUsingDELETE",
        "produces": [
          "text/html"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "id",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation completed successfully.",
            "schema": {
              "type": "string"
            }
          },
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Something is wrong with your request"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "500": {
            "description": "Unexpected error."
          }
        },
        "deprecated": false
      }
    },
    "/dicomscp": {
      "get": {
        "tags": [
          "dicom-scp-api"
        ],
        "summary": "Get list of all configured DICOM SCP receiver definitions.",
        "description": "The primary DICOM SCP retrieval function returns a list of all DICOM SCP receivers defined for the current system.",
        "operationId": "getDicomSCPInstancesUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "A list of DICOM SCP receiver definitions.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/DicomSCPInstance"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "dicom-scp-api"
        ],
        "summary": "Creates a new DICOM SCP receiver from the request body.",
        "description": "The newly created DICOM SCP receiver instance is returned from the call. This should include the instance ID for the new object.",
        "operationId": "createDicomSCPInstanceUsingPOST",
        "consumes": [
          "application/json",
          "multipart/form-data",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "instance",
            "description": "instance",
            "required": true,
            "schema": {
              "$ref": "#/definitions/DicomSCPInstance"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The newly created DICOM SCP receiver definition.",
            "schema": {
              "$ref": "#/definitions/DicomSCPInstance"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to view this DICOM SCP receiver definition."
          },
          "404": {
            "description": "Not Found"
          },
          "409": {
            "description": "A DICOM SCP receiver already exists and is enabled at the same AE title and port."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/dicomscp/identifiers": {
      "get": {
        "tags": [
          "dicom-scp-api"
        ],
        "summary": "Get map of all configured DICOM object identifiers and names.",
        "description": "This function returns a map of all DICOM object identifiers defined for the current system along with each identifier's readable name. The default identifier will be the first in the list.",
        "operationId": "getDicomObjectIdentifiersUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "A map of DICOM object identifiers and names.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "dicom-scp-api"
        ],
        "summary": "Resets all configured DICOM object identifiers.",
        "description": "This function resets all of the DICOM object identifiers defined for the current system. This causes each identifier to reload its configuration on next access.",
        "operationId": "resetDicomObjectIdentifiersUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "The DICOM object identifiers were successfully reset."
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/dicomscp/identifiers/{beanId}": {
      "get": {
        "tags": [
          "dicom-scp-api"
        ],
        "summary": "Get implementation name of the specified DICOM object identifier.",
        "description": "This function returns the fully-qualified class name of the specified DICOM object identifier. You can use the value 'default' to retrieve the default identifier even if you don't know the specific name.",
        "operationId": "getDicomObjectIdentifierUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "beanId",
            "in": "path",
            "description": "beanId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The implementation class of the specified DICOM object identifier.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "No DICOM object identifier with the specified ID was found."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "dicom-scp-api"
        ],
        "summary": "Resets the specified DICOM object identifier.",
        "description": "This function resets the specified DICOM object identifier. This causes the identifier to reload its configuration on next access.",
        "operationId": "resetDicomObjectIdentifierUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "beanId",
            "in": "path",
            "description": "beanId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The DICOM object identifiers were successfully reset."
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "No DICOM object identifier with the specified ID was found."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/dicomscp/start": {
      "put": {
        "tags": [
          "dicom-scp-api"
        ],
        "summary": "Starts all enabled DICOM SCP receivers.",
        "description": "This starts all enabled DICOM SCP receivers. The return value contains the AE titles and ports of all of the started receivers.",
        "operationId": "startAllUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "DICOM SCP receivers successfully started.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to enable or disable this DICOM SCP receiver definition."
          },
          "404": {
            "description": "DICOM SCP receiver definition not found."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/dicomscp/stop": {
      "put": {
        "tags": [
          "dicom-scp-api"
        ],
        "summary": "Stops all enabled DICOM SCP receivers.",
        "description": "This stops all enabled DICOM SCP receivers. The return value contains the AE titles of all of the stopped receivers.",
        "operationId": "stopDicomSCPInstancesUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "DICOM SCP receivers successfully stopped.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to enable or disable this DICOM SCP receiver definition."
          },
          "404": {
            "description": "DICOM SCP receiver definition not found."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/dicomscp/title/{title}/{port}": {
      "get": {
        "tags": [
          "dicom-scp-api"
        ],
        "summary": "Gets the DICOM SCP receiver definition with the specified AE title and port.",
        "description": "Returns the DICOM SCP receiver definition with the specified AE title and port.",
        "operationId": "getDicomSCPInstanceByTitleAndPortUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "port",
            "in": "path",
            "description": "Port of the DICOM SCP receiver definition to fetch",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "title",
            "in": "path",
            "description": "AE title of the DICOM SCP receiver definition to fetch",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "DICOM SCP receiver definition successfully retrieved.",
            "schema": {
              "$ref": "#/definitions/DicomSCPInstance"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to view this DICOM SCP receiver definition."
          },
          "404": {
            "description": "DICOM SCP receiver definition not found."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/dicomscp/{id}": {
      "get": {
        "tags": [
          "dicom-scp-api"
        ],
        "summary": "Gets the DICOM SCP receiver definition with the specified ID.",
        "description": "Returns the DICOM SCP receiver definition with the specified ID.",
        "operationId": "getDicomSCPInstanceUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID of the DICOM SCP receiver definition to fetch",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "DICOM SCP receiver definition successfully retrieved.",
            "schema": {
              "$ref": "#/definitions/DicomSCPInstance"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to view this DICOM SCP receiver definition."
          },
          "404": {
            "description": "DICOM SCP receiver definition not found."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "dicom-scp-api"
        ],
        "summary": "Updates the DICOM SCP receiver definition object with the ID specified in the path variable. Note that any ID specified in the serialized definition in the request body is ignored and set to the value from the path variable.",
        "description": "Returns the updated DICOM SCP receiver definition.",
        "operationId": "updateDicomSCPInstanceUsingPUT",
        "consumes": [
          "application/json",
          "multipart/form-data",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the DICOM SCP receiver definition to update.",
            "required": true,
            "type": "integer",
            "format": "int32"
          },
          {
            "in": "body",
            "name": "instance",
            "description": "instance",
            "required": false,
            "schema": {
              "$ref": "#/definitions/DicomSCPInstance"
            },
            "x-examples": {
              "application/json": "{\"aeTitle\": \"TITLE\", \"port\": 8104, \"enabled\": true}"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "DICOM SCP receiver definition successfully updated.",
            "schema": {
              "$ref": "#/definitions/DicomSCPInstance"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to create or update this DICOM SCP receiver definition."
          },
          "404": {
            "description": "DICOM SCP receiver definition not found."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "dicom-scp-api"
        ],
        "summary": "Deletes the DICOM SCP receiver definition object with the specified ID.",
        "description": "This call will stop the receiver if it's currently running.",
        "operationId": "deleteDicomSCPInstanceUsingDELETE",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the DICOM SCP receiver definition to delete.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "DICOM SCP receiver definition successfully deleted."
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to delete this DICOM SCP receiver definition."
          },
          "404": {
            "description": "DICOM SCP receiver definition not found."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/dicomscp/{id}/enabled": {
      "get": {
        "tags": [
          "dicom-scp-api"
        ],
        "summary": "Returns whether the DICOM SCP receiver definition with the specified ID is enabled.",
        "description": "Returns true or false based on whether the specified DICOM SCP receiver definition is enabled or not.",
        "operationId": "getDicomSCPInstanceEnabledUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the DICOM SCP receiver definition to retrieve the enabled status for.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "DICOM SCP receiver definition enabled status successfully retrieved.",
            "schema": {
              "type": "boolean"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to view this DICOM SCP receiver definition."
          },
          "404": {
            "description": "DICOM SCP receiver definition not found."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/dicomscp/{id}/enabled/{flag}": {
      "put": {
        "tags": [
          "dicom-scp-api"
        ],
        "summary": "Sets the DICOM SCP receiver definition's enabled state.",
        "description": "Sets the enabled state of the DICOM SCP receiver definition with the specified ID to the value of the flag parameter.",
        "operationId": "enableDicomSCPInstanceUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "flag",
            "in": "path",
            "description": "The value to set for the enabled status.",
            "required": true,
            "type": "boolean"
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID of the DICOM SCP receiver definition to modify",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "DICOM SCP receiver definition enabled status successfully set.",
            "schema": {
              "$ref": "#/definitions/DicomSCPInstance"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to enable or disable this DICOM SCP receiver definition."
          },
          "404": {
            "description": "DICOM SCP receiver definition not found."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/eventHandlers/automationEventClasses": {
      "get": {
        "tags": [
          "event-handler-api"
        ],
        "summary": "Get list of event classes.",
        "description": "Returns a list of classes implementing AutomationEventI.",
        "operationId": "automationEventClassesGetUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "An array of class names",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EventClassInfo"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/eventHandlers/{triggerId}": {
      "get": {
        "tags": [
          "event-handler-api"
        ],
        "summary": "getEventHandler",
        "operationId": "getEventHandlerUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "triggerId",
            "in": "path",
            "description": "triggerId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ScriptTrigger"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/event_tracking/{key}": {
      "get": {
        "tags": [
          "event-tracking-data-api"
        ],
        "summary": "getData",
        "operationId": "getDataUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "key",
            "in": "path",
            "description": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EventTrackingDataPojo"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/event_tracking/{key}/payload": {
      "get": {
        "tags": [
          "event-tracking-data-api"
        ],
        "summary": "getPayload",
        "operationId": "getPayloadUsingGET",
        "produces": [
          "text/plain"
        ],
        "parameters": [
          {
            "name": "key",
            "in": "path",
            "description": "key",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/events/action": {
      "get": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "Get a actions by key in the form of \"ProviderID:ActionID\"",
        "operationId": "getActionUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "actionkey",
            "in": "query",
            "description": "actionkey",
            "required": true,
            "type": "string"
          },
          {
            "name": "project",
            "in": "query",
            "description": "project",
            "required": false,
            "type": "string"
          },
          {
            "name": "xnattype",
            "in": "query",
            "description": "xnattype",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Action"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/events/actions": {
      "get": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "getActions",
        "operationId": "getActionsUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "project",
            "in": "query",
            "description": "project",
            "required": false,
            "type": "string"
          },
          {
            "name": "xnattype",
            "in": "query",
            "description": "xnattype",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Action"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/events/actionsbyevent": {
      "get": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "Get actions that can act on a particular Event type",
        "operationId": "getActionsByEventUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "event-type",
            "in": "query",
            "description": "event-type",
            "required": true,
            "type": "string"
          },
          {
            "name": "project",
            "in": "query",
            "description": "project",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Action"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/events/allactions": {
      "get": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "getAllActions",
        "operationId": "getAllActionsUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Action"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/events/delivered": {
      "post": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "Get paginated event history results per request",
        "operationId": "getDeliveredSubscriptionsUsingPOST",
        "consumes": [
          "application/json;charset=UTF-8"
        ],
        "produces": [
          "application/json;charset=UTF-8"
        ],
        "parameters": [
          {
            "name": "include-filter-mismatch",
            "in": "query",
            "description": "include-filter-mismatch",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "load-children",
            "in": "query",
            "description": "load-children",
            "required": false,
            "type": "boolean",
            "default": true
          },
          {
            "name": "project",
            "in": "query",
            "description": "project",
            "required": false,
            "type": "string"
          },
          {
            "in": "body",
            "name": "request",
            "description": "request",
            "required": false,
            "schema": {
              "$ref": "#/definitions/SubscriptionDeliveryEntityPaginatedRequest"
            }
          },
          {
            "name": "subscription-id",
            "in": "query",
            "description": "subscription-id",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/SubscriptionDelivery"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/events/delivered/cleanup/": {
      "post": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "Cleanup Event Service history by deleting old serialized payload objects. Keep N most recent.",
        "operationId": "deactivateSubscriptionUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "keep-recent",
            "in": "query",
            "description": "keep-recent",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/events/delivered/count": {
      "get": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "getDeliveredSubscriptionsCount",
        "operationId": "getDeliveredSubscriptionsCountUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "include-filter-mismatch",
            "in": "query",
            "description": "include-filter-mismatch",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "project",
            "in": "query",
            "description": "project",
            "required": false,
            "type": "string"
          },
          {
            "name": "subscription-id",
            "in": "query",
            "description": "subscription-id",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/events/delivered/summary": {
      "get": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "getDeliveredSubscriptionsSummary",
        "operationId": "getDeliveredSubscriptionsSummaryUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "project",
            "in": "query",
            "description": "project",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/SubscriptionDeliverySummary"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": true
      }
    },
    "/events/delivered/{id}": {
      "get": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "getDeliveredSubscriptions",
        "operationId": "getDeliveredSubscriptionsUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "id",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SubscriptionDelivery"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/events/event": {
      "get": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "getEvent",
        "operationId": "getEventUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "event-type",
            "in": "query",
            "description": "event-type",
            "required": true,
            "type": "string"
          },
          {
            "name": "load-details",
            "in": "query",
            "description": "load-details",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SimpleEvent"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/events/event/properties": {
      "get": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "Get a event properties for a given Event ID",
        "operationId": "retrieveEventPropertiesUsingGET",
        "produces": [
          "application/json;charset=UTF-8"
        ],
        "parameters": [
          {
            "name": "event-type",
            "in": "query",
            "description": "event-type",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EventPropertyNode"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/events/events": {
      "get": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "getEvents",
        "operationId": "getEventsUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "load-details",
            "in": "query",
            "description": "load-details",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/SimpleEvent"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/events/prefs": {
      "get": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "Get Event Service Preferences",
        "operationId": "getPrefsUsingGET",
        "produces": [
          "*/*"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EventServicePrefs"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "Update Event Service Preferences",
        "operationId": "updatePrefsUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "prefs",
            "description": "prefs",
            "required": true,
            "schema": {
              "$ref": "#/definitions/EventServicePrefs"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/events/subscription": {
      "post": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "Create a Subscription",
        "operationId": "createSubscriptionUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "overpopulate-attributes",
            "in": "query",
            "description": "overpopulate-attributes",
            "required": false,
            "type": "boolean"
          },
          {
            "in": "body",
            "name": "subscription",
            "description": "subscription",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SubscriptionCreator"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "string"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/events/subscription/filter": {
      "get": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "Get a subscription filter for a given Event ID",
        "operationId": "retrieveFilterBuilderUsingGET",
        "produces": [
          "application/json;charset=UTF-8"
        ],
        "parameters": [
          {
            "name": "event-type",
            "in": "query",
            "description": "event-type",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "$ref": "#/definitions/JsonPathFilterNode"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/events/subscription/filter/validate": {
      "post": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "Validate a JsonPath predicate for use in event service filter.",
        "operationId": "validateFilterJsonPathPredicateUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "jsonPathPredicate",
            "description": "jsonPathPredicate",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/events/subscription/{id}": {
      "get": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "Get a Subscription by ID",
        "operationId": "retrieveSubscriptionUsingGET",
        "produces": [
          "application/json;charset=UTF-8"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "id",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Subscription"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "Update an existing Subscription",
        "operationId": "updateSubscriptionUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "id",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "in": "body",
            "name": "update",
            "description": "update",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SubscriptionUpdate"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "Deactivate and delete a subscription by ID",
        "operationId": "deleteUsingDELETE_1",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "id",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "deprecated": false
      }
    },
    "/events/subscription/{id}/activate": {
      "post": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "Activate an existing Subscription",
        "operationId": "activateSubscriptionUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "id",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/events/subscription/{id}/deactivate": {
      "post": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "deactivate an existing Subscription",
        "operationId": "deactivateSubscriptionUsingPOST_1",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "id",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/events/subscriptions": {
      "get": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "getAllSubscriptions",
        "operationId": "getAllSubscriptionsUsingGET",
        "produces": [
          "application/json;charset=UTF-8"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Subscription"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/experiments/{session}/scan/{scanId}/snapshot": {
      "get": {
        "tags": [
          "snapshot-generation-api"
        ],
        "summary": "Get a single image or montage of full-size images from the scan. Generate the resource if necessary.",
        "operationId": "getSnapshotUsingGET",
        "produces": [
          "image/gif"
        ],
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "description": "Specifies the project that contains the image session",
            "required": false,
            "type": "string"
          },
          {
            "name": "scanId",
            "in": "path",
            "description": "The scan for which the thumbnail should be generated",
            "required": false,
            "type": "string"
          },
          {
            "name": "session",
            "in": "path",
            "description": "Specifies the ID or label for the image session (if this is the label, you must also specify the project at least)",
            "required": false,
            "type": "string"
          },
          {
            "name": "subject",
            "in": "path",
            "description": "Specifies the subject associated with the image session",
            "required": false,
            "type": "string"
          },
          {
            "name": "view",
            "in": "path",
            "description": "Specifies the grid layout for montage views; must be in the format *numRows*X*numColumns*, e.g. 3X3, 5X2, etc.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Snapshot located or generated and returned.",
            "schema": {
              "$ref": "#/definitions/Resource"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "The session or scan requested doesn't exist."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/experiments/{session}/scan/{scanId}/snapshot/{view}": {
      "get": {
        "tags": [
          "snapshot-generation-api"
        ],
        "summary": "Get a single image or montage of full-size images from the scan. Generate the resource if necessary.",
        "operationId": "getSnapshotUsingGET_1",
        "produces": [
          "image/gif"
        ],
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "description": "Specifies the project that contains the image session",
            "required": false,
            "type": "string"
          },
          {
            "name": "scanId",
            "in": "path",
            "description": "The scan for which the thumbnail should be generated",
            "required": false,
            "type": "string"
          },
          {
            "name": "session",
            "in": "path",
            "description": "Specifies the ID or label for the image session (if this is the label, you must also specify the project at least)",
            "required": false,
            "type": "string"
          },
          {
            "name": "subject",
            "in": "path",
            "description": "Specifies the subject associated with the image session",
            "required": false,
            "type": "string"
          },
          {
            "name": "view",
            "in": "path",
            "description": "Specifies the grid layout for montage views; must be in the format *numRows*X*numColumns*, e.g. 3X3, 5X2, etc.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Snapshot located or generated and returned.",
            "schema": {
              "$ref": "#/definitions/Resource"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "The session or scan requested doesn't exist."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/experiments/{session}/scan/{scanId}/thumbnail": {
      "get": {
        "tags": [
          "snapshot-generation-api"
        ],
        "summary": "Get a single thumbnail or montage of thumbnails. Generate the resource if necessary.",
        "operationId": "getThumbnailUsingGET",
        "produces": [
          "image/gif"
        ],
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "description": "Specifies the project that contains the image session",
            "required": false,
            "type": "string"
          },
          {
            "name": "scanId",
            "in": "path",
            "description": "The scan for which the thumbnail should be generated",
            "required": false,
            "type": "string"
          },
          {
            "name": "session",
            "in": "path",
            "description": "Specifies the ID or label for the image session (if this is the label, you must also specify the project at least)",
            "required": false,
            "type": "string"
          },
          {
            "name": "subject",
            "in": "path",
            "description": "Specifies the subject associated with the image session",
            "required": false,
            "type": "string"
          },
          {
            "name": "view",
            "in": "path",
            "description": "Specifies the grid layout for montage views; must be in the format *numRows*X*numColumns*, e.g. 3X3, 5X2, etc.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thumbnail located or generated and returned.",
            "schema": {
              "$ref": "#/definitions/Resource"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "The session or scan requested doesn't exist."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/experiments/{session}/scan/{scanId}/thumbnail/{view}": {
      "get": {
        "tags": [
          "snapshot-generation-api"
        ],
        "summary": "Get a single thumbnail or montage of thumbnails. Generate the resource if necessary.",
        "operationId": "getThumbnailUsingGET_1",
        "produces": [
          "image/gif"
        ],
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "description": "Specifies the project that contains the image session",
            "required": false,
            "type": "string"
          },
          {
            "name": "scanId",
            "in": "path",
            "description": "The scan for which the thumbnail should be generated",
            "required": false,
            "type": "string"
          },
          {
            "name": "session",
            "in": "path",
            "description": "Specifies the ID or label for the image session (if this is the label, you must also specify the project at least)",
            "required": false,
            "type": "string"
          },
          {
            "name": "subject",
            "in": "path",
            "description": "Specifies the subject associated with the image session",
            "required": false,
            "type": "string"
          },
          {
            "name": "view",
            "in": "path",
            "description": "Specifies the grid layout for montage views; must be in the format *numRows*X*numColumns*, e.g. 3X3, 5X2, etc.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thumbnail located or generated and returned.",
            "schema": {
              "$ref": "#/definitions/Resource"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "The session or scan requested doesn't exist."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/investigators": {
      "get": {
        "tags": [
          "investigators-api"
        ],
        "summary": "Get list of investigators.",
        "description": "The investigators function returns a list of all investigators configured in the XNAT system.",
        "operationId": "getInvestigatorsUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Returns a list of all of the currently configured investigators.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Investigator"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected or unknown error occurred"
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "investigators-api"
        ],
        "summary": "Creates a new investigator from the submitted attributes.",
        "description": "Returns the newly created investigator with the submitted attributes.",
        "operationId": "createInvestigatorUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "investigator",
            "description": "investigator",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Investigator"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the newly created investigator.",
            "schema": {
              "$ref": "#/definitions/Investigator"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Insufficient privileges to create the submitted investigator."
          },
          "404": {
            "description": "The requested investigator wasn't found."
          },
          "500": {
            "description": "An unexpected or unknown error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/investigators/{investigatorId}": {
      "get": {
        "tags": [
          "investigators-api"
        ],
        "summary": "Gets the requested investigator.",
        "description": "Returns the investigator with the specified ID.",
        "operationId": "getInvestigatorUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "investigatorId",
            "in": "path",
            "description": "investigatorId",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the requested investigator.",
            "schema": {
              "$ref": "#/definitions/Investigator"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "The requested investigator wasn't found."
          },
          "500": {
            "description": "An unexpected or unknown error occurred."
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "investigators-api"
        ],
        "summary": "Updates the requested investigator from the submitted attributes.",
        "description": "Returns the updated investigator.",
        "operationId": "updateInvestigatorUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "investigator",
            "description": "investigator",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Investigator"
            }
          },
          {
            "name": "investigatorId",
            "in": "path",
            "description": "investigatorId",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the updated investigator.",
            "schema": {
              "$ref": "#/definitions/Investigator"
            }
          },
          "201": {
            "description": "Created"
          },
          "304": {
            "description": "The requested investigator is the same as the submitted investigator."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Insufficient privileges to edit the requested investigator."
          },
          "404": {
            "description": "The requested investigator wasn't found."
          },
          "500": {
            "description": "An unexpected or unknown error occurred."
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "investigators-api"
        ],
        "summary": "Deletes the requested investigator.",
        "description": "Returns true if the requested investigator was successfully deleted. Returns false otherwise.",
        "operationId": "deleteInvestigatorUsingDELETE",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "investigatorId",
            "in": "path",
            "description": "investigatorId",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns true to indicate the requested investigator was successfully deleted.",
            "schema": {
              "type": "boolean"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "The user doesn't have permission to delete investigators."
          },
          "404": {
            "description": "The requested investigator wasn't found."
          },
          "500": {
            "description": "An unexpected or unknown error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/logs/configs": {
      "get": {
        "tags": [
          "logging-api"
        ],
        "summary": "Gets a list of all logging configuration files located either in XNAT itself or in plugins.",
        "operationId": "getLoggingConfigurationsUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "XNAT logging configurations successfully retrieved.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/logs/configs/{resourceId}": {
      "get": {
        "tags": [
          "logging-api"
        ],
        "summary": "Gets the requested logging configuration file located either in XNAT itself or in plugins.",
        "operationId": "getLoggingConfigurationUsingGET",
        "produces": [
          "application/xml"
        ],
        "parameters": [
          {
            "name": "resourceId",
            "in": "path",
            "description": "resourceId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "XNAT logging configuration successfully retrieved.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/logs/download": {
      "get": {
        "tags": [
          "logging-api"
        ],
        "summary": "Downloads the XNAT log files as a zip archive.",
        "operationId": "downloadLogFilesUsingGET_1",
        "produces": [
          "application/zip"
        ],
        "responses": {
          "200": {
            "description": "XNAT logs successfully downloaded.",
            "schema": {
              "$ref": "#/definitions/StreamingResponseBody"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "The user is not authorized to access one or more of the specified resources."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "logging-api"
        ],
        "summary": "Downloads the XNAT log files as a zip archive.",
        "description": "This call takes a string map as JSON. PUT and POST are the same operation. Acceptable values in the map include: \"logFileSpec\" is a glob-style  wild card, e.g. '*.log', 'application.*', etc. This defaults to '*'. \"path\" specifies the path to the folder containing the log files you want to access. The default value is the logs folder in your XNAT home directory, but you can specify other paths to which the XNAT application server user has access, e.g. \"/var/log/tomcat7\" to retrieve the Tomcat logs. Finally \"includeEmptyFiles\" indicates whether empty files should be included. By default only files that contain data are included.",
        "operationId": "downloadLogFilesUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/zip"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "parameters",
            "description": "parameters",
            "required": true,
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "XNAT logs successfully downloaded.",
            "schema": {
              "$ref": "#/definitions/StreamingResponseBody"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "The user is not authorized to access one or more of the specified resources."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "logging-api"
        ],
        "summary": "Downloads the XNAT log files as a zip archive.",
        "description": "This call takes a string map as JSON. PUT and POST are the same operation. Acceptable values in the map include: \"logFileSpec\" is a glob-style  wild card, e.g. '*.log', 'application.*', etc. This defaults to '*'. \"path\" specifies the path to the folder containing the log files you want to access. The default value is the logs folder in your XNAT home directory, but you can specify other paths to which the XNAT application server user has access, e.g. \"/var/log/tomcat7\" to retrieve the Tomcat logs. Finally \"includeEmptyFiles\" indicates whether empty files should be included. By default only files that contain data are included.",
        "operationId": "downloadLogFilesUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/zip"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "parameters",
            "description": "parameters",
            "required": true,
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "XNAT logs successfully downloaded.",
            "schema": {
              "$ref": "#/definitions/StreamingResponseBody"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "The user is not authorized to access one or more of the specified resources."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/logs/download/{logFileSpec}": {
      "get": {
        "tags": [
          "logging-api"
        ],
        "summary": "Downloads the XNAT log files as a zip archive.",
        "operationId": "downloadLogFilesUsingGET",
        "produces": [
          "application/zip"
        ],
        "parameters": [
          {
            "name": "logFileSpec",
            "in": "path",
            "description": "logFileSpec",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "XNAT logs successfully downloaded.",
            "schema": {
              "$ref": "#/definitions/StreamingResponseBody"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "The user is not authorized to access one or more of the specified resources."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/logs/elements": {
      "get": {
        "tags": [
          "logging-api"
        ],
        "summary": "Gets a list of the logger and appender elements defined in the primary logging configuration file in XNAT itself.",
        "operationId": "getPrimaryElementsUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "XNAT logging configuration successfully reset.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/logs/reset": {
      "post": {
        "tags": [
          "logging-api"
        ],
        "summary": "Resets and reloads logging configuration from all logging configuration files located either in XNAT itself or in plugins.",
        "operationId": "resetLoggingConfigurationUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "XNAT logging configurations successfully retrieved.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/notifications": {
      "get": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Returns the full map of site configuration properties.",
        "description": "Complex objects may be returned as encapsulated JSON strings.",
        "operationId": "getNotificationsPropertiesUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Site configuration properties successfully retrieved.",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set site configuration properties."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Sets a map of notifications properties.",
        "description": "Sets the notifications properties specified in the map.",
        "operationId": "setNotificationsPropertiesUsingPOST",
        "consumes": [
          "application/json",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "properties",
            "description": "The map of notifications properties to be set.",
            "required": true,
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Notifications properties successfully set."
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set notifications properties."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/notifications/allow/nonusersubscribers": {
      "get": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Returns whether non-users should be able to subscribe to notifications.",
        "description": "This returns whether non-users should be able to subscribe to notifications.",
        "operationId": "getEmailAllowNonuserSubscribersUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Whether non-users should be able to subscribe to notifications successfully returned.",
            "schema": {
              "type": "boolean"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to get whether non-users should be able to subscribe to notifications."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/notifications/allow/nonusersubscribers/{setting}": {
      "post": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Sets whether non-users should be able to subscribe to notifications.",
        "description": "Sets whether non-users should be able to subscribe to notifications.",
        "operationId": "setEmailAllowNonuserSubscribersUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "setting",
            "in": "path",
            "description": "Whether non-users should be able to subscribe to notifications.",
            "required": true,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "Whether non-users should be able to subscribe to notifications.",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set whether non-users should be able to subscribe to notifications."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/notifications/messages/forgotusername": {
      "get": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Returns the email message for forgot username.",
        "description": "This returns the email message that people should receive when they click that they forgot their username.",
        "operationId": "getEmailMessageForgotUsernameRequestUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Email message for forgot username successfully returned.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to get email message for forgot username."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Sets the email message for forgot username.",
        "description": "Sets the email message that people should receive when they click that they forgot their username.",
        "operationId": "setEmailMessageForgotUsernameRequestUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "message",
            "in": "query",
            "description": "The email message for forgot username.",
            "required": true,
            "type": "string",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "Forgot username email message successfully set.",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set the forgot username email message."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/notifications/messages/help": {
      "get": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Returns the email message for contacting help.",
        "description": "This returns the email message that people should receive when contacting help.",
        "operationId": "getHelpContactInfoUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Email message for contacting help successfully returned.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to get email message for contacting help."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Sets the email message for contacting help.",
        "description": "Sets the email message that people should receive when contacting help.",
        "operationId": "setHelpContactInfoUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "message",
            "in": "query",
            "description": "The email message for contacting help.",
            "required": true,
            "type": "string",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "Help email message successfully set."
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set the help email message."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/notifications/messages/passwordreset": {
      "get": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Returns the email message for password reset.",
        "description": "This returns the email message that people should receive when they click to reset their password.  Link for password reset is auto-populated.",
        "operationId": "getEmailMessageForgotPasswordResetUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Email message for password reset successfully returned.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to get email message for password reset."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Sets the email message for password reset.",
        "description": "Sets the email message that people should receive when they click to reset their password.  Link for password reset is auto-populated.",
        "operationId": "setEmailMessageForgotPasswordResetUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "message",
            "in": "query",
            "description": "The email message for password reset.",
            "required": true,
            "type": "string",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "Password reset message successfully set.",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set the password reset message."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/notifications/messages/registration": {
      "get": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Returns the email message for user registration.",
        "description": "This returns the email message that people should receive when they register. Link for email validation is auto-populated.",
        "operationId": "getEmailMessageUserRegistrationUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Email message for user registration successfully returned.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to get email message for user registration."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Sets the email message for user registration.",
        "description": "Sets the email message that people should receive when they register. Link for email validation is auto-populated.",
        "operationId": "setEmailMessageUserRegistrationUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "message",
            "in": "query",
            "description": "The email message for user registration.",
            "required": true,
            "type": "string",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "User registration email message successfully set.",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set the user registration email message."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/notifications/notify/par": {
      "get": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Returns whether admins should be notified of project access requests.",
        "description": "This returns whether admins should be notified of project access requests.",
        "operationId": "getNotifyAdminProjectAccessRequestUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Email message for forgot username successfully returned.",
            "schema": {
              "type": "boolean"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to get email message for forgot username."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Sets whether admins should be notified of project access requests.",
        "description": "Sets whether admins should be notified of project access requests.",
        "operationId": "setNotifyAdminProjectAccessRequestUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "notify",
            "in": "query",
            "description": "Whether admins should be notified of project access requests successfully set.",
            "required": true,
            "type": "boolean",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "Whether admins should be notified of project access requests successfully set.",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set whether admins should be notified of project access requests."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/notifications/notify/pipeline": {
      "get": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Returns whether admins should be notified of pipeline processing submit.",
        "description": "This returns whether admins should be notified of pipeline processing submit.",
        "operationId": "getNotifyAdminPipelineEmailsUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Email message for user registration successfully returned.",
            "schema": {
              "type": "boolean"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to get email message for user registration."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Sets whether admins should be notified of pipeline processing submit.",
        "description": "Sets whether admins should be notified of pipeline processing submit.",
        "operationId": "setNotifyAdminPipelineEmailsUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "notify",
            "in": "query",
            "description": "Whether admins should be notified of pipeline processing submit successfully set.",
            "required": true,
            "type": "boolean",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "Whether admins should be notified of pipeline processing submit successfully set.",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set whether admins should be notified of pipeline processing submit."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/notifications/notify/registration": {
      "get": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Returns whether admins should be notified of user registration.",
        "description": "This returns whether admins should be notified of user registration.",
        "operationId": "getNotifyAdminUserRegistrationUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Email message for contacting help successfully returned.",
            "schema": {
              "type": "boolean"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to get email message for contacting help."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Sets whether admins should be notified of user registration.",
        "description": "Sets whether admins should be notified of user registration.",
        "operationId": "setNotifyAdminUserRegistrationUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "notify",
            "in": "query",
            "description": "Whether admins should be notified of user registration successfully set.",
            "required": true,
            "type": "boolean",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "Whether admins should be notified of user registration successfully set."
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set whether admins should be notified of user registration."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/notifications/notify/transfer": {
      "get": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Returns whether admins should be notified of session transfer.",
        "description": "This returns whether admins should be notified of session transfer.",
        "operationId": "getNotifyAdminSessionTransferUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Email message for password reset successfully returned.",
            "schema": {
              "type": "boolean"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to get email message for password reset."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Sets whether admins should be notified of session transfer.",
        "description": "Sets whether admins should be notified of session transfer by user.",
        "operationId": "setNotifyAdminSessionTransferUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "notify",
            "in": "query",
            "description": "Whether admins should be notified of session transfer successfully set.",
            "required": true,
            "type": "boolean",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "Whether admins should be notified of session transfer successfully set.",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set whether admins should be notified of session transfer."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/notifications/smtp": {
      "get": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Returns the full SMTP server configuration.",
        "description": "Returns the configuration as a map of the standard Java mail sender properties&ndash;host, port, protocol, username, and password&ndash;along with any extended properties required for the configuration, e.g. configuring SSL- or TLS-secured SMTP services.",
        "operationId": "getSmtpServerPropertiesUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "SMTP service configuration properties successfully retrieved.",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set site configuration properties."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Sets the mail service properties. This return the SMTP server configuration as it exists after being set.",
        "description": "Sets the mail service host, port, username, password, and protocol. You can set extra properties on the mail sender (e.g. for configuring SSL or TLS transport) by specifying the property name and value. Any parameters submitted that are not one of the standard mail sender attributes is set as a mail sender property. You can remove existing properties by setting the property with an empty value. This will override any existing configuration. You can change the values of properties by calling the API method for that specific property or by calling the PUT version of this method.",
        "operationId": "setAllMailPropertiesUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "hostname",
            "in": "query",
            "description": "The value to set for the email host.",
            "required": false,
            "type": "string",
            "default": "NotSet",
            "allowEmptyValue": false
          },
          {
            "name": "password",
            "in": "query",
            "description": "The value to set for the email password.",
            "required": false,
            "type": "string",
            "default": "NotSet",
            "allowEmptyValue": false
          },
          {
            "name": "port",
            "in": "query",
            "description": "The value to set for the email port.",
            "required": false,
            "type": "integer",
            "default": -1,
            "format": "int32",
            "allowEmptyValue": false
          },
          {
            "name": "properties",
            "in": "query",
            "description": "Values to set for extra mail properties. An empty value indicates that an existing property should be removed.",
            "required": false,
            "items": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "allowEmptyValue": false
          },
          {
            "name": "protocol",
            "in": "query",
            "description": "The value to set for the email protocol.",
            "required": false,
            "type": "string",
            "default": "NotSet",
            "allowEmptyValue": false
          },
          {
            "name": "username",
            "in": "query",
            "description": "The value to set for the email username.",
            "required": false,
            "type": "string",
            "default": "NotSet",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "Mail service properties successfully set.",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set the mail service properties."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Sets the submitted mail service properties. This returns the SMTP server configuration as it exists after being set.",
        "description": "Sets the mail service host, port, username, password, and protocol. You can set extra properties on the mail sender (e.g. for configuring SSL or TLS transport) by specifying the property name and value. Any parameters submitted that are not one of the standard mail sender attributes is set as a mail sender property. You can remove existing properties by setting the property with an empty value. This will modify the existing server configuration. You can completely replace the configuration by calling the POST version of this method.",
        "operationId": "setSubmittedMailPropertiesUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "hostname",
            "in": "query",
            "description": "The value to set for the email host.",
            "required": false,
            "type": "string",
            "default": "NotSet",
            "allowEmptyValue": false
          },
          {
            "name": "password",
            "in": "query",
            "description": "The value to set for the email password.",
            "required": false,
            "type": "string",
            "default": "NotSet",
            "allowEmptyValue": false
          },
          {
            "name": "port",
            "in": "query",
            "description": "The value to set for the email port.",
            "required": false,
            "type": "integer",
            "default": -1,
            "format": "int32",
            "allowEmptyValue": false
          },
          {
            "name": "properties",
            "in": "query",
            "description": "Values to set for extra mail properties. An empty value indicates that an existing property should be removed.",
            "required": false,
            "items": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "allowEmptyValue": false
          },
          {
            "name": "protocol",
            "in": "query",
            "description": "The value to set for the email protocol.",
            "required": false,
            "type": "string",
            "default": "NotSet",
            "allowEmptyValue": false
          },
          {
            "name": "username",
            "in": "query",
            "description": "The value to set for the email username.",
            "required": false,
            "type": "string",
            "default": "NotSet",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "Mail service properties successfully set.",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set the mail service properties."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/notifications/smtp/host/{host}": {
      "put": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Sets the mail service host.",
        "description": "Sets the mail service host.",
        "operationId": "setHostPropertyUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "host",
            "in": "path",
            "description": "The value to set for the email host.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Mail service host successfully set.",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set the mail service host."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/notifications/smtp/password/{password}": {
      "put": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Sets the mail service password.",
        "description": "Sets the mail service password.",
        "operationId": "setPasswordPropertyUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "password",
            "in": "path",
            "description": "The value to set for the email password.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Mail service password successfully set.",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set the mail service password."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/notifications/smtp/port/{port}": {
      "put": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Sets the mail service port.",
        "description": "Sets the mail service port.",
        "operationId": "setPortPropertyUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "port",
            "in": "path",
            "description": "The value to set for the email port.",
            "required": true,
            "type": "integer",
            "format": "int32"
          }
        ],
        "responses": {
          "200": {
            "description": "Mail service port successfully set.",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set the mail service port."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/notifications/smtp/property/{property}": {
      "get": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Gets the value for a specified Java mail property.",
        "description": "The value is always returned as a string.",
        "operationId": "getExtendedPropertyUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "property",
            "in": "path",
            "description": "The mail property to be retrieved.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Property found and returned.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set the mail service properties."
          },
          "404": {
            "description": "Specified key not found in the mail service properties."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Sets a Java mail property with the submitted name and value.",
        "description": "Setting a property to an existing value will overwrite the existing value. The value returned by this function contains the previous value (if any).",
        "operationId": "setExtendedPropertyUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "property",
            "in": "path",
            "description": "The name of the extended mail property to set.",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "value",
            "description": "The value to set for the extended mail property.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Property found and returned.",
            "schema": {
              "type": "string"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set the mail service properties."
          },
          "404": {
            "description": "Specified key not found in the mail service properties."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Removes the value for a specified Java mail property.",
        "description": "This completely removes the specified mail property. The value returned by this function contains the previous value (if any).",
        "operationId": "removeExtendedPropertyUsingDELETE",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "property",
            "in": "path",
            "description": "The mail property to be removed.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Property found and returned.",
            "schema": {
              "type": "string"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set the mail service properties."
          },
          "404": {
            "description": "Specified key not found in the mail service properties."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/notifications/smtp/property/{property}/{value}": {
      "put": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Sets a Java mail property with the submitted name and value.",
        "description": "Setting a property to an existing value will overwrite the existing value. The value returned by this function contains the previous value (if any).",
        "operationId": "setExtendedPropertyFromPathUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "property",
            "in": "path",
            "description": "The name of the extended mail property to set.",
            "required": true,
            "type": "string"
          },
          {
            "name": "value",
            "in": "path",
            "description": "The value to set for the extended mail property.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Mail service password successfully set.",
            "schema": {
              "type": "string"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set the mail service password."
          },
          "404": {
            "description": "Specified key not found in the mail service properties."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/notifications/smtp/protocol/{protocol}": {
      "put": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Sets the mail service protocol.",
        "description": "Sets the mail service protocol.",
        "operationId": "setProtocolPropertyUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "protocol",
            "in": "path",
            "description": "The value to set for the email protocol.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Mail service protocol successfully set.",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set the mail service protocol."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/notifications/smtp/username/{username}": {
      "put": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Sets the mail service username.",
        "description": "Sets the mail service username.",
        "operationId": "setUsernamePropertyUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "description": "The value to set for the email username.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Mail service username successfully set.",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set the mail service username."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/notifications/subscribers/error": {
      "get": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Returns list of email addresses subscribed to error notifications.",
        "description": "This returns a list of all the email addresses that are subscribed to receive error notifications.",
        "operationId": "getErrorSubscribersUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Error notification subscribers successfully returned.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to get subscribers for email notifications."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Sets the email addresses for error notifications.",
        "description": "Sets the email addresses that should be subscribed to error notifications.",
        "operationId": "setErrorSubscribersUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "subscribers",
            "in": "query",
            "description": "The values to set for email addresses for error notifications.",
            "required": true,
            "type": "string",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "Error subscribers successfully set."
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set the error subscribers."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/notifications/subscribers/issue": {
      "get": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Returns list of email addresses subscribed to issue notifications.",
        "description": "This returns a list of all the email addresses that are subscribed to receive issue notifications.",
        "operationId": "getIssueSubscribersUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Issue notification subscribers successfully returned.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to get subscribers for email notifications."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Sets the email addresses for issue notifications.",
        "description": "Sets the email addresses that should be subscribed to issue notifications.",
        "operationId": "setIssueSubscribersUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "subscribers",
            "in": "query",
            "description": "The values to set for email addresses for issue notifications.",
            "required": true,
            "type": "string",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "Issue subscribers successfully set.",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set the issue subscribers."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/notifications/subscribers/newuser": {
      "get": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Returns list of email addresses subscribed to new user notifications.",
        "description": "This returns a list of all the email addresses that are subscribed to receive new user notifications.",
        "operationId": "getNewUserSubscribersUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "New user notification subscribers successfully returned.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to get subscribers for email notifications."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Sets the email addresses for new user notifications.",
        "description": "Sets the email addresses that should be subscribed to new user notifications.",
        "operationId": "setNewUserSubscribersUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "subscribers",
            "in": "query",
            "description": "The values to set for email addresses for new user notifications.",
            "required": true,
            "type": "string",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "New user subscribers successfully set.",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set the new user subscribers."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/notifications/subscribers/update": {
      "get": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Returns list of email addresses subscribed to update notifications.",
        "description": "This returns a list of all the email addresses that are subscribed to receive update notifications.",
        "operationId": "getUpdateSubscribersUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Update notification subscribers successfully returned.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to get subscribers for email notifications."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "notifications-api"
        ],
        "summary": "Sets the email addresses for update notifications.",
        "description": "Sets the email addresses that should be subscribed to update notifications.",
        "operationId": "setUpdateSubscribersUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "subscribers",
            "in": "query",
            "description": "The values to set for email addresses for update notifications.",
            "required": true,
            "type": "string",
            "allowEmptyValue": false
          }
        ],
        "responses": {
          "200": {
            "description": "Update subscribers successfully set.",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set the update subscribers."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/pipelines": {
      "get": {
        "tags": [
          "pipeline-api"
        ],
        "summary": "Get all pipeline preference settings",
        "operationId": "getPipelinePreferencesUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "pipeline-api"
        ],
        "summary": "Sets a map of pipeline preference settings.",
        "description": "Sets the pipeline preferences specified in the map.",
        "operationId": "setPipelinePreferencesUsingPOST",
        "consumes": [
          "application/json",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "preferences",
            "description": "The map of pipeline preferences to be set.",
            "required": true,
            "schema": {
              "type": "object"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Pipeline preferences successfully set."
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set pipeline preferences."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/pipelines/autoRun": {
      "get": {
        "tags": [
          "pipeline-api"
        ],
        "summary": "Indicates whether the AutoRun pipeline is enabled or disabled on a site-wide or per-project basis",
        "operationId": "isAutoRunEnabledUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "projectId",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "AutoRun configuration for site or project successfully retrieved.",
            "schema": {
              "type": "boolean"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to check AutoRun settings for the site or specified project."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "pipeline-api"
        ],
        "summary": "Sets whether the AutoRun pipeline is enabled or disabled on a site-wide or per-project basis",
        "operationId": "setAutoRunEnabledUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "projectId",
            "required": false,
            "type": "string"
          },
          {
            "in": "body",
            "name": "value",
            "description": "value",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "AutoRun successfully configured for site or project."
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to modify AutoRun settings for the site or specified project."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "pipeline-api"
        ],
        "summary": "Sets whether the AutoRun pipeline is enabled or disabled on a site-wide or per-project basis",
        "operationId": "setAutoRunEnabledUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "projectId",
            "required": false,
            "type": "string"
          },
          {
            "in": "body",
            "name": "value",
            "description": "value",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "AutoRun successfully configured for site or project."
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to modify AutoRun settings for the site or specified project."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/pipelines/autoRun/overrides": {
      "get": {
        "tags": [
          "pipeline-api"
        ],
        "summary": "Indicates whether AutoRun can be enabled or disabled on a per-project basis",
        "description": "This requires AutoRun to be enabled at the side-wide level to be meaningful.",
        "operationId": "isAllowAutoRunProjectOverrideUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "AutoRun override configuration successfully retrieved.",
            "schema": {
              "type": "boolean"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to check AutoRun settings for the site.."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "pipeline-api"
        ],
        "summary": "Sets whether AutoRun can be enabled or disabled on a per-project basis",
        "description": "This requires AutoRun to be enabled at the side-wide level to be meaningful.",
        "operationId": "setAllowAutoRunProjectOverrideUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "value",
            "description": "value",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "AutoRun override successfully configured."
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to modify AutoRun settings for the site."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/pipelines/autoRun/projects/{projectId}": {
      "get": {
        "tags": [
          "pipeline-api"
        ],
        "summary": "Indicates whether the AutoRun pipeline is enabled or disabled on a site-wide or per-project basis",
        "operationId": "isAutoRunEnabledUsingGET_1",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "projectId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "AutoRun configuration for site or project successfully retrieved.",
            "schema": {
              "type": "boolean"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to check AutoRun settings for the site or specified project."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "pipeline-api"
        ],
        "summary": "Sets whether the AutoRun pipeline is enabled or disabled on a site-wide or per-project basis",
        "operationId": "setAutoRunEnabledUsingPOST_1",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "projectId",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "value",
            "description": "value",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "AutoRun successfully configured for site or project."
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to modify AutoRun settings for the site or specified project."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "pipeline-api"
        ],
        "summary": "Sets whether the AutoRun pipeline is enabled or disabled on a site-wide or per-project basis",
        "operationId": "setAutoRunEnabledUsingPUT_1",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "projectId",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "value",
            "description": "value",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "AutoRun successfully configured for site or project."
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to modify AutoRun settings for the site or specified project."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/pipelines/launch/{pipelineNameOrStep}": {
      "post": {
        "tags": [
          "pipeline-api"
        ],
        "summary": "Resolve the parameters and launch the pipeline",
        "operationId": "launchPipelineWQueryParamsUsingPOST",
        "consumes": [
          "application/json;charset=UTF-8"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "allRequestParams",
            "description": "allRequestParams",
            "required": true,
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          {
            "name": "pipelineNameOrStep",
            "in": "path",
            "description": "pipelineNameOrStep",
            "required": true,
            "type": "string"
          },
          {
            "name": "project",
            "in": "query",
            "description": "project",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/PipelineLaunchReport"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/pipelines/parameters": {
      "get": {
        "tags": [
          "pipeline-api"
        ],
        "summary": "Get the site-wide parameter details for the pipeline identified by its name; optionally pass the project id to get the project specific parameters",
        "operationId": "getSitePipelineParametersUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "pipelinename",
            "in": "query",
            "description": "pipelinename",
            "required": true,
            "type": "string"
          },
          {
            "name": "project",
            "in": "query",
            "description": "project",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/pipelines/project/{projectId}": {
      "get": {
        "tags": [
          "pipeline-api"
        ],
        "summary": "Get a list of project-enabled pipelines for a given datatype (optional)",
        "operationId": "getProjectPipelinesUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "projectId",
            "required": true,
            "type": "string"
          },
          {
            "name": "xsiType",
            "in": "query",
            "description": "xsiType",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/pipelines/site": {
      "get": {
        "tags": [
          "pipeline-api"
        ],
        "summary": "Get a list of site wide pipelines for a given datatype (optional)",
        "operationId": "getSitePipelinesUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "xsiType",
            "in": "query",
            "description": "xsiType",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/pipelines/terminate/{pipelineNameOrStep}/project/{projectId}": {
      "post": {
        "tags": [
          "pipeline-api"
        ],
        "summary": "Resolve the parameters and terminate the pipeline",
        "operationId": "terminateUsingPOST",
        "consumes": [
          "application/json;charset=UTF-8"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "allRequestParams",
            "description": "allRequestParams",
            "required": true,
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          {
            "name": "pipelineNameOrStep",
            "in": "path",
            "description": "pipelineNameOrStep",
            "required": true,
            "type": "string"
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "projectId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Parameters resolved and pipeline successfully terminated.",
            "schema": {
              "$ref": "#/definitions/PipelineLaunchReport"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to terminate the specified pipeline."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/pluginOpenUrls/settings": {
      "get": {
        "tags": [
          "plugin-open-urls-configuration-api"
        ],
        "summary": "Gets the plugin open URL configuration.",
        "description": "Returns plugin open URL configuration for this installation.",
        "operationId": "getPluginOpenUrlsConfigurationUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "An array of properties",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "plugin-open-urls-configuration-api"
        ],
        "summary": "Sets the plugin open URL configuration.",
        "description": "Sets plugin open URL configuration for this installation.",
        "operationId": "setPluginOpenUrlsConfigurationUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "config",
            "description": "config",
            "required": true,
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "boolean"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/plugins": {
      "get": {
        "tags": [
          "xnat-plugin-api"
        ],
        "summary": "Returns a list of all of the installed and active XNAT plugins with their properties.",
        "description": "The maps returned from this call include all of the properties specified in the plugin's property file.",
        "operationId": "getAllPluginsUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "XNAT plugin properties successfully retrieved.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/plugins/{plugin}": {
      "get": {
        "tags": [
          "xnat-plugin-api"
        ],
        "summary": "Returns the indicated XNAT plugin with its properties.",
        "description": "The map returned from this call include all of the properties specified in the plugin's property file.",
        "operationId": "getRequestedPluginUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "plugin",
            "in": "path",
            "description": "plugin",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "XNAT plugin properties successfully retrieved.",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "The requested resource wasn't found."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/prefs": {
      "get": {
        "tags": [
          "preferences-api"
        ],
        "summary": "Returns the full map of preferences and values for this XNAT application.",
        "operationId": "getAllPreferenceSettingsUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Preference settings successfully retrieved.",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Insufficient privileges to retrieve the requested setting."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/prefs/ini": {
      "get": {
        "tags": [
          "preferences-api"
        ],
        "summary": "Returns the full map of preferences and values for this XNAT application.",
        "operationId": "getPreferenceSettingsInisUsingGET",
        "produces": [
          "text/plain"
        ],
        "responses": {
          "200": {
            "description": "Preference settings successfully retrieved.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Insufficient privileges to retrieve the requested setting."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/prefs/ini/{toolId}": {
      "get": {
        "tags": [
          "preferences-api"
        ],
        "summary": "Returns the full map of preferences and values for this XNAT application.",
        "operationId": "getPreferenceSettingsIniUsingGET",
        "produces": [
          "text/plain"
        ],
        "parameters": [
          {
            "name": "toolId",
            "in": "path",
            "description": "toolId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Preference settings successfully retrieved.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Insufficient privileges to retrieve the requested setting."
          },
          "404": {
            "description": "Tool ID not found in the system."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/prefs/props/{toolId}": {
      "get": {
        "tags": [
          "preferences-api"
        ],
        "summary": "Returns the full map of preferences and values for this XNAT application.",
        "operationId": "getToolPreferencesUsingGET",
        "produces": [
          "text/plain"
        ],
        "parameters": [
          {
            "name": "toolId",
            "in": "path",
            "description": "toolId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Preference settings successfully retrieved.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Insufficient privileges to retrieve the requested setting."
          },
          "404": {
            "description": "Tool ID not found in the system."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/prefs/props/{toolId}/{preference}": {
      "get": {
        "tags": [
          "preferences-api"
        ],
        "summary": "Returns the full map of preferences and values for this XNAT application.",
        "operationId": "getToolPreferenceUsingGET",
        "produces": [
          "text/plain"
        ],
        "parameters": [
          {
            "name": "preference",
            "in": "path",
            "description": "preference",
            "required": true,
            "type": "string"
          },
          {
            "name": "toolId",
            "in": "path",
            "description": "toolId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Preference settings successfully retrieved.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Insufficient privileges to retrieve the requested setting."
          },
          "404": {
            "description": "Tool ID not found in the system."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "preferences-api"
        ],
        "summary": "Sets the value for the indicated preference associated with the specified tool ID.",
        "operationId": "setToolPreferenceUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "text/plain"
        ],
        "parameters": [
          {
            "name": "preference",
            "in": "path",
            "description": "preference",
            "required": true,
            "type": "string"
          },
          {
            "name": "toolId",
            "in": "path",
            "description": "toolId",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "value",
            "description": "value",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Preference value successfully stored."
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Insufficient privileges to retrieve the requested setting."
          },
          "404": {
            "description": "Tool ID not found in the system."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/processors/classes": {
      "get": {
        "tags": [
          "archive-processor-instance-api"
        ],
        "summary": "Get list of processor classes.",
        "description": "The processor classes function returns a list of all processor classes in the XNAT system.",
        "operationId": "getProcessorClassesUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Returns a list of all of the processor classes.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected or unknown error occurred"
          }
        },
        "deprecated": false
      }
    },
    "/processors/site/canRemap/receiver/{aeAndPort}": {
      "get": {
        "tags": [
          "archive-processor-instance-api"
        ],
        "summary": "Returns whether the provided AE and port are able to remap the data.",
        "operationId": "receiverCanRemapUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "aeAndPort",
            "in": "path",
            "description": "aeAndPort",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Remapping successfully checked.",
            "schema": {
              "type": "boolean"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected or unknown error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/processors/site/create": {
      "post": {
        "tags": [
          "archive-processor-instance-api"
        ],
        "summary": "Creates a new site processor instance from the submitted attributes.",
        "description": "Returns the newly created site processor instance with the submitted attributes.",
        "operationId": "createSiteProcessorUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "processor",
            "description": "processor",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ArchiveProcessorInstance"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the newly created site processor instance.",
            "schema": {
              "$ref": "#/definitions/ArchiveProcessorInstance"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Insufficient privileges to create the submitted site processor instance."
          },
          "404": {
            "description": "The requested site processor instance wasn't found."
          },
          "500": {
            "description": "An unexpected or unknown error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/processors/site/enabled": {
      "get": {
        "tags": [
          "archive-processor-instance-api"
        ],
        "summary": "Get list of enabled site processor instances.",
        "description": "The enabled site processors function returns a list of all enabled site processor instances configured in the XNAT system.",
        "operationId": "getAllEnabledSiteProcessorsUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Returns a list of all of the currently enabled site processor instances.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ArchiveProcessorInstance"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected or unknown error occurred"
          }
        },
        "deprecated": false
      }
    },
    "/processors/site/enabled/receiver/{aeAndPort}": {
      "get": {
        "tags": [
          "archive-processor-instance-api"
        ],
        "summary": "Get list of enabled site processor instances for specified SCP receiver.",
        "description": "The enabled site processors function returns a list of all enabled site processor instances configured in the XNAT system for this receiver. Receiver should be specified like aeTitle:port.",
        "operationId": "getAllEnabledSiteProcessorsForAeUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "aeAndPort",
            "in": "path",
            "description": "aeAndPort",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a list of all of the currently enabled site processor instances for this receiver.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ArchiveProcessorInstance"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected or unknown error occurred"
          }
        },
        "deprecated": false
      }
    },
    "/processors/site/enabled/summary": {
      "get": {
        "tags": [
          "archive-processor-instance-api"
        ],
        "summary": "Get basic information about all enabled site processor instances.",
        "description": "The enabled site processors summary information function returns a list of basic information for all enabled site processor instances configured in the XNAT system.",
        "operationId": "getAllEnabledSiteProcessorsSummaryInformationUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Returns a list of basic information for all of the currently enabled site processor instances.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ArchiveProcessorInstanceSummary"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected or unknown error occurred"
          }
        },
        "deprecated": false
      }
    },
    "/processors/site/id/{instanceId}": {
      "get": {
        "tags": [
          "archive-processor-instance-api"
        ],
        "summary": "Get the requested site processor instance by ID.",
        "description": "Returns the requested site processor instance.",
        "operationId": "getSiteProcessorUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "instanceId",
            "in": "path",
            "description": "instanceId",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the requested site processor instance.",
            "schema": {
              "$ref": "#/definitions/ArchiveProcessorInstance"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "The requested site processor instance wasn't found."
          },
          "500": {
            "description": "An unexpected or unknown error occurred."
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "archive-processor-instance-api"
        ],
        "summary": "Updates the requested site processor instance from the submitted attributes.",
        "description": "Returns the updated site processor instance.",
        "operationId": "updateSiteProcessorUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "instanceId",
            "in": "path",
            "description": "instanceId",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "in": "body",
            "name": "processor",
            "description": "processor",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ArchiveProcessorInstance"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the updated site processor instance.",
            "schema": {
              "$ref": "#/definitions/ArchiveProcessorInstance"
            }
          },
          "201": {
            "description": "Created"
          },
          "304": {
            "description": "The requested site processor is the same as the submitted site processor instance."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Insufficient privileges to edit the requested site processor instance."
          },
          "404": {
            "description": "The requested site processor instance wasn't found."
          },
          "500": {
            "description": "An unexpected or unknown error occurred."
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "archive-processor-instance-api"
        ],
        "summary": "Deletes the requested site processor instance from the submitted attributes.",
        "operationId": "deleteSiteProcessorUsingDELETE",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "instanceId",
            "in": "path",
            "description": "instanceId",
            "required": true,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "Site processor instance was successfully removed.",
            "schema": {
              "type": "boolean"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Insufficient privileges to edit the requested site processor instance."
          },
          "404": {
            "description": "The requested site processor instance wasn't found."
          },
          "500": {
            "description": "An unexpected or unknown error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/processors/site/list": {
      "get": {
        "tags": [
          "archive-processor-instance-api"
        ],
        "summary": "Get list of site processor instances.",
        "description": "The site processors function returns a list of all site processor instances configured in the XNAT system.",
        "operationId": "getAllSiteProcessorsUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Returns a list of all of the currently configured site processor instances.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ArchiveProcessorInstance"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected or unknown error occurred"
          }
        },
        "deprecated": false
      }
    },
    "/projects/{projectId}/eventHandlers/automationEventClasses": {
      "get": {
        "tags": [
          "event-handler-api"
        ],
        "summary": "Get list of event classes.",
        "description": "Returns a list of classes implementing AutomationEventI.",
        "operationId": "automationEventClassesGetByProjectUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "projectId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "An array of class names",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EventClassInfo"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/projects/{project}/events/actions": {
      "get": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "getProjectActions",
        "operationId": "getProjectActionsUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "description": "project",
            "required": true,
            "type": "string"
          },
          {
            "name": "xnattype",
            "in": "query",
            "description": "xnattype",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Action"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/projects/{project}/events/actionsbyevent": {
      "get": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "Get actions that can act on a particular Event type",
        "operationId": "getProjectActionsByEventUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "event-type",
            "in": "query",
            "description": "event-type",
            "required": true,
            "type": "string"
          },
          {
            "name": "project",
            "in": "path",
            "description": "project",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Action"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/projects/{project}/events/delivered": {
      "post": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "getDeliveredProjectSubscriptions",
        "operationId": "getDeliveredProjectSubscriptionsUsingPOST",
        "consumes": [
          "application/json;charset=UTF-8"
        ],
        "produces": [
          "application/json;charset=UTF-8"
        ],
        "parameters": [
          {
            "name": "include-filter-mismatch",
            "in": "query",
            "description": "include-filter-mismatch",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "load-children",
            "in": "query",
            "description": "load-children",
            "required": false,
            "type": "boolean",
            "default": true
          },
          {
            "name": "project",
            "in": "path",
            "description": "project",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "request",
            "description": "request",
            "required": false,
            "schema": {
              "$ref": "#/definitions/SubscriptionDeliveryEntityPaginatedRequest"
            }
          },
          {
            "name": "subscription-id",
            "in": "query",
            "description": "subscription-id",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/SubscriptionDelivery"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/projects/{project}/events/delivered/count": {
      "get": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "getDeliveredProjectSubscriptionsCount",
        "operationId": "getDeliveredProjectSubscriptionsCountUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "include-filter-mismatch",
            "in": "query",
            "description": "include-filter-mismatch",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "project",
            "in": "path",
            "description": "project",
            "required": true,
            "type": "string"
          },
          {
            "name": "subscription-id",
            "in": "query",
            "description": "subscription-id",
            "required": false,
            "type": "integer",
            "format": "int64"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/projects/{project}/events/delivered/summary": {
      "get": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "getDeliveredProjectSubscriptionsSummary",
        "operationId": "getDeliveredProjectSubscriptionsSummaryUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "description": "project",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/SubscriptionDeliverySummary"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": true
      }
    },
    "/projects/{project}/events/delivered/{id}": {
      "get": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "getDeliveredProjectSubscriptions",
        "operationId": "getDeliveredProjectSubscriptionsUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "id",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "project",
            "in": "path",
            "description": "project",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SubscriptionDelivery"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/projects/{project}/events/events": {
      "get": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "getProjectEvents",
        "operationId": "getProjectEventsUsingGET",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "load-details",
            "in": "query",
            "description": "load-details",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/SimpleEvent"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/projects/{project}/events/subscription": {
      "post": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "Create a Subscription for (project)",
        "operationId": "createSubscriptionUsingPOST_1",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "description": "project",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "subscription",
            "description": "subscription",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ProjectSubscriptionCreator"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "string"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/projects/{project}/events/subscription/{id}": {
      "get": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "Get a Subscription by ID",
        "operationId": "retrieveSubscriptionUsingGET_1",
        "produces": [
          "application/json;charset=UTF-8"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "id",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "project",
            "in": "path",
            "description": "project",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SubscriptionDisplay"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "Update an existing Subscription for (project)",
        "operationId": "updateSubscriptionUsingPUT_1",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "id",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "project",
            "in": "path",
            "description": "project",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "update",
            "description": "update",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SubscriptionUpdate"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "Deactivate and delete a subscription by ID",
        "operationId": "deleteUsingDELETE_2",
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "id",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "project",
            "in": "path",
            "description": "project",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "deprecated": false
      }
    },
    "/projects/{project}/events/subscription/{id}/activate": {
      "post": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "Activate an existing Subscription",
        "operationId": "activateSubscriptionUsingPOST_1",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "id",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "project",
            "in": "path",
            "description": "project",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/projects/{project}/events/subscription/{id}/deactivate": {
      "post": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "Activate an existing Subscription",
        "operationId": "deactivateSubscriptionUsingPOST_2",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "id",
            "required": true,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "project",
            "in": "path",
            "description": "project",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/projects/{project}/events/subscriptions": {
      "get": {
        "tags": [
          "event-service-rest-api"
        ],
        "summary": "getAllSubscriptions",
        "operationId": "getAllSubscriptionsUsingGET_1",
        "produces": [
          "application/json;charset=UTF-8"
        ],
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "description": "project",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/SubscriptionDisplay"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/projects/{project}/experiments/{session}/scan/{scanId}/snapshot": {
      "get": {
        "tags": [
          "snapshot-generation-api"
        ],
        "summary": "Get a single image or montage of full-size images from the scan. Generate the resource if necessary.",
        "operationId": "getSnapshotUsingGET_2",
        "produces": [
          "image/gif"
        ],
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "description": "Specifies the project that contains the image session",
            "required": false,
            "type": "string"
          },
          {
            "name": "scanId",
            "in": "path",
            "description": "The scan for which the thumbnail should be generated",
            "required": false,
            "type": "string"
          },
          {
            "name": "session",
            "in": "path",
            "description": "Specifies the ID or label for the image session (if this is the label, you must also specify the project at least)",
            "required": false,
            "type": "string"
          },
          {
            "name": "subject",
            "in": "path",
            "description": "Specifies the subject associated with the image session",
            "required": false,
            "type": "string"
          },
          {
            "name": "view",
            "in": "path",
            "description": "Specifies the grid layout for montage views; must be in the format *numRows*X*numColumns*, e.g. 3X3, 5X2, etc.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Snapshot located or generated and returned.",
            "schema": {
              "$ref": "#/definitions/Resource"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "The session or scan requested doesn't exist."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/projects/{project}/experiments/{session}/scan/{scanId}/snapshot/{view}": {
      "get": {
        "tags": [
          "snapshot-generation-api"
        ],
        "summary": "Get a single image or montage of full-size images from the scan. Generate the resource if necessary.",
        "operationId": "getSnapshotUsingGET_3",
        "produces": [
          "image/gif"
        ],
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "description": "Specifies the project that contains the image session",
            "required": false,
            "type": "string"
          },
          {
            "name": "scanId",
            "in": "path",
            "description": "The scan for which the thumbnail should be generated",
            "required": false,
            "type": "string"
          },
          {
            "name": "session",
            "in": "path",
            "description": "Specifies the ID or label for the image session (if this is the label, you must also specify the project at least)",
            "required": false,
            "type": "string"
          },
          {
            "name": "subject",
            "in": "path",
            "description": "Specifies the subject associated with the image session",
            "required": false,
            "type": "string"
          },
          {
            "name": "view",
            "in": "path",
            "description": "Specifies the grid layout for montage views; must be in the format *numRows*X*numColumns*, e.g. 3X3, 5X2, etc.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Snapshot located or generated and returned.",
            "schema": {
              "$ref": "#/definitions/Resource"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "The session or scan requested doesn't exist."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/projects/{project}/experiments/{session}/scan/{scanId}/thumbnail": {
      "get": {
        "tags": [
          "snapshot-generation-api"
        ],
        "summary": "Get a single thumbnail or montage of thumbnails. Generate the resource if necessary.",
        "operationId": "getThumbnailUsingGET_2",
        "produces": [
          "image/gif"
        ],
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "description": "Specifies the project that contains the image session",
            "required": false,
            "type": "string"
          },
          {
            "name": "scanId",
            "in": "path",
            "description": "The scan for which the thumbnail should be generated",
            "required": false,
            "type": "string"
          },
          {
            "name": "session",
            "in": "path",
            "description": "Specifies the ID or label for the image session (if this is the label, you must also specify the project at least)",
            "required": false,
            "type": "string"
          },
          {
            "name": "subject",
            "in": "path",
            "description": "Specifies the subject associated with the image session",
            "required": false,
            "type": "string"
          },
          {
            "name": "view",
            "in": "path",
            "description": "Specifies the grid layout for montage views; must be in the format *numRows*X*numColumns*, e.g. 3X3, 5X2, etc.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thumbnail located or generated and returned.",
            "schema": {
              "$ref": "#/definitions/Resource"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "The session or scan requested doesn't exist."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/projects/{project}/experiments/{session}/scan/{scanId}/thumbnail/{view}": {
      "get": {
        "tags": [
          "snapshot-generation-api"
        ],
        "summary": "Get a single thumbnail or montage of thumbnails. Generate the resource if necessary.",
        "operationId": "getThumbnailUsingGET_3",
        "produces": [
          "image/gif"
        ],
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "description": "Specifies the project that contains the image session",
            "required": false,
            "type": "string"
          },
          {
            "name": "scanId",
            "in": "path",
            "description": "The scan for which the thumbnail should be generated",
            "required": false,
            "type": "string"
          },
          {
            "name": "session",
            "in": "path",
            "description": "Specifies the ID or label for the image session (if this is the label, you must also specify the project at least)",
            "required": false,
            "type": "string"
          },
          {
            "name": "subject",
            "in": "path",
            "description": "Specifies the subject associated with the image session",
            "required": false,
            "type": "string"
          },
          {
            "name": "view",
            "in": "path",
            "description": "Specifies the grid layout for montage views; must be in the format *numRows*X*numColumns*, e.g. 3X3, 5X2, etc.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thumbnail located or generated and returned.",
            "schema": {
              "$ref": "#/definitions/Resource"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "The session or scan requested doesn't exist."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/projects/{project}/subjects/{subject}/experiments/{session}/scan/{scanId}/snapshot": {
      "get": {
        "tags": [
          "snapshot-generation-api"
        ],
        "summary": "Get a single image or montage of full-size images from the scan. Generate the resource if necessary.",
        "operationId": "getSnapshotUsingGET_4",
        "produces": [
          "image/gif"
        ],
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "description": "Specifies the project that contains the image session",
            "required": false,
            "type": "string"
          },
          {
            "name": "scanId",
            "in": "path",
            "description": "The scan for which the thumbnail should be generated",
            "required": false,
            "type": "string"
          },
          {
            "name": "session",
            "in": "path",
            "description": "Specifies the ID or label for the image session (if this is the label, you must also specify the project at least)",
            "required": false,
            "type": "string"
          },
          {
            "name": "subject",
            "in": "path",
            "description": "Specifies the subject associated with the image session",
            "required": false,
            "type": "string"
          },
          {
            "name": "view",
            "in": "path",
            "description": "Specifies the grid layout for montage views; must be in the format *numRows*X*numColumns*, e.g. 3X3, 5X2, etc.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Snapshot located or generated and returned.",
            "schema": {
              "$ref": "#/definitions/Resource"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "The session or scan requested doesn't exist."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/projects/{project}/subjects/{subject}/experiments/{session}/scan/{scanId}/snapshot/{view}": {
      "get": {
        "tags": [
          "snapshot-generation-api"
        ],
        "summary": "Get a single image or montage of full-size images from the scan. Generate the resource if necessary.",
        "operationId": "getSnapshotUsingGET_5",
        "produces": [
          "image/gif"
        ],
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "description": "Specifies the project that contains the image session",
            "required": false,
            "type": "string"
          },
          {
            "name": "scanId",
            "in": "path",
            "description": "The scan for which the thumbnail should be generated",
            "required": false,
            "type": "string"
          },
          {
            "name": "session",
            "in": "path",
            "description": "Specifies the ID or label for the image session (if this is the label, you must also specify the project at least)",
            "required": false,
            "type": "string"
          },
          {
            "name": "subject",
            "in": "path",
            "description": "Specifies the subject associated with the image session",
            "required": false,
            "type": "string"
          },
          {
            "name": "view",
            "in": "path",
            "description": "Specifies the grid layout for montage views; must be in the format *numRows*X*numColumns*, e.g. 3X3, 5X2, etc.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Snapshot located or generated and returned.",
            "schema": {
              "$ref": "#/definitions/Resource"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "The session or scan requested doesn't exist."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/projects/{project}/subjects/{subject}/experiments/{session}/scan/{scanId}/thumbnail": {
      "get": {
        "tags": [
          "snapshot-generation-api"
        ],
        "summary": "Get a single thumbnail or montage of thumbnails. Generate the resource if necessary.",
        "operationId": "getThumbnailUsingGET_4",
        "produces": [
          "image/gif"
        ],
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "description": "Specifies the project that contains the image session",
            "required": false,
            "type": "string"
          },
          {
            "name": "scanId",
            "in": "path",
            "description": "The scan for which the thumbnail should be generated",
            "required": false,
            "type": "string"
          },
          {
            "name": "session",
            "in": "path",
            "description": "Specifies the ID or label for the image session (if this is the label, you must also specify the project at least)",
            "required": false,
            "type": "string"
          },
          {
            "name": "subject",
            "in": "path",
            "description": "Specifies the subject associated with the image session",
            "required": false,
            "type": "string"
          },
          {
            "name": "view",
            "in": "path",
            "description": "Specifies the grid layout for montage views; must be in the format *numRows*X*numColumns*, e.g. 3X3, 5X2, etc.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thumbnail located or generated and returned.",
            "schema": {
              "$ref": "#/definitions/Resource"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "The session or scan requested doesn't exist."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/projects/{project}/subjects/{subject}/experiments/{session}/scan/{scanId}/thumbnail/{view}": {
      "get": {
        "tags": [
          "snapshot-generation-api"
        ],
        "summary": "Get a single thumbnail or montage of thumbnails. Generate the resource if necessary.",
        "operationId": "getThumbnailUsingGET_5",
        "produces": [
          "image/gif"
        ],
        "parameters": [
          {
            "name": "project",
            "in": "path",
            "description": "Specifies the project that contains the image session",
            "required": false,
            "type": "string"
          },
          {
            "name": "scanId",
            "in": "path",
            "description": "The scan for which the thumbnail should be generated",
            "required": false,
            "type": "string"
          },
          {
            "name": "session",
            "in": "path",
            "description": "Specifies the ID or label for the image session (if this is the label, you must also specify the project at least)",
            "required": false,
            "type": "string"
          },
          {
            "name": "subject",
            "in": "path",
            "description": "Specifies the subject associated with the image session",
            "required": false,
            "type": "string"
          },
          {
            "name": "view",
            "in": "path",
            "description": "Specifies the grid layout for montage views; must be in the format *numRows*X*numColumns*, e.g. 3X3, 5X2, etc.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Thumbnail located or generated and returned.",
            "schema": {
              "$ref": "#/definitions/Resource"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "The session or scan requested doesn't exist."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/schemas": {
      "get": {
        "tags": [
          "schema-api"
        ],
        "summary": "Returns a list of all of the installed XNAT data-type schemas.",
        "description": "The strings returned from this function tell you the name of the schema and can be used with other methods on this API to retrieve the full schema document. This tells you nothing about whether the data types defined in the schemas are active or configured.",
        "operationId": "getAllDataTypeSchemasUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "XNAT data-type schemas successfully retrieved.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/schemas/datatypes": {
      "get": {
        "tags": [
          "schema-api"
        ],
        "summary": "Gets a list of the available data types on the system.",
        "description": "The available data types can be used as parameters for this call in the form /xapi/access/datatypes/{dataType}. This call is accessible to guest users when the site preference require login is set to false (i.e. open XNATs).",
        "operationId": "getAllElementTypesUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "A list of available data types.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to access the list of available data types."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/schemas/datatypes/elements": {
      "post": {
        "tags": [
          "schema-api"
        ],
        "summary": "Gets the requested data types.",
        "description": "The available data types from the call /xapi/access/datatypes can be used as the data type parameter for this call. This call is accessible to guest users when the site preference require login is set to false (i.e. open XNATs).",
        "operationId": "getSpecifiedElementsFromJsonPostUsingPOST",
        "consumes": [
          "application/json",
          "application/json;charset=UTF-8"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "attributes",
            "description": "The data types to be retrieved.",
            "required": false,
            "schema": {
              "type": "object"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Information on the requested data type.",
            "schema": {
              "type": "string"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to access the available data type."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/schemas/datatypes/elements/all": {
      "get": {
        "tags": [
          "schema-api"
        ],
        "summary": "Gets a map of all available data types on the system with the full element definition.",
        "description": "This can get pretty large.",
        "operationId": "getAllElementsUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "A list of available data types.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to access the list of available data types."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/schemas/datatypes/elements/{dataType}": {
      "get": {
        "tags": [
          "schema-api"
        ],
        "summary": "Gets information about the requested data type.",
        "description": "The available data types from the call /xapi/access/datatypes/elements/all can be used as the data type parameter for this call. This call is accessible to guest users when the site preference require login is set to false (i.e. open XNATs).",
        "operationId": "getSpecifiedElementUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "dataType",
            "in": "path",
            "description": "The data type to be retrieved.",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Information on the requested data type.",
            "schema": {
              "$ref": "#/definitions/GenericWrapperElement"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to access the available data type."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/schemas/datatypes/names": {
      "post": {
        "tags": [
          "schema-api"
        ],
        "summary": "Gets information about the requested data type.",
        "description": "The available element displays from the call /xapi/access/datatypes can be used as the data type parameter for this call. This call is accessible to guest users when the site preference require login is set to false (i.e. open XNATs).",
        "operationId": "getSpecifiedElementTypeNamesFromFormPostUsingPOST",
        "consumes": [
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "dataType",
            "in": "formData",
            "description": "The data type to be retrieved.",
            "required": false,
            "type": "string"
          },
          {
            "name": "dataTypes",
            "in": "formData",
            "description": "A list of data types to be retrieved.",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "responses": {
          "200": {
            "description": "Information on the requested data type.",
            "schema": {
              "$ref": "#/definitions/GenericWrapperElement"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to access the available data type."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/schemas/datatypes/names/all": {
      "get": {
        "tags": [
          "schema-api"
        ],
        "summary": "Gets a map of the available data types on the system along with the various data type element names and types. This map includes a timestamp indicating when the list of data types was generated using the key \"timestamp\".",
        "description": "The available data types (i.e. the keys in the returned map) can be used as parameters for this call in the form /xapi/access/datatypes/names/{dataType}. This call is accessible to guest users when the site preference require login is set to false (i.e. open XNATs). The timestamp element in this list indicates when the list was generated. This allows clients to check whether the data type list has been updated since the last call to this method.",
        "operationId": "getAllElementTypeNamesUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "A list of available data types.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to access the list of available data types."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/schemas/datatypes/names/{dataType}": {
      "get": {
        "tags": [
          "schema-api"
        ],
        "summary": "Gets the element names and types for the specified data type.",
        "description": "The available data types that can be used as parameters for this call can be retrieved by calling /xapi/access/datatypes/names/all. This call is accessible to guest users when the site preference require login is set to false (i.e. open XNATs).",
        "operationId": "getSpecifiedElementTypeNamesUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "dataType",
            "in": "path",
            "description": "The name of the data type to retrieve",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The element names and types for the specified data type.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to access the specified data type."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/schemas/{namespace}/{schema}": {
      "get": {
        "tags": [
          "schema-api"
        ],
        "summary": "Returns the requested XNAT data-type schema.",
        "description": "XNAT data-type schemas are most often stored on the classpath in the folder schemas/SCHEMA/SCHEMA.xsd, but sometimes the folder name differs from the schema name. This function returns the schema named SCHEMA.xsd in the folder named NAMESPACE. This tells you nothing about whether the data types defined in the schemas are active or configured.",
        "operationId": "getRequestedDataTypeSchemaUsingGET",
        "produces": [
          "application/xml"
        ],
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "name": "schema",
            "in": "path",
            "description": "schema",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "XNAT data-type schemas successfully retrieved.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "The requested resource wasn't found."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/schemas/{schema}": {
      "get": {
        "tags": [
          "schema-api"
        ],
        "summary": "Returns the requested XNAT data-type schema.",
        "description": "XNAT data-type schemas are most often stored on the classpath in the folder schemas/SCHEMA/SCHEMA.xsd. This function returns the schema named SCHEMA.xsd in the folder named SCHEMA. You can use the function that allows you to specify the namespace as well if the folder name differs from the schema name. This tells you nothing about whether the data types defined in the schemas are active or configured.",
        "operationId": "getRequestedDataTypeSchemaUsingGET_1",
        "produces": [
          "application/xml"
        ],
        "parameters": [
          {
            "name": "schema",
            "in": "path",
            "description": "schema",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "XNAT data-type schemas successfully retrieved.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "The requested resource wasn't found."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/siteConfig": {
      "get": {
        "tags": [
          "site-config-api"
        ],
        "summary": "Returns the full map of site configuration properties.",
        "description": "Complex objects may be returned as encapsulated JSON strings.",
        "operationId": "getSiteConfigPropertiesUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Site configuration properties successfully retrieved.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set site configuration properties."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "site-config-api"
        ],
        "summary": "Sets a map of site configuration properties.",
        "description": "Sets the site configuration properties specified in the map.",
        "operationId": "setSiteConfigPropertiesUsingPOST",
        "consumes": [
          "application/json",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "properties",
            "description": "The map of site configuration properties to be set.",
            "required": true,
            "schema": {
              "type": "object"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Site configuration properties successfully set."
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set site configuration properties."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/siteConfig/buildInfo": {
      "get": {
        "tags": [
          "site-config-api"
        ],
        "summary": "Returns a map of application build properties.",
        "description": "This includes the implementation version, Git commit hash, and build number and number.",
        "operationId": "getBuildInfoUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Application build properties successfully retrieved.",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/siteConfig/buildInfo/attributes": {
      "get": {
        "tags": [
          "site-config-api"
        ],
        "summary": "Returns a map of extended build attributes.",
        "description": "The values are dependent on what attributes are set for the build. It is not unexpected that there are no extended build attributes.",
        "operationId": "getBuildAttributeInfoUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Extended build attributes successfully retrieved.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/siteConfig/buildInfo/{property}": {
      "get": {
        "tags": [
          "site-config-api"
        ],
        "summary": "Returns a map of extended build attributes.",
        "description": "The values are dependent on what attributes are set for the build. It is not unexpected that there are no extended build attributes.",
        "operationId": "getBuildPropertyUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "property",
            "in": "path",
            "description": "Indicates the specific property to be returned",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Extended build attributes successfully retrieved.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/siteConfig/uptime": {
      "get": {
        "tags": [
          "site-config-api"
        ],
        "summary": "Returns the system uptime.",
        "description": "This returns the uptime as a map of time units: days, hours, minutes, and seconds.",
        "operationId": "getSystemUptimeUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "System uptime successfully retrieved.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/siteConfig/uptime/display": {
      "get": {
        "tags": [
          "site-config-api"
        ],
        "summary": "Returns the system uptime.",
        "description": "This returns the uptime as a formatted string.",
        "operationId": "getFormattedSystemUptimeUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "System uptime successfully retrieved.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/siteConfig/values/{preferences}": {
      "get": {
        "tags": [
          "site-config-api"
        ],
        "summary": "Returns a map of the selected site configuration properties.",
        "description": "Complex objects may be returned as encapsulated JSON strings.",
        "operationId": "getSpecifiedSiteConfigPropertiesUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "preferences",
            "in": "path",
            "description": "preferences",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Site configuration properties successfully retrieved.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set site configuration properties."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/siteConfig/{property}": {
      "get": {
        "tags": [
          "site-config-api"
        ],
        "summary": "Returns the value of the selected site configuration property.",
        "description": "Complex objects may be returned as encapsulated JSON strings.",
        "operationId": "getSpecifiedSiteConfigPropertyUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "property",
            "in": "path",
            "description": "The site configuration property to retrieve.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Site configuration property successfully retrieved.",
            "schema": {
              "type": "object"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to access site configuration properties."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "site-config-api"
        ],
        "summary": "Sets a single site configuration property.",
        "description": "Sets the site configuration property specified in the URL to the value set in the body.",
        "operationId": "setSiteConfigPropertyUsingPOST",
        "consumes": [
          "application/json",
          "text/plain"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "property",
            "in": "path",
            "description": "The property to be set.",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "value",
            "description": "The value to be set for the property.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Site configuration properties successfully set."
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to set site configuration properties."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/spawner/element": {
      "post": {
        "tags": [
          "spawner-api"
        ],
        "summary": "Create a new spawner element in the default namespace.",
        "description": "Creates a new spawner element in the default namespace from the submitted YAML. This method returns the parsed and validated YAML content of the spawner element on success.",
        "operationId": "createDefaultElementUsingPOST",
        "consumes": [
          "text/x-yaml",
          "text/plain"
        ],
        "produces": [
          "text/x-yaml"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "yaml",
            "description": "yaml",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The new spawner element was successfully created.",
            "schema": {
              "type": "string"
            }
          },
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad request, likely an invalid, missing, or duplicated element ID."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Access denied"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/spawner/element/{elementId}": {
      "get": {
        "tags": [
          "spawner-api"
        ],
        "summary": "Get the specified spawner element from the default namespace.",
        "description": "Retrieves the spawner element with the indicated ID from the default namespace.",
        "operationId": "getDefaultElementUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "elementId",
            "in": "path",
            "description": "elementId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The spawner element with the specified ID from the default namespace.",
            "schema": {
              "$ref": "#/definitions/SpawnerElement"
            }
          },
          "204": {
            "description": "Element ID doesn't exist or has no content.",
            "schema": {
              "$ref": "#/definitions/SpawnerElement"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "spawner-api"
        ],
        "summary": "Updates the specified spawner element.",
        "description": "Updates the spawner element in the default namespace with the submitted data. This method returns the parsed and validated YAML content of the spawner element on success.",
        "operationId": "updateDefaultElementUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "text/x-yaml"
        ],
        "parameters": [
          {
            "name": "elementId",
            "in": "path",
            "description": "elementId",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "yaml",
            "description": "yaml",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The specified element was successfully updated.",
            "schema": {
              "type": "string"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Access denied"
          },
          "404": {
            "description": "Namespace or element ID not found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "spawner-api"
        ],
        "summary": "Deletes the specified spawner element.",
        "description": "Deletes the spawner element in the default namespace.",
        "operationId": "deleteDefaultElementUsingDELETE",
        "produces": [
          "text/x-yaml"
        ],
        "parameters": [
          {
            "name": "elementId",
            "in": "path",
            "description": "elementId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The specified element was successfully deleted."
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Access denied"
          },
          "404": {
            "description": "Namespace or element ID not found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/spawner/element/{namespace}": {
      "post": {
        "tags": [
          "spawner-api"
        ],
        "summary": "Create a new spawner element in the specified namespace.",
        "description": "Creates a new spawner element in the specified namespace from the submitted YAML. This method returns the parsed and validated YAML content of the spawner element on success.",
        "operationId": "createNamespacedElementUsingPOST",
        "consumes": [
          "text/x-yaml",
          "text/plain"
        ],
        "produces": [
          "text/x-yaml"
        ],
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "yaml",
            "description": "yaml",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The new spawner element was successfully created.",
            "schema": {
              "type": "string"
            }
          },
          "201": {
            "description": "Created"
          },
          "400": {
            "description": "Bad request, likely an invalid, missing, or duplicated element ID."
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Access denied"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/spawner/element/{namespace}/{elementId}": {
      "get": {
        "tags": [
          "spawner-api"
        ],
        "summary": "Get the specified spawner element from the specified namespace.",
        "description": "Retrieves the spawner element with the indicated ID from the specified namespace.",
        "operationId": "getNamespacedElementUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "elementId",
            "in": "path",
            "description": "elementId",
            "required": true,
            "type": "string"
          },
          {
            "name": "namespace",
            "in": "path",
            "description": "namespace",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The spawner element with the specified ID from the default namespace.",
            "schema": {
              "$ref": "#/definitions/SpawnerElement"
            }
          },
          "204": {
            "description": "Namespace or element ID doesn't exist or has no content.",
            "schema": {
              "$ref": "#/definitions/SpawnerElement"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "spawner-api"
        ],
        "summary": "Updates the specified spawner element.",
        "description": "Updates the spawner element in the specified namespace with the submitted data. This method returns the parsed and validated YAML content of the spawner element on success.",
        "operationId": "updateNamespacedElementUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "text/x-yaml"
        ],
        "parameters": [
          {
            "name": "elementId",
            "in": "path",
            "description": "elementId",
            "required": true,
            "type": "string"
          },
          {
            "name": "namespace",
            "in": "path",
            "description": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "yaml",
            "description": "yaml",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The specified element was successfully updated.",
            "schema": {
              "type": "string"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Access denied"
          },
          "404": {
            "description": "Namespace or element ID not found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "spawner-api"
        ],
        "summary": "Deletes the specified spawner element.",
        "description": "Deletes the spawner element in the specified namespace.",
        "operationId": "deleteNamespacedElementUsingDELETE",
        "produces": [
          "text/x-yaml"
        ],
        "parameters": [
          {
            "name": "elementId",
            "in": "path",
            "description": "elementId",
            "required": true,
            "type": "string"
          },
          {
            "name": "namespace",
            "in": "path",
            "description": "namespace",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The specified element was successfully deleted."
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Access denied"
          },
          "404": {
            "description": "Namespace or element ID not found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/spawner/elements": {
      "get": {
        "tags": [
          "spawner-api"
        ],
        "summary": "Get list of spawner elements in the system's default namespace.",
        "description": "The default namespace spawner element function returns a list of all of the spawner elements in the default namespace of the XNAT system.",
        "operationId": "getDefaultElementsUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "A list of spawner elements from the default namespace.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/SpawnerElement"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/spawner/elements/{namespace}": {
      "get": {
        "tags": [
          "spawner-api"
        ],
        "summary": "Get list of spawner elements in the specified namespace.",
        "description": "The namespaced spawner element function returns a list of all of the spawner elements in the specified namespace of the XNAT system.",
        "operationId": "getNamespacedElementsUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "namespace",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "A list of spawner elements from the specified namespace.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/SpawnerElement"
              }
            }
          },
          "204": {
            "description": "Namespace not found or no elements exist.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/SpawnerElement"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "spawner-api"
        ],
        "summary": "Purges the existing spawner elements in the specified namespace and refreshes the elements from the corresponding element definition file.",
        "description": "The refresh spawner namespace updates all of the spawner elements in the specified element definition file of the XNAT system. Any elements that are not specified in the element definition file will be purged from the system.",
        "operationId": "purgeAndRefreshNamespacedElementsUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "namespace",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The spawner elements in the specified namespace were successfully purged and refreshed."
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Namespace not found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "spawner-api"
        ],
        "summary": "Refreshes the spawner elements in the specified namespace from the corresponding element definition file.",
        "description": "The refresh spawner namespace updates all of the spawner elements in the specified element definition file of the XNAT system. This will not delete or update any elements that are not specified in the element definition file",
        "operationId": "refreshNamespacedElementsUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "namespace",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The spawner elements in the specified namespace were successfully refreshed."
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Namespace not found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "spawner-api"
        ],
        "summary": "Deletes all spawner elements in the specified namespace.",
        "description": "The delete spawner namespace deletes all of the spawner elements in the specified namespace of the XNAT system.",
        "operationId": "deleteNamespacedElementsUsingDELETE",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "namespace",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The spawner elements in the specified namespace were successfully deleted."
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Namespace not found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/spawner/ids": {
      "get": {
        "tags": [
          "spawner-api"
        ],
        "summary": "Get list of element IDs in the system's default namespace.",
        "description": "The spawner element IDs function returns a list of all the IDs of spawner elements in the default namespace of the XNAT system.",
        "operationId": "getDefaultElementIdsUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "A list of spawner element IDs in the default namespace.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/spawner/ids/{namespace}": {
      "get": {
        "tags": [
          "spawner-api"
        ],
        "summary": "Get list of element IDs in the specified namespace.",
        "description": "The spawner element IDs function returns a list of all the IDs of spawner elements in the specified namespace of the XNAT system.",
        "operationId": "getNamespacedElementIdsUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "namespace",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "A list of spawner element IDs for the specified namespace.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "204": {
            "description": "Namespace not found or no elements exist.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/spawner/initialize": {
      "post": {
        "tags": [
          "spawner-api"
        ],
        "summary": "Re-initializes the system's spawner elements.",
        "operationId": "initializeUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "forcePurge",
            "description": "Whether the service should be purged regardless of the purgeAndRefreshOnStartup preference setting. If not specified, this defaults to true.",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Spawner elements successfully re-initialized."
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected or unknown error occurred"
          }
        },
        "deprecated": false
      }
    },
    "/spawner/namespaces": {
      "get": {
        "tags": [
          "spawner-api"
        ],
        "summary": "Get list of available element namespaces in the system.",
        "description": "The spawner element namespaces provide organizational separation of spawner elements. This call returns a list of the namespaces in the XNAT system.",
        "operationId": "getNamespacesUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "A list of spawner element namespaces.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/spawner/resolve/{elementId}": {
      "get": {
        "tags": [
          "spawner-api"
        ],
        "summary": "Resolves the specified spawner element from the default namespace.",
        "description": "This method retrieves the spawner element with the indicated ID from the default namespace, then resolves all of the referenced child elements as well, and renders a fully resolved YAML document that describes a complete interface.",
        "operationId": "resolveDefaultElementUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "elementId",
            "in": "path",
            "description": "elementId",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The specified element was successfully located and resolved.",
            "schema": {
              "type": "string"
            }
          },
          "204": {
            "description": "Element ID doesn't exist or has no content.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/spawner/resolve/{namespace}/{elementId}": {
      "get": {
        "tags": [
          "spawner-api"
        ],
        "summary": "Resolves the specified spawner element from the specified namespace.",
        "description": "This method retrieves the spawner element with the indicated ID from the specified namespace, then resolves all of the referenced child elements as well, and renders a fully resolved YAML document that describes a complete interface.",
        "operationId": "resolveNamespacedElementUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "elementId",
            "in": "path",
            "description": "elementId",
            "required": true,
            "type": "string"
          },
          {
            "name": "namespace",
            "in": "path",
            "description": "namespace",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The specified element was successfully located and resolved.",
            "schema": {
              "type": "string"
            }
          },
          "204": {
            "description": "Namespace or element ID doesn't exist or has no content.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/spawner/validate/batch": {
      "post": {
        "tags": [
          "spawner-api"
        ],
        "summary": "Validates the value in the request body with the indicated validation method.",
        "description": "Applies the given validation method to the value in the request body.",
        "operationId": "validateBatchUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "elements",
            "description": "This is a map of element IDs, with each element ID corresponding to a map containing a value property, validation property, and optional set property. Both set and validation can specified with the validation property by using the form \"validation\": \"set:validation\".",
            "required": false,
            "schema": {
              "type": "object",
              "additionalProperties": {
                "$ref": "#/definitions/Map«string,string»"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Value was successfully validated.",
            "schema": {
              "type": "string"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "The specified validation method was not found."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/spawner/validate/list": {
      "get": {
        "tags": [
          "spawner-api"
        ],
        "summary": "Returns all available validation methods.",
        "description": "This call returns a map keyed by the validation set and ID.",
        "operationId": "validateListUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Value was successfully validated.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "The specified validation method was not found."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/spawner/validate/list/{set}": {
      "get": {
        "tags": [
          "spawner-api"
        ],
        "summary": "Returns all available validation methods.",
        "description": "This call returns a map keyed by the validation set and ID.",
        "operationId": "validateListSetUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "set",
            "in": "path",
            "description": "The set of validations to retrieve",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Value was successfully validated.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "The specified validation method was not found."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/spawner/validate/{set}/{validation}": {
      "post": {
        "tags": [
          "spawner-api"
        ],
        "summary": "Validates the value in the request body with the indicated validation method.",
        "description": "Applies the given validation method to the value in the request body.",
        "operationId": "validateSetValidationUsingPOST",
        "consumes": [
          "text/plain"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "set",
            "in": "path",
            "description": "The validation set to reference.",
            "required": true,
            "type": "string"
          },
          {
            "name": "validation",
            "in": "path",
            "description": "The validation method to be applied to the input value.",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "value",
            "description": "value",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Value was successfully validated.",
            "schema": {
              "$ref": "#/definitions/Validated"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "The specified validation method was not found."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/spawner/validate/{validation}": {
      "post": {
        "tags": [
          "spawner-api"
        ],
        "summary": "Validates the value in the request body with the indicated validation method.",
        "description": "Applies the given validation method to the value in the request body.",
        "operationId": "validateValidationUsingPOST",
        "consumes": [
          "text/plain"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "validation",
            "in": "path",
            "description": "The validation method to be applied to the input value.",
            "required": true,
            "type": "string"
          },
          {
            "in": "body",
            "name": "value",
            "description": "value",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Value was successfully validated.",
            "schema": {
              "$ref": "#/definitions/Validated"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "The specified validation method was not found."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/spawner/xml/{namespace}": {
      "get": {
        "tags": [
          "spawner-api"
        ],
        "summary": "Resolves the 'root' element in the specified spawner namespace as XML.",
        "description": "This method retrieves elements from the specified spawner namespace and renders an XML representation of a fully resolved YAML document that describes a complete interface.",
        "operationId": "resolveNamespaceXmlUsingGET",
        "produces": [
          "text/xml"
        ],
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "namespace",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The specified namespace was successfully located and resolved.",
            "schema": {
              "type": "string"
            }
          },
          "204": {
            "description": "Namespace doesn't exist or has no content.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/spawner/xml/{namespace}/{elementId}": {
      "get": {
        "tags": [
          "spawner-api"
        ],
        "summary": "Resolves the specified spawner element from the specified namespace as XML.",
        "description": "This method retrieves the spawner element with the indicated ID from the specified namespace, then resolves all of the referenced child elements as well, and renders an XML representation of a fully resolved YAML document that describes a complete interface.",
        "operationId": "resolveNamespacedElementXmlUsingGET",
        "produces": [
          "text/xml"
        ],
        "parameters": [
          {
            "name": "elementId",
            "in": "path",
            "description": "elementId",
            "required": true,
            "type": "string"
          },
          {
            "name": "namespace",
            "in": "path",
            "description": "namespace",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The specified element was successfully located and resolved.",
            "schema": {
              "type": "string"
            }
          },
          "204": {
            "description": "Namespace or element ID doesn't exist or has no content.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/themes": {
      "get": {
        "tags": [
          "theme-api"
        ],
        "summary": "Get list of available themes.",
        "description": "Use this to get a list of all available themes on the XNAT system.",
        "operationId": "getAllThemesUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Reports the currently selected global theme (if there is one), whether or not it's enabled, and a list of available themes on the system in a JSON string.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TypeOption"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "theme-api"
        ],
        "summary": "Accepts a multipart form with a zip file upload and extracts its contents in the theme system folder. If successful, the first (root) directory name (or theme name) unzipped is returned in the response. This will overwrite any other directories already existing with the same name without warning.",
        "description": "The structure of the zipped package must have only directories at it's root.",
        "operationId": "uploadThemeUsingPOST",
        "consumes": [
          "multipart/form-data"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "themePackage",
            "in": "formData",
            "description": "Multipart file object being uploaded",
            "required": true,
            "type": "file"
          }
        ],
        "responses": {
          "200": {
            "description": "Theme package successfully uploaded and extracted.",
            "schema": {
              "type": "string"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to upload a theme package."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/themes/current": {
      "get": {
        "tags": [
          "theme-api"
        ],
        "summary": "Get the currently selected global theme or a role based theme if specified.",
        "description": "Use this to get the theme selected by the system administrator on the Theme Management page.",
        "operationId": "getCurrentThemeUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "Reports the currently selected global theme (if there is one) and whether or not it's enabled.",
            "schema": {
              "$ref": "#/definitions/ThemeConfig"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/themes/role/{role}": {
      "get": {
        "tags": [
          "theme-api"
        ],
        "summary": "Get the currently selected global theme or a role based theme if specified.",
        "description": "Use this to get the theme selected by the system administrator on the Theme Management page.",
        "operationId": "getThemeByRoleUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "role",
            "in": "path",
            "description": "\"global\" or role name of currently set theme",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Reports the currently selected global theme (if there is one) and whether or not it's enabled.",
            "schema": {
              "$ref": "#/definitions/ThemeConfig"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/themes/theme/{theme}": {
      "put": {
        "tags": [
          "theme-api"
        ],
        "summary": "Sets the current global theme to the one specified.",
        "description": "Returns the updated serialized theme object.",
        "operationId": "setGlobalThemeUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "enabled",
            "in": "query",
            "description": "enabled",
            "required": false,
            "type": "boolean",
            "default": true
          },
          {
            "name": "theme",
            "in": "path",
            "description": "The name of the theme to select.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully updated the current global theme.",
            "schema": {
              "$ref": "#/definitions/ThemeConfig"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to create or update this user."
          },
          "404": {
            "description": "Theme not found."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "theme-api"
        ],
        "summary": "Deletes the theme with the specified name.",
        "description": "Returns success on deletion. ",
        "operationId": "deleteThemeUsingDELETE",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "theme",
            "in": "path",
            "description": "Name of the theme to delete",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Theme was successfully deleted.",
            "schema": {
              "type": "string"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to delete a theme."
          },
          "404": {
            "description": "Theme not found."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/users": {
      "get": {
        "tags": [
          "users-api"
        ],
        "summary": "Get list of users.",
        "description": "The primary users function returns a list of all users of the XNAT system. This includes just the username and nothing else. You can retrieve a particular user by adding the username to the REST API URL or a list of users with abbreviated user profiles by calling /xapi/users/profiles.",
        "operationId": "usersGetUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "A list of usernames.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to access the list of usernames."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "users-api"
        ],
        "summary": "Creates a new user from the request body.",
        "description": "Returns the newly created user object.",
        "operationId": "createUserUsingPOST",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "model",
            "description": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/User"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/User"
            }
          },
          "201": {
            "description": "User successfully created.",
            "schema": {
              "$ref": "#/definitions/User"
            }
          },
          "400": {
            "description": "The submitted data was invalid."
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to update this user."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/users/active": {
      "get": {
        "tags": [
          "users-api"
        ],
        "summary": "Get list of active users.",
        "description": "Returns a map of usernames for users that have at least one currently active session, i.e. logged in or associated with a valid application session. The number of active sessions and a list of the session IDs is associated with each user.",
        "operationId": "getActiveUsersUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "A list of active users.",
            "schema": {
              "type": "object"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to access the list of usernames."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/users/active/{username}": {
      "get": {
        "tags": [
          "users-api"
        ],
        "summary": "Get information about active sessions for the indicated user.",
        "description": "Returns a map containing a list of session IDs and usernames for users that have at least one currently active session, i.e. logged in or associated with a valid application session. This also includes the number of active sessions for each user.",
        "operationId": "getUserActiveSessionsUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "description": "ID of the user to fetch",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "A list of active users.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to access this user's sessions."
          },
          "404": {
            "description": "The indicated user has no active sessions or is not a valid user."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "users-api"
        ],
        "summary": "Invalidates all active sessions associated with the specified username.",
        "description": "Returns a list of session IDs that were invalidated.",
        "operationId": "invalidateUserUsingDELETE",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "creationTime",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "id",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "lastAccessedTime",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int64"
          },
          {
            "name": "maxInactiveInterval",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "new",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "servletContext.classLoader",
            "in": "query",
            "required": false,
            "type": "ref"
          },
          {
            "name": "servletContext.contextPath",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "servletContext.defaultSessionTrackingModes",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "COOKIE",
                "URL",
                "SSL"
              ]
            },
            "collectionFormat": "multi",
            "enum": [
              "COOKIE",
              "URL",
              "SSL"
            ]
          },
          {
            "name": "servletContext.effectiveMajorVersion",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "servletContext.effectiveMinorVersion",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "servletContext.effectiveSessionTrackingModes",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "COOKIE",
                "URL",
                "SSL"
              ]
            },
            "collectionFormat": "multi",
            "enum": [
              "COOKIE",
              "URL",
              "SSL"
            ]
          },
          {
            "name": "servletContext.jspConfigDescriptor.jspPropertyGroups[0].buffer",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "servletContext.jspConfigDescriptor.jspPropertyGroups[0].defaultContentType",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "servletContext.jspConfigDescriptor.jspPropertyGroups[0].deferredSyntaxAllowedAsLiteral",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "servletContext.jspConfigDescriptor.jspPropertyGroups[0].elIgnored",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "servletContext.jspConfigDescriptor.jspPropertyGroups[0].errorOnUndeclaredNamespace",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "servletContext.jspConfigDescriptor.jspPropertyGroups[0].includeCodas",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "servletContext.jspConfigDescriptor.jspPropertyGroups[0].includePreludes",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "servletContext.jspConfigDescriptor.jspPropertyGroups[0].isXml",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "servletContext.jspConfigDescriptor.jspPropertyGroups[0].pageEncoding",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "servletContext.jspConfigDescriptor.jspPropertyGroups[0].scriptingInvalid",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "servletContext.jspConfigDescriptor.jspPropertyGroups[0].trimDirectiveWhitespaces",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "servletContext.jspConfigDescriptor.jspPropertyGroups[0].urlPatterns",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          },
          {
            "name": "servletContext.jspConfigDescriptor.taglibs[0].taglibLocation",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "servletContext.jspConfigDescriptor.taglibs[0].taglibURI",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "servletContext.majorVersion",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "servletContext.minorVersion",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "servletContext.serverInfo",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "servletContext.servletContextName",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "servletContext.sessionCookieConfig.comment",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "servletContext.sessionCookieConfig.domain",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "servletContext.sessionCookieConfig.httpOnly",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "servletContext.sessionCookieConfig.maxAge",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "servletContext.sessionCookieConfig.name",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "servletContext.sessionCookieConfig.path",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "servletContext.sessionCookieConfig.secure",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "username",
            "in": "path",
            "description": "The username of the user to invalidate.",
            "required": true,
            "type": "string"
          },
          {
            "name": "valueNames",
            "in": "query",
            "required": false,
            "type": "array",
            "items": {
              "type": "string"
            },
            "collectionFormat": "multi"
          }
        ],
        "responses": {
          "200": {
            "description": "User successfully invalidated.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "304": {
            "description": "Indicated user has no active sessions, so no action was taken."
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to invalidate this user's sessions."
          },
          "404": {
            "description": "User not found."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/users/current": {
      "get": {
        "tags": [
          "users-api"
        ],
        "summary": "Get list of users who are enabled or who have interacted with the site somewhat recently.",
        "description": "The users' profiles function returns a list of all users of the XNAT system with brief information about each.",
        "operationId": "currentUsersProfilesGetUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "A list of user profiles.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/User"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to access the list of usernames."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/users/profile/{username}": {
      "get": {
        "tags": [
          "users-api"
        ],
        "summary": "Get user profile.",
        "description": "The user profile function returns a user of the XNAT system with brief information.",
        "operationId": "usersProfileGetUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "description": "ID of the user to fetch",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "A user profile.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/User"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to access the user profile."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/users/profiles": {
      "get": {
        "tags": [
          "users-api"
        ],
        "summary": "Get list of user profiles.",
        "description": "The users' profiles function returns a list of all users of the XNAT system with brief information about each.",
        "operationId": "usersProfilesGetUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "A list of user profiles.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/User"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "You do not have sufficient permissions to access the list of users."
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/users/projects": {
      "get": {
        "tags": [
          "users-api"
        ],
        "summary": "Returns list of projects that user has edit access.",
        "description": "Returns list of projects that user has edit access.",
        "operationId": "getProjectsByUserUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/users/username": {
      "get": {
        "tags": [
          "users-api"
        ],
        "summary": "Returns username for signed-in user",
        "operationId": "getUsernameUsingGET",
        "produces": [
          "text/plain"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "deprecated": false
      }
    },
    "/users/{username}": {
      "get": {
        "tags": [
          "users-api"
        ],
        "summary": "Gets the user with the specified user ID.",
        "description": "Returns the serialized user object with the specified user ID.",
        "operationId": "getUserUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "description": "Username of the user to fetch.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "User successfully retrieved.",
            "schema": {
              "$ref": "#/definitions/User"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to view this user."
          },
          "404": {
            "description": "User not found."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "users-api"
        ],
        "summary": "Updates the user object with the specified username.",
        "description": "Returns the updated serialized user object with the specified username.",
        "operationId": "updateUserUsingPUT",
        "consumes": [
          "application/json",
          "multipart/form-data"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "model",
            "description": "model",
            "required": true,
            "schema": {
              "$ref": "#/definitions/User"
            }
          },
          {
            "name": "username",
            "in": "path",
            "description": "The username of the user to create or update.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "User successfully updated.",
            "schema": {
              "$ref": "#/definitions/User"
            }
          },
          "201": {
            "description": "Created"
          },
          "304": {
            "description": "The user object was not modified because no attributes were changed."
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to update this user."
          },
          "404": {
            "description": "User not found."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/users/{username}/enabled": {
      "get": {
        "tags": [
          "users-api"
        ],
        "summary": "Returns whether the user with the specified user ID is enabled.",
        "description": "Returns true or false based on whether the specified user is enabled or not.",
        "operationId": "usersIdEnabledGetUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "description": "The ID of the user to retrieve the enabled status for.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "User enabled status successfully retrieved.",
            "schema": {
              "type": "boolean"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to get whether this user is enabled."
          },
          "404": {
            "description": "User not found."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/users/{username}/enabled/{flag}": {
      "put": {
        "tags": [
          "users-api"
        ],
        "summary": "Sets the user's enabled state.",
        "description": "Sets the enabled state of the user with the specified user ID to the value of the flag parameter.",
        "operationId": "usersIdEnabledFlagPutUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "flag",
            "in": "path",
            "description": "The value to set for the enabled status.",
            "required": true,
            "type": "boolean"
          },
          {
            "name": "username",
            "in": "path",
            "description": "ID of the user to fetch",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "User enabled status successfully set.",
            "schema": {
              "type": "boolean"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to enable or disable this user."
          },
          "404": {
            "description": "User not found."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/users/{username}/groups": {
      "get": {
        "tags": [
          "users-api"
        ],
        "summary": "Returns the groups for the user with the specified user ID.",
        "description": "Returns a collection of the user's groups.",
        "operationId": "usersIdGroupsGetUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "description": "The ID of the user to retrieve the groups for.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "User groups successfully retrieved.",
            "schema": {
              "type": "array",
              "items": {
                "type": "object"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to get the groups for this user."
          },
          "404": {
            "description": "User not found."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "users-api"
        ],
        "summary": "Adds the user to one or more groups.",
        "description": "Assigns the user to one or more new groups.",
        "operationId": "usersIdAddGroupsUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "groups",
            "description": "The groups to which the user should be added.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "username",
            "in": "path",
            "description": "ID of the user to add to the specified groups",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "User successfully added for all specified groups.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "202": {
            "description": "User was successfully added to some of the specified groups, but some may have failed. Check the return value for groups that the service was unable to add.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to add this user to groups."
          },
          "404": {
            "description": "User not found."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "users-api"
        ],
        "summary": "Removes the user from one or more groups.",
        "description": "Removes the user from one or more groups.",
        "operationId": "usersIdRemoveGroupsUsingDELETE",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "groups",
            "description": "The groups from which the user should be removed.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "username",
            "in": "path",
            "description": "ID of the user to remove role from",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "User successfully removed from all specified groups.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "202": {
            "description": "User was successfully removed from some of the specified groups, but some may have failed. Check the return value for groups that the service was unable to remove.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to remove this user from groups."
          },
          "404": {
            "description": "User not found."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/users/{username}/groups/{group}": {
      "put": {
        "tags": [
          "users-api"
        ],
        "summary": "Adds a user to a group.",
        "description": "Assigns user to a group.",
        "operationId": "usersIdAddGroupUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "group",
            "in": "path",
            "description": "The user's new group.",
            "required": true,
            "type": "string"
          },
          {
            "name": "username",
            "in": "path",
            "description": "ID of the user to add to a group",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "User successfully added to group.",
            "schema": {
              "type": "boolean"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to assign this user to groups."
          },
          "404": {
            "description": "User not found."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "users-api"
        ],
        "summary": "Removes a user from a group.",
        "description": "Removes a user from a group.",
        "operationId": "usersIdRemoveGroupUsingDELETE",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "group",
            "in": "path",
            "description": "The group to remove the user from.",
            "required": true,
            "type": "string"
          },
          {
            "name": "username",
            "in": "path",
            "description": "ID of the user to remove from group",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "User's group successfully removed.",
            "schema": {
              "type": "boolean"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to remove this user from groups."
          },
          "404": {
            "description": "User not found."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/users/{username}/roles": {
      "get": {
        "tags": [
          "users-api"
        ],
        "summary": "Returns the roles for the user with the specified user ID.",
        "description": "Returns a collection of the user's roles.",
        "operationId": "usersIdRolesGetUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "description": "The ID of the user to retrieve the roles for.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "User roles successfully retrieved.",
            "schema": {
              "type": "array",
              "items": {
                "type": "object"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to view this user."
          },
          "404": {
            "description": "User not found."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "users-api"
        ],
        "summary": "Adds one or more roles to a user.",
        "description": "Assigns one or more new roles to a user.",
        "operationId": "usersIdAddRolesUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "roles",
            "description": "The user's new roles.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "username",
            "in": "path",
            "description": "ID of the user to add a role to",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "All specified user roles successfully added.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "201": {
            "description": "Created"
          },
          "202": {
            "description": "Some user roles successfully added, but some may have failed. Check the return value for roles that the service was unable to add.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to add roles to this user."
          },
          "404": {
            "description": "User not found."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "users-api"
        ],
        "summary": "Removes one or more roles from a user.",
        "description": "Removes one or more new roles from a user.",
        "operationId": "usersIdRemoveRolesUsingDELETE",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "in": "body",
            "name": "roles",
            "description": "The roles to be removed.",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "username",
            "in": "path",
            "description": "ID of the user to remove role from",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "All specified user roles successfully removed.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "202": {
            "description": "Some user roles successfully removed, but some may have failed. Check the return value for roles that the service was unable to remove.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to remove roles from this user."
          },
          "404": {
            "description": "User not found."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/users/{username}/roles/{role}": {
      "put": {
        "tags": [
          "users-api"
        ],
        "summary": "Adds a role to a user.",
        "description": "Assigns a new role to a user.",
        "operationId": "usersIdAddRoleUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "role",
            "in": "path",
            "description": "The user's new role.",
            "required": true,
            "type": "string"
          },
          {
            "name": "username",
            "in": "path",
            "description": "ID of the user to add a role to",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "User role successfully added.",
            "schema": {
              "type": "boolean"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to add a role to this user."
          },
          "404": {
            "description": "User not found."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "users-api"
        ],
        "summary": "Remove a user's role.",
        "description": "Removes a user's role.",
        "operationId": "usersIdRemoveRoleUsingDELETE",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "role",
            "in": "path",
            "description": "The user role to delete.",
            "required": true,
            "type": "string"
          },
          {
            "name": "username",
            "in": "path",
            "description": "ID of the user to delete a role from",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "User role successfully removed.",
            "schema": {
              "type": "boolean"
            }
          },
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to remove a role from this user."
          },
          "404": {
            "description": "User not found."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/users/{username}/verified": {
      "get": {
        "tags": [
          "users-api"
        ],
        "summary": "Returns whether the user with the specified user ID is verified.",
        "description": "Returns true or false based on whether the specified user is verified or not.",
        "operationId": "usersIdVerifiedGetUsingGET",
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "description": "The ID of the user to retrieve the verified status for.",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "User verified status successfully retrieved.",
            "schema": {
              "type": "boolean"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to view this user."
          },
          "404": {
            "description": "User not found."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/users/{username}/verified/{flag}": {
      "put": {
        "tags": [
          "users-api"
        ],
        "summary": "Sets the user's verified state.",
        "description": "Sets the verified state of the user with the specified user ID to the value of the flag parameter.",
        "operationId": "usersIdVerifiedFlagPutUsingPUT",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "parameters": [
          {
            "name": "flag",
            "in": "path",
            "description": "The value to set for the verified status.",
            "required": true,
            "type": "boolean"
          },
          {
            "name": "username",
            "in": "path",
            "description": "ID of the user to fetch",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "User verified status successfully set.",
            "schema": {
              "type": "boolean"
            }
          },
          "201": {
            "description": "Created"
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Not authorized to verify or un-verify this user."
          },
          "404": {
            "description": "User not found."
          },
          "500": {
            "description": "An unexpected error occurred."
          }
        },
        "deprecated": false
      }
    },
    "/xnatTask/checkNodeConfigurationStatus": {
      "get": {
        "tags": [
          "xnat-task-api"
        ],
        "summary": "Get node configuration status.",
        "description": "Returns node configuration status for this installation.",
        "operationId": "getNodeConfigurationStatusUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "An array of properties",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "object"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/xnatTask/taskList": {
      "get": {
        "tags": [
          "xnat-task-api"
        ],
        "summary": "Get list of XnatTask classes.",
        "description": "Returns a list of XnatTask properties",
        "operationId": "getTaskListUsingGET",
        "produces": [
          "application/json"
        ],
        "responses": {
          "200": {
            "description": "An array of properties",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/{namespace}/{schema}": {
      "get": {
        "tags": [
          "schema-only-api"
        ],
        "summary": "Returns the requested XNAT data-type schema.",
        "description": "XNAT data-type schemas are most often stored on the classpath in the folder schemas/SCHEMA/SCHEMA.xsd, but sometimes the folder name differs from the schema name. This function returns the schema named SCHEMA.xsd in the folder named NAMESPACE. This tells you nothing about whether the data types defined in the schemas are active or configured.",
        "operationId": "getRequestedDataTypeSchemaUsingGET_2",
        "produces": [
          "application/xml"
        ],
        "parameters": [
          {
            "name": "namespace",
            "in": "path",
            "description": "namespace",
            "required": true,
            "type": "string"
          },
          {
            "name": "schema",
            "in": "path",
            "description": "schema",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "XNAT data-type schemas successfully retrieved.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "The requested resource wasn't found."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    },
    "/{schema}": {
      "get": {
        "tags": [
          "schema-only-api"
        ],
        "summary": "Returns the requested XNAT data-type schema.",
        "description": "XNAT data-type schemas are most often stored on the classpath in the folder schemas/SCHEMA/SCHEMA.xsd. This function returns the schema named SCHEMA.xsd in the folder named SCHEMA. You can use the function that allows you to specify the namespace as well if the folder name differs from the schema name. This tells you nothing about whether the data types defined in the schemas are active or configured.",
        "operationId": "getRequestedDataTypeSchemaUsingGET_3",
        "produces": [
          "application/xml"
        ],
        "parameters": [
          {
            "name": "schema",
            "in": "path",
            "description": "schema",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "XNAT data-type schemas successfully retrieved.",
            "schema": {
              "type": "string"
            }
          },
          "401": {
            "description": "Must be authenticated to access the XNAT REST API."
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "The requested resource wasn't found."
          },
          "500": {
            "description": "Unexpected error"
          }
        },
        "deprecated": false
      }
    }
  }
}