Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: Nexus Repository Manager REST Security management…
version: 3.97.2-02
servers:
- url: /service/rest
tags:
- name: 'Security management: privileges'
paths:
/v1/security/privileges/repository-admin:
post:
tags:
- 'Security management: privileges'
summary: Create a repository admin type privilege
operationId: createSecurityPrivilegesRepositoryAdmin
requestBody:
description: The privilege to create.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiPrivilegeRepositoryAdminRequest'
required: true
responses:
'400':
description: Privilege object not configured properly.
'403':
description: The user does not have permission to perform the operation.
'201':
description: Privilege created.
/v1/security/privileges/repository-content-selector:
post:
tags:
- 'Security management: privileges'
summary: Create a repository content selector type privilege
operationId: createSecurityPrivilegesRepositoryContentSelector
requestBody:
description: The privilege to create.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiPrivilegeRepositoryContentSelectorRequest'
required: true
responses:
'400':
description: Privilege object not configured properly.
'403':
description: The user does not have permission to perform the operation.
'201':
description: Privilege created.
/v1/security/privileges/repository-view:
post:
tags:
- 'Security management: privileges'
summary: Create a repository view type privilege
operationId: createSecurityPrivilegesRepositoryView
requestBody:
description: The privilege to create.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiPrivilegeRepositoryViewRequest'
required: true
responses:
'400':
description: Privilege object not configured properly.
'403':
description: The user does not have permission to perform the operation.
'201':
description: Privilege created.
/v1/security/privileges/repository-admin/{privilegeName}:
put:
tags:
- 'Security management: privileges'
summary: Update a repository admin type privilege
operationId: updateSecurityPrivilegesRepositoryAdmin
parameters:
- name: privilegeName
in: path
description: The name of the privilege to update.
required: true
schema:
type: string
requestBody:
description: The privilege to update.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiPrivilegeRepositoryAdminRequest'
required: true
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.
'409':
description: 'Privilege conflict: name in request body does not match path, or type does not match the target privilege.'
'204':
description: Success
/v1/security/privileges/repository-content-selector/{privilegeName}:
put:
tags:
- 'Security management: privileges'
summary: Update a repository content selector type privilege
operationId: updateSecurityPrivilegesRepositoryContentSelector
parameters:
- name: privilegeName
in: path
description: The name of the privilege to update.
required: true
schema:
type: string
requestBody:
description: The privilege to update.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiPrivilegeRepositoryContentSelectorRequest'
required: true
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.
'409':
description: 'Privilege conflict: name in request body does not match path, or type does not match the target privilege.'
/v1/security/privileges/repository-view/{privilegeName}:
put:
tags:
- 'Security management: privileges'
summary: Update a repository view type privilege
operationId: updateSecurityPrivilegesRepositoryView
parameters:
- name: privilegeName
in: path
description: The name of the privilege to update.
required: true
schema:
type: string
requestBody:
description: The privilege to update.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiPrivilegeRepositoryViewRequest'
required: true
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.
'409':
description: 'Privilege conflict: name in request body does not match path, or type does not match the target privilege.'
'204':
description: Success
/v1/security/privileges/application:
post:
tags:
- 'Security management: privileges'
summary: Create an application type privilege
operationId: createSecurityPrivilegesApplication
requestBody:
description: The privilege to create.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiPrivilegeApplicationRequest'
required: true
responses:
'400':
description: Privilege object not configured properly.
'403':
description: The user does not have permission to perform the operation.
'201':
description: Privilege created.
/v1/security/privileges/wildcard:
post:
tags:
- 'Security management: privileges'
summary: Create a wildcard type privilege
operationId: createSecurityPrivilegesWildcard
requestBody:
description: The privilege to create.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiPrivilegeWildcardRequest'
required: true
responses:
'400':
description: Privilege object not configured properly.
'403':
description: The user does not have permission to perform the operation.
'201':
description: Privilege created.
/v1/security/privileges/{privilegeName}:
get:
tags:
- 'Security management: privileges'
summary: Retrieve a privilege by name
operationId: getSecurityPrivileges
parameters:
- name: privilegeName
in: path
description: The name of the privilege to retrieve.
required: true
schema:
type: string
responses:
'403':
description: The user does not have permission to perform the operation.
'404':
description: Privilege not found in the system.
'200':
description: successful operation
content:
application/json:
schema:
discriminator:
propertyName: type
mapping:
application: '#/components/schemas/ApiPrivilegeApplication'
wildcard: '#/components/schemas/ApiPrivilegeWildcard'
repository-admin: '#/components/schemas/ApiPrivilegeRepositoryAdmin'
repository-view: '#/components/schemas/ApiPrivilegeRepositoryView'
repository-content-selector: '#/components/schemas/ApiPrivilegeRepositoryContentSelector'
script: '#/components/schemas/ApiPrivilegeScript'
oneOf:
- $ref: '#/components/schemas/ApiPrivilegeApplication'
- $ref: '#/components/schemas/ApiPrivilegeWildcard'
- $ref: '#/components/schemas/ApiPrivilegeRepositoryAdmin'
- $ref: '#/components/schemas/ApiPrivilegeRepositoryView'
- $ref: '#/components/schemas/ApiPrivilegeRepositoryContentSelector'
- $ref: '#/components/schemas/ApiPrivilegeScript'
delete:
tags:
- 'Security management: privileges'
summary: Delete a privilege by name
operationId: deleteSecurityPrivileges
parameters:
- name: privilegeName
in: path
description: The name of the privilege to delete.
required: true
schema:
type: string
responses:
'400':
description: The privilege is internal and may not be altered.
'403':
description: The user does not have permission to perform the operation.
'404':
description: Privilege not found in the system.
/v1/security/privileges:
get:
tags:
- 'Security management: privileges'
summary: Retrieve a list of privileges
operationId: listSecurityPrivileges
responses:
'403':
description: The user does not have permission to perform the operation.
'200':
description: successful operation
content:
application/json:
schema:
type: array
items:
discriminator:
propertyName: type
mapping:
application: '#/components/schemas/ApiPrivilegeApplication'
wildcard: '#/components/schemas/ApiPrivilegeWildcard'
repository-admin: '#/components/schemas/ApiPrivilegeRepositoryAdmin'
repository-view: '#/components/schemas/ApiPrivilegeRepositoryView'
repository-content-selector: '#/components/schemas/ApiPrivilegeRepositoryContentSelector'
script: '#/components/schemas/ApiPrivilegeScript'
oneOf:
- $ref: '#/components/schemas/ApiPrivilegeApplication'
- $ref: '#/components/schemas/ApiPrivilegeWildcard'
- $ref: '#/components/schemas/ApiPrivilegeRepositoryAdmin'
- $ref: '#/components/schemas/ApiPrivilegeRepositoryView'
- $ref: '#/components/schemas/ApiPrivilegeRepositoryContentSelector'
- $ref: '#/components/schemas/ApiPrivilegeScript'
/v1/security/privileges/application/{privilegeName}:
put:
tags:
- 'Security management: privileges'
summary: Update an application type privilege
operationId: updateSecurityPrivilegesApplication
parameters:
- name: privilegeName
in: path
description: The name of the privilege to update.
required: true
schema:
type: string
requestBody:
description: The privilege to update.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiPrivilegeApplicationRequest'
required: true
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.
'409':
description: 'Privilege conflict: name in request body does not match path, or type does not match the target privilege.'
'204':
description: Success
/v1/security/privileges/wildcard/{privilegeName}:
put:
tags:
- 'Security management: privileges'
summary: Update a wildcard type privilege
operationId: updateSecurityPrivilegesWildcard
parameters:
- name: privilegeName
in: path
description: The name of the privilege to update.
required: true
schema:
type: string
requestBody:
description: The privilege to update.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiPrivilegeWildcardRequest'
required: true
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.
'409':
description: 'Privilege conflict: name in request body does not match path, or type does not match the target privilege.'
'204':
description: Success
/v1/security/privileges/script:
post:
tags:
- 'Security management: privileges'
summary: Create a script type privilege
operationId: createSecurityPrivilegesScript
requestBody:
description: The privilege to create.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiPrivilegeScriptRequest'
required: true
responses:
'400':
description: Privilege object not configured properly.
'403':
description: The user does not have permission to perform the operation.
'201':
description: Privilege created.
/v1/security/privileges/script/{privilegeName}:
put:
tags:
- 'Security management: privileges'
summary: Update a script type privilege
operationId: updateSecurityPrivilegesScript
parameters:
- name: privilegeName
in: path
description: The name of the privilege to update.
required: true
schema:
type: string
requestBody:
description: The privilege to update.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiPrivilegeScriptRequest'
required: true
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.
'409':
description: 'Privilege conflict: name in request body does not match path, or type does not match the target privilege.'
'204':
description: Success
components:
schemas:
ApiPrivilegeRepositoryView:
required:
- actions
- format
- name
- repository
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:
minLength: 1
pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
type: string
description: The name of the privilege. This value cannot be changed.
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.
actions:
minItems: 1
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
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.
enum:
- READ
- BROWSE
- EDIT
- ADD
- DELETE
- RUN
- START
- STOP
- ASSOCIATE
- DISASSOCIATE
- ALL
format:
minLength: 1
type: string
description: The repository format (i.e 'nuget', 'npm') this privilege will grant access to (or * for all).
repository:
minLength: 1
type: string
description: The name of the repository this privilege will grant access to (or * for all).
ApiPrivilegeApplicationRequest:
required:
- actions
- domain
- name
type: object
properties:
name:
minLength: 1
pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
type: string
description: The name of the privilege. This value cannot be changed.
description:
type: string
actions:
minItems: 1
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
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.
enum:
- READ
- BROWSE
- EDIT
- ADD
- DELETE
- RUN
- START
- STOP
- ASSOCIATE
- DISASSOCIATE
- ALL
domain:
minLength: 1
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).
ApiPrivilegeRepositoryAdmin:
required:
- actions
- format
- name
- repository
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:
minLength: 1
pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
type: string
description: The name of the privilege. This value cannot be changed.
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.
actions:
minItems: 1
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
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.
enum:
- READ
- BROWSE
- EDIT
- ADD
- DELETE
- RUN
- START
- STOP
- ASSOCIATE
- DISASSOCIATE
- ALL
format:
minLength: 1
type: string
description: The repository format (i.e 'nuget', 'npm') this privilege will grant access to (or * for all).
repository:
minLength: 1
type: string
description: The name of the repository this privilege will grant access to (or * for all).
ApiPrivilegeWildcardRequest:
required:
- name
- pattern
type: object
properties:
name:
minLength: 1
pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
type: string
description: The name of the privilege. This value cannot be changed.
description:
type: string
pattern:
minLength: 1
type: string
description: A colon separated list of parts that create a permission string.
ApiPrivilegeApplication:
required:
- actions
- domain
- name
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:
minLength: 1
pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
type: string
description: The name of the privilege. This value cannot be changed.
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.
actions:
minItems: 1
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
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.
enum:
- READ
- BROWSE
- EDIT
- ADD
- DELETE
- RUN
- START
- STOP
- ASSOCIATE
- DISASSOCIATE
- ALL
domain:
minLength: 1
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).
ApiPrivilegeRepositoryAdminRequest:
required:
- actions
- format
- name
- repository
type: object
properties:
name:
minLength: 1
pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
type: string
description: The name of the privilege. This value cannot be changed.
description:
type: string
actions:
minItems: 1
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
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.
enum:
- READ
- BROWSE
- EDIT
- ADD
- DELETE
- RUN
- START
- STOP
- ASSOCIATE
- DISASSOCIATE
- ALL
format:
minLength: 1
type: string
description: The repository format (i.e 'nuget', 'npm') this privilege will grant access to (or * for all).
repository:
minLength: 1
type: string
description: The name of the repository this privilege will grant access to (or * for all).
ApiPrivilegeScript:
required:
- actions
- name
- scriptName
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:
minLength: 1
pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
type: string
description: The name of the privilege. This value cannot be changed.
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.
actions:
minItems: 1
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
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.
enum:
- READ
- BROWSE
- EDIT
- ADD
- DELETE
- RUN
- START
- STOP
- ASSOCIATE
- DISASSOCIATE
- ALL
scriptName:
minLength: 1
type: string
description: The name of a script to give access to.
ApiPrivilegeScriptRequest:
required:
- actions
- name
- scriptName
type: object
properties:
name:
minLength: 1
pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
type: string
description: The name of the privilege. This value cannot be changed.
description:
type: string
actions:
minItems: 1
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
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.
enum:
- READ
- BROWSE
- EDIT
- ADD
- DELETE
- RUN
- START
- STOP
- ASSOCIATE
- DISASSOCIATE
- ALL
scriptName:
minLength: 1
type: string
description: The name of a script to give access to.
ApiPrivilegeRepositoryContentSelectorRequest:
required:
- actions
- contentSelector
- format
- name
- repository
type: object
properties:
name:
minLength: 1
pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
type: string
description: The name of the privilege. This value cannot be changed.
description:
type: string
actions:
minItems: 1
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
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.
enum:
- READ
- BROWSE
- EDIT
- ADD
- DELETE
- RUN
- START
- STOP
- ASSOCIATE
- DISASSOCIATE
- ALL
format:
minLength: 1
type: string
description: The repository format (i.e 'nuget', 'npm') this privilege will grant access to (or * for all).
repository:
minLength: 1
type: string
description: The name of the repository this privilege will grant access to (or * for all).
contentSelector:
minLength: 1
type: string
description: The name of a content selector that will be used to grant access to content via this privilege.
ApiPrivilegeRepositoryViewRequest:
required:
- actions
- format
- name
- repository
type: object
properties:
name:
minLength: 1
pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
type: string
description: The name of the privilege. This value cannot be changed.
description:
type: string
actions:
minItems: 1
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
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.
enum:
- READ
- BROWSE
- EDIT
- ADD
- DELETE
- RUN
- START
- STOP
- ASSOCIATE
- DISASSOCIATE
- ALL
format:
minLength: 1
type: string
description: The repository format (i.e 'nuget', 'npm') this privilege will grant access to (or * for all).
repository:
minLength: 1
type: string
description: The name of the repository this privilege will grant access to (or * for all).
ApiPrivilegeWildcard:
required:
- name
- pattern
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:
minLength: 1
pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
type: string
description: The name of the privilege. This value cannot be changed.
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.
pattern:
minLength: 1
type: string
description: A colon separated list of parts that create a permission string.
ApiPrivilegeRepositoryContentSelector:
required:
- actions
- contentSelector
- format
- name
- repository
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:
minLength: 1
pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
type: string
description: The name of the privilege. This value cannot be changed.
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.
actions:
minItems: 1
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
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.
enum:
- READ
- BROWSE
- EDIT
- ADD
- DELETE
- RUN
- START
- STOP
- ASSOCIATE
- DISASSOCIATE
- ALL
format:
minLength: 1
type: string
description: The repository format (i.e 'nuget', 'npm') this privilege will grant access to (or * for all).
repository:
minLength: 1
type: string
description: The name of the repository this privilege will grant access to (or * for all).
contentSelector:
minLength: 1
type: string
description: The name of a content selector that will be used to grant access to content via this privilege.