@itentialopensource/adapter-nexus_repository
Version:
This adapter integrates with system described as: nexusRepositoryManagerRestApi.
9,128 lines • 247 kB
JSON
{
"swagger": "2.0",
"info": {
"version": "3.21.2-03",
"title": "Nexus Repository Manager REST API"
},
"basePath": "/service/rest/",
"tags": [
{
"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": "Repository Management"
},
{
"name": "assets"
},
{
"name": "components"
},
{
"name": "content-selectors"
},
{
"name": "repositories"
},
{
"name": "routing-rules"
},
{
"name": "search"
},
{
"name": "formats"
},
{
"name": "script"
},
{
"name": "email"
},
{
"name": "status"
},
{
"name": "support"
},
{
"name": "Security Management: LDAP"
},
{
"name": "Product Licensing"
},
{
"name": "Manage IQ Server configuration"
}
],
"paths": {
"/beta/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."
}
}
}
},
"/beta/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"
}
],
"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."
}
}
}
},
"/beta/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."
}
}
}
},
"/beta/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."
}
}
}
},
"/beta/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."
}
}
}
},
"/beta/security/privileges/{privilegeId}": {
"get": {
"tags": [
"Security Management: Privileges"
],
"summary": "Retrieve a privilege by id.",
"description": "",
"operationId": "getPrivilege",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "privilegeId",
"in": "path",
"description": "The id 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 id.",
"description": "",
"operationId": "deletePrivilege",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "privilegeId",
"in": "path",
"description": "The id 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."
}
}
}
},
"/beta/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."
}
}
}
},
"/beta/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."
}
}
}
},
"/beta/security/privileges/wildcard/{privilegeId}": {
"put": {
"tags": [
"Security Management: Privileges"
],
"summary": "Update a wildcard type privilege.",
"description": "",
"operationId": "updatePrivilege",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "privilegeId",
"in": "path",
"description": "The id 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."
}
}
}
},
"/beta/security/privileges/application/{privilegeId}": {
"put": {
"tags": [
"Security Management: Privileges"
],
"summary": "Update an application type privilege.",
"description": "",
"operationId": "updatePrivilege_1",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "privilegeId",
"in": "path",
"description": "The id 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."
}
}
}
},
"/beta/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"
}
}
}
}
}
},
"/beta/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"
}
}
}
},
"/beta/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"
}
}
}
},
"/beta/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",
"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/{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": {
"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}/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"
},
"404": {
"description": "Task not found"
},
"409": {
"description": "Unable to stop task"
}
}
}
},
"/beta/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"
}
}
}
},
"/beta/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/{id}/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": "id",
"in": "path",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/BlobStoreQuotaResultXO"
}
}
}
}
},
"/beta/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": {
"default": {
"description": "successful operation"
}
}
}
},
"/beta/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"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/FileBlobStoreApiModel"
}
}
}
},
"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": {
"default": {
"description": "successful operation"
}
}
}
},
"/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/freeze": {
"post": {
"tags": [
"read-only"
],
"summary": "Enable read-only",
"description": "",
"operationId": "freeze",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"204": {
"description": "System 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",
"description": "Forcibly release read-only status, including System initiated tasks. Warning: may result in data loss.",
"operationId": "forceRelease",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"204": {
"description": "System is no longer read-only"
},
"403": {
"description": "Authentication required"
},
"404": {
"description": "No change to read-only state"
}
}
}
},
"/v1/read-only/release": {
"post": {
"tags": [
"read-only"
],
"summary": "Release read-only",
"description": "Release administrator initiated read-only status. Will not release read-only caused by system tasks.",
"operationId": "release",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"204": {
"description": "System 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"
}
}
}
}
},
"/beta/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"
}
}
}
},
"/beta/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": {
"type": "object"
}
},
"403": {
"description": "Insufficient permissions to add certificate to the trust store."
},
"409": {
"description": "The certificate already exists in the system."
}
}
}
},
"/beta/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"
}
},
"400": {
"description": "A certificate could not be retrieved, see the message for details."
},
"403": {
"description": "Insufficient permissions to retrieve remote certificate."
}
}
}
},
"/beta/repositories": {
"get": {
"tags": [
"Repository Management"
],
"summary": "List repositories",
"description": "",
"operationId": "getRepositories",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "Repositories list returned"
},
"401": {
"description": "Authentication required"
},
"403": {
"description": "Insufficient permissions"
}
}
}
},
"/beta/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"
}
}
}
},
"/beta/repositories/{repositoryName}": {
"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"
}
}
}
},
"/beta/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/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/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/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": "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": "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": "apt.asset",
"in": "formData",
"description": "apt Asset ",
"required": false,
"type": "file"
},
{
"name": "rubygems.asset",
"in": "formData",
"description": "rubygems 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": "npm.asset",
"in": "formData",
"description": "npm Asset ",
"required": false,
"type": "file"
},
{
"name": "nuget.asset",
"in": "formData",
"description": "nuget 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"
}
}
}
},
"/beta/security/content-selectors/{name}": {
"get": {
"tags": [
"content-selectors"
],
"summary": "Get a content selector by id",
"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"
},
"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"
}
}
}
},
"/beta/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"
},
"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/repositories": {
"get": {
"tags": [
"repositories"
],
"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"
}
}
}
}
}
},
"/beta/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"
}
}
}
},
"/beta/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/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": "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": "prerelease",
"in": "query",
"description": "Prerelease version flag",
"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": "npm.scope",
"in": "query",
"description": "NPM scope",
"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": "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"
}
],
"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": "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": "prerelease",
"in": "query",
"description": "Prerelease version flag",
"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": "npm.scope",
"in": "query",
"description": "NPM scope",
"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": "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"
}
],
"responses": {
"400": {
"description": "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": "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": "prerelease",
"in": "query",
"description": "Prerelease version flag",
"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": "npm.scope",
"in": "query",
"description": "NPM scope",
"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": "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"
}
],
"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"
}
}
}
}
}
},
"/beta/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."
}
}
}
},
"/beta/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."
}
}
}
},
"/beta/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."
}
}
}
},
"/beta/security/privileges/repository-view/{privilegeId}": {
"put": {
"tags": [
"Security Management: Privileges"
],
"summary": "Update a repository view type privilege.",
"description": "",
"operationId": "updatePrivilege_2",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "privilegeId",
"in": "path",
"description": "The id 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."
}
}
}
},
"/beta/security/privileges/repository-content-selector/{privilegeId}": {
"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": "privilegeId",
"in": "path",
"description": "The id 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."
}
}
}
},
"/beta/security/privileges/repository-admin/{privilegeId}": {
"put": {
"tags": [
"Security Management: Privileges"
],
"summary": "Update a repository admin type privilege.",
"description": "",
"operationId": "updatePrivilege_4",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "privilegeId",
"in": "path",
"description": "The id 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."
}
}
}
},
"/beta/repositories/maven/hosted": {
"post": {
"tags": [
"Repository Management"
],
"summary": "Create Maven hosted repository",
"description": "",
"operationId": "createRepository",
"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"
}
}
}
},
"/beta/repositories/maven/hosted/{repositoryName}": {
"put": {
"tags": [
"Repository Management"
],
"summary": "Update Maven hosted repository",
"description": "",
"operationId": "updateRepository",
"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"
},
"401": {
"description": "Authentication required"
},
"403": {
"description": "Insufficient permissions"
}
}
}
},
"/beta/repositories/maven/proxy": {
"post": {
"tags": [
"Repository Management"
],
"summary": "Create Maven proxy repository",
"description": "",
"operationId": "createRepository_1",
"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"
}
}
}
},
"/beta/repositories/maven/proxy/{repositoryName}": {
"put": {
"tags": [
"Repository Management"
],
"summary": "Update Maven proxy repository",
"description": "",
"operationId": "updateRepository_1",
"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"
},
"401": {
"description": "Authentication required"
},
"403": {
"description": "Insufficient permissions"
}
}
}
},
"/beta/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."
}
}
}
},
"/beta/security/privileges/script/{privilegeId}": {
"put": {
"tags": [
"Security Management: Privileges"
],
"summary": "Update a script type privilege.",
"description": "",
"operationId": "updatePrivilege_5",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "privilegeId",
"in": "path",
"description": "The id 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",
"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"
}
}
}
},
"/beta/blobstores/s3/{name}": {
"get": {
"tags": [
"Blob Store"
],
"summary": "Fetch a S3 blob store configuration",
"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": "OK"
},
"400": {
"description": "Specified S3 blob store doesn't exist"
},
"401": {
"description": "Authentication required"
},
"403": {
"description": "Insufficient permissions"
}
}
},
"put": {
"tags": [
"Blob Store"
],
"summary": "Update an S3 blob store configuration",
"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"
}
}
}
},
"/beta/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"
}
}
}
},
"/beta/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"
}
}
}
},
"/beta/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"
},
"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/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"
}
}
}
},
"/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/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/Request"
}
}
],
"responses": {
"default": {
"description": "successful operation"
}
}
}
},
"/beta/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"
}
}
}
},
"/beta/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"
}
}
}
},
"/beta/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"
}
}
}
},
"/beta/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"
}
}
}
},
"/beta/iq": {
"get": {
"tags": [
"Manage IQ Server configuration"
],
"summary": "Get IQ Server configuration",
"description": "",
"operationId": "getConfiguration",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "IQ Server configuration returned"
}
}
},
"put": {
"tags": [
"Manage IQ Server configuration"
],
"summary": "Update IQ Server configuration",
"description": "",
"operationId": "updateConfiguration",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"$ref": "#/definitions/IqConnectionXo"
}
}
],
"responses": {
"204": {
"description": "IQ Server configuration has been updated"
}
}
}
},
"/beta/iq/verify-connection": {
"post": {
"tags": [
"Manage IQ Server configuration"
],
"summary": "Verify IQ Server connection",
"description": "",
"operationId": "verifyConnection",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "Connection verification complete, check response body for result"
}
}
}
},
"/beta/iq/enable": {
"post": {
"tags": [
"Manage IQ Server configuration"
],
"summary": "Enable IQ Server",
"description": "",
"operationId": "enableIq",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"204": {
"description": "IQ Server has been enabled"
},
"400": {
"description": "IQ Server connection not configured"
}
}
}
},
"/beta/iq/disable": {
"post": {
"tags": [
"Manage IQ Server configuration"
],
"summary": "Disable IQ Server",
"description": "",
"operationId": "disableIq",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"204": {
"description": "IQ Server has been disabled"
},
"400": {
"description": "IQ Server connection not configured"
}
}
}
},
"/beta/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"
}
}
}
},
"/beta/repositories/apt/hosted": {
"post": {
"tags": [
"Repository Management"
],
"summary": "Create APT hosted repository",
"description": "",
"operationId": "createRepository_2",
"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"
}
}
}
},
"/beta/repositories/apt/hosted/{repositoryName}": {
"put": {
"tags": [
"Repository Management"
],
"summary": "Update APT hosted repository",
"description": "",
"operationId": "updateRepository_2",
"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"
},
"401": {
"description": "Authentication required"
},
"403": {
"description": "Insufficient permissions"
},
"404": {
"description": "Repository not found"
}
}
}
},
"/beta/repositories/apt/proxy": {
"post": {
"tags": [
"Repository Management"
],
"summary": "Create APT proxy repository",
"description": "",
"operationId": "createRepository_3",
"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"
}
}
}
},
"/beta/repositories/apt/proxy/{repositoryName}": {
"put": {
"tags": [
"Repository Management"
],
"summary": "Update APT proxy repository",
"description": "",
"operationId": "updateRepository_3",
"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"
},
"401": {
"description": "Authentication required"
},
"403": {
"description": "Insufficient permissions"
},
"404": {
"description": "Repository not found"
}
}
}
},
"/beta/repositories/go/group": {
"post": {
"tags": [
"Repository Management"
],
"summary": "Create a Go group repository",
"description": "",
"operationId": "createRepository_4",
"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"
}
}
}
},
"/beta/repositories/go/group/{repositoryName}": {
"put": {
"tags": [
"Repository Management"
],
"summary": "Update a Go group repository",
"description": "",
"operationId": "updateRepository_4",
"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"
},
"401": {
"description": "Authentication required"
},
"403": {
"description": "Insufficient permissions"
},
"404": {
"description": "Repository not found"
}
}
}
},
"/beta/repositories/go/proxy": {
"post": {
"tags": [
"Repository Management"
],
"summary": "Create a Go proxy repository",
"description": "",
"operationId": "createRepository_5",
"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"
}
}
}
},
"/beta/repositories/go/proxy/{repositoryName}": {
"put": {
"tags": [
"Repository Management"
],
"summary": "Update a Go proxy repository",
"description": "",
"operationId": "updateRepository_5",
"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"
},
"401": {
"description": "Authentication required"
},
"403": {
"description": "Insufficient permissions"
},
"404": {
"description": "Repository not found"
}
}
}
},
"/beta/repositories/helm/hosted": {
"post": {
"tags": [
"Repository Management"
],
"summary": "Create Helm hosted repository",
"description": "",
"operationId": "createRepository_6",
"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"
}
}
}
},
"/beta/repositories/helm/hosted/{repositoryName}": {
"put": {
"tags": [
"Repository Management"
],
"summary": "Update Helm hosted repository",
"description": "",
"operationId": "updateRepository_6",
"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"
},
"401": {
"description": "Authentication required"
},
"403": {
"description": "Insufficient permissions"
}
}
}
},
"/beta/repositories/helm/proxy": {
"post": {
"tags": [
"Repository Management"
],
"summary": "Create Helm proxy repository",
"description": "",
"operationId": "createRepository_7",
"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"
}
}
}
},
"/beta/repositories/helm/proxy/{repositoryName}": {
"put": {
"tags": [
"Repository Management"
],
"summary": "Update Helm proxy repository",
"description": "",
"operationId": "updateRepository_7",
"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"
},
"401": {
"description": "Authentication required"
},
"403": {
"description": "Insufficient permissions"
}
}
}
},
"/beta/repositories/p2/proxy": {
"post": {
"tags": [
"Repository Management"
],
"summary": "Create P2 proxy repository",
"description": "",
"operationId": "createRepository_8",
"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"
}
}
}
},
"/beta/repositories/p2/proxy/{repositoryName}": {
"put": {
"tags": [
"Repository Management"
],
"summary": "Update P2 proxy repository",
"description": "",
"operationId": "updateRepository_8",
"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"
},
"401": {
"description": "Authentication required"
},
"403": {
"description": "Insufficient permissions"
}
}
}
},
"/beta/repositories/bower/group": {
"post": {
"tags": [
"Repository Management"
],
"summary": "Create Bower group repository",
"description": "",
"operationId": "createRepository_9",
"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"
}
}
}
},
"/beta/repositories/bower/group/{repositoryName}": {
"put": {
"tags": [
"Repository Management"
],
"summary": "Update Bower group repository",
"description": "",
"operationId": "updateRepository_9",
"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"
}
}
}
},
"/beta/repositories/bower/hosted": {
"post": {
"tags": [
"Repository Management"
],
"summary": "Create Bower hosted repository",
"description": "",
"operationId": "createRepository_10",
"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"
}
}
}
},
"/beta/repositories/bower/hosted/{repositoryName}": {
"put": {
"tags": [
"Repository Management"
],
"summary": "Update Bower hosted repository",
"description": "",
"operationId": "updateRepository_10",
"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"
}
}
}
},
"/beta/repositories/bower/proxy": {
"post": {
"tags": [
"Repository Management"
],
"summary": "Create Bower proxy repository",
"description": "",
"operationId": "createRepository_11",
"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"
}
}
}
},
"/beta/repositories/bower/proxy/{repositoryName}": {
"put": {
"tags": [
"Repository Management"
],
"summary": "Update Bower proxy repository",
"description": "",
"operationId": "updateRepository_11",
"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"
}
}
}
},
"/beta/repositories/docker/group": {
"post": {
"tags": [
"Repository Management"
],
"summary": "Create Docker group repository",
"description": "",
"operationId": "createRepository_12",
"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"
}
}
}
},
"/beta/repositories/docker/group/{repositoryName}": {
"put": {
"tags": [
"Repository Management"
],
"summary": "Update Docker group repository",
"description": "",
"operationId": "updateRepository_12",
"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"
},
"401": {
"description": "Authentication required"
},
"403": {
"description": "Insufficient permissions"
},
"404": {
"description": "Repository not found"
}
}
}
},
"/beta/repositories/docker/hosted": {
"post": {
"tags": [
"Repository Management"
],
"summary": "Create Docker hosted repository",
"description": "",
"operationId": "createRepository_13",
"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"
}
}
}
},
"/beta/repositories/docker/hosted/{repositoryName}": {
"put": {
"tags": [
"Repository Management"
],
"summary": "Update Docker hosted repository",
"description": "",
"operationId": "updateRepository_13",
"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"
},
"401": {
"description": "Authentication required"
},
"403": {
"description": "Insufficient permissions"
},
"404": {
"description": "Repository not found"
}
}
}
},
"/beta/repositories/docker/proxy": {
"post": {
"tags": [
"Repository Management"
],
"summary": "Create docker proxy repository",
"description": "",
"operationId": "createRepository_14",
"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"
}
}
}
},
"/beta/repositories/docker/proxy/{repositoryName}": {
"put": {
"tags": [
"Repository Management"
],
"summary": "Update Docker group repository",
"description": "",
"operationId": "updateRepository_14",
"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"
},
"401": {
"description": "Authentication required"
},
"403": {
"description": "Insufficient permissions"
},
"404": {
"description": "Repository not found"
}
}
}
},
"/beta/repositories/gitlfs/hosted": {
"post": {
"tags": [
"Repository Management"
],
"summary": "Create Git LFS hosted repository",
"description": "",
"operationId": "createRepository_15",
"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"
}
}
}
},
"/beta/repositories/gitlfs/hosted/{repositoryName}": {
"put": {
"tags": [
"Repository Management"
],
"summary": "Update Git LFS hosted repository",
"description": "",
"operationId": "updateRepository_15",
"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"
},
"401": {
"description": "Authentication required"
},
"403": {
"description": "Insufficient permissions"
}
}
}
},
"/beta/repositories/yum/hosted": {
"post": {
"tags": [
"Repository Management"
],
"summary": "Create Yum hosted repository",
"description": "",
"operationId": "createRepository_16",
"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"
}
}
}
},
"/beta/repositories/yum/hosted/{repositoryName}": {
"put": {
"tags": [
"Repository Management"
],
"summary": "Update Yum hosted repository",
"description": "",
"operationId": "updateRepository_16",
"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"
},
"401": {
"description": "Authentication required"
},
"403": {
"description": "Insufficient permissions"
}
}
}
}
},
"definitions": {
"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 Nexus. 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 Nexus.",
"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",
"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."
},
"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"
}
}
}
},
"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"
}
}
},
"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"
}
}
},
"BlobStoreApiSoftQuota": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "The type to use such as spaceRemainingQuota, or spaceUsedQuota"
},
"limit": {
"type": "integer",
"format": "int64",
"description": "The limit in MB."
}
}
},
"GenericBlobStoreApiResponse": {
"type": "object",
"properties": {
"softQuota": {
"description": "Settings to control the soft quota",
"$ref": "#/definitions/BlobStoreApiSoftQuota"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"blobCount": {
"type": "integer",
"format": "int64"
},
"totalSizeInBytes": {
"type": "integer",
"format": "int64"
},
"availableSpaceInBytes": {
"type": "integer",
"format": "int64"
}
}
},
"BlobStoreQuotaResultXO": {
"type": "object",
"properties": {
"isViolation": {
"type": "boolean"
},
"message": {
"type": "string"
},
"blobStoreName": {
"type": "string"
}
}
},
"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 nxrm 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 nxrm 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 nxrm has access to or it can be a path relative to the sonatype-work directory."
}
}
},
"ReadOnlyState": {
"type": "object",
"properties": {
"summaryReason": {
"type": "string"
},
"systemInitiated": {
"type": "boolean"
},
"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"
}
}
},
"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"
}
}
},
"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"
}
}
}
},
"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"
}
}
},
"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"
},
"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"
},
"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"
},
"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",
"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",
"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",
"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)."
}
}
},
"CleanupPolicyAttributes": {
"type": "object",
"properties": {
"policyNames": {
"type": "array",
"example": "weekly-cleanup",
"description": "Components that match any of the applied policies will be deleted",
"items": {
"type": "object"
}
}
}
},
"HostedStorageAttributes": {
"type": "object",
"required": [
"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"
]
}
}
},
"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"
},
"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": false,
"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"
}
}
},
"HttpClientConnectionAuthenticationAttributes": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Authentication type",
"enum": [
"username",
"ntlm"
]
},
"username": {
"type": "string"
},
"ntlmHost": {
"type": "string"
},
"ntlmDomain": {
"type": "string"
}
}
},
"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/HttpClientAttributes"
},
"routingRule": {
"type": "string"
},
"maven": {
"$ref": "#/definitions/MavenAttributes"
}
}
},
"NegativeCacheAttributes": {
"type": "object",
"required": [
"enabled",
"timeToLive"
],
"properties": {
"enabled": {
"type": "boolean",
"example": false,
"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://registry.npmjs.org",
"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)"
}
}
},
"StorageAttributes": {
"type": "object",
"required": [
"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"
}
}
},
"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",
"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."
}
}
},
"S3BlobStoreApiBucket": {
"type": "object",
"required": [
"expiration",
"name",
"region"
],
"properties": {
"region": {
"type": "string",
"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",
"description": "How many days until deleted blobs are finally removed from the S3 bucket (-1 to disable)"
}
}
},
"S3BlobStoreApiBucketConfiguration": {
"type": "object",
"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",
"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"
}
}
},
"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"
}
}
}
},
"Request": {
"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"
},
"limitFileSizes": {
"type": "boolean"
},
"limitZipSize": {
"type": "boolean"
}
}
},
"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 NXRM'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 NXRM 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."
}
}
},
"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 NXRM'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 NXRM 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"
}
}
},
"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 NXRM'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 NXRM 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"
}
}
},
"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"
},
"IqConnectionXo": {
"type": "object",
"required": [
"authenticationType"
],
"properties": {
"enabled": {
"type": "boolean",
"description": "Whether to use IQ Server"
},
"showLink": {
"type": "boolean",
"description": "Show IQ Server link in Browse menu when server is enabled"
},
"url": {
"type": "string",
"description": "The address of your IQ Server"
},
"authenticationType": {
"type": "string",
"description": "Authentication method",
"enum": [
"USER",
"PKI"
]
},
"username": {
"type": "string",
"description": "User with access to IQ Server"
},
"password": {
"type": "string",
"description": "Credentials for the IQ Server User"
},
"useTrustStoreForUrl": {
"type": "boolean",
"description": "Use certificates stored in the Nexus truststore to connect to IQ Server"
},
"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 IQ Server"
}
}
},
"IqConnectionVerificationXo": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"reason": {
"type": "string"
}
}
},
"AptHostedRepositoriesAttributes": {
"type": "object",
"properties": {
"distribution": {
"type": "string",
"example": "bionic",
"description": "Distribution to fetch"
}
}
},
"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"
},
"apt": {
"$ref": "#/definitions/AptHostedRepositoriesAttributes"
},
"aptSigning": {
"$ref": "#/definitions/AptSigningRepositoriesAttributes"
}
}
},
"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"
}
}
},
"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"
},
"apt": {
"$ref": "#/definitions/AptProxyRepositoriesAttributes"
}
}
},
"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"
}
}
},
"GroupAttributes": {
"type": "object",
"properties": {
"memberNames": {
"type": "array",
"example": "maven-public",
"description": "Member repositories' names",
"items": {
"type": "object"
}
}
}
},
"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"
}
}
},
"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"
}
}
},
"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"
}
}
},
"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"
}
}
},
"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"
}
}
},
"BowerAttributes": {
"type": "object",
"required": [
"rewritePackageUrls"
],
"properties": {
"rewritePackageUrls": {
"type": "boolean",
"example": true,
"description": "Whether to force Bower to retrieve packages through this proxy repository"
}
}
},
"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"
},
"bower": {
"$ref": "#/definitions/BowerAttributes"
}
}
},
"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"
}
}
},
"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/GroupAttributes"
},
"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/HostedStorageAttributes"
},
"cleanup": {
"$ref": "#/definitions/CleanupPolicyAttributes"
},
"docker": {
"$ref": "#/definitions/DockerAttributes"
}
}
},
"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"
}
}
},
"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"
},
"docker": {
"$ref": "#/definitions/DockerAttributes"
},
"dockerProxy": {
"$ref": "#/definitions/DockerProxyAttributes"
}
}
},
"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"
}
}
},
"YumAttributes": {
"type": "object",
"required": [
"repodataDepth"
],
"properties": {
"repodataDepth": {
"type": "integer",
"format": "int32",
"example": 5,
"description": "Specifies the repository depth where repodata folder(s) are created"
},
"deployPolicy": {
"type": "string",
"example": "STRICT",
"description": "Validate that all paths are RPMs or yum metadata",
"enum": [
"PERMISSIVE",
"STRICT"
]
}
}
},
"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"
},
"yum": {
"$ref": "#/definitions/YumAttributes"
}
}
}
}
}