{
  "swagger" : "2.0",
  "info" : {
    "version" : "3.70.1-02",
    "title" : "Nexus Repository Manager REST API"
  },
  "basePath" : "/service/rest/",
  "tags" : [ {
    "name" : "Security Management: Anonymous Access"
  }, {
    "name" : "Security management"
  }, {
    "name" : "Security management: users"
  }, {
    "name" : "Security management: privileges"
  }, {
    "name" : "Security management: realms"
  }, {
    "name" : "Security management: roles"
  }, {
    "name" : "Tasks"
  }, {
    "name" : "Blob store"
  }, {
    "name" : "Lifecycle"
  }, {
    "name" : "Read-only"
  }, {
    "name" : "Security: certificates"
  }, {
    "name" : "Assets"
  }, {
    "name" : "Components"
  }, {
    "name" : "Repository Management"
  }, {
    "name" : "Content selectors"
  }, {
    "name" : "Routing rules"
  }, {
    "name" : "Search"
  }, {
    "name" : "Formats"
  }, {
    "name" : "Email"
  }, {
    "name" : "Status"
  }, {
    "name" : "Support"
  }, {
    "name" : "Script"
  }, {
    "name" : "Security management: LDAP"
  }, {
    "name" : "Manage Sonatype Repository Firewall configuration"
  }, {
    "name" : "Product licensing"
  }, {
    "name" : "Azure blob store"
  } ],
  "paths" : {
    "/v1/security/anonymous" : {
      "get" : {
        "tags" : [ "Security Management: Anonymous Access" ],
        "summary" : "Get Anonymous Access settings",
        "description" : "",
        "operationId" : "read",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/AnonymousAccessSettingsXO"
            }
          },
          "403" : {
            "description" : "Insufficient permissions to update settings"
          }
        }
      },
      "put" : {
        "tags" : [ "Security Management: Anonymous Access" ],
        "summary" : "Update Anonymous Access settings",
        "description" : "",
        "operationId" : "update",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/AnonymousAccessSettingsXO"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/AnonymousAccessSettingsXO"
            }
          },
          "403" : {
            "description" : "Insufficient permissions to update settings"
          }
        }
      }
    },
    "/v1/security/user-sources" : {
      "get" : {
        "tags" : [ "Security management" ],
        "summary" : "Retrieve a list of the available user sources.",
        "description" : "",
        "operationId" : "getUserSources",
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/ApiUserSource"
              }
            }
          },
          "403" : {
            "description" : "The user does not have permission to perform the operation."
          }
        }
      }
    },
    "/v1/security/users/{userId}" : {
      "put" : {
        "tags" : [ "Security management: users" ],
        "summary" : "Update an existing user.",
        "description" : "",
        "operationId" : "updateUser",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "userId",
          "in" : "path",
          "description" : "The userid the request should apply to.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "A representation of the user to update.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ApiUser"
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Password was not supplied in the body of the request"
          },
          "403" : {
            "description" : "The user does not have permission to perform the operation."
          },
          "404" : {
            "description" : "User or user source not found in the system."
          }
        }
      },
      "delete" : {
        "tags" : [ "Security management: users" ],
        "summary" : "Delete a user.",
        "description" : "",
        "operationId" : "deleteUser",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "userId",
          "in" : "path",
          "description" : "The userid the request should apply to.",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "realm",
          "in" : "query",
          "description" : "The realm the request should apply to.",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "400" : {
            "description" : "There was problem deleting a user. Consult the response body for more details"
          },
          "403" : {
            "description" : "The user does not have permission to perform the operation."
          },
          "404" : {
            "description" : "User or user source not found in the system."
          }
        }
      }
    },
    "/v1/security/users/{userId}/change-password" : {
      "put" : {
        "tags" : [ "Security management: users" ],
        "summary" : "Change a user's password.",
        "description" : "",
        "operationId" : "changePassword",
        "consumes" : [ "text/plain" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "userId",
          "in" : "path",
          "description" : "The userid the request should apply to.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The new password to use.",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Password was not supplied in the body of the request"
          },
          "403" : {
            "description" : "The user does not have permission to perform the operation."
          },
          "404" : {
            "description" : "User not found in the system."
          }
        }
      }
    },
    "/v1/security/users" : {
      "get" : {
        "tags" : [ "Security management: users" ],
        "summary" : "Retrieve a list of users. Note if the source is not 'default' the response is limited to 100 users.",
        "description" : "",
        "operationId" : "getUsers",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "userId",
          "in" : "query",
          "description" : "An optional term to search userids for.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "source",
          "in" : "query",
          "description" : "An optional user source to restrict the search to.",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/ApiUser"
              }
            }
          },
          "400" : {
            "description" : "Password was not supplied in the body of the request"
          },
          "403" : {
            "description" : "The user does not have permission to perform the operation."
          }
        }
      },
      "post" : {
        "tags" : [ "Security management: users" ],
        "summary" : "Create a new user in the default source.",
        "description" : "",
        "operationId" : "createUser",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "description" : "A representation of the user to create.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ApiCreateUser"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ApiUser"
            }
          },
          "400" : {
            "description" : "Password was not supplied in the body of the request"
          },
          "403" : {
            "description" : "The user does not have permission to perform the operation."
          }
        }
      }
    },
    "/v1/security/privileges" : {
      "get" : {
        "tags" : [ "Security management: privileges" ],
        "summary" : "Retrieve a list of privileges.",
        "description" : "",
        "operationId" : "getPrivileges",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/ApiPrivilege"
              }
            }
          },
          "403" : {
            "description" : "The user does not have permission to perform the operation."
          }
        }
      }
    },
    "/v1/security/privileges/{privilegeName}" : {
      "get" : {
        "tags" : [ "Security management: privileges" ],
        "summary" : "Retrieve a privilege by name.",
        "description" : "",
        "operationId" : "getPrivilege",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "privilegeName",
          "in" : "path",
          "description" : "The name of the privilege to retrieve.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ApiPrivilege"
            }
          },
          "403" : {
            "description" : "The user does not have permission to perform the operation."
          },
          "404" : {
            "description" : "Privilege not found in the system."
          }
        }
      },
      "delete" : {
        "tags" : [ "Security management: privileges" ],
        "summary" : "Delete a privilege by name.",
        "description" : "",
        "operationId" : "deletePrivilege",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "privilegeName",
          "in" : "path",
          "description" : "The name of the privilege to delete.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "400" : {
            "description" : "The privilege is internal and may not be altered."
          },
          "403" : {
            "description" : "The user does not have permission to perform the operation."
          },
          "404" : {
            "description" : "Privilege not found in the system."
          }
        }
      }
    },
    "/v1/security/privileges/wildcard" : {
      "post" : {
        "tags" : [ "Security management: privileges" ],
        "summary" : "Create a wildcard type privilege.",
        "description" : "",
        "operationId" : "createPrivilege",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "description" : "The privilege to create.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ApiPrivilegeWildcardRequest"
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Privilege object not configured properly."
          },
          "403" : {
            "description" : "The user does not have permission to perform the operation."
          }
        }
      }
    },
    "/v1/security/privileges/application" : {
      "post" : {
        "tags" : [ "Security management: privileges" ],
        "summary" : "Create an application type privilege.",
        "description" : "",
        "operationId" : "createPrivilege_1",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "description" : "The privilege to create.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ApiPrivilegeApplicationRequest"
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Privilege object not configured properly."
          },
          "403" : {
            "description" : "The user does not have permission to perform the operation."
          }
        }
      }
    },
    "/v1/security/privileges/wildcard/{privilegeName}" : {
      "put" : {
        "tags" : [ "Security management: privileges" ],
        "summary" : "Update a wildcard type privilege.",
        "description" : "",
        "operationId" : "updatePrivilege",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "privilegeName",
          "in" : "path",
          "description" : "The name of the privilege to update.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The privilege to update.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ApiPrivilegeWildcardRequest"
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Privilege object not configured properly."
          },
          "403" : {
            "description" : "The user does not have permission to perform the operation."
          },
          "404" : {
            "description" : "Privilege not found in the system."
          }
        }
      }
    },
    "/v1/security/privileges/application/{privilegeName}" : {
      "put" : {
        "tags" : [ "Security management: privileges" ],
        "summary" : "Update an application type privilege.",
        "description" : "",
        "operationId" : "updatePrivilege_1",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "privilegeName",
          "in" : "path",
          "description" : "The name of the privilege to update.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The privilege to update.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ApiPrivilegeApplicationRequest"
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Privilege object not configured properly."
          },
          "403" : {
            "description" : "The user does not have permission to perform the operation."
          },
          "404" : {
            "description" : "Privilege not found in the system."
          }
        }
      }
    },
    "/v1/security/realms/available" : {
      "get" : {
        "tags" : [ "Security management: realms" ],
        "summary" : "List the available realms",
        "description" : "",
        "operationId" : "getRealms",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/RealmApiXO"
              }
            }
          }
        }
      }
    },
    "/v1/security/realms/active" : {
      "get" : {
        "tags" : [ "Security management: realms" ],
        "summary" : "List the active realm IDs in order",
        "description" : "",
        "operationId" : "getActiveRealms",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Security management: realms" ],
        "summary" : "Set the active security realms in the order they should be used",
        "description" : "",
        "operationId" : "setActiveRealms",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "description" : "The realm IDs",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        } ],
        "responses" : {
          "default" : {
            "description" : "successful operation"
          }
        }
      }
    },
    "/v1/security/roles" : {
      "get" : {
        "tags" : [ "Security management: roles" ],
        "summary" : "List roles",
        "description" : "",
        "operationId" : "getRoles",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "source",
          "in" : "query",
          "description" : "The id of the user source to filter the roles by, if supplied. Otherwise roles from all user sources will be returned.",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/RoleXOResponse"
              }
            }
          },
          "400" : {
            "description" : "The specified source does not exist"
          },
          "403" : {
            "description" : "Insufficient permissions to read roles"
          }
        }
      },
      "post" : {
        "tags" : [ "Security management: roles" ],
        "summary" : "Create role",
        "description" : "",
        "operationId" : "create",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "description" : "A role configuration",
          "required" : true,
          "schema" : {
            "$ref" : "#/definitions/RoleXORequest"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/RoleXOResponse"
            }
          },
          "403" : {
            "description" : "Insufficient permissions to create role"
          }
        }
      }
    },
    "/v1/security/roles/{id}" : {
      "get" : {
        "tags" : [ "Security management: roles" ],
        "summary" : "Get role",
        "description" : "",
        "operationId" : "getRole",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "source",
          "in" : "query",
          "description" : "The id of the user source to filter the roles by. Available sources can be fetched using the 'User Sources' endpoint.",
          "required" : false,
          "type" : "string",
          "default" : "default"
        }, {
          "name" : "id",
          "in" : "path",
          "description" : "The id of the role to get",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/RoleXOResponse"
            }
          },
          "400" : {
            "description" : "The specified source does not exist"
          },
          "403" : {
            "description" : "Insufficient permissions to read roles"
          },
          "404" : {
            "description" : "Role not found"
          }
        }
      },
      "put" : {
        "tags" : [ "Security management: roles" ],
        "summary" : "Update role",
        "description" : "",
        "operationId" : "update_1",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The id of the role to update",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "A role configuration",
          "required" : true,
          "schema" : {
            "$ref" : "#/definitions/RoleXORequest"
          }
        } ],
        "responses" : {
          "403" : {
            "description" : "Insufficient permissions to update role"
          },
          "404" : {
            "description" : "Role not found"
          }
        }
      },
      "delete" : {
        "tags" : [ "Security management: roles" ],
        "summary" : "Delete role",
        "description" : "",
        "operationId" : "delete",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The id of the role to delete",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "403" : {
            "description" : "Insufficient permissions to delete role"
          },
          "404" : {
            "description" : "Role not found"
          }
        }
      }
    },
    "/v1/tasks" : {
      "get" : {
        "tags" : [ "Tasks" ],
        "summary" : "List tasks",
        "description" : "",
        "operationId" : "getTasks",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "type",
          "in" : "query",
          "description" : "Type of the tasks to get",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/PageTaskXO"
            }
          }
        }
      }
    },
    "/v1/tasks/{id}" : {
      "get" : {
        "tags" : [ "Tasks" ],
        "summary" : "Get a single task by id",
        "description" : "",
        "operationId" : "getTaskById",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Id of the task to get",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/TaskXO"
            }
          },
          "404" : {
            "description" : "Task not found"
          }
        }
      }
    },
    "/v1/tasks/{id}/run" : {
      "post" : {
        "tags" : [ "Tasks" ],
        "summary" : "Run task",
        "description" : "",
        "operationId" : "run",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Id of the task to run",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Task was run"
          },
          "404" : {
            "description" : "Task not found"
          },
          "405" : {
            "description" : "Task is disabled"
          }
        }
      }
    },
    "/v1/tasks/{id}/stop" : {
      "post" : {
        "tags" : [ "Tasks" ],
        "summary" : "Stop task",
        "description" : "",
        "operationId" : "stop",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Id of the task to stop",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Task was stopped"
          },
          "409" : {
            "description" : "Unable to stop task"
          },
          "404" : {
            "description" : "Task not found"
          }
        }
      }
    },
    "/v1/blobstores/{name}/quota-status" : {
      "get" : {
        "tags" : [ "Blob store" ],
        "summary" : "Get quota status for a given blob store",
        "description" : "",
        "operationId" : "quotaStatus",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "name",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/BlobStoreQuotaResultXO"
            }
          }
        }
      }
    },
    "/v1/blobstores/{name}" : {
      "delete" : {
        "tags" : [ "Blob store" ],
        "summary" : "Delete a blob store by name",
        "description" : "",
        "operationId" : "deleteBlobStore",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "name",
          "in" : "path",
          "description" : "The name of the blob store to delete",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "default" : {
            "description" : "successful operation"
          }
        }
      }
    },
    "/v1/blobstores" : {
      "get" : {
        "tags" : [ "Blob store" ],
        "summary" : "List the blob stores",
        "description" : "",
        "operationId" : "listBlobStores",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/GenericBlobStoreApiResponse"
              }
            }
          }
        }
      }
    },
    "/v1/blobstores/file" : {
      "post" : {
        "tags" : [ "Blob store" ],
        "summary" : "Create a file blob store",
        "description" : "",
        "operationId" : "createFileBlobStore",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/FileBlobStoreApiCreateRequest"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Success"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/blobstores/file/{name}" : {
      "get" : {
        "tags" : [ "Blob store" ],
        "summary" : "Get a file blob store configuration by name",
        "description" : "",
        "operationId" : "getFileBlobStoreConfiguration",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "name",
          "in" : "path",
          "description" : "The name of the file blob store to read",
          "required" : true,
          "type" : "string",
          "x-example" : "default"
        } ],
        "responses" : {
          "200" : {
            "description" : "Success",
            "schema" : {
              "$ref" : "#/definitions/FileBlobStoreApiModel"
            }
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Blob store not found"
          }
        }
      },
      "put" : {
        "tags" : [ "Blob store" ],
        "summary" : "Update a file blob store configuration by name",
        "description" : "",
        "operationId" : "updateFileBlobStore",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "name",
          "in" : "path",
          "description" : "The name of the file blob store to update",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/FileBlobStoreApiUpdateRequest"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Success"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Blob store not found"
          }
        }
      }
    },
    "/v1/lifecycle/phase" : {
      "get" : {
        "tags" : [ "Lifecycle" ],
        "summary" : "Get current lifecycle phase",
        "description" : "",
        "operationId" : "getPhase",
        "produces" : [ "text/plain" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "type" : "string"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Lifecycle" ],
        "summary" : "Move to new lifecycle phase",
        "description" : "",
        "operationId" : "setPhase",
        "consumes" : [ "text/plain" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "description" : "The phase to move to",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "default" : {
            "description" : "successful operation"
          }
        }
      }
    },
    "/v1/lifecycle/bounce" : {
      "put" : {
        "tags" : [ "Lifecycle" ],
        "summary" : "Bounce lifecycle phase",
        "description" : "Re-runs all phases from the given phase to the current phase",
        "operationId" : "bounce",
        "consumes" : [ "text/plain" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "description" : "The phase to bounce",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "default" : {
            "description" : "successful operation"
          }
        }
      }
    },
    "/v1/read-only/release" : {
      "post" : {
        "tags" : [ "Read-only" ],
        "summary" : "Release read-only and allow changes to embedded OrientDB",
        "description" : "Releases administrator-initiated read-only status. Will not release read-only status caused by system tasks.",
        "operationId" : "release",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "204" : {
            "description" : "Database is no longer read-only"
          },
          "403" : {
            "description" : "Authentication required"
          },
          "404" : {
            "description" : "No change to read-only state"
          }
        }
      }
    },
    "/v1/read-only/freeze" : {
      "post" : {
        "tags" : [ "Read-only" ],
        "summary" : "Prevent changes to embedded OrientDB",
        "description" : "For low-level system maintenance purposes only; do not use if you want users to still be able to download components.",
        "operationId" : "freeze",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "204" : {
            "description" : "Database is now read-only"
          },
          "403" : {
            "description" : "Authentication required"
          },
          "404" : {
            "description" : "No change to read-only state"
          }
        }
      }
    },
    "/v1/read-only/force-release" : {
      "post" : {
        "tags" : [ "Read-only" ],
        "summary" : "Forcibly release read-only and allow changes to embedded OrientDB",
        "description" : "Forcibly release read-only status, including if caused by system tasks. Warning: may result in data loss.",
        "operationId" : "forceRelease",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "204" : {
            "description" : "Database is no longer read-only"
          },
          "403" : {
            "description" : "Authentication required"
          },
          "404" : {
            "description" : "No change to read-only state"
          }
        }
      }
    },
    "/v1/read-only" : {
      "get" : {
        "tags" : [ "Read-only" ],
        "summary" : "Get read-only state",
        "description" : "",
        "operationId" : "get",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ReadOnlyState"
            }
          }
        }
      }
    },
    "/v1/security/ssl" : {
      "get" : {
        "tags" : [ "Security: certificates" ],
        "summary" : "Helper method to retrieve certificate details from a remote system.",
        "description" : "",
        "operationId" : "retrieveCertificate",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "host",
          "in" : "query",
          "description" : "The remote system's host name",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "port",
          "in" : "query",
          "description" : "The port on the remote system to connect to",
          "required" : false,
          "type" : "integer",
          "default" : 443,
          "format" : "int32"
        }, {
          "name" : "protocolHint",
          "in" : "query",
          "description" : "An optional hint of the protocol to try for the connection",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ApiCertificate"
            }
          },
          "403" : {
            "description" : "Insufficient permissions to retrieve remote certificate."
          },
          "400" : {
            "description" : "A certificate could not be retrieved, see the message for details."
          }
        }
      }
    },
    "/v1/security/ssl/truststore" : {
      "get" : {
        "tags" : [ "Security: certificates" ],
        "summary" : "Retrieve a list of certificates added to the trust store.",
        "description" : "",
        "operationId" : "getTrustStoreCertificates",
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/ApiCertificate"
              }
            }
          },
          "403" : {
            "description" : "Insufficient permissions to list certificates in the trust store."
          }
        }
      },
      "post" : {
        "tags" : [ "Security: certificates" ],
        "summary" : "Add a certificate to the trust store.",
        "description" : "",
        "operationId" : "addCertificate",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "description" : "The certificate to add encoded in PEM format",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "The certificate was successfully added.",
            "schema" : {
              "$ref" : "#/definitions/ApiCertificate"
            }
          },
          "409" : {
            "description" : "The certificate already exists in the system."
          },
          "403" : {
            "description" : "Insufficient permissions to add certificate to the trust store."
          }
        }
      }
    },
    "/v1/security/ssl/truststore/{id}" : {
      "delete" : {
        "tags" : [ "Security: certificates" ],
        "summary" : "Remove a certificate in the trust store.",
        "description" : "",
        "operationId" : "removeCertificate",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "The id of the certificate that should be removed.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "403" : {
            "description" : "Insufficient permissions to remove certificate from the trust store"
          }
        }
      }
    },
    "/v1/assets/{id}" : {
      "get" : {
        "tags" : [ "Assets" ],
        "summary" : "Get a single asset",
        "description" : "",
        "operationId" : "getAssetById",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Id of the asset to get",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/AssetXO"
            }
          },
          "403" : {
            "description" : "Insufficient permissions to get asset"
          },
          "404" : {
            "description" : "Asset not found"
          },
          "422" : {
            "description" : "Malformed ID"
          }
        }
      },
      "delete" : {
        "tags" : [ "Assets" ],
        "summary" : "Delete a single asset",
        "description" : "",
        "operationId" : "deleteAsset",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "Id of the asset to delete",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Asset was successfully deleted"
          },
          "403" : {
            "description" : "Insufficient permissions to delete asset"
          },
          "404" : {
            "description" : "Asset not found"
          },
          "422" : {
            "description" : "Malformed ID"
          }
        }
      }
    },
    "/v1/assets" : {
      "get" : {
        "tags" : [ "Assets" ],
        "summary" : "List assets",
        "description" : "",
        "operationId" : "getAssets",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "continuationToken",
          "in" : "query",
          "description" : "A token returned by a prior request. If present, the next page of results are returned",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "repository",
          "in" : "query",
          "description" : "Repository from which you would like to retrieve assets.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/PageAssetXO"
            }
          },
          "403" : {
            "description" : "Insufficient permissions to list assets"
          },
          "422" : {
            "description" : "Parameter 'repository' is required"
          }
        }
      }
    },
    "/v1/components/{id}" : {
      "get" : {
        "tags" : [ "Components" ],
        "summary" : "Get a single component",
        "description" : "",
        "operationId" : "getComponentById",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "ID of the component to retrieve",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ComponentXO"
            }
          },
          "403" : {
            "description" : "Insufficient permissions to get component"
          },
          "404" : {
            "description" : "Component not found"
          },
          "422" : {
            "description" : "Malformed ID"
          }
        }
      },
      "delete" : {
        "tags" : [ "Components" ],
        "summary" : "Delete a single component",
        "description" : "",
        "operationId" : "deleteComponent",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "id",
          "in" : "path",
          "description" : "ID of the component to delete",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Component was successfully deleted"
          },
          "403" : {
            "description" : "Insufficient permissions to delete component"
          },
          "404" : {
            "description" : "Component not found"
          },
          "422" : {
            "description" : "Malformed ID"
          }
        }
      }
    },
    "/v1/components" : {
      "get" : {
        "tags" : [ "Components" ],
        "summary" : "List components",
        "description" : "",
        "operationId" : "getComponents",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "continuationToken",
          "in" : "query",
          "description" : "A token returned by a prior request. If present, the next page of results are returned",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "repository",
          "in" : "query",
          "description" : "Repository from which you would like to retrieve components",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/PageComponentXO"
            }
          },
          "403" : {
            "description" : "Insufficient permissions to list components"
          },
          "422" : {
            "description" : "Parameter 'repository' is required"
          }
        }
      },
      "post" : {
        "tags" : [ "Components" ],
        "summary" : "Upload a single component",
        "description" : "",
        "operationId" : "uploadComponent",
        "consumes" : [ "multipart/form-data" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repository",
          "in" : "query",
          "description" : "Name of the repository to which you would like to upload the component",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "r.asset",
          "in" : "formData",
          "description" : "r Asset ",
          "required" : false,
          "type" : "file"
        }, {
          "name" : "r.asset.pathId",
          "in" : "formData",
          "description" : "r Asset  Package Path",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "pypi.asset",
          "in" : "formData",
          "description" : "pypi Asset ",
          "required" : false,
          "type" : "file"
        }, {
          "name" : "helm.asset",
          "in" : "formData",
          "description" : "helm Asset ",
          "required" : false,
          "type" : "file"
        }, {
          "name" : "yum.directory",
          "in" : "formData",
          "description" : "yum Directory",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "yum.asset",
          "in" : "formData",
          "description" : "yum Asset ",
          "required" : false,
          "type" : "file"
        }, {
          "name" : "yum.asset.filename",
          "in" : "formData",
          "description" : "yum Asset  Filename",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "docker.asset",
          "in" : "formData",
          "description" : "docker Asset ",
          "required" : false,
          "type" : "file"
        }, {
          "name" : "rubygems.asset",
          "in" : "formData",
          "description" : "rubygems Asset ",
          "required" : false,
          "type" : "file"
        }, {
          "name" : "nuget.asset",
          "in" : "formData",
          "description" : "nuget Asset ",
          "required" : false,
          "type" : "file"
        }, {
          "name" : "npm.asset",
          "in" : "formData",
          "description" : "npm Asset ",
          "required" : false,
          "type" : "file"
        }, {
          "name" : "raw.directory",
          "in" : "formData",
          "description" : "raw Directory",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "raw.asset1",
          "in" : "formData",
          "description" : "raw Asset 1",
          "required" : false,
          "type" : "file"
        }, {
          "name" : "raw.asset1.filename",
          "in" : "formData",
          "description" : "raw Asset 1 Filename",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "raw.asset2",
          "in" : "formData",
          "description" : "raw Asset 2",
          "required" : false,
          "type" : "file"
        }, {
          "name" : "raw.asset2.filename",
          "in" : "formData",
          "description" : "raw Asset 2 Filename",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "raw.asset3",
          "in" : "formData",
          "description" : "raw Asset 3",
          "required" : false,
          "type" : "file"
        }, {
          "name" : "raw.asset3.filename",
          "in" : "formData",
          "description" : "raw Asset 3 Filename",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "apt.asset",
          "in" : "formData",
          "description" : "apt Asset ",
          "required" : false,
          "type" : "file"
        }, {
          "name" : "maven2.groupId",
          "in" : "formData",
          "description" : "maven2 Group ID",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "maven2.artifactId",
          "in" : "formData",
          "description" : "maven2 Artifact ID",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "maven2.version",
          "in" : "formData",
          "description" : "maven2 Version",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "maven2.generate-pom",
          "in" : "formData",
          "description" : "maven2 Generate a POM file with these coordinates",
          "required" : false,
          "type" : "boolean"
        }, {
          "name" : "maven2.packaging",
          "in" : "formData",
          "description" : "maven2 Packaging",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "maven2.asset1",
          "in" : "formData",
          "description" : "maven2 Asset 1",
          "required" : false,
          "type" : "file"
        }, {
          "name" : "maven2.asset1.classifier",
          "in" : "formData",
          "description" : "maven2 Asset 1 Classifier",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "maven2.asset1.extension",
          "in" : "formData",
          "description" : "maven2 Asset 1 Extension",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "maven2.asset2",
          "in" : "formData",
          "description" : "maven2 Asset 2",
          "required" : false,
          "type" : "file"
        }, {
          "name" : "maven2.asset2.classifier",
          "in" : "formData",
          "description" : "maven2 Asset 2 Classifier",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "maven2.asset2.extension",
          "in" : "formData",
          "description" : "maven2 Asset 2 Extension",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "maven2.asset3",
          "in" : "formData",
          "description" : "maven2 Asset 3",
          "required" : false,
          "type" : "file"
        }, {
          "name" : "maven2.asset3.classifier",
          "in" : "formData",
          "description" : "maven2 Asset 3 Classifier",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "maven2.asset3.extension",
          "in" : "formData",
          "description" : "maven2 Asset 3 Extension",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "403" : {
            "description" : "Insufficient permissions to upload a component"
          },
          "422" : {
            "description" : "Parameter 'repository' is required"
          }
        }
      }
    },
    "/v1/repositories/{repositoryName}/invalidate-cache" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Invalidate repository cache. Proxy or group repositories only.",
        "description" : "",
        "operationId" : "invalidateCache",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to invalidate cache",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository cache invalidated"
          },
          "400" : {
            "description" : "Repository is not of proxy or group type"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Repository not found"
          }
        }
      }
    },
    "/v1/repositories/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository details",
        "description" : "",
        "operationId" : "getRepository",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to get",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/RepositoryXO"
            }
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Repository not found"
          }
        }
      },
      "delete" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Delete repository of any format",
        "description" : "",
        "operationId" : "deleteRepository",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to delete",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository deleted"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Repository not found"
          }
        }
      }
    },
    "/v1/repositories/{repositoryName}/rebuild-index" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Schedule a 'Repair - Rebuild repository search' Task. Hosted or proxy repositories only.",
        "description" : "",
        "operationId" : "rebuildIndex",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to rebuild index",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository search index rebuild has been scheduled"
          },
          "400" : {
            "description" : "Repository is not of hosted or proxy type"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Repository not found"
          }
        }
      }
    },
    "/v1/repositorySettings" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "List repositories",
        "description" : "",
        "operationId" : "getRepositories",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "Repositories list returned",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/AbstractApiRepository"
              }
            }
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/security/content-selectors" : {
      "get" : {
        "tags" : [ "Content selectors" ],
        "summary" : "List content selectors",
        "description" : "",
        "operationId" : "getContentSelectors",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/ContentSelectorApiResponse"
              }
            }
          },
          "403" : {
            "description" : "Insufficient permissions to read content selectors"
          }
        }
      },
      "post" : {
        "tags" : [ "Content selectors" ],
        "summary" : "Create a new content selector",
        "description" : "",
        "operationId" : "createContentSelector",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ContentSelectorApiCreateRequest"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Content selector successfully created"
          },
          "400" : {
            "description" : "Invalid request"
          },
          "403" : {
            "description" : "Insufficient permissions to create content selectors"
          }
        }
      }
    },
    "/v1/security/content-selectors/{name}" : {
      "get" : {
        "tags" : [ "Content selectors" ],
        "summary" : "Get a content selector by name",
        "description" : "",
        "operationId" : "getContentSelector",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "name",
          "in" : "path",
          "description" : "The content selector name",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ContentSelectorApiResponse"
            }
          },
          "403" : {
            "description" : "Insufficient permissions to read the content selector"
          }
        }
      },
      "put" : {
        "tags" : [ "Content selectors" ],
        "summary" : "Update a content selector",
        "description" : "",
        "operationId" : "updateContentSelector",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "name",
          "in" : "path",
          "description" : "The content selector name",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ContentSelectorApiUpdateRequest"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Content selector updated successfully"
          },
          "400" : {
            "description" : "Invalid request"
          },
          "403" : {
            "description" : "Insufficient permissions to update the content selector"
          }
        }
      },
      "delete" : {
        "tags" : [ "Content selectors" ],
        "summary" : "Delete a content selector",
        "description" : "",
        "operationId" : "deleteContentSelector",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "name",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Content selector deleted successfully"
          },
          "400" : {
            "description" : "Invalid request"
          },
          "403" : {
            "description" : "Insufficient permissions to delete the content selector"
          }
        }
      }
    },
    "/v1/repositories" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "List repositories",
        "description" : "",
        "operationId" : "getRepositories_1",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/RepositoryXO"
              }
            }
          }
        }
      }
    },
    "/v1/routing-rules/{name}" : {
      "get" : {
        "tags" : [ "Routing rules" ],
        "summary" : "Get a single routing rule",
        "description" : "",
        "operationId" : "getRoutingRule",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "name",
          "in" : "path",
          "description" : "The name of the routing rule to get",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/RoutingRuleXO"
            }
          },
          "403" : {
            "description" : "Insufficient permissions to read routing rules"
          },
          "404" : {
            "description" : "Routing rule not found"
          }
        }
      },
      "put" : {
        "tags" : [ "Routing rules" ],
        "summary" : "Update a single routing rule",
        "description" : "",
        "operationId" : "updateRoutingRule",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "name",
          "in" : "path",
          "description" : "The name of the routing rule to update",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "A routing rule configuration",
          "required" : true,
          "schema" : {
            "$ref" : "#/definitions/RoutingRuleXO"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Routing rule was successfully updated"
          },
          "400" : {
            "description" : "Another routing rule with the same name already exists or required parameters missing"
          },
          "403" : {
            "description" : "Insufficient permissions to edit routing rules"
          },
          "404" : {
            "description" : "Routing rule not found"
          }
        }
      },
      "delete" : {
        "tags" : [ "Routing rules" ],
        "summary" : "Delete a single routing rule",
        "description" : "",
        "operationId" : "deleteRoutingRule",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "name",
          "in" : "path",
          "description" : "The name of the routing rule to delete",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Routing rule was successfully deleted"
          },
          "403" : {
            "description" : "Insufficient permissions to delete routing rules"
          },
          "404" : {
            "description" : "Routing rule not found"
          }
        }
      }
    },
    "/v1/routing-rules" : {
      "get" : {
        "tags" : [ "Routing rules" ],
        "summary" : "List routing rules",
        "description" : "",
        "operationId" : "getRoutingRules",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/RoutingRuleXO"
              }
            }
          },
          "403" : {
            "description" : "Insufficient permissions to read routing rules"
          }
        }
      },
      "post" : {
        "tags" : [ "Routing rules" ],
        "summary" : "Create a single routing rule",
        "description" : "",
        "operationId" : "createRoutingRule",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "description" : "A routing rule configuration",
          "required" : true,
          "schema" : {
            "$ref" : "#/definitions/RoutingRuleXO"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Routing rule was successfully created"
          },
          "400" : {
            "description" : "A routing rule with the same name already exists or required parameters missing"
          },
          "403" : {
            "description" : "Insufficient permissions to create routing rule"
          }
        }
      }
    },
    "/v1/search/assets" : {
      "get" : {
        "tags" : [ "Search" ],
        "summary" : "Search assets",
        "description" : "",
        "operationId" : "searchAssets",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "continuationToken",
          "in" : "query",
          "description" : "A token returned by a prior request. If present, the next page of results are returned",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "The field to sort the results against, if left empty, a sort based on match weight will be used.",
          "required" : false,
          "type" : "string",
          "allowEmptyValue" : true,
          "enum" : [ "group", "name", "version", "repository" ]
        }, {
          "name" : "direction",
          "in" : "query",
          "description" : "The direction to sort records in, defaults to ascending ('asc') for all sort fields, except version, which defaults to descending ('desc')",
          "required" : false,
          "type" : "string",
          "allowEmptyValue" : true,
          "enum" : [ "asc", "desc" ]
        }, {
          "name" : "timeout",
          "in" : "query",
          "description" : "How long to wait for search results in seconds. If this value is not provided, the system default timeout will be used.",
          "required" : false,
          "type" : "integer",
          "format" : "int32",
          "allowEmptyValue" : true
        }, {
          "name" : "q",
          "in" : "query",
          "description" : "Query by keyword",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "repository",
          "in" : "query",
          "description" : "Repository name",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "format",
          "in" : "query",
          "description" : "Query by format",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "group",
          "in" : "query",
          "description" : "Component group",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "name",
          "in" : "query",
          "description" : "Component name",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "version",
          "in" : "query",
          "description" : "Component version",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "prerelease",
          "in" : "query",
          "description" : "Prerelease version flag",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "md5",
          "in" : "query",
          "description" : "Specific MD5 hash of component's asset",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "sha1",
          "in" : "query",
          "description" : "Specific SHA-1 hash of component's asset",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "sha256",
          "in" : "query",
          "description" : "Specific SHA-256 hash of component's asset",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "sha512",
          "in" : "query",
          "description" : "Specific SHA-512 hash of component's asset",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "conan.baseVersion",
          "in" : "query",
          "description" : "Conan base version",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "conan.channel",
          "in" : "query",
          "description" : "Conan channel",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "conan.revision",
          "in" : "query",
          "description" : "Conan recipe revision",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "conan.packageId",
          "in" : "query",
          "description" : "Conan package id",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "conan.packageRevision",
          "in" : "query",
          "description" : "Conan package revision",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "docker.imageName",
          "in" : "query",
          "description" : "Docker image name",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "docker.imageTag",
          "in" : "query",
          "description" : "Docker image tag",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "docker.layerId",
          "in" : "query",
          "description" : "Docker layer ID",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "docker.contentDigest",
          "in" : "query",
          "description" : "Docker content digest",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "maven.groupId",
          "in" : "query",
          "description" : "Maven groupId",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "maven.artifactId",
          "in" : "query",
          "description" : "Maven artifactId",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "maven.baseVersion",
          "in" : "query",
          "description" : "Maven base version",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "maven.extension",
          "in" : "query",
          "description" : "Maven extension of component's asset",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "maven.classifier",
          "in" : "query",
          "description" : "Maven classifier of component's asset",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "gavec",
          "in" : "query",
          "description" : "Group asset version extension classifier",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "npm.scope",
          "in" : "query",
          "description" : "npm scope",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "npm.author",
          "in" : "query",
          "description" : "npm author",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "npm.description",
          "in" : "query",
          "description" : "npm description",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "npm.keywords",
          "in" : "query",
          "description" : "npm keywords",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "npm.license",
          "in" : "query",
          "description" : "npm license",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "npm.tagged_is",
          "in" : "query",
          "description" : "npm tagged is",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "npm.tagged_not",
          "in" : "query",
          "description" : "npm tagged not",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "nuget.id",
          "in" : "query",
          "description" : "NuGet id",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "nuget.tags",
          "in" : "query",
          "description" : "NuGet tags",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "nuget.title",
          "in" : "query",
          "description" : "NuGet title",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "nuget.authors",
          "in" : "query",
          "description" : "NuGet authors",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "nuget.description",
          "in" : "query",
          "description" : "NuGet description",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "nuget.summary",
          "in" : "query",
          "description" : "NuGet summary",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "p2.pluginName",
          "in" : "query",
          "description" : "p2 plugin name",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "pypi.classifiers",
          "in" : "query",
          "description" : "PyPI classifiers",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "pypi.description",
          "in" : "query",
          "description" : "PyPI description",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "pypi.keywords",
          "in" : "query",
          "description" : "PyPI keywords",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "pypi.summary",
          "in" : "query",
          "description" : "PyPI summary",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "rubygems.description",
          "in" : "query",
          "description" : "RubyGems description",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "rubygems.platform",
          "in" : "query",
          "description" : "RubyGems platform",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "rubygems.summary",
          "in" : "query",
          "description" : "RubyGems summary",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "yum.architecture",
          "in" : "query",
          "description" : "Yum architecture",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "yum.name",
          "in" : "query",
          "description" : "Yum package name",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/PageAssetXO"
            }
          }
        }
      }
    },
    "/v1/search/assets/download" : {
      "get" : {
        "tags" : [ "Search" ],
        "summary" : "Search and download asset",
        "description" : "Returns a 302 Found with location header field set to download URL. Unless a sort parameter is supplied, the search must return a single asset to receive download URL.",
        "operationId" : "searchAndDownloadAssets",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "sort",
          "in" : "query",
          "description" : "The field to sort the results against, if left empty and more than 1 result is returned, the request will fail.",
          "required" : false,
          "type" : "string",
          "allowEmptyValue" : true,
          "enum" : [ "group", "name", "version", "repository" ]
        }, {
          "name" : "direction",
          "in" : "query",
          "description" : "The direction to sort records in, defaults to ascending ('asc') for all sort fields, except version, which defaults to descending ('desc')",
          "required" : false,
          "type" : "string",
          "allowEmptyValue" : true,
          "enum" : [ "asc", "desc" ]
        }, {
          "name" : "timeout",
          "in" : "query",
          "description" : "How long to wait for search results in seconds. If this value is not provided, the system default timeout will be used.",
          "required" : false,
          "type" : "integer",
          "format" : "int32",
          "allowEmptyValue" : true
        }, {
          "name" : "q",
          "in" : "query",
          "description" : "Query by keyword",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "repository",
          "in" : "query",
          "description" : "Repository name",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "format",
          "in" : "query",
          "description" : "Query by format",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "group",
          "in" : "query",
          "description" : "Component group",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "name",
          "in" : "query",
          "description" : "Component name",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "version",
          "in" : "query",
          "description" : "Component version",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "prerelease",
          "in" : "query",
          "description" : "Prerelease version flag",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "md5",
          "in" : "query",
          "description" : "Specific MD5 hash of component's asset",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "sha1",
          "in" : "query",
          "description" : "Specific SHA-1 hash of component's asset",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "sha256",
          "in" : "query",
          "description" : "Specific SHA-256 hash of component's asset",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "sha512",
          "in" : "query",
          "description" : "Specific SHA-512 hash of component's asset",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "conan.baseVersion",
          "in" : "query",
          "description" : "Conan base version",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "conan.channel",
          "in" : "query",
          "description" : "Conan channel",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "conan.revision",
          "in" : "query",
          "description" : "Conan recipe revision",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "conan.packageId",
          "in" : "query",
          "description" : "Conan package id",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "conan.packageRevision",
          "in" : "query",
          "description" : "Conan package revision",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "docker.imageName",
          "in" : "query",
          "description" : "Docker image name",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "docker.imageTag",
          "in" : "query",
          "description" : "Docker image tag",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "docker.layerId",
          "in" : "query",
          "description" : "Docker layer ID",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "docker.contentDigest",
          "in" : "query",
          "description" : "Docker content digest",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "maven.groupId",
          "in" : "query",
          "description" : "Maven groupId",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "maven.artifactId",
          "in" : "query",
          "description" : "Maven artifactId",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "maven.baseVersion",
          "in" : "query",
          "description" : "Maven base version",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "maven.extension",
          "in" : "query",
          "description" : "Maven extension of component's asset",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "maven.classifier",
          "in" : "query",
          "description" : "Maven classifier of component's asset",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "gavec",
          "in" : "query",
          "description" : "Group asset version extension classifier",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "npm.scope",
          "in" : "query",
          "description" : "npm scope",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "npm.author",
          "in" : "query",
          "description" : "npm author",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "npm.description",
          "in" : "query",
          "description" : "npm description",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "npm.keywords",
          "in" : "query",
          "description" : "npm keywords",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "npm.license",
          "in" : "query",
          "description" : "npm license",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "npm.tagged_is",
          "in" : "query",
          "description" : "npm tagged is",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "npm.tagged_not",
          "in" : "query",
          "description" : "npm tagged not",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "nuget.id",
          "in" : "query",
          "description" : "NuGet id",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "nuget.tags",
          "in" : "query",
          "description" : "NuGet tags",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "nuget.title",
          "in" : "query",
          "description" : "NuGet title",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "nuget.authors",
          "in" : "query",
          "description" : "NuGet authors",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "nuget.description",
          "in" : "query",
          "description" : "NuGet description",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "nuget.summary",
          "in" : "query",
          "description" : "NuGet summary",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "p2.pluginName",
          "in" : "query",
          "description" : "p2 plugin name",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "pypi.classifiers",
          "in" : "query",
          "description" : "PyPI classifiers",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "pypi.description",
          "in" : "query",
          "description" : "PyPI description",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "pypi.keywords",
          "in" : "query",
          "description" : "PyPI keywords",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "pypi.summary",
          "in" : "query",
          "description" : "PyPI summary",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "rubygems.description",
          "in" : "query",
          "description" : "RubyGems description",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "rubygems.platform",
          "in" : "query",
          "description" : "RubyGems platform",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "rubygems.summary",
          "in" : "query",
          "description" : "RubyGems summary",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "yum.architecture",
          "in" : "query",
          "description" : "Yum architecture",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "yum.name",
          "in" : "query",
          "description" : "Yum package name",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "400" : {
            "description" : "ValidationErrorXO{id='*', message='Search returned multiple assets, please refine search criteria to find a single asset or use the sort query parameter to retrieve the first result.'}"
          },
          "404" : {
            "description" : "Asset search returned no results"
          }
        }
      }
    },
    "/v1/search" : {
      "get" : {
        "tags" : [ "Search" ],
        "summary" : "Search components",
        "description" : "",
        "operationId" : "search",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "continuationToken",
          "in" : "query",
          "description" : "A token returned by a prior request. If present, the next page of results are returned",
          "required" : false,
          "type" : "string",
          "allowEmptyValue" : true
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "The field to sort the results against, if left empty, a sort based on match weight will be used.",
          "required" : false,
          "type" : "string",
          "allowEmptyValue" : true,
          "enum" : [ "group", "name", "version", "repository" ]
        }, {
          "name" : "direction",
          "in" : "query",
          "description" : "The direction to sort records in, defaults to ascending ('asc') for all sort fields, except version, which defaults to descending ('desc')",
          "required" : false,
          "type" : "string",
          "allowEmptyValue" : true,
          "enum" : [ "asc", "desc" ]
        }, {
          "name" : "timeout",
          "in" : "query",
          "description" : "How long to wait for search results in seconds. If this value is not provided, the system default timeout will be used.",
          "required" : false,
          "type" : "integer",
          "format" : "int32",
          "allowEmptyValue" : true
        }, {
          "name" : "q",
          "in" : "query",
          "description" : "Query by keyword",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "repository",
          "in" : "query",
          "description" : "Repository name",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "format",
          "in" : "query",
          "description" : "Query by format",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "group",
          "in" : "query",
          "description" : "Component group",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "name",
          "in" : "query",
          "description" : "Component name",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "version",
          "in" : "query",
          "description" : "Component version",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "prerelease",
          "in" : "query",
          "description" : "Prerelease version flag",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "md5",
          "in" : "query",
          "description" : "Specific MD5 hash of component's asset",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "sha1",
          "in" : "query",
          "description" : "Specific SHA-1 hash of component's asset",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "sha256",
          "in" : "query",
          "description" : "Specific SHA-256 hash of component's asset",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "sha512",
          "in" : "query",
          "description" : "Specific SHA-512 hash of component's asset",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "conan.baseVersion",
          "in" : "query",
          "description" : "Conan base version",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "conan.channel",
          "in" : "query",
          "description" : "Conan channel",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "conan.revision",
          "in" : "query",
          "description" : "Conan recipe revision",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "conan.packageId",
          "in" : "query",
          "description" : "Conan package id",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "conan.packageRevision",
          "in" : "query",
          "description" : "Conan package revision",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "docker.imageName",
          "in" : "query",
          "description" : "Docker image name",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "docker.imageTag",
          "in" : "query",
          "description" : "Docker image tag",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "docker.layerId",
          "in" : "query",
          "description" : "Docker layer ID",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "docker.contentDigest",
          "in" : "query",
          "description" : "Docker content digest",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "maven.groupId",
          "in" : "query",
          "description" : "Maven groupId",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "maven.artifactId",
          "in" : "query",
          "description" : "Maven artifactId",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "maven.baseVersion",
          "in" : "query",
          "description" : "Maven base version",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "maven.extension",
          "in" : "query",
          "description" : "Maven extension of component's asset",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "maven.classifier",
          "in" : "query",
          "description" : "Maven classifier of component's asset",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "gavec",
          "in" : "query",
          "description" : "Group asset version extension classifier",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "npm.scope",
          "in" : "query",
          "description" : "npm scope",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "npm.author",
          "in" : "query",
          "description" : "npm author",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "npm.description",
          "in" : "query",
          "description" : "npm description",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "npm.keywords",
          "in" : "query",
          "description" : "npm keywords",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "npm.license",
          "in" : "query",
          "description" : "npm license",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "npm.tagged_is",
          "in" : "query",
          "description" : "npm tagged is",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "npm.tagged_not",
          "in" : "query",
          "description" : "npm tagged not",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "nuget.id",
          "in" : "query",
          "description" : "NuGet id",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "nuget.tags",
          "in" : "query",
          "description" : "NuGet tags",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "nuget.title",
          "in" : "query",
          "description" : "NuGet title",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "nuget.authors",
          "in" : "query",
          "description" : "NuGet authors",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "nuget.description",
          "in" : "query",
          "description" : "NuGet description",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "nuget.summary",
          "in" : "query",
          "description" : "NuGet summary",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "p2.pluginName",
          "in" : "query",
          "description" : "p2 plugin name",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "pypi.classifiers",
          "in" : "query",
          "description" : "PyPI classifiers",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "pypi.description",
          "in" : "query",
          "description" : "PyPI description",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "pypi.keywords",
          "in" : "query",
          "description" : "PyPI keywords",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "pypi.summary",
          "in" : "query",
          "description" : "PyPI summary",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "rubygems.description",
          "in" : "query",
          "description" : "RubyGems description",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "rubygems.platform",
          "in" : "query",
          "description" : "RubyGems platform",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "rubygems.summary",
          "in" : "query",
          "description" : "RubyGems summary",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "yum.architecture",
          "in" : "query",
          "description" : "Yum architecture",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "yum.name",
          "in" : "query",
          "description" : "Yum package name",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/PageComponentXO"
            }
          }
        }
      }
    },
    "/v1/formats/{format}/upload-specs" : {
      "get" : {
        "tags" : [ "Formats" ],
        "summary" : "Get upload field requirements for the desired format",
        "description" : "",
        "operationId" : "get_1",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "format",
          "in" : "path",
          "description" : "The desired repository format",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/UploadDefinitionXO"
            }
          }
        }
      }
    },
    "/v1/formats/upload-specs" : {
      "get" : {
        "tags" : [ "Formats" ],
        "summary" : "Get upload field requirements for each supported format",
        "description" : "",
        "operationId" : "get_2",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/UploadDefinitionXO"
              }
            }
          }
        }
      }
    },
    "/v1/security/privileges/repository-content-selector" : {
      "post" : {
        "tags" : [ "Security management: privileges" ],
        "summary" : "Create a repository content selector type privilege.",
        "description" : "",
        "operationId" : "createPrivilege_2",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "description" : "The privilege to create.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ApiPrivilegeRepositoryContentSelectorRequest"
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Privilege object not configured properly."
          },
          "403" : {
            "description" : "The user does not have permission to perform the operation."
          }
        }
      }
    },
    "/v1/security/privileges/repository-admin" : {
      "post" : {
        "tags" : [ "Security management: privileges" ],
        "summary" : "Create a repository admin type privilege.",
        "description" : "",
        "operationId" : "createPrivilege_3",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "description" : "The privilege to create.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ApiPrivilegeRepositoryAdminRequest"
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Privilege object not configured properly."
          },
          "403" : {
            "description" : "The user does not have permission to perform the operation."
          }
        }
      }
    },
    "/v1/security/privileges/repository-view" : {
      "post" : {
        "tags" : [ "Security management: privileges" ],
        "summary" : "Create a repository view type privilege.",
        "description" : "",
        "operationId" : "createPrivilege_4",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "description" : "The privilege to create.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ApiPrivilegeRepositoryViewRequest"
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Privilege object not configured properly."
          },
          "403" : {
            "description" : "The user does not have permission to perform the operation."
          }
        }
      }
    },
    "/v1/security/privileges/repository-view/{privilegeName}" : {
      "put" : {
        "tags" : [ "Security management: privileges" ],
        "summary" : "Update a repository view type privilege.",
        "description" : "",
        "operationId" : "updatePrivilege_2",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "privilegeName",
          "in" : "path",
          "description" : "The name of the privilege to update.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The privilege to update.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ApiPrivilegeRepositoryViewRequest"
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Privilege object not configured properly."
          },
          "403" : {
            "description" : "The user does not have permission to perform the operation."
          },
          "404" : {
            "description" : "Privilege not found in the system."
          }
        }
      }
    },
    "/v1/security/privileges/repository-content-selector/{privilegeName}" : {
      "put" : {
        "tags" : [ "Security management: privileges" ],
        "summary" : "Update a repository content selector type privilege.",
        "description" : "",
        "operationId" : "updatePrivilege_3",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "privilegeName",
          "in" : "path",
          "description" : "The name of the privilege to update.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The privilege to update.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ApiPrivilegeRepositoryContentSelectorRequest"
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Privilege object not configured properly."
          },
          "403" : {
            "description" : "The user does not have permission to perform the operation."
          },
          "404" : {
            "description" : "Privilege not found in the system."
          }
        }
      }
    },
    "/v1/security/privileges/repository-admin/{privilegeName}" : {
      "put" : {
        "tags" : [ "Security management: privileges" ],
        "summary" : "Update a repository admin type privilege.",
        "description" : "",
        "operationId" : "updatePrivilege_4",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "privilegeName",
          "in" : "path",
          "description" : "The name of the privilege to update.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The privilege to update.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ApiPrivilegeRepositoryAdminRequest"
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Privilege object not configured properly."
          },
          "403" : {
            "description" : "The user does not have permission to perform the operation."
          },
          "404" : {
            "description" : "Privilege not found in the system."
          }
        }
      }
    },
    "/v1/email" : {
      "get" : {
        "tags" : [ "Email" ],
        "summary" : "Retrieve the current email configuration",
        "description" : "",
        "operationId" : "getEmailConfiguration",
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ApiEmailConfiguration"
            }
          },
          "403" : {
            "description" : "Insufficient permissions to retrieve the email configuration"
          }
        }
      },
      "put" : {
        "tags" : [ "Email" ],
        "summary" : "Set the current email configuration",
        "description" : "",
        "operationId" : "setEmailConfiguration",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : true,
          "schema" : {
            "$ref" : "#/definitions/ApiEmailConfiguration"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Email configuration was successfully updated"
          },
          "400" : {
            "description" : "Invalid request"
          },
          "403" : {
            "description" : "Insufficient permissions to update the email configuration"
          }
        }
      },
      "delete" : {
        "tags" : [ "Email" ],
        "summary" : "Disable and clear the email configuration",
        "description" : "",
        "operationId" : "deleteEmailConfiguration",
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "204" : {
            "description" : "Email configuration was successfully cleared"
          }
        }
      }
    },
    "/v1/email/verify" : {
      "post" : {
        "tags" : [ "Email" ],
        "summary" : "Send a test email to the email address provided in the request body",
        "description" : "",
        "operationId" : "testEmailConfiguration",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "description" : "An email address to send a test email to",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Validation was complete, look at the body to determine success",
            "schema" : {
              "$ref" : "#/definitions/ApiEmailValidation"
            }
          },
          "403" : {
            "description" : "Insufficient permissions to verify the email configuration"
          }
        }
      }
    },
    "/v1/status" : {
      "get" : {
        "tags" : [ "Status" ],
        "summary" : "Health check endpoint that validates server can respond to read requests",
        "description" : "",
        "operationId" : "isAvailable",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "Available to service requests"
          },
          "503" : {
            "description" : "Unavailable to service requests"
          }
        }
      }
    },
    "/v1/status/writable" : {
      "get" : {
        "tags" : [ "Status" ],
        "summary" : "Health check endpoint that validates server can respond to read and write requests",
        "description" : "",
        "operationId" : "isWritable",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "Available to service requests"
          },
          "503" : {
            "description" : "Unavailable to service requests"
          }
        }
      }
    },
    "/v1/status/check" : {
      "get" : {
        "tags" : [ "Status" ],
        "summary" : "Health check endpoint that returns the results of the system status checks",
        "description" : "",
        "operationId" : "getSystemStatusChecks",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "The system status check results",
            "schema" : {
              "type" : "object",
              "additionalProperties" : {
                "$ref" : "#/definitions/Result"
              }
            }
          }
        }
      }
    },
    "/v1/support/supportzippath" : {
      "post" : {
        "tags" : [ "Support" ],
        "summary" : "Creates a support zip and returns the path",
        "description" : "",
        "operationId" : "supportzippath",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/SupportZipGeneratorRequest"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SupportZipXO"
            }
          }
        }
      }
    },
    "/v1/support/supportzip" : {
      "post" : {
        "tags" : [ "Support" ],
        "summary" : "Creates and downloads a support zip",
        "description" : "",
        "operationId" : "supportzip",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/octet-stream" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/SupportZipGeneratorRequest"
          }
        } ],
        "responses" : {
          "default" : {
            "description" : "successful operation"
          }
        }
      }
    },
    "/v1/repositories/maven/group" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create Maven group repository",
        "description" : "",
        "operationId" : "createRepository",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/MavenGroupRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/maven/group/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_1",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiGroupRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update Maven group repository",
        "description" : "",
        "operationId" : "updateRepository",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/MavenGroupRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/maven/hosted/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_2",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/MavenHostedApiRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update Maven hosted repository",
        "description" : "",
        "operationId" : "updateRepository_1",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/MavenHostedRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/maven/hosted" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create Maven hosted repository",
        "description" : "",
        "operationId" : "createRepository_1",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/MavenHostedRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/maven/proxy/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_3",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/MavenProxyApiRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update Maven proxy repository",
        "description" : "",
        "operationId" : "updateRepository_2",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/MavenProxyRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/maven/proxy" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create Maven proxy repository",
        "description" : "",
        "operationId" : "createRepository_2",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/MavenProxyRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/security/privileges/script" : {
      "post" : {
        "tags" : [ "Security management: privileges" ],
        "summary" : "Create a script type privilege.",
        "description" : "",
        "operationId" : "createPrivilege_5",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "description" : "The privilege to create.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ApiPrivilegeScriptRequest"
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Privilege object not configured properly."
          },
          "403" : {
            "description" : "The user does not have permission to perform the operation."
          }
        }
      }
    },
    "/v1/security/privileges/script/{privilegeName}" : {
      "put" : {
        "tags" : [ "Security management: privileges" ],
        "summary" : "Update a script type privilege.",
        "description" : "",
        "operationId" : "updatePrivilege_5",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "privilegeName",
          "in" : "path",
          "description" : "The name of the privilege to update.",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "The privilege to update.",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ApiPrivilegeScriptRequest"
          }
        } ],
        "responses" : {
          "400" : {
            "description" : "Privilege object not configured properly."
          },
          "403" : {
            "description" : "The user does not have permission to perform the operation."
          },
          "404" : {
            "description" : "Privilege not found in the system."
          }
        }
      }
    },
    "/v1/script/{name}" : {
      "get" : {
        "tags" : [ "Script" ],
        "summary" : "Read stored script by name",
        "description" : "",
        "operationId" : "read_1",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "name",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ScriptXO"
            }
          },
          "404" : {
            "description" : "No script with the specified name"
          }
        }
      },
      "put" : {
        "tags" : [ "Script" ],
        "summary" : "Update stored script by name",
        "description" : "",
        "operationId" : "edit",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "name",
          "in" : "path",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ScriptXO"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Script was updated"
          },
          "404" : {
            "description" : "No script with the specified name"
          },
          "410" : {
            "description" : "Script updating is disabled"
          }
        }
      },
      "delete" : {
        "tags" : [ "Script" ],
        "summary" : "Delete stored script by name",
        "description" : "",
        "operationId" : "delete_1",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "name",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Script was deleted"
          },
          "404" : {
            "description" : "No script with the specified name"
          }
        }
      }
    },
    "/v1/script" : {
      "get" : {
        "tags" : [ "Script" ],
        "summary" : "List all stored scripts",
        "description" : "",
        "operationId" : "browse",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/ScriptXO"
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Script" ],
        "summary" : "Add a new script",
        "description" : "",
        "operationId" : "add",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ScriptXO"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Script was added"
          },
          "410" : {
            "description" : "Script creation is disabled"
          }
        }
      }
    },
    "/v1/script/{name}/run" : {
      "post" : {
        "tags" : [ "Script" ],
        "summary" : "Run stored script by name",
        "description" : "",
        "operationId" : "run_1",
        "consumes" : [ "text/plain", "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "name",
          "in" : "path",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ScriptResultXO"
            }
          },
          "404" : {
            "description" : "No script with the specified name"
          },
          "500" : {
            "description" : "Script execution failed with exception"
          }
        }
      }
    },
    "/v1/blobstores/s3/{name}" : {
      "get" : {
        "tags" : [ "Blob store" ],
        "summary" : "Get a S3 blob store configuration by name",
        "description" : "",
        "operationId" : "getBlobStore",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "name",
          "in" : "path",
          "description" : "Name of the blob store configuration to fetch",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Success",
            "schema" : {
              "$ref" : "#/definitions/S3BlobStoreApiModel"
            }
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Specified S3 blob store doesn't exist"
          }
        }
      },
      "put" : {
        "tags" : [ "Blob store" ],
        "summary" : "Update an S3 blob store configuration by name",
        "description" : "",
        "operationId" : "updateBlobStore",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/S3BlobStoreApiModel"
          }
        }, {
          "name" : "name",
          "in" : "path",
          "description" : "Name of the blob store to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "S3 blob store updated"
          },
          "400" : {
            "description" : "Specified S3 blob store doesn't exist"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/blobstores/s3" : {
      "post" : {
        "tags" : [ "Blob store" ],
        "summary" : "Create an S3 blob store",
        "description" : "",
        "operationId" : "createBlobStore",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/S3BlobStoreApiModel"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "S3 blob store created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/apt/hosted/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_4",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/AptHostedApiRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update APT hosted repository",
        "description" : "",
        "operationId" : "updateRepository_3",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/AptHostedRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Repository not found"
          }
        }
      }
    },
    "/v1/repositories/apt/hosted" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create APT hosted repository",
        "description" : "",
        "operationId" : "createRepository_3",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/AptHostedRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "405" : {
            "description" : "Feature is disabled in High Availability"
          }
        }
      }
    },
    "/v1/repositories/apt/proxy/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_5",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/AptProxyApiRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update APT proxy repository",
        "description" : "",
        "operationId" : "updateRepository_4",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/AptProxyRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Repository not found"
          }
        }
      }
    },
    "/v1/repositories/apt/proxy" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create APT proxy repository",
        "description" : "",
        "operationId" : "createRepository_4",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/AptProxyRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "405" : {
            "description" : "Feature is disabled in High Availability"
          }
        }
      }
    },
    "/v1/repositories/raw/group" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create raw group repository",
        "description" : "",
        "operationId" : "createRepository_5",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/RawGroupRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/raw/group/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_6",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiGroupRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update raw group repository",
        "description" : "",
        "operationId" : "updateRepository_5",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/RawGroupRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/raw/hosted" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create raw hosted repository",
        "description" : "",
        "operationId" : "createRepository_6",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/RawHostedRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/raw/hosted/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_7",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiHostedRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update raw hosted repository",
        "description" : "",
        "operationId" : "updateRepository_6",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/RawHostedRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/raw/proxy" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create raw proxy repository",
        "description" : "",
        "operationId" : "createRepository_7",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/RawProxyRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/raw/proxy/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_8",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiProxyRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update raw proxy repository",
        "description" : "",
        "operationId" : "updateRepository_7",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/RawProxyRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/security/ldap/change-order" : {
      "post" : {
        "tags" : [ "Security management: LDAP" ],
        "summary" : "Change LDAP server order",
        "description" : "",
        "operationId" : "changeOrder",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "description" : "Ordered list of LDAP server names",
          "required" : false,
          "schema" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "LDAP server order changed"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/security/ldap/{name}" : {
      "get" : {
        "tags" : [ "Security management: LDAP" ],
        "summary" : "Get LDAP server",
        "description" : "",
        "operationId" : "getLdapServer",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "name",
          "in" : "path",
          "description" : "Name of the LDAP server to retrieve",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "LDAP server returned"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "LDAP server not found"
          }
        }
      },
      "put" : {
        "tags" : [ "Security management: LDAP" ],
        "summary" : "Update LDAP server",
        "description" : "",
        "operationId" : "updateLdapServer",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "name",
          "in" : "path",
          "description" : "Name of the LDAP server to update",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "body",
          "description" : "Updated values of LDAP server",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/UpdateLdapServerXo"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "LDAP server updated"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "LDAP server not found"
          }
        }
      },
      "delete" : {
        "tags" : [ "Security management: LDAP" ],
        "summary" : "Delete LDAP server",
        "description" : "",
        "operationId" : "deleteLdapServer",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "name",
          "in" : "path",
          "description" : "Name of the LDAP server to delete",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "LDAP server deleted"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "LDAP server not found"
          }
        }
      }
    },
    "/v1/security/ldap" : {
      "get" : {
        "tags" : [ "Security management: LDAP" ],
        "summary" : "List LDAP servers",
        "description" : "",
        "operationId" : "getLdapServers",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "LDAP server list returned"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      },
      "post" : {
        "tags" : [ "Security management: LDAP" ],
        "summary" : "Create LDAP server",
        "description" : "",
        "operationId" : "createLdapServer",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/CreateLdapServerXo"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "LDAP server created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/iq" : {
      "get" : {
        "tags" : [ "Manage Sonatype Repository Firewall configuration" ],
        "summary" : "Get Sonatype Repository Firewall configuration",
        "description" : "",
        "operationId" : "getConfiguration",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "Sonatype Repository Firewall configuration returned"
          }
        }
      },
      "put" : {
        "tags" : [ "Manage Sonatype Repository Firewall configuration" ],
        "summary" : "Update Sonatype Repository Firewall configuration",
        "description" : "",
        "operationId" : "updateConfiguration",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/IqConnectionXo"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Sonatype Repository Firewall configuration has been updated"
          }
        }
      }
    },
    "/v1/iq/enable" : {
      "post" : {
        "tags" : [ "Manage Sonatype Repository Firewall configuration" ],
        "summary" : "Enable Sonatype Repository Firewall",
        "description" : "",
        "operationId" : "enableIq",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "204" : {
            "description" : "Sonatype Repository Firewall has been enabled"
          },
          "400" : {
            "description" : "Sonatype Repository Firewall connection not configured"
          }
        }
      }
    },
    "/v1/iq/disable" : {
      "post" : {
        "tags" : [ "Manage Sonatype Repository Firewall configuration" ],
        "summary" : "Disable Sonatype Repository Firewall",
        "description" : "",
        "operationId" : "disableIq",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "204" : {
            "description" : "Sonatype Repository Firewall has been disabled"
          },
          "400" : {
            "description" : "Sonatype Repository Firewall connection not configured"
          }
        }
      }
    },
    "/v1/iq/verify-connection" : {
      "post" : {
        "tags" : [ "Manage Sonatype Repository Firewall configuration" ],
        "summary" : "Verify Sonatype Repository Firewall connection",
        "description" : "",
        "operationId" : "verifyConnection",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "Connection verification complete, check response body for result"
          }
        }
      }
    },
    "/v1/repositories/{repositoryName}/health-check" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Enable repository health check. Proxy repositories only.",
        "description" : "",
        "operationId" : "enableRepositoryHealthCheck",
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to enable Repository Health Check for",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository Health Check enabled"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Repository not found"
          },
          "409" : {
            "description" : "EULA not accepted or Repository Health Check capability not active"
          }
        }
      },
      "delete" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Disable repository health check. Proxy repositories only.",
        "description" : "",
        "operationId" : "disableRepositoryHealthCheck",
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to disable Repository Health Check for",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository Health Check disabled"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Repository not found"
          }
        }
      }
    },
    "/v1/system/license" : {
      "get" : {
        "tags" : [ "Product licensing" ],
        "summary" : "Get the current license status.",
        "description" : "",
        "operationId" : "getLicenseStatus",
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ApiLicenseDetailsXO"
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Product licensing" ],
        "summary" : "Upload a new license file.",
        "description" : "Server must be restarted to take effect",
        "operationId" : "setLicense",
        "consumes" : [ "application/octet-stream" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/InputStream"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/ApiLicenseDetailsXO"
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Product licensing" ],
        "summary" : "Uninstall license if present.",
        "description" : "",
        "operationId" : "removeLicense",
        "produces" : [ "application/json" ],
        "parameters" : [ ],
        "responses" : {
          "default" : {
            "description" : "successful operation"
          }
        }
      }
    },
    "/v1/repositories/npm/group/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_9",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiGroupDeployRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update npm group repository",
        "description" : "",
        "operationId" : "updateRepository_8",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/NpmGroupRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/npm/group" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create npm group repository",
        "description" : "",
        "operationId" : "createRepository_8",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/NpmGroupRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/npm/hosted" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create npm hosted repository",
        "description" : "",
        "operationId" : "createRepository_9",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/NpmHostedRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/npm/hosted/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_10",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiHostedRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update npm hosted repository",
        "description" : "",
        "operationId" : "updateRepository_9",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/NpmHostedRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/npm/proxy/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_11",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/NpmProxyApiRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update npm proxy repository",
        "description" : "",
        "operationId" : "updateRepository_10",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/NpmProxyRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/npm/proxy" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create npm proxy repository",
        "description" : "",
        "operationId" : "createRepository_10",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/NpmProxyRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/nuget/group" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create NuGet group repository",
        "description" : "",
        "operationId" : "createRepository_11",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/NugetGroupRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/nuget/group/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_12",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiGroupRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update NuGet group repository",
        "description" : "",
        "operationId" : "updateRepository_11",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/NugetGroupRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/nuget/hosted" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create NuGet hosted repository",
        "description" : "",
        "operationId" : "createRepository_12",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/NugetHostedRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/nuget/hosted/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_13",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiHostedRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update NuGet hosted repository",
        "description" : "",
        "operationId" : "updateRepository_12",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/NugetHostedRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/nuget/proxy/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_14",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/NugetProxyApiRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update NuGet proxy repository",
        "description" : "",
        "operationId" : "updateRepository_13",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/NugetProxyRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/nuget/proxy" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create NuGet proxy repository",
        "description" : "",
        "operationId" : "createRepository_13",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/NugetProxyRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/rubygems/group" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create RubyGems group repository",
        "description" : "",
        "operationId" : "createRepository_14",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/RubyGemsGroupRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/rubygems/group/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_15",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiGroupRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update RubyGems group repository",
        "description" : "",
        "operationId" : "updateRepository_14",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/RubyGemsGroupRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/rubygems/hosted" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create RubyGems hosted repository",
        "description" : "",
        "operationId" : "createRepository_15",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/RubyGemsHostedRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/rubygems/hosted/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_16",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiHostedRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update RubyGems hosted repository",
        "description" : "",
        "operationId" : "updateRepository_15",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/RubyGemsHostedRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/rubygems/proxy" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create RubyGems proxy repository",
        "description" : "",
        "operationId" : "createRepository_16",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/RubyGemsProxyRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/rubygems/proxy/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_17",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiProxyRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update RubyGems proxy repository",
        "description" : "",
        "operationId" : "updateRepository_16",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/RubyGemsProxyRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/docker/group/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_18",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/DockerGroupApiRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update Docker group repository",
        "description" : "",
        "operationId" : "updateRepository_17",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/DockerGroupRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Repository not found"
          }
        }
      }
    },
    "/v1/repositories/docker/group" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create Docker group repository",
        "description" : "",
        "operationId" : "createRepository_17",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/DockerGroupRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/docker/hosted/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_19",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/DockerHostedApiRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update Docker hosted repository",
        "description" : "",
        "operationId" : "updateRepository_18",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/DockerHostedRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Repository not found"
          }
        }
      }
    },
    "/v1/repositories/docker/hosted" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create Docker hosted repository",
        "description" : "",
        "operationId" : "createRepository_18",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/DockerHostedRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Repository not found"
          }
        }
      }
    },
    "/v1/repositories/docker/proxy/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_20",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/DockerProxyApiRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update Docker proxy repository",
        "description" : "",
        "operationId" : "updateRepository_19",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/DockerProxyRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Repository not found"
          }
        }
      }
    },
    "/v1/repositories/docker/proxy" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create Docker proxy repository",
        "description" : "",
        "operationId" : "createRepository_19",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/DockerProxyRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/yum/group" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create Yum group repository",
        "description" : "",
        "operationId" : "createRepository_20",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/YumGroupRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/yum/group/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_21",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiGroupRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update Yum group repository",
        "description" : "",
        "operationId" : "updateRepository_20",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/YumGroupRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/yum/hosted/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_22",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/YumHostedApiRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update Yum hosted repository",
        "description" : "",
        "operationId" : "updateRepository_21",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/YumHostedRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/yum/hosted" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create Yum hosted repository",
        "description" : "",
        "operationId" : "createRepository_21",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/YumHostedRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/yum/proxy" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create Yum proxy repository",
        "description" : "",
        "operationId" : "createRepository_22",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/YumProxyRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/yum/proxy/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_23",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiProxyRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update Yum proxy repository",
        "description" : "",
        "operationId" : "updateRepository_22",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/YumProxyRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/azureblobstore/test-connection" : {
      "post" : {
        "tags" : [ "Azure blob store" ],
        "summary" : "Verify connection using supplied Azure Blob Store settings",
        "description" : "",
        "operationId" : "verifyConnection_1",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/AzureConnectionXO"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Azure Blob Store connection was successful"
          },
          "400" : {
            "description" : "Azure Blob Store connection failed"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/blobstores/azure/{name}" : {
      "get" : {
        "tags" : [ "Blob store" ],
        "summary" : "Get an Azure blob store configuration by name",
        "description" : "",
        "operationId" : "getBlobStore_1",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "name",
          "in" : "path",
          "description" : "Name of the blob store configuration to fetch",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Success",
            "schema" : {
              "$ref" : "#/definitions/AzureBlobStoreApiModel"
            }
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Specified Azure blob store doesn't exist"
          }
        }
      },
      "put" : {
        "tags" : [ "Blob store" ],
        "summary" : "Update an Azure blob store configuration by name",
        "description" : "",
        "operationId" : "updateBlobStore_1",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/AzureBlobStoreApiModel"
          }
        }, {
          "name" : "name",
          "in" : "path",
          "description" : "Name of the blob store to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Azure blob store updated"
          },
          "400" : {
            "description" : "Specified Azure blob store doesn't exist"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/blobstores/azure" : {
      "post" : {
        "tags" : [ "Blob store" ],
        "summary" : "Create an Azure blob store",
        "description" : "",
        "operationId" : "createBlobStore_1",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/AzureBlobStoreApiModel"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Azure blob store created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/helm/hosted" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create Helm hosted repository",
        "description" : "",
        "operationId" : "createRepository_23",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/HelmHostedRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "405" : {
            "description" : "Feature is disabled in High Availability"
          }
        }
      }
    },
    "/v1/repositories/helm/hosted/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_24",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiHostedRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update Helm hosted repository",
        "description" : "",
        "operationId" : "updateRepository_23",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/HelmHostedRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/helm/proxy" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create Helm proxy repository",
        "description" : "",
        "operationId" : "createRepository_24",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/HelmProxyRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "405" : {
            "description" : "Feature is disabled in High Availability"
          }
        }
      }
    },
    "/v1/repositories/helm/proxy/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_25",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiProxyRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update Helm proxy repository",
        "description" : "",
        "operationId" : "updateRepository_24",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/HelmProxyRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/gitlfs/hosted" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create Git LFS hosted repository",
        "description" : "",
        "operationId" : "createRepository_25",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/GitLfsHostedRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/gitlfs/hosted/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_26",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiHostedRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update Git LFS hosted repository",
        "description" : "",
        "operationId" : "updateRepository_25",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/GitLfsHostedRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/pypi/group" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create PyPI group repository",
        "description" : "",
        "operationId" : "createRepository_26",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/PypiGroupRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/pypi/group/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_27",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiGroupRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update PyPI group repository",
        "description" : "",
        "operationId" : "updateRepository_26",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/PypiGroupRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/pypi/hosted" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create PyPI hosted repository",
        "description" : "",
        "operationId" : "createRepository_27",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/PypiHostedRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/pypi/hosted/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_28",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiHostedRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update PyPI hosted repository",
        "description" : "",
        "operationId" : "updateRepository_27",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/PypiHostedRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/pypi/proxy" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create PyPI proxy repository",
        "description" : "",
        "operationId" : "createRepository_28",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/PypiProxyRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/pypi/proxy/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_29",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiProxyRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update PyPI proxy repository",
        "description" : "",
        "operationId" : "updateRepository_28",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/PypiProxyRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/conda/proxy" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create conda proxy repository",
        "description" : "",
        "operationId" : "createRepository_29",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/CondaProxyRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "405" : {
            "description" : "Feature is disabled in High Availability"
          }
        }
      }
    },
    "/v1/repositories/conda/proxy/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_30",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiProxyRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update conda proxy repository",
        "description" : "",
        "operationId" : "updateRepository_29",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/CondaProxyRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/conan/proxy" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create Conan proxy repository",
        "description" : "",
        "operationId" : "createRepository_30",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ConanProxyRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "405" : {
            "description" : "Feature is disabled in High Availability"
          }
        }
      }
    },
    "/v1/repositories/conan/proxy/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_31",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiProxyRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update Conan proxy repository",
        "description" : "",
        "operationId" : "updateRepository_30",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/ConanProxyRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Repository not found"
          }
        }
      }
    },
    "/v1/repositories/r/group" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create R group repository",
        "description" : "",
        "operationId" : "createRepository_31",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/RGroupRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "405" : {
            "description" : "Feature is disabled in High Availability"
          }
        }
      }
    },
    "/v1/repositories/r/group/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_32",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiGroupRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update R group repository",
        "description" : "",
        "operationId" : "updateRepository_31",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/RGroupRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/r/hosted" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create R hosted repository",
        "description" : "",
        "operationId" : "createRepository_32",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/RHostedRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "405" : {
            "description" : "Feature is disabled in High Availability"
          }
        }
      }
    },
    "/v1/repositories/r/hosted/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_33",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiHostedRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update R hosted repository",
        "description" : "",
        "operationId" : "updateRepository_32",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/RHostedRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/r/proxy" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create R proxy repository",
        "description" : "",
        "operationId" : "createRepository_33",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/RProxyRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "405" : {
            "description" : "Feature is disabled in High Availability"
          }
        }
      }
    },
    "/v1/repositories/r/proxy/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_34",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiProxyRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update R proxy repository",
        "description" : "",
        "operationId" : "updateRepository_33",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/RProxyRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Repository not found"
          }
        }
      }
    },
    "/v1/repositories/cocoapods/proxy" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create Cocoapods proxy repository",
        "description" : "",
        "operationId" : "createRepository_34",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/CocoapodsProxyRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "405" : {
            "description" : "Feature is disabled in High Availability"
          }
        }
      }
    },
    "/v1/repositories/cocoapods/proxy/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_35",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiProxyRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update Cocoapods proxy repository",
        "description" : "",
        "operationId" : "updateRepository_34",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/CocoapodsProxyRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/go/group" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create a Go group repository",
        "description" : "",
        "operationId" : "createRepository_35",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/GolangGroupRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "405" : {
            "description" : "Feature is disabled in High Availability"
          }
        }
      }
    },
    "/v1/repositories/go/group/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_36",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiGroupRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update a Go group repository",
        "description" : "",
        "operationId" : "updateRepository_35",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/GolangGroupRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Repository not found"
          }
        }
      }
    },
    "/v1/repositories/go/proxy" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create a Go proxy repository",
        "description" : "",
        "operationId" : "createRepository_36",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/GolangProxyRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "405" : {
            "description" : "Feature is disabled in High Availability"
          }
        }
      }
    },
    "/v1/repositories/go/proxy/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_37",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiProxyRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update a Go proxy repository",
        "description" : "",
        "operationId" : "updateRepository_36",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/GolangProxyRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Repository not found"
          }
        }
      }
    },
    "/v1/repositories/p2/proxy" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create p2 proxy repository",
        "description" : "",
        "operationId" : "createRepository_37",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/P2ProxyRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "405" : {
            "description" : "Feature is disabled in High Availability"
          }
        }
      }
    },
    "/v1/repositories/p2/proxy/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_38",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiProxyRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update p2 proxy repository",
        "description" : "",
        "operationId" : "updateRepository_37",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/P2ProxyRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "400" : {
            "description" : "Bad request"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/bower/group" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create Bower group repository",
        "description" : "",
        "operationId" : "createRepository_38",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/BowerGroupRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/bower/group/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_39",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiGroupRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update Bower group repository",
        "description" : "",
        "operationId" : "updateRepository_38",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/BowerGroupRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/bower/hosted" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create Bower hosted repository",
        "description" : "",
        "operationId" : "createRepository_39",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/BowerHostedRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/bower/hosted/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_40",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/SimpleApiHostedRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update Bower hosted repository",
        "description" : "",
        "operationId" : "updateRepository_39",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/BowerHostedRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/bower/proxy/{repositoryName}" : {
      "get" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Get repository",
        "description" : "",
        "operationId" : "getRepository_41",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "repositoryName",
          "in" : "path",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "schema" : {
              "$ref" : "#/definitions/BowerProxyApiRepository"
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Update Bower proxy repository",
        "description" : "",
        "operationId" : "updateRepository_40",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/BowerProxyRepositoryApiRequest"
          }
        }, {
          "name" : "repositoryName",
          "in" : "path",
          "description" : "Name of the repository to update",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "204" : {
            "description" : "Repository updated"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/v1/repositories/bower/proxy" : {
      "post" : {
        "tags" : [ "Repository Management" ],
        "summary" : "Create Bower proxy repository",
        "description" : "",
        "operationId" : "createRepository_40",
        "consumes" : [ "application/json" ],
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "body",
          "required" : false,
          "schema" : {
            "$ref" : "#/definitions/BowerProxyRepositoryApiRequest"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Repository created"
          },
          "401" : {
            "description" : "Authentication required"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    }
  },
  "definitions" : {
    "AnonymousAccessSettingsXO" : {
      "type" : "object",
      "properties" : {
        "enabled" : {
          "type" : "boolean",
          "description" : "Whether or not Anonymous Access is enabled"
        },
        "userId" : {
          "type" : "string",
          "description" : "The username of the anonymous account"
        },
        "realmName" : {
          "type" : "string",
          "description" : "The name of the authentication realm for the anonymous account"
        }
      }
    },
    "ApiUserSource" : {
      "type" : "object",
      "properties" : {
        "id" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        }
      }
    },
    "ApiUser" : {
      "type" : "object",
      "required" : [ "status" ],
      "properties" : {
        "userId" : {
          "type" : "string",
          "description" : "The userid which is required for login. This value cannot be changed."
        },
        "firstName" : {
          "type" : "string",
          "description" : "The first name of the user."
        },
        "lastName" : {
          "type" : "string",
          "description" : "The last name of the user."
        },
        "emailAddress" : {
          "type" : "string",
          "description" : "The email address associated with the user."
        },
        "source" : {
          "type" : "string",
          "description" : "The user source which is the origin of this user. This value cannot be changed."
        },
        "status" : {
          "type" : "string",
          "description" : "The user's status, e.g. active or disabled.",
          "enum" : [ "active", "locked", "disabled", "changepassword" ]
        },
        "readOnly" : {
          "type" : "boolean",
          "description" : "Indicates whether the user's properties could be modified by the Nexus Repository Manager. When false only roles are considered during update."
        },
        "roles" : {
          "type" : "array",
          "description" : "The roles which the user has been assigned within Nexus.",
          "uniqueItems" : true,
          "items" : {
            "type" : "string"
          }
        },
        "externalRoles" : {
          "type" : "array",
          "description" : "The roles which the user has been assigned in an external source, e.g. LDAP group. These cannot be changed within the Nexus Repository Manager.",
          "uniqueItems" : true,
          "items" : {
            "type" : "string"
          }
        }
      }
    },
    "ApiCreateUser" : {
      "type" : "object",
      "required" : [ "status" ],
      "properties" : {
        "userId" : {
          "type" : "string",
          "description" : "The userid which is required for login. This value cannot be changed."
        },
        "firstName" : {
          "type" : "string",
          "description" : "The first name of the user."
        },
        "lastName" : {
          "type" : "string",
          "description" : "The last name of the user."
        },
        "emailAddress" : {
          "type" : "string",
          "description" : "The email address associated with the user."
        },
        "password" : {
          "type" : "string",
          "description" : "The password for the new user."
        },
        "status" : {
          "type" : "string",
          "description" : "The user's status, e.g. active or disabled.",
          "enum" : [ "active", "locked", "disabled", "changepassword" ]
        },
        "roles" : {
          "type" : "array",
          "description" : "The roles which the user has been assigned within Nexus.",
          "uniqueItems" : true,
          "items" : {
            "type" : "string"
          }
        }
      }
    },
    "ApiPrivilege" : {
      "type" : "object",
      "properties" : {
        "type" : {
          "type" : "string",
          "description" : "The type of privilege, each type covers different portions of the system. External values supplied to this will be ignored by the system."
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the privilege.  This value cannot be changed.",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "description" : {
          "type" : "string"
        },
        "readOnly" : {
          "type" : "boolean",
          "description" : "Indicates whether the privilege can be changed. External values supplied to this will be ignored by the system."
        }
      }
    },
    "ApiPrivilegeWildcardRequest" : {
      "type" : "object",
      "properties" : {
        "name" : {
          "type" : "string",
          "description" : "The name of the privilege.  This value cannot be changed.",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "description" : {
          "type" : "string"
        },
        "pattern" : {
          "type" : "string",
          "description" : "A colon separated list of parts that create a permission string."
        }
      }
    },
    "ApiPrivilegeApplicationRequest" : {
      "type" : "object",
      "properties" : {
        "name" : {
          "type" : "string",
          "description" : "The name of the privilege.  This value cannot be changed.",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "description" : {
          "type" : "string"
        },
        "actions" : {
          "type" : "array",
          "description" : "A collection of actions to associate with the privilege, using BREAD syntax (browse,read,edit,add,delete,all) as well as 'run' for script privileges.",
          "items" : {
            "type" : "string",
            "enum" : [ "READ", "BROWSE", "EDIT", "ADD", "DELETE", "RUN", "START", "STOP", "ASSOCIATE", "DISASSOCIATE", "ALL" ]
          }
        },
        "domain" : {
          "type" : "string",
          "description" : "The domain (i.e. 'blobstores', 'capabilities' or even '*' for all) that this privilege is granting access to.  Note that creating new privileges with a domain is only necessary when using plugins that define their own domain(s)."
        }
      }
    },
    "RealmApiXO" : {
      "type" : "object",
      "properties" : {
        "id" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        }
      }
    },
    "RoleXOResponse" : {
      "type" : "object",
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the role."
        },
        "source" : {
          "type" : "string",
          "description" : "The user source which is the origin of this role."
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the role."
        },
        "description" : {
          "type" : "string",
          "description" : "The description of this role."
        },
        "readOnly" : {
          "type" : "boolean",
          "description" : "Indicates whether the role can be changed. The system will ignore any supplied external values."
        },
        "privileges" : {
          "type" : "array",
          "description" : "The list of privileges assigned to this role.",
          "uniqueItems" : true,
          "items" : {
            "type" : "string"
          }
        },
        "roles" : {
          "type" : "array",
          "description" : "The list of roles assigned to this role.",
          "uniqueItems" : true,
          "items" : {
            "type" : "string"
          }
        }
      }
    },
    "RoleXORequest" : {
      "type" : "object",
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The id of the role."
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the role."
        },
        "description" : {
          "type" : "string",
          "description" : "The description of this role."
        },
        "privileges" : {
          "type" : "array",
          "description" : "The list of privileges assigned to this role.",
          "uniqueItems" : true,
          "items" : {
            "type" : "string"
          }
        },
        "roles" : {
          "type" : "array",
          "description" : "The list of roles assigned to this role.",
          "uniqueItems" : true,
          "items" : {
            "type" : "string"
          }
        }
      }
    },
    "Page" : {
      "type" : "object",
      "properties" : {
        "items" : {
          "type" : "array",
          "items" : {
            "type" : "object"
          }
        },
        "continuationToken" : {
          "type" : "string"
        }
      }
    },
    "PageTaskXO" : {
      "type" : "object",
      "properties" : {
        "items" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/TaskXO"
          }
        },
        "continuationToken" : {
          "type" : "string"
        }
      }
    },
    "TaskXO" : {
      "type" : "object",
      "properties" : {
        "id" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        },
        "type" : {
          "type" : "string"
        },
        "message" : {
          "type" : "string"
        },
        "currentState" : {
          "type" : "string"
        },
        "lastRunResult" : {
          "type" : "string"
        },
        "nextRun" : {
          "type" : "string",
          "format" : "date-time"
        },
        "lastRun" : {
          "type" : "string",
          "format" : "date-time"
        }
      }
    },
    "BlobStoreQuotaResultXO" : {
      "type" : "object",
      "properties" : {
        "isViolation" : {
          "type" : "boolean"
        },
        "message" : {
          "type" : "string"
        },
        "blobStoreName" : {
          "type" : "string"
        }
      }
    },
    "BlobStoreApiSoftQuota" : {
      "type" : "object",
      "properties" : {
        "type" : {
          "type" : "string",
          "description" : "The type to use such as spaceRemainingQuota, or spaceUsedQuota",
          "enum" : [ "spaceRemainingQuota", "spaceUsedQuota" ]
        },
        "limit" : {
          "type" : "integer",
          "format" : "int64",
          "description" : "The limit in MB.",
          "minimum" : 0
        }
      }
    },
    "GenericBlobStoreApiResponse" : {
      "type" : "object",
      "properties" : {
        "softQuota" : {
          "description" : "Settings to control the soft quota",
          "$ref" : "#/definitions/BlobStoreApiSoftQuota"
        },
        "name" : {
          "type" : "string"
        },
        "type" : {
          "type" : "string"
        },
        "unavailable" : {
          "type" : "boolean"
        },
        "blobCount" : {
          "type" : "integer",
          "format" : "int64"
        },
        "totalSizeInBytes" : {
          "type" : "integer",
          "format" : "int64"
        },
        "availableSpaceInBytes" : {
          "type" : "integer",
          "format" : "int64"
        }
      }
    },
    "FileBlobStoreApiCreateRequest" : {
      "type" : "object",
      "properties" : {
        "softQuota" : {
          "description" : "Settings to control the soft quota",
          "$ref" : "#/definitions/BlobStoreApiSoftQuota"
        },
        "path" : {
          "type" : "string",
          "description" : "The path to the blobstore contents. This can be an absolute path to anywhere on the system Nexus Repository Manager has access to or it can be a path relative to the sonatype-work directory."
        },
        "name" : {
          "type" : "string"
        }
      }
    },
    "FileBlobStoreApiUpdateRequest" : {
      "type" : "object",
      "properties" : {
        "softQuota" : {
          "description" : "Settings to control the soft quota",
          "$ref" : "#/definitions/BlobStoreApiSoftQuota"
        },
        "path" : {
          "type" : "string",
          "description" : "The path to the blobstore contents. This can be an absolute path to anywhere on the system Nexus Repository Manager has access to or it can be a path relative to the sonatype-work directory."
        }
      }
    },
    "FileBlobStoreApiModel" : {
      "type" : "object",
      "properties" : {
        "softQuota" : {
          "description" : "Settings to control the soft quota",
          "$ref" : "#/definitions/BlobStoreApiSoftQuota"
        },
        "path" : {
          "type" : "string",
          "description" : "The path to the blobstore contents. This can be an absolute path to anywhere on the system Nexus Repository Manager has access to or it can be a path relative to the sonatype-work directory."
        }
      }
    },
    "ReadOnlyState" : {
      "type" : "object",
      "properties" : {
        "systemInitiated" : {
          "type" : "boolean"
        },
        "summaryReason" : {
          "type" : "string"
        },
        "frozen" : {
          "type" : "boolean"
        }
      }
    },
    "ApiCertificate" : {
      "type" : "object",
      "properties" : {
        "expiresOn" : {
          "type" : "integer",
          "format" : "int64"
        },
        "fingerprint" : {
          "type" : "string"
        },
        "id" : {
          "type" : "string"
        },
        "issuedOn" : {
          "type" : "integer",
          "format" : "int64"
        },
        "issuerCommonName" : {
          "type" : "string"
        },
        "issuerOrganization" : {
          "type" : "string"
        },
        "issuerOrganizationalUnit" : {
          "type" : "string"
        },
        "pem" : {
          "type" : "string"
        },
        "serialNumber" : {
          "type" : "string"
        },
        "subjectCommonName" : {
          "type" : "string"
        },
        "subjectOrganization" : {
          "type" : "string"
        },
        "subjectOrganizationalUnit" : {
          "type" : "string"
        }
      }
    },
    "AssetXO" : {
      "type" : "object",
      "properties" : {
        "downloadUrl" : {
          "type" : "string"
        },
        "path" : {
          "type" : "string"
        },
        "id" : {
          "type" : "string"
        },
        "repository" : {
          "type" : "string"
        },
        "format" : {
          "type" : "string"
        },
        "checksum" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "object"
          }
        },
        "contentType" : {
          "type" : "string"
        },
        "lastModified" : {
          "type" : "string",
          "format" : "date-time"
        },
        "lastDownloaded" : {
          "type" : "string",
          "format" : "date-time"
        },
        "uploader" : {
          "type" : "string"
        },
        "uploaderIp" : {
          "type" : "string"
        },
        "fileSize" : {
          "type" : "integer",
          "format" : "int64"
        },
        "blobCreated" : {
          "type" : "string",
          "format" : "date-time"
        }
      }
    },
    "PageAssetXO" : {
      "type" : "object",
      "properties" : {
        "items" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/AssetXO"
          }
        },
        "continuationToken" : {
          "type" : "string"
        }
      }
    },
    "ComponentXO" : {
      "type" : "object",
      "properties" : {
        "id" : {
          "type" : "string"
        },
        "repository" : {
          "type" : "string"
        },
        "format" : {
          "type" : "string"
        },
        "group" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        },
        "version" : {
          "type" : "string"
        },
        "assets" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/AssetXO"
          }
        }
      }
    },
    "PageComponentXO" : {
      "type" : "object",
      "properties" : {
        "items" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/ComponentXO"
          }
        },
        "continuationToken" : {
          "type" : "string"
        }
      }
    },
    "AbstractApiRepository" : {
      "type" : "object",
      "required" : [ "online" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "format" : {
          "type" : "string",
          "example" : "npm",
          "description" : "Component format held in this repository"
        },
        "type" : {
          "type" : "string",
          "example" : "hosted",
          "description" : "Controls if deployments of and updates to artifacts are allowed",
          "enum" : [ "hosted", "proxy", "group" ]
        },
        "url" : {
          "type" : "string",
          "description" : "URL to the repository"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        }
      }
    },
    "ContentSelectorApiResponse" : {
      "type" : "object",
      "properties" : {
        "name" : {
          "type" : "string",
          "description" : "The content selector name cannot be changed after creation"
        },
        "type" : {
          "type" : "string",
          "description" : "The type of content selector the backend is using",
          "enum" : [ "csel", "jexl" ]
        },
        "description" : {
          "type" : "string",
          "description" : "A human-readable description"
        },
        "expression" : {
          "type" : "string",
          "example" : "format == \"maven2\" and path =^ \"/org/sonatype/nexus\"",
          "description" : "The expression used to identify content"
        }
      }
    },
    "ContentSelectorApiCreateRequest" : {
      "type" : "object",
      "properties" : {
        "name" : {
          "type" : "string",
          "description" : "The content selector name cannot be changed after creation",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "description" : {
          "type" : "string",
          "description" : "A human-readable description",
          "allowEmptyValue" : true
        },
        "expression" : {
          "type" : "string",
          "example" : "format == \"maven2\" and path =^ \"/org/sonatype/nexus\"",
          "description" : "The expression used to identify content"
        }
      }
    },
    "ContentSelectorApiUpdateRequest" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "type" : "string",
          "description" : "An optional description of this content selector",
          "allowEmptyValue" : true
        },
        "expression" : {
          "type" : "string",
          "example" : "format == \"maven2\" and path =^ \"/org/sonatype/nexus\"",
          "description" : "The expression used to identify content"
        }
      }
    },
    "RepositoryXO" : {
      "type" : "object",
      "properties" : {
        "name" : {
          "type" : "string"
        },
        "format" : {
          "type" : "string"
        },
        "type" : {
          "type" : "string"
        },
        "url" : {
          "type" : "string"
        },
        "attributes" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "object"
          }
        }
      }
    },
    "RoutingRuleXO" : {
      "type" : "object",
      "properties" : {
        "name" : {
          "type" : "string",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "description" : {
          "type" : "string",
          "allowEmptyValue" : true
        },
        "mode" : {
          "type" : "string",
          "description" : "Determines what should be done with requests when their path matches any of the matchers",
          "enum" : [ "BLOCK", "ALLOW" ]
        },
        "matchers" : {
          "type" : "array",
          "description" : "Regular expressions used to identify request paths that are allowed or blocked (depending on mode)",
          "items" : {
            "type" : "string"
          }
        }
      }
    },
    "UploadDefinitionXO" : {
      "type" : "object",
      "properties" : {
        "format" : {
          "type" : "string"
        },
        "multipleUpload" : {
          "type" : "boolean"
        },
        "componentFields" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/UploadFieldDefinitionXO"
          }
        },
        "assetFields" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/UploadFieldDefinitionXO"
          }
        }
      }
    },
    "UploadFieldDefinitionXO" : {
      "type" : "object",
      "properties" : {
        "name" : {
          "type" : "string"
        },
        "type" : {
          "type" : "string"
        },
        "description" : {
          "type" : "string"
        },
        "optional" : {
          "type" : "boolean"
        },
        "group" : {
          "type" : "string"
        }
      }
    },
    "ApiPrivilegeRepositoryContentSelectorRequest" : {
      "type" : "object",
      "properties" : {
        "name" : {
          "type" : "string",
          "description" : "The name of the privilege.  This value cannot be changed.",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "description" : {
          "type" : "string"
        },
        "actions" : {
          "type" : "array",
          "description" : "A collection of actions to associate with the privilege, using BREAD syntax (browse,read,edit,add,delete,all) as well as 'run' for script privileges.",
          "items" : {
            "type" : "string",
            "enum" : [ "READ", "BROWSE", "EDIT", "ADD", "DELETE", "RUN", "START", "STOP", "ASSOCIATE", "DISASSOCIATE", "ALL" ]
          }
        },
        "format" : {
          "type" : "string",
          "description" : "The repository format (i.e 'nuget', 'npm') this privilege will grant access to (or * for all)."
        },
        "repository" : {
          "type" : "string",
          "description" : "The name of the repository this privilege will grant access to (or * for all)."
        },
        "contentSelector" : {
          "type" : "string",
          "description" : "The name of a content selector that will be used to grant access to content via this privilege."
        }
      }
    },
    "ApiPrivilegeRepositoryAdminRequest" : {
      "type" : "object",
      "properties" : {
        "name" : {
          "type" : "string",
          "description" : "The name of the privilege.  This value cannot be changed.",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "description" : {
          "type" : "string"
        },
        "actions" : {
          "type" : "array",
          "description" : "A collection of actions to associate with the privilege, using BREAD syntax (browse,read,edit,add,delete,all) as well as 'run' for script privileges.",
          "items" : {
            "type" : "string",
            "enum" : [ "READ", "BROWSE", "EDIT", "ADD", "DELETE", "RUN", "START", "STOP", "ASSOCIATE", "DISASSOCIATE", "ALL" ]
          }
        },
        "format" : {
          "type" : "string",
          "description" : "The repository format (i.e 'nuget', 'npm') this privilege will grant access to (or * for all)."
        },
        "repository" : {
          "type" : "string",
          "description" : "The name of the repository this privilege will grant access to (or * for all)."
        }
      }
    },
    "ApiPrivilegeRepositoryViewRequest" : {
      "type" : "object",
      "properties" : {
        "name" : {
          "type" : "string",
          "description" : "The name of the privilege.  This value cannot be changed.",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "description" : {
          "type" : "string"
        },
        "actions" : {
          "type" : "array",
          "description" : "A collection of actions to associate with the privilege, using BREAD syntax (browse,read,edit,add,delete,all) as well as 'run' for script privileges.",
          "items" : {
            "type" : "string",
            "enum" : [ "READ", "BROWSE", "EDIT", "ADD", "DELETE", "RUN", "START", "STOP", "ASSOCIATE", "DISASSOCIATE", "ALL" ]
          }
        },
        "format" : {
          "type" : "string",
          "description" : "The repository format (i.e 'nuget', 'npm') this privilege will grant access to (or * for all)."
        },
        "repository" : {
          "type" : "string",
          "description" : "The name of the repository this privilege will grant access to (or * for all)."
        }
      }
    },
    "ApiEmailConfiguration" : {
      "type" : "object",
      "required" : [ "port" ],
      "properties" : {
        "enabled" : {
          "type" : "boolean"
        },
        "host" : {
          "type" : "string"
        },
        "port" : {
          "type" : "integer",
          "format" : "int32"
        },
        "username" : {
          "type" : "string"
        },
        "password" : {
          "type" : "string"
        },
        "fromAddress" : {
          "type" : "string",
          "example" : "nexus@example.org"
        },
        "subjectPrefix" : {
          "type" : "string",
          "description" : "A prefix to add to all email subjects to aid in identifying automated emails"
        },
        "startTlsEnabled" : {
          "type" : "boolean",
          "description" : "Enable STARTTLS Support for Insecure Connections"
        },
        "startTlsRequired" : {
          "type" : "boolean",
          "description" : "Require STARTTLS Support"
        },
        "sslOnConnectEnabled" : {
          "type" : "boolean",
          "description" : "Enable SSL/TLS Encryption upon Connection"
        },
        "sslServerIdentityCheckEnabled" : {
          "type" : "boolean",
          "description" : "Verify the server certificate when using TLS or SSL"
        },
        "nexusTrustStoreEnabled" : {
          "type" : "boolean",
          "description" : "Use the Nexus Repository Manager's certificate truststore"
        }
      }
    },
    "ApiEmailValidation" : {
      "type" : "object",
      "properties" : {
        "success" : {
          "type" : "boolean"
        },
        "reason" : {
          "type" : "string"
        }
      }
    },
    "Result" : {
      "type" : "object",
      "properties" : {
        "healthy" : {
          "type" : "boolean"
        },
        "message" : {
          "type" : "string"
        },
        "error" : {
          "$ref" : "#/definitions/Throwable"
        },
        "details" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "object"
          }
        },
        "time" : {
          "type" : "integer",
          "format" : "int64"
        },
        "duration" : {
          "type" : "integer",
          "format" : "int64"
        },
        "timestamp" : {
          "type" : "string"
        }
      }
    },
    "StackTraceElement" : {
      "type" : "object",
      "properties" : {
        "methodName" : {
          "type" : "string"
        },
        "fileName" : {
          "type" : "string"
        },
        "lineNumber" : {
          "type" : "integer",
          "format" : "int32"
        },
        "className" : {
          "type" : "string"
        },
        "nativeMethod" : {
          "type" : "boolean"
        }
      }
    },
    "Throwable" : {
      "type" : "object",
      "properties" : {
        "cause" : {
          "$ref" : "#/definitions/Throwable"
        },
        "stackTrace" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/StackTraceElement"
          }
        },
        "message" : {
          "type" : "string"
        },
        "localizedMessage" : {
          "type" : "string"
        },
        "suppressed" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/Throwable"
          }
        }
      }
    },
    "SupportZipXO" : {
      "type" : "object",
      "properties" : {
        "file" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        },
        "size" : {
          "type" : "string"
        },
        "truncated" : {
          "type" : "boolean"
        }
      }
    },
    "SupportZipGeneratorRequest" : {
      "type" : "object",
      "properties" : {
        "systemInformation" : {
          "type" : "boolean"
        },
        "threadDump" : {
          "type" : "boolean"
        },
        "metrics" : {
          "type" : "boolean"
        },
        "configuration" : {
          "type" : "boolean"
        },
        "security" : {
          "type" : "boolean"
        },
        "log" : {
          "type" : "boolean"
        },
        "taskLog" : {
          "type" : "boolean"
        },
        "auditLog" : {
          "type" : "boolean"
        },
        "jmx" : {
          "type" : "boolean"
        },
        "replication" : {
          "type" : "boolean"
        },
        "limitFileSizes" : {
          "type" : "boolean"
        },
        "limitZipSize" : {
          "type" : "boolean"
        },
        "hostname" : {
          "type" : "string"
        }
      }
    },
    "GroupAttributes" : {
      "type" : "object",
      "properties" : {
        "memberNames" : {
          "type" : "array",
          "description" : "Member repositories' names",
          "items" : {
            "type" : "string"
          }
        }
      }
    },
    "MavenGroupRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "group", "name", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "group" : {
          "$ref" : "#/definitions/GroupAttributes"
        }
      }
    },
    "StorageAttributes" : {
      "type" : "object",
      "required" : [ "blobStoreName", "strictContentTypeValidation" ],
      "properties" : {
        "blobStoreName" : {
          "type" : "string",
          "example" : "default",
          "description" : "Blob store used to store repository contents"
        },
        "strictContentTypeValidation" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether to validate uploaded content's MIME type appropriate for the repository format"
        }
      }
    },
    "SimpleApiGroupRepository" : {
      "type" : "object",
      "required" : [ "group", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "group" : {
          "$ref" : "#/definitions/GroupAttributes"
        }
      }
    },
    "CleanupPolicyAttributes" : {
      "type" : "object",
      "properties" : {
        "policyNames" : {
          "type" : "array",
          "description" : "Components that match any of the applied policies will be deleted",
          "items" : {
            "type" : "string"
          }
        }
      }
    },
    "ComponentAttributes" : {
      "type" : "object",
      "properties" : {
        "proprietaryComponents" : {
          "type" : "boolean",
          "description" : "Components in this repository count as proprietary for namespace conflict attacks (requires Sonatype Nexus Firewall)"
        }
      }
    },
    "HostedStorageAttributes" : {
      "type" : "object",
      "required" : [ "blobStoreName", "strictContentTypeValidation", "writePolicy" ],
      "properties" : {
        "blobStoreName" : {
          "type" : "string",
          "example" : "default",
          "description" : "Blob store used to store repository contents"
        },
        "strictContentTypeValidation" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether to validate uploaded content's MIME type appropriate for the repository format"
        },
        "writePolicy" : {
          "type" : "string",
          "example" : "allow_once",
          "description" : "Controls if deployments of and updates to assets are allowed",
          "enum" : [ "allow", "allow_once", "deny" ]
        }
      }
    },
    "MavenAttributes" : {
      "type" : "object",
      "properties" : {
        "versionPolicy" : {
          "type" : "string",
          "example" : "MIXED",
          "description" : "What type of artifacts does this repository store?",
          "enum" : [ "RELEASE", "SNAPSHOT", "MIXED" ]
        },
        "layoutPolicy" : {
          "type" : "string",
          "example" : "STRICT",
          "description" : "Validate that all paths are maven artifact or metadata paths",
          "enum" : [ "STRICT", "PERMISSIVE" ]
        },
        "contentDisposition" : {
          "type" : "string",
          "example" : "ATTACHMENT",
          "description" : "Content Disposition",
          "enum" : [ "INLINE", "ATTACHMENT" ]
        }
      }
    },
    "MavenHostedApiRepository" : {
      "type" : "object",
      "required" : [ "maven", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/HostedStorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "component" : {
          "$ref" : "#/definitions/ComponentAttributes"
        },
        "maven" : {
          "$ref" : "#/definitions/MavenAttributes"
        }
      }
    },
    "MavenHostedRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "maven", "name", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/HostedStorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "component" : {
          "$ref" : "#/definitions/ComponentAttributes"
        },
        "maven" : {
          "$ref" : "#/definitions/MavenAttributes"
        }
      }
    },
    "HttpClientAttributes" : {
      "type" : "object",
      "required" : [ "autoBlock", "blocked" ],
      "properties" : {
        "blocked" : {
          "type" : "boolean",
          "example" : false,
          "description" : "Whether to block outbound connections on the repository"
        },
        "autoBlock" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether to auto-block outbound connections if remote peer is detected as unreachable/unresponsive"
        },
        "connection" : {
          "$ref" : "#/definitions/HttpClientConnectionAttributes"
        },
        "authentication" : {
          "$ref" : "#/definitions/HttpClientConnectionAuthenticationAttributes"
        }
      }
    },
    "HttpClientConnectionAttributes" : {
      "type" : "object",
      "properties" : {
        "retries" : {
          "type" : "integer",
          "format" : "int32",
          "example" : 0,
          "description" : "Total retries if the initial connection attempt suffers a timeout",
          "minimum" : 0,
          "maximum" : 10
        },
        "userAgentSuffix" : {
          "type" : "string",
          "description" : "Custom fragment to append to User-Agent header in HTTP requests"
        },
        "timeout" : {
          "type" : "integer",
          "format" : "int32",
          "example" : 60,
          "description" : "Seconds to wait for activity before stopping and retrying the connection",
          "minimum" : 1,
          "maximum" : 3600
        },
        "enableCircularRedirects" : {
          "type" : "boolean",
          "example" : false,
          "description" : "Whether to enable redirects to the same location (may be required by some servers)"
        },
        "enableCookies" : {
          "type" : "boolean",
          "example" : false,
          "description" : "Whether to allow cookies to be stored and used"
        },
        "useTrustStore" : {
          "type" : "boolean",
          "example" : false,
          "description" : "Use certificates stored in the Nexus Repository Manager truststore to connect to external systems"
        }
      }
    },
    "HttpClientConnectionAuthenticationAttributes" : {
      "type" : "object",
      "properties" : {
        "type" : {
          "type" : "string",
          "description" : "Authentication type",
          "enum" : [ "username", "ntlm" ]
        },
        "username" : {
          "type" : "string"
        },
        "password" : {
          "type" : "string"
        },
        "ntlmHost" : {
          "type" : "string"
        },
        "ntlmDomain" : {
          "type" : "string"
        }
      }
    },
    "MavenProxyApiRepository" : {
      "type" : "object",
      "required" : [ "httpClient", "maven", "negativeCache", "online", "proxy", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "proxy" : {
          "$ref" : "#/definitions/ProxyAttributes"
        },
        "negativeCache" : {
          "$ref" : "#/definitions/NegativeCacheAttributes"
        },
        "httpClient" : {
          "$ref" : "#/definitions/HttpClientAttributes"
        },
        "routingRuleName" : {
          "type" : "string",
          "description" : "The name of the routing rule assigned to this repository"
        },
        "replication" : {
          "$ref" : "#/definitions/ReplicationAttributes"
        },
        "maven" : {
          "$ref" : "#/definitions/MavenAttributes"
        }
      }
    },
    "NegativeCacheAttributes" : {
      "type" : "object",
      "required" : [ "enabled", "timeToLive" ],
      "properties" : {
        "enabled" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether to cache responses for content not present in the proxied repository"
        },
        "timeToLive" : {
          "type" : "integer",
          "format" : "int32",
          "example" : 1440,
          "description" : "How long to cache the fact that a file was not found in the repository (in minutes)"
        }
      }
    },
    "ProxyAttributes" : {
      "type" : "object",
      "required" : [ "contentMaxAge", "metadataMaxAge" ],
      "properties" : {
        "remoteUrl" : {
          "type" : "string",
          "example" : "https://remote.repository.com",
          "description" : "Location of the remote repository being proxied"
        },
        "contentMaxAge" : {
          "type" : "integer",
          "format" : "int32",
          "example" : 1440,
          "description" : "How long to cache artifacts before rechecking the remote repository (in minutes)"
        },
        "metadataMaxAge" : {
          "type" : "integer",
          "format" : "int32",
          "example" : 1440,
          "description" : "How long to cache metadata before rechecking the remote repository (in minutes)"
        }
      }
    },
    "ReplicationAttributes" : {
      "type" : "object",
      "required" : [ "preemptivePullEnabled" ],
      "properties" : {
        "preemptivePullEnabled" : {
          "type" : "boolean",
          "example" : false,
          "description" : "Whether pre-emptive pull is enabled"
        },
        "assetPathRegex" : {
          "type" : "string",
          "description" : "Regular Expression of Asset Paths to pull pre-emptively pull"
        }
      }
    },
    "HttpClientAttributesWithPreemptiveAuth" : {
      "type" : "object",
      "required" : [ "autoBlock", "blocked" ],
      "properties" : {
        "blocked" : {
          "type" : "boolean",
          "example" : false,
          "description" : "Whether to block outbound connections on the repository"
        },
        "autoBlock" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether to auto-block outbound connections if remote peer is detected as unreachable/unresponsive"
        },
        "connection" : {
          "$ref" : "#/definitions/HttpClientConnectionAttributes"
        },
        "authentication" : {
          "$ref" : "#/definitions/HttpClientConnectionAuthenticationAttributesWithPreemptive"
        }
      }
    },
    "HttpClientConnectionAuthenticationAttributesWithPreemptive" : {
      "type" : "object",
      "properties" : {
        "type" : {
          "type" : "string",
          "description" : "Authentication type",
          "enum" : [ "username", "ntlm" ]
        },
        "username" : {
          "type" : "string"
        },
        "password" : {
          "type" : "string"
        },
        "ntlmHost" : {
          "type" : "string"
        },
        "ntlmDomain" : {
          "type" : "string"
        },
        "preemptive" : {
          "type" : "boolean",
          "example" : false,
          "description" : "Whether to use pre-emptive authentication. Use with caution. Defaults to false."
        }
      }
    },
    "MavenProxyRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "httpClient", "maven", "name", "negativeCache", "online", "proxy", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "proxy" : {
          "$ref" : "#/definitions/ProxyAttributes"
        },
        "negativeCache" : {
          "$ref" : "#/definitions/NegativeCacheAttributes"
        },
        "httpClient" : {
          "$ref" : "#/definitions/HttpClientAttributesWithPreemptiveAuth"
        },
        "routingRule" : {
          "type" : "string"
        },
        "replication" : {
          "$ref" : "#/definitions/ReplicationAttributes"
        },
        "maven" : {
          "$ref" : "#/definitions/MavenAttributes"
        }
      }
    },
    "ApiPrivilegeScriptRequest" : {
      "type" : "object",
      "properties" : {
        "name" : {
          "type" : "string",
          "description" : "The name of the privilege.  This value cannot be changed.",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "description" : {
          "type" : "string"
        },
        "actions" : {
          "type" : "array",
          "description" : "A collection of actions to associate with the privilege, using BREAD syntax (browse,read,edit,add,delete,all) as well as 'run' for script privileges.",
          "items" : {
            "type" : "string",
            "enum" : [ "READ", "BROWSE", "EDIT", "ADD", "DELETE", "RUN", "START", "STOP", "ASSOCIATE", "DISASSOCIATE", "ALL" ]
          }
        },
        "scriptName" : {
          "type" : "string",
          "description" : "The name of a script to give access to."
        }
      }
    },
    "ScriptXO" : {
      "type" : "object",
      "properties" : {
        "name" : {
          "type" : "string",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "content" : {
          "type" : "string"
        },
        "type" : {
          "type" : "string"
        }
      }
    },
    "ScriptResultXO" : {
      "type" : "object",
      "properties" : {
        "name" : {
          "type" : "string"
        },
        "result" : {
          "type" : "string"
        }
      }
    },
    "S3BlobStoreApiAdvancedBucketConnection" : {
      "type" : "object",
      "properties" : {
        "endpoint" : {
          "type" : "string",
          "description" : "A custom endpoint URL for third party object stores using the S3 API."
        },
        "signerType" : {
          "type" : "string",
          "description" : "An API signature version which may be required for third party object stores using the S3 API."
        },
        "forcePathStyle" : {
          "type" : "boolean",
          "description" : "Setting this flag will result in path-style access being used for all requests."
        },
        "maxConnectionPoolSize" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "Setting this value will override the default connection pool size of Nexus of the s3 client for this blobstore."
        }
      }
    },
    "S3BlobStoreApiBucket" : {
      "type" : "object",
      "required" : [ "expiration", "name", "region" ],
      "properties" : {
        "region" : {
          "type" : "string",
          "example" : "DEFAULT",
          "description" : "The AWS region to create a new S3 bucket in or an existing S3 bucket's region"
        },
        "name" : {
          "type" : "string",
          "description" : "The name of the S3 bucket"
        },
        "prefix" : {
          "type" : "string",
          "description" : "The S3 blob store (i.e S3 object) key prefix"
        },
        "expiration" : {
          "type" : "integer",
          "format" : "int32",
          "example" : 3,
          "description" : "How many days until deleted blobs are finally removed from the S3 bucket (-1 to disable)"
        }
      }
    },
    "S3BlobStoreApiBucketConfiguration" : {
      "type" : "object",
      "required" : [ "bucket" ],
      "properties" : {
        "bucket" : {
          "description" : "Details of the S3 bucket such as name and region",
          "readOnly" : true,
          "$ref" : "#/definitions/S3BlobStoreApiBucket"
        },
        "encryption" : {
          "description" : "The type of encryption to use if any",
          "readOnly" : true,
          "$ref" : "#/definitions/S3BlobStoreApiEncryption"
        },
        "bucketSecurity" : {
          "description" : "Security details for granting access the S3 API",
          "$ref" : "#/definitions/S3BlobStoreApiBucketSecurity"
        },
        "advancedBucketConnection" : {
          "description" : "A custom endpoint URL, signer type and whether path style access is enabled",
          "$ref" : "#/definitions/S3BlobStoreApiAdvancedBucketConnection"
        }
      }
    },
    "S3BlobStoreApiBucketSecurity" : {
      "type" : "object",
      "properties" : {
        "accessKeyId" : {
          "type" : "string",
          "description" : "An IAM access key ID for granting access to the S3 bucket"
        },
        "secretAccessKey" : {
          "type" : "string",
          "description" : "The secret access key associated with the specified IAM access key ID"
        },
        "role" : {
          "type" : "string",
          "description" : "An IAM role to assume in order to access the S3 bucket"
        },
        "sessionToken" : {
          "type" : "string",
          "description" : "An AWS STS session token associated with temporary security credentials which grant access to the S3 bucket"
        }
      }
    },
    "S3BlobStoreApiEncryption" : {
      "type" : "object",
      "properties" : {
        "encryptionType" : {
          "type" : "string",
          "description" : "The type of S3 server side encryption to use.",
          "enum" : [ "s3ManagedEncryption", "kmsManagedEncryption" ]
        },
        "encryptionKey" : {
          "type" : "string",
          "description" : "The encryption key."
        }
      }
    },
    "S3BlobStoreApiModel" : {
      "type" : "object",
      "required" : [ "bucketConfiguration", "name" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "s3",
          "description" : "The name of the S3 blob store."
        },
        "softQuota" : {
          "description" : "Settings to control the soft quota.",
          "$ref" : "#/definitions/BlobStoreApiSoftQuota"
        },
        "bucketConfiguration" : {
          "description" : "The S3 specific configuration details for the S3 object that'll contain the blob store.",
          "$ref" : "#/definitions/S3BlobStoreApiBucketConfiguration"
        },
        "type" : {
          "type" : "string",
          "example" : "S3",
          "description" : "The blob store type.",
          "readOnly" : true
        }
      }
    },
    "AptHostedApiRepository" : {
      "type" : "object",
      "required" : [ "apt", "aptSigning", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/HostedStorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "component" : {
          "$ref" : "#/definitions/ComponentAttributes"
        },
        "apt" : {
          "$ref" : "#/definitions/AptHostedRepositoriesAttributes"
        },
        "aptSigning" : {
          "$ref" : "#/definitions/AptSigningRepositoriesAttributes"
        }
      }
    },
    "AptHostedRepositoriesAttributes" : {
      "type" : "object",
      "properties" : {
        "distribution" : {
          "type" : "string",
          "example" : "bionic",
          "description" : "Distribution to fetch"
        }
      }
    },
    "AptSigningRepositoriesAttributes" : {
      "type" : "object",
      "properties" : {
        "keypair" : {
          "type" : "string",
          "description" : "PGP signing key pair (armored private key e.g. gpg --export-secret-key --armor)"
        },
        "passphrase" : {
          "type" : "string",
          "description" : "Passphrase to access PGP signing key"
        }
      }
    },
    "AptHostedRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "apt", "aptSigning", "name", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/HostedStorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "component" : {
          "$ref" : "#/definitions/ComponentAttributes"
        },
        "apt" : {
          "$ref" : "#/definitions/AptHostedRepositoriesAttributes"
        },
        "aptSigning" : {
          "$ref" : "#/definitions/AptSigningRepositoriesAttributes"
        }
      }
    },
    "AptProxyApiRepository" : {
      "type" : "object",
      "required" : [ "apt", "httpClient", "negativeCache", "online", "proxy", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "proxy" : {
          "$ref" : "#/definitions/ProxyAttributes"
        },
        "negativeCache" : {
          "$ref" : "#/definitions/NegativeCacheAttributes"
        },
        "httpClient" : {
          "$ref" : "#/definitions/HttpClientAttributes"
        },
        "routingRuleName" : {
          "type" : "string",
          "description" : "The name of the routing rule assigned to this repository"
        },
        "replication" : {
          "$ref" : "#/definitions/ReplicationAttributes"
        },
        "apt" : {
          "$ref" : "#/definitions/AptProxyRepositoriesAttributes"
        }
      }
    },
    "AptProxyRepositoriesAttributes" : {
      "type" : "object",
      "required" : [ "flat" ],
      "properties" : {
        "distribution" : {
          "type" : "string",
          "example" : "bionic",
          "description" : "Distribution to fetch"
        },
        "flat" : {
          "type" : "boolean",
          "example" : false,
          "description" : "Whether this repository is flat"
        }
      }
    },
    "AptProxyRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "apt", "httpClient", "name", "negativeCache", "online", "proxy", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "proxy" : {
          "$ref" : "#/definitions/ProxyAttributes"
        },
        "negativeCache" : {
          "$ref" : "#/definitions/NegativeCacheAttributes"
        },
        "httpClient" : {
          "$ref" : "#/definitions/HttpClientAttributes"
        },
        "routingRule" : {
          "type" : "string"
        },
        "replication" : {
          "$ref" : "#/definitions/ReplicationAttributes"
        },
        "apt" : {
          "$ref" : "#/definitions/AptProxyRepositoriesAttributes"
        }
      }
    },
    "RawAttributes" : {
      "type" : "object",
      "properties" : {
        "contentDisposition" : {
          "type" : "string",
          "example" : "ATTACHMENT",
          "description" : "Content Disposition",
          "enum" : [ "INLINE", "ATTACHMENT" ]
        }
      }
    },
    "RawGroupRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "group", "name", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "group" : {
          "$ref" : "#/definitions/GroupAttributes"
        },
        "raw" : {
          "$ref" : "#/definitions/RawAttributes"
        }
      }
    },
    "RawHostedRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "name", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/HostedStorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "component" : {
          "$ref" : "#/definitions/ComponentAttributes"
        },
        "raw" : {
          "$ref" : "#/definitions/RawAttributes"
        }
      }
    },
    "SimpleApiHostedRepository" : {
      "type" : "object",
      "required" : [ "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/HostedStorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "component" : {
          "$ref" : "#/definitions/ComponentAttributes"
        }
      }
    },
    "RawProxyRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "httpClient", "name", "negativeCache", "online", "proxy", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "proxy" : {
          "$ref" : "#/definitions/ProxyAttributes"
        },
        "negativeCache" : {
          "$ref" : "#/definitions/NegativeCacheAttributes"
        },
        "httpClient" : {
          "$ref" : "#/definitions/HttpClientAttributes"
        },
        "routingRule" : {
          "type" : "string"
        },
        "replication" : {
          "$ref" : "#/definitions/ReplicationAttributes"
        },
        "raw" : {
          "$ref" : "#/definitions/RawAttributes"
        }
      }
    },
    "SimpleApiProxyRepository" : {
      "type" : "object",
      "required" : [ "httpClient", "negativeCache", "online", "proxy", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "proxy" : {
          "$ref" : "#/definitions/ProxyAttributes"
        },
        "negativeCache" : {
          "$ref" : "#/definitions/NegativeCacheAttributes"
        },
        "httpClient" : {
          "$ref" : "#/definitions/HttpClientAttributes"
        },
        "routingRuleName" : {
          "type" : "string",
          "description" : "The name of the routing rule assigned to this repository"
        },
        "replication" : {
          "$ref" : "#/definitions/ReplicationAttributes"
        }
      }
    },
    "ReadLdapServerXo" : {
      "type" : "object",
      "required" : [ "authScheme", "connectionRetryDelaySeconds", "connectionTimeoutSeconds", "groupType", "host", "maxIncidentsCount", "name", "port", "protocol", "searchBase" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "description" : "LDAP server name"
        },
        "protocol" : {
          "type" : "string",
          "description" : "LDAP server connection Protocol to use",
          "enum" : [ "ldap", "ldaps" ]
        },
        "useTrustStore" : {
          "type" : "boolean",
          "description" : "Whether to use certificates stored in Nexus Repository Manager's truststore"
        },
        "host" : {
          "type" : "string",
          "description" : "LDAP server connection hostname"
        },
        "port" : {
          "type" : "integer",
          "format" : "int32",
          "example" : 636,
          "description" : "LDAP server connection port to use"
        },
        "searchBase" : {
          "type" : "string",
          "example" : "dc=example,dc=com",
          "description" : "LDAP location to be added to the connection URL"
        },
        "authScheme" : {
          "type" : "string",
          "description" : "Authentication scheme used for connecting to LDAP server",
          "enum" : [ "NONE", "SIMPLE", "DIGEST_MD5", "CRAM_MD5" ]
        },
        "authRealm" : {
          "type" : "string",
          "example" : "example.com",
          "description" : "The SASL realm to bind to. Required if authScheme is CRAM_MD5 or DIGEST_MD5"
        },
        "authUsername" : {
          "type" : "string",
          "description" : "This must be a fully qualified username if simple authentication is used. Required if authScheme other than none."
        },
        "connectionTimeoutSeconds" : {
          "type" : "integer",
          "format" : "int32",
          "example" : 1,
          "description" : "How long to wait before timeout",
          "minimum" : 1,
          "maximum" : 3600
        },
        "connectionRetryDelaySeconds" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "How long to wait before retrying",
          "minimum" : 0
        },
        "maxIncidentsCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "How many retry attempts",
          "minimum" : 0
        },
        "userBaseDn" : {
          "type" : "string",
          "example" : "ou=people",
          "description" : "The relative DN where user objects are found (e.g. ou=people). This value will have the Search base DN value appended to form the full User search base DN."
        },
        "userSubtree" : {
          "type" : "boolean",
          "description" : "Are users located in structures below the user base DN?"
        },
        "userObjectClass" : {
          "type" : "string",
          "example" : "inetOrgPerson",
          "description" : "LDAP class for user objects"
        },
        "userLdapFilter" : {
          "type" : "string",
          "example" : "(|(mail=*@example.com)(uid=dom*))",
          "description" : "LDAP search filter to limit user search"
        },
        "userIdAttribute" : {
          "type" : "string",
          "example" : "uid",
          "description" : "This is used to find a user given its user ID"
        },
        "userRealNameAttribute" : {
          "type" : "string",
          "example" : "cn",
          "description" : "This is used to find a real name given the user ID"
        },
        "userEmailAddressAttribute" : {
          "type" : "string",
          "example" : "mail",
          "description" : "This is used to find an email address given the user ID"
        },
        "userPasswordAttribute" : {
          "type" : "string",
          "description" : "If this field is blank the user will be authenticated against a bind with the LDAP server"
        },
        "ldapGroupsAsRoles" : {
          "type" : "boolean",
          "description" : "Denotes whether LDAP assigned roles are used as Nexus Repository Manager roles"
        },
        "groupType" : {
          "type" : "string",
          "description" : "Defines a type of groups used: static (a group contains a list of users) or dynamic (a user contains a list of groups). Required if ldapGroupsAsRoles is true.",
          "enum" : [ "static", "dynamic" ]
        },
        "groupBaseDn" : {
          "type" : "string",
          "example" : "ou=Group",
          "description" : "The relative DN where group objects are found (e.g. ou=Group). This value will have the Search base DN value appended to form the full Group search base DN."
        },
        "groupSubtree" : {
          "type" : "boolean",
          "description" : "Are groups located in structures below the group base DN"
        },
        "groupObjectClass" : {
          "type" : "string",
          "example" : "posixGroup",
          "description" : "LDAP class for group objects. Required if groupType is static",
          "minLength" : 0,
          "maxLength" : 0
        },
        "groupIdAttribute" : {
          "type" : "string",
          "example" : "cn",
          "description" : "This field specifies the attribute of the Object class that defines the Group ID. Required if groupType is static",
          "minLength" : 0,
          "maxLength" : 0
        },
        "groupMemberAttribute" : {
          "type" : "string",
          "example" : "memberUid",
          "description" : "LDAP attribute containing the usernames for the group. Required if groupType is static",
          "minLength" : 0,
          "maxLength" : 0
        },
        "groupMemberFormat" : {
          "type" : "string",
          "example" : "uid=${username},ou=people,dc=example,dc=com",
          "description" : "The format of user ID stored in the group member attribute. Required if groupType is static",
          "minLength" : 0,
          "maxLength" : 0
        },
        "userMemberOfAttribute" : {
          "type" : "string",
          "example" : "memberOf",
          "description" : "Set this to the attribute used to store the attribute which holds groups DN in the user object. Required if groupType is dynamic",
          "minLength" : 0,
          "maxLength" : 0
        },
        "id" : {
          "type" : "string",
          "description" : "LDAP server ID"
        },
        "order" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "Order number in which the server is being used when looking for a user"
        }
      }
    },
    "CreateLdapServerXo" : {
      "type" : "object",
      "required" : [ "authPassword", "authScheme", "connectionRetryDelaySeconds", "connectionTimeoutSeconds", "groupType", "host", "maxIncidentsCount", "name", "port", "protocol", "searchBase" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "description" : "LDAP server name"
        },
        "protocol" : {
          "type" : "string",
          "description" : "LDAP server connection Protocol to use",
          "enum" : [ "ldap", "ldaps" ]
        },
        "useTrustStore" : {
          "type" : "boolean",
          "description" : "Whether to use certificates stored in Nexus Repository Manager's truststore"
        },
        "host" : {
          "type" : "string",
          "description" : "LDAP server connection hostname"
        },
        "port" : {
          "type" : "integer",
          "format" : "int32",
          "example" : 636,
          "description" : "LDAP server connection port to use"
        },
        "searchBase" : {
          "type" : "string",
          "example" : "dc=example,dc=com",
          "description" : "LDAP location to be added to the connection URL"
        },
        "authScheme" : {
          "type" : "string",
          "description" : "Authentication scheme used for connecting to LDAP server",
          "enum" : [ "NONE", "SIMPLE", "DIGEST_MD5", "CRAM_MD5" ]
        },
        "authRealm" : {
          "type" : "string",
          "example" : "example.com",
          "description" : "The SASL realm to bind to. Required if authScheme is CRAM_MD5 or DIGEST_MD5"
        },
        "authUsername" : {
          "type" : "string",
          "description" : "This must be a fully qualified username if simple authentication is used. Required if authScheme other than none."
        },
        "connectionTimeoutSeconds" : {
          "type" : "integer",
          "format" : "int32",
          "example" : 1,
          "description" : "How long to wait before timeout",
          "minimum" : 1,
          "maximum" : 3600
        },
        "connectionRetryDelaySeconds" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "How long to wait before retrying",
          "minimum" : 0
        },
        "maxIncidentsCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "How many retry attempts",
          "minimum" : 0
        },
        "userBaseDn" : {
          "type" : "string",
          "example" : "ou=people",
          "description" : "The relative DN where user objects are found (e.g. ou=people). This value will have the Search base DN value appended to form the full User search base DN."
        },
        "userSubtree" : {
          "type" : "boolean",
          "description" : "Are users located in structures below the user base DN?"
        },
        "userObjectClass" : {
          "type" : "string",
          "example" : "inetOrgPerson",
          "description" : "LDAP class for user objects"
        },
        "userLdapFilter" : {
          "type" : "string",
          "example" : "(|(mail=*@example.com)(uid=dom*))",
          "description" : "LDAP search filter to limit user search"
        },
        "userIdAttribute" : {
          "type" : "string",
          "example" : "uid",
          "description" : "This is used to find a user given its user ID"
        },
        "userRealNameAttribute" : {
          "type" : "string",
          "example" : "cn",
          "description" : "This is used to find a real name given the user ID"
        },
        "userEmailAddressAttribute" : {
          "type" : "string",
          "example" : "mail",
          "description" : "This is used to find an email address given the user ID"
        },
        "userPasswordAttribute" : {
          "type" : "string",
          "description" : "If this field is blank the user will be authenticated against a bind with the LDAP server"
        },
        "ldapGroupsAsRoles" : {
          "type" : "boolean",
          "description" : "Denotes whether LDAP assigned roles are used as Nexus Repository Manager roles"
        },
        "groupType" : {
          "type" : "string",
          "description" : "Defines a type of groups used: static (a group contains a list of users) or dynamic (a user contains a list of groups). Required if ldapGroupsAsRoles is true.",
          "enum" : [ "static", "dynamic" ]
        },
        "groupBaseDn" : {
          "type" : "string",
          "example" : "ou=Group",
          "description" : "The relative DN where group objects are found (e.g. ou=Group). This value will have the Search base DN value appended to form the full Group search base DN."
        },
        "groupSubtree" : {
          "type" : "boolean",
          "description" : "Are groups located in structures below the group base DN"
        },
        "groupObjectClass" : {
          "type" : "string",
          "example" : "posixGroup",
          "description" : "LDAP class for group objects. Required if groupType is static",
          "minLength" : 0,
          "maxLength" : 0
        },
        "groupIdAttribute" : {
          "type" : "string",
          "example" : "cn",
          "description" : "This field specifies the attribute of the Object class that defines the Group ID. Required if groupType is static",
          "minLength" : 0,
          "maxLength" : 0
        },
        "groupMemberAttribute" : {
          "type" : "string",
          "example" : "memberUid",
          "description" : "LDAP attribute containing the usernames for the group. Required if groupType is static",
          "minLength" : 0,
          "maxLength" : 0
        },
        "groupMemberFormat" : {
          "type" : "string",
          "example" : "uid=${username},ou=people,dc=example,dc=com",
          "description" : "The format of user ID stored in the group member attribute. Required if groupType is static",
          "minLength" : 0,
          "maxLength" : 0
        },
        "userMemberOfAttribute" : {
          "type" : "string",
          "example" : "memberOf",
          "description" : "Set this to the attribute used to store the attribute which holds groups DN in the user object. Required if groupType is dynamic",
          "minLength" : 0,
          "maxLength" : 0
        },
        "authPassword" : {
          "type" : "string",
          "description" : "The password to bind with. Required if authScheme other than none."
        }
      }
    },
    "UpdateLdapServerXo" : {
      "type" : "object",
      "required" : [ "authPassword", "authScheme", "connectionRetryDelaySeconds", "connectionTimeoutSeconds", "groupType", "host", "maxIncidentsCount", "name", "port", "protocol", "searchBase" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "description" : "LDAP server name"
        },
        "protocol" : {
          "type" : "string",
          "description" : "LDAP server connection Protocol to use",
          "enum" : [ "ldap", "ldaps" ]
        },
        "useTrustStore" : {
          "type" : "boolean",
          "description" : "Whether to use certificates stored in Nexus Repository Manager's truststore"
        },
        "host" : {
          "type" : "string",
          "description" : "LDAP server connection hostname"
        },
        "port" : {
          "type" : "integer",
          "format" : "int32",
          "example" : 636,
          "description" : "LDAP server connection port to use"
        },
        "searchBase" : {
          "type" : "string",
          "example" : "dc=example,dc=com",
          "description" : "LDAP location to be added to the connection URL"
        },
        "authScheme" : {
          "type" : "string",
          "description" : "Authentication scheme used for connecting to LDAP server",
          "enum" : [ "NONE", "SIMPLE", "DIGEST_MD5", "CRAM_MD5" ]
        },
        "authRealm" : {
          "type" : "string",
          "example" : "example.com",
          "description" : "The SASL realm to bind to. Required if authScheme is CRAM_MD5 or DIGEST_MD5"
        },
        "authUsername" : {
          "type" : "string",
          "description" : "This must be a fully qualified username if simple authentication is used. Required if authScheme other than none."
        },
        "connectionTimeoutSeconds" : {
          "type" : "integer",
          "format" : "int32",
          "example" : 1,
          "description" : "How long to wait before timeout",
          "minimum" : 1,
          "maximum" : 3600
        },
        "connectionRetryDelaySeconds" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "How long to wait before retrying",
          "minimum" : 0
        },
        "maxIncidentsCount" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "How many retry attempts",
          "minimum" : 0
        },
        "userBaseDn" : {
          "type" : "string",
          "example" : "ou=people",
          "description" : "The relative DN where user objects are found (e.g. ou=people). This value will have the Search base DN value appended to form the full User search base DN."
        },
        "userSubtree" : {
          "type" : "boolean",
          "description" : "Are users located in structures below the user base DN?"
        },
        "userObjectClass" : {
          "type" : "string",
          "example" : "inetOrgPerson",
          "description" : "LDAP class for user objects"
        },
        "userLdapFilter" : {
          "type" : "string",
          "example" : "(|(mail=*@example.com)(uid=dom*))",
          "description" : "LDAP search filter to limit user search"
        },
        "userIdAttribute" : {
          "type" : "string",
          "example" : "uid",
          "description" : "This is used to find a user given its user ID"
        },
        "userRealNameAttribute" : {
          "type" : "string",
          "example" : "cn",
          "description" : "This is used to find a real name given the user ID"
        },
        "userEmailAddressAttribute" : {
          "type" : "string",
          "example" : "mail",
          "description" : "This is used to find an email address given the user ID"
        },
        "userPasswordAttribute" : {
          "type" : "string",
          "description" : "If this field is blank the user will be authenticated against a bind with the LDAP server"
        },
        "ldapGroupsAsRoles" : {
          "type" : "boolean",
          "description" : "Denotes whether LDAP assigned roles are used as Nexus Repository Manager roles"
        },
        "groupType" : {
          "type" : "string",
          "description" : "Defines a type of groups used: static (a group contains a list of users) or dynamic (a user contains a list of groups). Required if ldapGroupsAsRoles is true.",
          "enum" : [ "static", "dynamic" ]
        },
        "groupBaseDn" : {
          "type" : "string",
          "example" : "ou=Group",
          "description" : "The relative DN where group objects are found (e.g. ou=Group). This value will have the Search base DN value appended to form the full Group search base DN."
        },
        "groupSubtree" : {
          "type" : "boolean",
          "description" : "Are groups located in structures below the group base DN"
        },
        "groupObjectClass" : {
          "type" : "string",
          "example" : "posixGroup",
          "description" : "LDAP class for group objects. Required if groupType is static",
          "minLength" : 0,
          "maxLength" : 0
        },
        "groupIdAttribute" : {
          "type" : "string",
          "example" : "cn",
          "description" : "This field specifies the attribute of the Object class that defines the Group ID. Required if groupType is static",
          "minLength" : 0,
          "maxLength" : 0
        },
        "groupMemberAttribute" : {
          "type" : "string",
          "example" : "memberUid",
          "description" : "LDAP attribute containing the usernames for the group. Required if groupType is static",
          "minLength" : 0,
          "maxLength" : 0
        },
        "groupMemberFormat" : {
          "type" : "string",
          "example" : "uid=${username},ou=people,dc=example,dc=com",
          "description" : "The format of user ID stored in the group member attribute. Required if groupType is static",
          "minLength" : 0,
          "maxLength" : 0
        },
        "userMemberOfAttribute" : {
          "type" : "string",
          "example" : "memberOf",
          "description" : "Set this to the attribute used to store the attribute which holds groups DN in the user object. Required if groupType is dynamic",
          "minLength" : 0,
          "maxLength" : 0
        },
        "authPassword" : {
          "type" : "string",
          "description" : "The password to bind with. Required if authScheme other than none."
        },
        "id" : {
          "type" : "string",
          "description" : "LDAP server ID"
        }
      }
    },
    "IqConnectionXo" : {
      "type" : "object",
      "required" : [ "authenticationType" ],
      "properties" : {
        "enabled" : {
          "type" : "boolean",
          "description" : "Whether to use Sonatype Repository Firewall"
        },
        "showLink" : {
          "type" : "boolean",
          "description" : "Show Sonatype Repository Firewall link in Browse menu when server is enabled"
        },
        "url" : {
          "type" : "string",
          "description" : "The address of your Sonatype Repository Firewall"
        },
        "authenticationType" : {
          "type" : "string",
          "description" : "Authentication method",
          "enum" : [ "USER", "PKI" ]
        },
        "username" : {
          "type" : "string",
          "description" : "User with access to Sonatype Repository Firewall"
        },
        "password" : {
          "type" : "string",
          "description" : "Credentials for the Sonatype Repository Firewall User"
        },
        "useTrustStoreForUrl" : {
          "type" : "boolean",
          "description" : "Use certificates stored in the Nexus Repository Manager truststore to connect to Sonatype Repository Firewall"
        },
        "timeoutSeconds" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "Seconds to wait for activity before stopping and retrying the connection. Leave blank to use the globally defined HTTP timeout.",
          "minimum" : 1,
          "maximum" : 3600
        },
        "properties" : {
          "type" : "string",
          "description" : "Additional properties to configure for Sonatype Repository Firewall"
        },
        "failOpenModeEnabled" : {
          "type" : "boolean",
          "description" : "Allow by default when quarantine is enabled and the IQ connection fails"
        }
      }
    },
    "IqConnectionVerificationXo" : {
      "type" : "object",
      "properties" : {
        "success" : {
          "type" : "boolean"
        },
        "reason" : {
          "type" : "string"
        }
      }
    },
    "ApiLicenseDetailsXO" : {
      "type" : "object",
      "properties" : {
        "contactEmail" : {
          "type" : "string"
        },
        "contactCompany" : {
          "type" : "string"
        },
        "contactName" : {
          "type" : "string"
        },
        "effectiveDate" : {
          "type" : "string",
          "format" : "date-time"
        },
        "expirationDate" : {
          "type" : "string",
          "format" : "date-time"
        },
        "licenseType" : {
          "type" : "string"
        },
        "licensedUsers" : {
          "type" : "string"
        },
        "fingerprint" : {
          "type" : "string"
        },
        "features" : {
          "type" : "string"
        }
      }
    },
    "InputStream" : {
      "type" : "object"
    },
    "GroupDeployAttributes" : {
      "type" : "object",
      "properties" : {
        "memberNames" : {
          "type" : "array",
          "description" : "Member repositories' names",
          "items" : {
            "type" : "string"
          }
        },
        "writableMember" : {
          "type" : "string",
          "description" : "Pro-only: This field is for the Group Deployment feature available in NXRM Pro."
        }
      }
    },
    "SimpleApiGroupDeployRepository" : {
      "type" : "object",
      "required" : [ "group", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "readOnly" : true,
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests",
          "readOnly" : true
        },
        "storage" : {
          "readOnly" : true,
          "$ref" : "#/definitions/StorageAttributes"
        },
        "group" : {
          "readOnly" : true,
          "$ref" : "#/definitions/GroupDeployAttributes"
        }
      }
    },
    "NpmGroupRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "group", "name", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "group" : {
          "$ref" : "#/definitions/GroupDeployAttributes"
        }
      }
    },
    "NpmHostedRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "name", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/HostedStorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "component" : {
          "$ref" : "#/definitions/ComponentAttributes"
        }
      }
    },
    "NpmAttributes" : {
      "type" : "object",
      "required" : [ "removeQuarantined" ],
      "properties" : {
        "removeQuarantined" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Remove Quarantined Versions"
        }
      }
    },
    "NpmProxyApiRepository" : {
      "type" : "object",
      "required" : [ "httpClient", "negativeCache", "online", "proxy", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "proxy" : {
          "$ref" : "#/definitions/ProxyAttributes"
        },
        "negativeCache" : {
          "$ref" : "#/definitions/NegativeCacheAttributes"
        },
        "httpClient" : {
          "$ref" : "#/definitions/HttpClientAttributes"
        },
        "routingRuleName" : {
          "type" : "string",
          "description" : "The name of the routing rule assigned to this repository"
        },
        "replication" : {
          "$ref" : "#/definitions/ReplicationAttributes"
        },
        "npm" : {
          "$ref" : "#/definitions/NpmAttributes"
        }
      }
    },
    "NpmProxyRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "httpClient", "name", "negativeCache", "online", "proxy", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "proxy" : {
          "$ref" : "#/definitions/ProxyAttributes"
        },
        "negativeCache" : {
          "$ref" : "#/definitions/NegativeCacheAttributes"
        },
        "httpClient" : {
          "$ref" : "#/definitions/HttpClientAttributes"
        },
        "routingRule" : {
          "type" : "string"
        },
        "replication" : {
          "$ref" : "#/definitions/ReplicationAttributes"
        },
        "npm" : {
          "$ref" : "#/definitions/NpmAttributes"
        }
      }
    },
    "NugetGroupRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "group", "name", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "group" : {
          "$ref" : "#/definitions/GroupAttributes"
        }
      }
    },
    "NugetHostedRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "name", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/HostedStorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "component" : {
          "$ref" : "#/definitions/ComponentAttributes"
        }
      }
    },
    "NugetAttributes" : {
      "type" : "object",
      "properties" : {
        "queryCacheItemMaxAge" : {
          "type" : "integer",
          "format" : "int32",
          "example" : 3600,
          "description" : "How long to cache query results from the proxied repository (in seconds)"
        },
        "nugetVersion" : {
          "type" : "string",
          "example" : "V3",
          "description" : "Nuget protocol version",
          "enum" : [ "V2", "V3" ]
        }
      }
    },
    "NugetProxyApiRepository" : {
      "type" : "object",
      "required" : [ "httpClient", "negativeCache", "nugetProxy", "online", "proxy", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "proxy" : {
          "$ref" : "#/definitions/ProxyAttributes"
        },
        "negativeCache" : {
          "$ref" : "#/definitions/NegativeCacheAttributes"
        },
        "httpClient" : {
          "$ref" : "#/definitions/HttpClientAttributes"
        },
        "routingRuleName" : {
          "type" : "string",
          "description" : "The name of the routing rule assigned to this repository"
        },
        "replication" : {
          "$ref" : "#/definitions/ReplicationAttributes"
        },
        "nugetProxy" : {
          "$ref" : "#/definitions/NugetAttributes"
        }
      }
    },
    "NugetProxyRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "httpClient", "name", "negativeCache", "nugetProxy", "online", "proxy", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "proxy" : {
          "$ref" : "#/definitions/ProxyAttributes"
        },
        "negativeCache" : {
          "$ref" : "#/definitions/NegativeCacheAttributes"
        },
        "httpClient" : {
          "$ref" : "#/definitions/HttpClientAttributes"
        },
        "routingRule" : {
          "type" : "string"
        },
        "replication" : {
          "$ref" : "#/definitions/ReplicationAttributes"
        },
        "nugetProxy" : {
          "$ref" : "#/definitions/NugetAttributes"
        }
      }
    },
    "RubyGemsGroupRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "group", "name", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "group" : {
          "$ref" : "#/definitions/GroupAttributes"
        }
      }
    },
    "RubyGemsHostedRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "name", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/HostedStorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "component" : {
          "$ref" : "#/definitions/ComponentAttributes"
        }
      }
    },
    "RubyGemsProxyRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "httpClient", "name", "negativeCache", "online", "proxy", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "proxy" : {
          "$ref" : "#/definitions/ProxyAttributes"
        },
        "negativeCache" : {
          "$ref" : "#/definitions/NegativeCacheAttributes"
        },
        "httpClient" : {
          "$ref" : "#/definitions/HttpClientAttributes"
        },
        "routingRule" : {
          "type" : "string"
        },
        "replication" : {
          "$ref" : "#/definitions/ReplicationAttributes"
        }
      }
    },
    "DockerAttributes" : {
      "type" : "object",
      "required" : [ "forceBasicAuth", "v1Enabled" ],
      "properties" : {
        "v1Enabled" : {
          "type" : "boolean",
          "example" : false,
          "description" : "Whether to allow clients to use the V1 API to interact with this repository"
        },
        "forceBasicAuth" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether to force authentication (Docker Bearer Token Realm required if false)"
        },
        "httpPort" : {
          "type" : "integer",
          "format" : "int32",
          "example" : 8082,
          "description" : "Create an HTTP connector at specified port"
        },
        "httpsPort" : {
          "type" : "integer",
          "format" : "int32",
          "example" : 8083,
          "description" : "Create an HTTPS connector at specified port"
        },
        "subdomain" : {
          "type" : "string",
          "example" : "docker-a",
          "description" : "Allows to use subdomain"
        }
      }
    },
    "DockerGroupApiRepository" : {
      "type" : "object",
      "required" : [ "docker", "group", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "group" : {
          "$ref" : "#/definitions/GroupDeployAttributes"
        },
        "docker" : {
          "$ref" : "#/definitions/DockerAttributes"
        }
      }
    },
    "DockerGroupRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "docker", "group", "name", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "group" : {
          "$ref" : "#/definitions/GroupDeployAttributes"
        },
        "docker" : {
          "$ref" : "#/definitions/DockerAttributes"
        }
      }
    },
    "DockerHostedApiRepository" : {
      "type" : "object",
      "required" : [ "docker", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/HostedStorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "component" : {
          "$ref" : "#/definitions/ComponentAttributes"
        },
        "docker" : {
          "$ref" : "#/definitions/DockerAttributes"
        }
      }
    },
    "DockerHostedRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "docker", "name", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/DockerHostedStorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "component" : {
          "$ref" : "#/definitions/ComponentAttributes"
        },
        "docker" : {
          "$ref" : "#/definitions/DockerAttributes"
        }
      }
    },
    "DockerHostedStorageAttributes" : {
      "type" : "object",
      "required" : [ "blobStoreName", "strictContentTypeValidation", "writePolicy" ],
      "properties" : {
        "blobStoreName" : {
          "type" : "string",
          "example" : "default",
          "description" : "Blob store used to store repository contents"
        },
        "strictContentTypeValidation" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether to validate uploaded content's MIME type appropriate for the repository format"
        },
        "writePolicy" : {
          "type" : "string",
          "example" : "allow_once",
          "description" : "Controls if deployments of and updates to assets are allowed",
          "enum" : [ "allow", "allow_once", "deny" ]
        },
        "latestPolicy" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether to allow redeploying the 'latest' tag but defer to the Deployment Policy for all other tags"
        }
      }
    },
    "DockerProxyApiRepository" : {
      "type" : "object",
      "required" : [ "docker", "dockerProxy", "httpClient", "negativeCache", "online", "proxy", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "proxy" : {
          "$ref" : "#/definitions/ProxyAttributes"
        },
        "negativeCache" : {
          "$ref" : "#/definitions/NegativeCacheAttributes"
        },
        "httpClient" : {
          "$ref" : "#/definitions/HttpClientAttributes"
        },
        "routingRuleName" : {
          "type" : "string",
          "description" : "The name of the routing rule assigned to this repository"
        },
        "replication" : {
          "$ref" : "#/definitions/ReplicationAttributes"
        },
        "docker" : {
          "$ref" : "#/definitions/DockerAttributes"
        },
        "dockerProxy" : {
          "$ref" : "#/definitions/DockerProxyAttributes"
        }
      }
    },
    "DockerProxyAttributes" : {
      "type" : "object",
      "properties" : {
        "indexType" : {
          "type" : "string",
          "example" : "HUB",
          "description" : "Type of Docker Index",
          "enum" : [ "HUB", "REGISTRY", "CUSTOM" ]
        },
        "indexUrl" : {
          "type" : "string",
          "description" : "Url of Docker Index to use"
        },
        "cacheForeignLayers" : {
          "type" : "boolean",
          "description" : "Allow Nexus Repository Manager to download and cache foreign layers"
        },
        "foreignLayerUrlWhitelist" : {
          "type" : "array",
          "description" : "Regular expressions used to identify URLs that are allowed for foreign layer requests",
          "items" : {
            "type" : "string"
          }
        }
      }
    },
    "DockerProxyRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "docker", "dockerProxy", "httpClient", "name", "negativeCache", "online", "proxy", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "proxy" : {
          "$ref" : "#/definitions/ProxyAttributes"
        },
        "negativeCache" : {
          "$ref" : "#/definitions/NegativeCacheAttributes"
        },
        "httpClient" : {
          "$ref" : "#/definitions/HttpClientAttributes"
        },
        "routingRule" : {
          "type" : "string"
        },
        "replication" : {
          "$ref" : "#/definitions/ReplicationAttributes"
        },
        "docker" : {
          "$ref" : "#/definitions/DockerAttributes"
        },
        "dockerProxy" : {
          "$ref" : "#/definitions/DockerProxyAttributes"
        }
      }
    },
    "YumGroupRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "group", "name", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "group" : {
          "$ref" : "#/definitions/GroupAttributes"
        },
        "yumSigning" : {
          "$ref" : "#/definitions/YumSigningRepositoriesAttributes"
        }
      }
    },
    "YumSigningRepositoriesAttributes" : {
      "type" : "object",
      "properties" : {
        "keypair" : {
          "type" : "string",
          "description" : "PGP signing key pair (armored private key e.g. gpg --export-secret-key --armor)"
        },
        "passphrase" : {
          "type" : "string",
          "description" : "Passphrase to access PGP signing key"
        }
      }
    },
    "YumAttributes" : {
      "type" : "object",
      "required" : [ "repodataDepth" ],
      "properties" : {
        "repodataDepth" : {
          "type" : "integer",
          "format" : "int32",
          "example" : 5,
          "description" : "Specifies the repository depth where repodata folder(s) are created",
          "minimum" : 0,
          "maximum" : 5
        },
        "deployPolicy" : {
          "type" : "string",
          "example" : "STRICT",
          "description" : "Validate that all paths are RPMs or yum metadata",
          "enum" : [ "PERMISSIVE", "STRICT" ]
        }
      }
    },
    "YumHostedApiRepository" : {
      "type" : "object",
      "required" : [ "online", "storage", "yum" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/HostedStorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "component" : {
          "$ref" : "#/definitions/ComponentAttributes"
        },
        "yum" : {
          "$ref" : "#/definitions/YumAttributes"
        }
      }
    },
    "YumHostedRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "name", "online", "storage", "yum" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/HostedStorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "component" : {
          "$ref" : "#/definitions/ComponentAttributes"
        },
        "yum" : {
          "$ref" : "#/definitions/YumAttributes"
        }
      }
    },
    "YumProxyRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "httpClient", "name", "negativeCache", "online", "proxy", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "proxy" : {
          "$ref" : "#/definitions/ProxyAttributes"
        },
        "negativeCache" : {
          "$ref" : "#/definitions/NegativeCacheAttributes"
        },
        "httpClient" : {
          "$ref" : "#/definitions/HttpClientAttributes"
        },
        "routingRule" : {
          "type" : "string"
        },
        "replication" : {
          "$ref" : "#/definitions/ReplicationAttributes"
        },
        "yumSigning" : {
          "$ref" : "#/definitions/YumSigningRepositoriesAttributes"
        }
      }
    },
    "AzureConnectionXO" : {
      "type" : "object",
      "properties" : {
        "accountName" : {
          "type" : "string"
        },
        "accountKey" : {
          "type" : "string"
        },
        "containerName" : {
          "type" : "string"
        },
        "authenticationMethod" : {
          "type" : "string"
        }
      }
    },
    "AzureBlobStoreApiAuthentication" : {
      "type" : "object",
      "required" : [ "authenticationMethod" ],
      "properties" : {
        "authenticationMethod" : {
          "type" : "string",
          "description" : "The type of Azure authentication to use.",
          "enum" : [ "ACCOUNTKEY", "MANAGEDIDENTITY", "ENVIRONMENTVARIABLE" ]
        },
        "accountKey" : {
          "type" : "string",
          "description" : "The account key."
        }
      }
    },
    "AzureBlobStoreApiBucketConfiguration" : {
      "type" : "object",
      "required" : [ "accountName", "authentication", "containerName" ],
      "properties" : {
        "accountName" : {
          "type" : "string",
          "description" : "Account name found under Access keys for the storage account."
        },
        "containerName" : {
          "type" : "string",
          "description" : "The name of an existing container to be used for storage.",
          "pattern" : "^[a-z0-9][a-z0-9-]{2,62}$"
        },
        "authentication" : {
          "description" : "The Azure specific authentication details.",
          "$ref" : "#/definitions/AzureBlobStoreApiAuthentication"
        }
      }
    },
    "AzureBlobStoreApiModel" : {
      "type" : "object",
      "required" : [ "bucketConfiguration", "name" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "description" : "The name of the Azure blob store."
        },
        "softQuota" : {
          "description" : "Settings to control the soft quota.",
          "$ref" : "#/definitions/BlobStoreApiSoftQuota"
        },
        "bucketConfiguration" : {
          "description" : "The Azure specific configuration details for the Azure object that'll contain the blob store.",
          "$ref" : "#/definitions/AzureBlobStoreApiBucketConfiguration"
        }
      }
    },
    "HelmHostedRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "name", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/HostedStorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "component" : {
          "$ref" : "#/definitions/ComponentAttributes"
        }
      }
    },
    "HelmProxyRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "httpClient", "name", "negativeCache", "online", "proxy", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "proxy" : {
          "$ref" : "#/definitions/ProxyAttributes"
        },
        "negativeCache" : {
          "$ref" : "#/definitions/NegativeCacheAttributes"
        },
        "httpClient" : {
          "$ref" : "#/definitions/HttpClientAttributes"
        },
        "routingRule" : {
          "type" : "string"
        },
        "replication" : {
          "$ref" : "#/definitions/ReplicationAttributes"
        }
      }
    },
    "GitLfsHostedRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "name", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/HostedStorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "component" : {
          "$ref" : "#/definitions/ComponentAttributes"
        }
      }
    },
    "PypiGroupRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "group", "name", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "group" : {
          "$ref" : "#/definitions/GroupAttributes"
        }
      }
    },
    "PypiHostedRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "name", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/HostedStorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "component" : {
          "$ref" : "#/definitions/ComponentAttributes"
        }
      }
    },
    "PyPiProxyAttributes" : {
      "type" : "object",
      "required" : [ "removeQuarantined" ],
      "properties" : {
        "removeQuarantined" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Remove Quarantined Versions"
        }
      }
    },
    "PypiProxyRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "httpClient", "name", "negativeCache", "online", "proxy", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "proxy" : {
          "$ref" : "#/definitions/ProxyAttributes"
        },
        "negativeCache" : {
          "$ref" : "#/definitions/NegativeCacheAttributes"
        },
        "httpClient" : {
          "$ref" : "#/definitions/HttpClientAttributes"
        },
        "routingRule" : {
          "type" : "string"
        },
        "replication" : {
          "$ref" : "#/definitions/ReplicationAttributes"
        },
        "pypi" : {
          "$ref" : "#/definitions/PyPiProxyAttributes"
        }
      }
    },
    "CondaProxyRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "httpClient", "name", "negativeCache", "online", "proxy", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "proxy" : {
          "$ref" : "#/definitions/ProxyAttributes"
        },
        "negativeCache" : {
          "$ref" : "#/definitions/NegativeCacheAttributes"
        },
        "httpClient" : {
          "$ref" : "#/definitions/HttpClientAttributes"
        },
        "routingRule" : {
          "type" : "string"
        },
        "replication" : {
          "$ref" : "#/definitions/ReplicationAttributes"
        }
      }
    },
    "ConanProxyRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "httpClient", "name", "negativeCache", "online", "proxy", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "proxy" : {
          "$ref" : "#/definitions/ProxyAttributes"
        },
        "negativeCache" : {
          "$ref" : "#/definitions/NegativeCacheAttributes"
        },
        "httpClient" : {
          "$ref" : "#/definitions/HttpClientAttributes"
        },
        "routingRule" : {
          "type" : "string"
        },
        "replication" : {
          "$ref" : "#/definitions/ReplicationAttributes"
        }
      }
    },
    "RGroupRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "group", "name", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "group" : {
          "$ref" : "#/definitions/GroupAttributes"
        }
      }
    },
    "RHostedRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "name", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/HostedStorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "component" : {
          "$ref" : "#/definitions/ComponentAttributes"
        }
      }
    },
    "RProxyRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "httpClient", "name", "negativeCache", "online", "proxy", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "proxy" : {
          "$ref" : "#/definitions/ProxyAttributes"
        },
        "negativeCache" : {
          "$ref" : "#/definitions/NegativeCacheAttributes"
        },
        "httpClient" : {
          "$ref" : "#/definitions/HttpClientAttributes"
        },
        "routingRule" : {
          "type" : "string"
        },
        "replication" : {
          "$ref" : "#/definitions/ReplicationAttributes"
        }
      }
    },
    "CocoapodsProxyRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "httpClient", "name", "negativeCache", "online", "proxy", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "proxy" : {
          "$ref" : "#/definitions/ProxyAttributes"
        },
        "negativeCache" : {
          "$ref" : "#/definitions/NegativeCacheAttributes"
        },
        "httpClient" : {
          "$ref" : "#/definitions/HttpClientAttributes"
        },
        "routingRule" : {
          "type" : "string"
        },
        "replication" : {
          "$ref" : "#/definitions/ReplicationAttributes"
        }
      }
    },
    "GolangGroupRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "group", "name", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "group" : {
          "$ref" : "#/definitions/GroupAttributes"
        }
      }
    },
    "GolangProxyRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "httpClient", "name", "negativeCache", "online", "proxy", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "proxy" : {
          "$ref" : "#/definitions/ProxyAttributes"
        },
        "negativeCache" : {
          "$ref" : "#/definitions/NegativeCacheAttributes"
        },
        "httpClient" : {
          "$ref" : "#/definitions/HttpClientAttributes"
        },
        "routingRule" : {
          "type" : "string"
        },
        "replication" : {
          "$ref" : "#/definitions/ReplicationAttributes"
        }
      }
    },
    "P2ProxyRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "httpClient", "name", "negativeCache", "online", "proxy", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "proxy" : {
          "$ref" : "#/definitions/ProxyAttributes"
        },
        "negativeCache" : {
          "$ref" : "#/definitions/NegativeCacheAttributes"
        },
        "httpClient" : {
          "$ref" : "#/definitions/HttpClientAttributes"
        },
        "routingRule" : {
          "type" : "string"
        },
        "replication" : {
          "$ref" : "#/definitions/ReplicationAttributes"
        }
      }
    },
    "BowerGroupRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "group", "name", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "group" : {
          "$ref" : "#/definitions/GroupAttributes"
        }
      }
    },
    "BowerHostedRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "name", "online", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/HostedStorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "component" : {
          "$ref" : "#/definitions/ComponentAttributes"
        }
      }
    },
    "BowerAttributes" : {
      "type" : "object",
      "required" : [ "rewritePackageUrls" ],
      "properties" : {
        "rewritePackageUrls" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether to force Bower to retrieve packages through this proxy repository"
        }
      }
    },
    "BowerProxyApiRepository" : {
      "type" : "object",
      "required" : [ "httpClient", "negativeCache", "online", "proxy", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "proxy" : {
          "$ref" : "#/definitions/ProxyAttributes"
        },
        "negativeCache" : {
          "$ref" : "#/definitions/NegativeCacheAttributes"
        },
        "httpClient" : {
          "$ref" : "#/definitions/HttpClientAttributes"
        },
        "routingRuleName" : {
          "type" : "string",
          "description" : "The name of the routing rule assigned to this repository"
        },
        "replication" : {
          "$ref" : "#/definitions/ReplicationAttributes"
        },
        "bower" : {
          "$ref" : "#/definitions/BowerAttributes"
        }
      }
    },
    "BowerProxyRepositoryApiRequest" : {
      "type" : "object",
      "required" : [ "httpClient", "name", "negativeCache", "online", "proxy", "storage" ],
      "properties" : {
        "name" : {
          "type" : "string",
          "example" : "internal",
          "description" : "A unique identifier for this repository",
          "pattern" : "^[a-zA-Z0-9\\-]{1}[a-zA-Z0-9_\\-\\.]*$"
        },
        "online" : {
          "type" : "boolean",
          "example" : true,
          "description" : "Whether this repository accepts incoming requests"
        },
        "storage" : {
          "$ref" : "#/definitions/StorageAttributes"
        },
        "cleanup" : {
          "$ref" : "#/definitions/CleanupPolicyAttributes"
        },
        "proxy" : {
          "$ref" : "#/definitions/ProxyAttributes"
        },
        "negativeCache" : {
          "$ref" : "#/definitions/NegativeCacheAttributes"
        },
        "httpClient" : {
          "$ref" : "#/definitions/HttpClientAttributes"
        },
        "routingRule" : {
          "type" : "string"
        },
        "replication" : {
          "$ref" : "#/definitions/ReplicationAttributes"
        },
        "bower" : {
          "$ref" : "#/definitions/BowerAttributes"
        }
      }
    }
  }
}