openapi: 3.0.0
info:
  title: Nexus Repository Manager REST API
  contact: {}
  version: '3.21.2-03'
servers:
- url: https://{defaultHost}
  variables:
    defaultHost:
      default: www.example.com/service/rest/
paths:
  /beta/security/user-sources:
    get:
      tags:
      - Security Management
      summary: getUserSources
      description: Retrieve a list of the available user sources.
      operationId: getUserSources
      parameters: []
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ApiUserSource'
                description: ''
        '403':
          description: The user does not have permission to perform the operation.
          headers: {}
          content: {}
      deprecated: false
  /beta/security/users/{userId}:
    put:
      tags:
      - 'Security Management: Users'
      summary: updateUser
      description: Update an existing user.
      operationId: updateUser
      parameters:
      - name: userId
        in: path
        description: The userid the request should apply to.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: A representation of the user to update.
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ApiUser'
              - description: A representation of the user to update.
        required: false
      responses:
        '400':
          description: Password was not supplied in the body of the request
          headers: {}
          content: {}
        '403':
          description: The user does not have permission to perform the operation.
          headers: {}
          content: {}
        '404':
          description: User or user source not found in the system.
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - 'Security Management: Users'
      summary: deleteUser
      description: Delete a user.
      operationId: deleteUser
      parameters:
      - name: userId
        in: path
        description: The userid the request should apply to.
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '400':
          description: Password was not supplied in the body of the request
          headers: {}
          content: {}
        '403':
          description: The user does not have permission to perform the operation.
          headers: {}
          content: {}
        '404':
          description: User or user source not found in the system.
          headers: {}
          content: {}
      deprecated: false
  /beta/security/users:
    get:
      tags:
      - 'Security Management: Users'
      summary: getUsers
      description: Retrieve a list of users. Note if the source is not 'default' the response is limited to 100 users.
      operationId: getUsers
      parameters:
      - name: userId
        in: query
        description: An optional term to search userids for.
        style: form
        explode: true
        schema:
          type: string
      - name: source
        in: query
        description: An optional user source to restrict the search to.
        style: form
        explode: true
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ApiUser'
                description: ''
        '400':
          description: Password was not supplied in the body of the request
          headers: {}
          content: {}
        '403':
          description: The user does not have permission to perform the operation.
          headers: {}
          content: {}
      deprecated: false
    post:
      tags:
      - 'Security Management: Users'
      summary: createUser
      description: Create a new user in the default source.
      operationId: createUser
      parameters: []
      requestBody:
        description: A representation of the user to create.
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ApiCreateUser'
              - description: A representation of the user to create.
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiUser'
        '400':
          description: Password was not supplied in the body of the request
          headers: {}
          content: {}
        '403':
          description: The user does not have permission to perform the operation.
          headers: {}
          content: {}
      deprecated: false
  /beta/security/users/{userId}/change-password:
    put:
      tags:
      - 'Security Management: Users'
      summary: changePassword
      description: Change a user's password.
      operationId: changePassword
      parameters:
      - name: userId
        in: path
        description: The userid the request should apply to.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: The new password to use.
        content:
          text/plain:
            schema:
              type: string
              description: The new password to use.
        required: false
      responses:
        '400':
          description: Password was not supplied in the body of the request
          headers: {}
          content: {}
        '403':
          description: The user does not have permission to perform the operation.
          headers: {}
          content: {}
        '404':
          description: User not found in the system.
          headers: {}
          content: {}
      deprecated: false
  /beta/security/privileges:
    get:
      tags:
      - 'Security Management: Privileges'
      summary: getPrivileges
      description: Retrieve a list of privileges.
      operationId: getPrivileges
      parameters:
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ApiPrivilege'
                description: ''
        '403':
          description: The user does not have permission to perform the operation.
          headers: {}
          content: {}
      deprecated: false
  /beta/security/privileges/{privilegeId}:
    get:
      tags:
      - 'Security Management: Privileges'
      summary: getPrivilege
      description: Retrieve a privilege by id.
      operationId: getPrivilege
      parameters:
      - name: privilegeId
        in: path
        description: The id of the privilege to retrieve.
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiPrivilege'
        '403':
          description: The user does not have permission to perform the operation.
          headers: {}
          content: {}
        '404':
          description: Privilege not found in the system.
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - 'Security Management: Privileges'
      summary: deletePrivilege
      description: Delete a privilege by id.
      operationId: deletePrivilege
      parameters:
      - name: privilegeId
        in: path
        description: The id of the privilege to delete.
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '400':
          description: The privilege is internal and may not be altered.
          headers: {}
          content: {}
        '403':
          description: The user does not have permission to perform the operation.
          headers: {}
          content: {}
        '404':
          description: Privilege not found in the system.
          headers: {}
          content: {}
      deprecated: false
  /beta/security/privileges/wildcard:
    post:
      tags:
      - 'Security Management: Privileges'
      summary: createPrivilege
      description: Create a wildcard type privilege.
      operationId: createPrivilege
      parameters: []
      requestBody:
        description: The privilege to create.
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ApiPrivilegeWildcardRequest'
              - description: The privilege to create.
        required: false
      responses:
        '400':
          description: Privilege object not configured properly.
          headers: {}
          content: {}
        '403':
          description: The user does not have permission to perform the operation.
          headers: {}
          content: {}
      deprecated: false
  /beta/security/privileges/application:
    post:
      tags:
      - 'Security Management: Privileges'
      summary: createPrivilege_1
      description: Create an application type privilege.
      operationId: createPrivilege_1
      parameters: []
      requestBody:
        description: The privilege to create.
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ApiPrivilegeApplicationRequest'
              - description: The privilege to create.
        required: false
      responses:
        '400':
          description: Privilege object not configured properly.
          headers: {}
          content: {}
        '403':
          description: The user does not have permission to perform the operation.
          headers: {}
          content: {}
      deprecated: false
  /beta/security/privileges/wildcard/{privilegeId}:
    put:
      tags:
      - 'Security Management: Privileges'
      summary: updatePrivilege
      description: Update a wildcard type privilege.
      operationId: updatePrivilege
      parameters:
      - name: privilegeId
        in: path
        description: The id of the privilege to update.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: The privilege to update.
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ApiPrivilegeWildcardRequest'
              - description: The privilege to update.
        required: false
      responses:
        '400':
          description: Privilege object not configured properly.
          headers: {}
          content: {}
        '403':
          description: The user does not have permission to perform the operation.
          headers: {}
          content: {}
        '404':
          description: Privilege not found in the system.
          headers: {}
          content: {}
      deprecated: false
  /beta/security/privileges/application/{privilegeId}:
    put:
      tags:
      - 'Security Management: Privileges'
      summary: updatePrivilege_1
      description: Update an application type privilege.
      operationId: updatePrivilege_1
      parameters:
      - name: privilegeId
        in: path
        description: The id of the privilege to update.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: The privilege to update.
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ApiPrivilegeApplicationRequest'
              - description: The privilege to update.
        required: false
      responses:
        '400':
          description: Privilege object not configured properly.
          headers: {}
          content: {}
        '403':
          description: The user does not have permission to perform the operation.
          headers: {}
          content: {}
        '404':
          description: Privilege not found in the system.
          headers: {}
          content: {}
      deprecated: false
  /beta/security/privileges/repository-content-selector:
    post:
      tags:
      - 'Security Management: Privileges'
      summary: createPrivilege_2
      description: Create a repository content selector type privilege.
      operationId: createPrivilege_2
      parameters: []
      requestBody:
        description: The privilege to create.
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ApiPrivilegeRepositoryContentSelectorRequest'
              - description: The privilege to create.
        required: false
      responses:
        '400':
          description: Privilege object not configured properly.
          headers: {}
          content: {}
        '403':
          description: The user does not have permission to perform the operation.
          headers: {}
          content: {}
      deprecated: false
  /beta/security/privileges/repository-admin:
    post:
      tags:
      - 'Security Management: Privileges'
      summary: createPrivilege_3
      description: Create a repository admin type privilege.
      operationId: createPrivilege_3
      parameters: []
      requestBody:
        description: The privilege to create.
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ApiPrivilegeRepositoryAdminRequest'
              - description: The privilege to create.
        required: false
      responses:
        '400':
          description: Privilege object not configured properly.
          headers: {}
          content: {}
        '403':
          description: The user does not have permission to perform the operation.
          headers: {}
          content: {}
      deprecated: false
  /beta/security/privileges/repository-view:
    post:
      tags:
      - 'Security Management: Privileges'
      summary: createPrivilege_4
      description: Create a repository view type privilege.
      operationId: createPrivilege_4
      parameters: []
      requestBody:
        description: The privilege to create.
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ApiPrivilegeRepositoryAdminRequest'
              - description: The privilege to create.
        required: false
      responses:
        '400':
          description: Privilege object not configured properly.
          headers: {}
          content: {}
        '403':
          description: The user does not have permission to perform the operation.
          headers: {}
          content: {}
      deprecated: false
  /beta/security/privileges/repository-view/{privilegeId}:
    put:
      tags:
      - 'Security Management: Privileges'
      summary: updatePrivilege_2
      description: Update a repository view type privilege.
      operationId: updatePrivilege_2
      parameters:
      - name: privilegeId
        in: path
        description: The id of the privilege to update.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: The privilege to update.
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ApiPrivilegeRepositoryAdminRequest'
              - description: The privilege to update.
        required: false
      responses:
        '400':
          description: Privilege object not configured properly.
          headers: {}
          content: {}
        '403':
          description: The user does not have permission to perform the operation.
          headers: {}
          content: {}
        '404':
          description: Privilege not found in the system.
          headers: {}
          content: {}
      deprecated: false
  /beta/security/privileges/repository-content-selector/{privilegeId}:
    put:
      tags:
      - 'Security Management: Privileges'
      summary: updatePrivilege_3
      description: Update a repository content selector type privilege.
      operationId: updatePrivilege_3
      parameters:
      - name: privilegeId
        in: path
        description: The id of the privilege to update.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: The privilege to update.
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ApiPrivilegeRepositoryContentSelectorRequest'
              - description: The privilege to update.
        required: false
      responses:
        '400':
          description: Privilege object not configured properly.
          headers: {}
          content: {}
        '403':
          description: The user does not have permission to perform the operation.
          headers: {}
          content: {}
        '404':
          description: Privilege not found in the system.
          headers: {}
          content: {}
      deprecated: false
  /beta/security/privileges/repository-admin/{privilegeId}:
    put:
      tags:
      - 'Security Management: Privileges'
      summary: updatePrivilege_4
      description: Update a repository admin type privilege.
      operationId: updatePrivilege_4
      parameters:
      - name: privilegeId
        in: path
        description: The id of the privilege to update.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: The privilege to update.
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ApiPrivilegeRepositoryAdminRequest'
              - description: The privilege to update.
        required: false
      responses:
        '400':
          description: Privilege object not configured properly.
          headers: {}
          content: {}
        '403':
          description: The user does not have permission to perform the operation.
          headers: {}
          content: {}
        '404':
          description: Privilege not found in the system.
          headers: {}
          content: {}
      deprecated: false
  /beta/security/privileges/script:
    post:
      tags:
      - 'Security Management: Privileges'
      summary: createPrivilege_5
      description: Create a script type privilege.
      operationId: createPrivilege_5
      parameters: []
      requestBody:
        description: The privilege to create.
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ApiPrivilegeScriptRequest'
              - description: The privilege to create.
        required: false
      responses:
        '400':
          description: Privilege object not configured properly.
          headers: {}
          content: {}
        '403':
          description: The user does not have permission to perform the operation.
          headers: {}
          content: {}
      deprecated: false
  /beta/security/privileges/script/{privilegeId}:
    put:
      tags:
      - 'Security Management: Privileges'
      summary: updatePrivilege_5
      description: Update a script type privilege.
      operationId: updatePrivilege_5
      parameters:
      - name: privilegeId
        in: path
        description: The id of the privilege to update.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: The privilege to update.
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/ApiPrivilegeScriptRequest'
              - description: The privilege to update.
        required: false
      responses:
        '400':
          description: Privilege object not configured properly.
          headers: {}
          content: {}
        '403':
          description: The user does not have permission to perform the operation.
          headers: {}
          content: {}
        '404':
          description: Privilege not found in the system.
          headers: {}
          content: {}
      deprecated: false
  /beta/security/realms/available:
    get:
      tags:
      - 'Security Management: Realms'
      summary: getRealms
      description: List the available realms
      operationId: getRealms
      parameters:
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RealmApiXO'
                description: ''
      deprecated: false
  /beta/security/realms/active:
    get:
      tags:
      - 'Security Management: Realms'
      summary: getActiveRealms
      description: List the active realm IDs in order
      operationId: getActiveRealms
      parameters:
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
                description: ''
      deprecated: false
    put:
      tags:
      - 'Security Management: Realms'
      summary: setActiveRealms
      description: Set the active security realms in the order they should be used
      operationId: setActiveRealms
      parameters: []
      requestBody:
        description: The realm IDs
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
              description: The realm IDs
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content: {}
      deprecated: false
  /beta/security/roles:
    get:
      tags:
      - 'Security Management: Roles'
      summary: getRoles
      description: List roles
      operationId: getRoles
      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.
        style: form
        explode: true
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RoleXOResponse'
                description: ''
        '400':
          description: The specified source does not exist
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions to read roles
          headers: {}
          content: {}
      deprecated: false
    post:
      tags:
      - 'Security Management: Roles'
      summary: create
      description: Create role
      operationId: create
      parameters: []
      requestBody:
        description: A role configuration
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/RoleXORequest'
              - description: A role configuration
        required: true
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleXOResponse'
        '403':
          description: Insufficient permissions to create role
          headers: {}
          content: {}
      deprecated: false
  /beta/security/roles/{id}:
    get:
      tags:
      - 'Security Management: Roles'
      summary: getRole
      description: Get role
      operationId: getRole
      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.
        style: form
        explode: true
        schema:
          type: string
          default: default
      - name: id
        in: path
        description: The id of the role to get
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoleXOResponse'
        '400':
          description: The specified source does not exist
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions to read roles
          headers: {}
          content: {}
        '404':
          description: Role not found
          headers: {}
          content: {}
      deprecated: false
    put:
      tags:
      - 'Security Management: Roles'
      summary: update
      description: Update role
      operationId: update
      parameters:
      - name: id
        in: path
        description: The id of the role to update
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: A role configuration
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/RoleXORequest'
              - description: A role configuration
        required: true
      responses:
        '403':
          description: Insufficient permissions to update role
          headers: {}
          content: {}
        '404':
          description: Role not found
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - 'Security Management: Roles'
      summary: delete
      description: Delete role
      operationId: delete
      parameters:
      - name: id
        in: path
        description: The id of the role to delete
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '403':
          description: Insufficient permissions to delete role
          headers: {}
          content: {}
        '404':
          description: Role not found
          headers: {}
          content: {}
      deprecated: false
  /v1/tasks/{id}:
    get:
      tags:
      - tasks
      summary: getTaskById
      description: Get a single task by id
      operationId: getTaskById
      parameters:
      - name: id
        in: path
        description: Id of the task to get
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskXO'
        '404':
          description: Task not found
          headers: {}
          content: {}
      deprecated: false
  /v1/tasks:
    get:
      tags:
      - tasks
      summary: getTasks
      description: List tasks
      operationId: getTasks
      parameters:
      - name: type
        in: query
        description: Type of the tasks to get
        style: form
        explode: true
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageTaskXO'
      deprecated: false
  /v1/tasks/{id}/run:
    post:
      tags:
      - tasks
      summary: run
      description: Run task
      operationId: run
      parameters:
      - name: id
        in: path
        description: Id of the task to run
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '204':
          description: Task was run
          headers: {}
          content: {}
        '404':
          description: Task not found
          headers: {}
          content: {}
        '405':
          description: Task is disabled
          headers: {}
          content: {}
      deprecated: false
  /v1/tasks/{id}/stop:
    post:
      tags:
      - tasks
      summary: stop
      description: Stop task
      operationId: stop
      parameters:
      - name: id
        in: path
        description: Id of the task to stop
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '204':
          description: Task was stopped
          headers: {}
          content: {}
        '404':
          description: Task not found
          headers: {}
          content: {}
        '409':
          description: Unable to stop task
          headers: {}
          content: {}
      deprecated: false
  /beta/blobstores/{name}:
    delete:
      tags:
      - Blob Store
      summary: deleteBlobStore
      description: Delete a blob store by name
      operationId: deleteBlobStore
      parameters:
      - name: name
        in: path
        description: The name of the blob store to delete
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content: {}
      deprecated: false
  /beta/blobstores:
    get:
      tags:
      - Blob Store
      summary: listBlobStores
      description: List the blob stores
      operationId: listBlobStores
      parameters:
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/GenericBlobStoreApiResponse'
                description: ''
      deprecated: false
  /v1/blobstores/{id}/quota-status:
    get:
      tags:
      - Blob Store
      summary: quotaStatus
      description: Get quota status for a given blob store
      operationId: quotaStatus
      parameters:
      - name: id
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlobStoreQuotaResultXO'
      deprecated: false
  /beta/blobstores/file:
    post:
      tags:
      - Blob Store
      summary: createFileBlobStore
      description: Create a file blob store
      operationId: createFileBlobStore
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileBlobStoreApiCreateRequest'
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content: {}
      deprecated: false
  /beta/blobstores/file/{name}:
    get:
      tags:
      - Blob Store
      summary: getFileBlobStoreConfiguration
      description: Get a file blob store configuration by name
      operationId: getFileBlobStoreConfiguration
      parameters:
      - name: name
        in: path
        description: The name of the file blob store to read
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FileBlobStoreApiModel'
      deprecated: false
    put:
      tags:
      - Blob Store
      summary: updateFileBlobStore
      description: Update a file blob store configuration by name
      operationId: updateFileBlobStore
      parameters:
      - name: name
        in: path
        description: The name of the file blob store to update
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FileBlobStoreApiUpdateRequest'
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content: {}
      deprecated: false
  /beta/blobstores/s3/{name}:
    get:
      tags:
      - Blob Store
      summary: getBlobStore
      description: Fetch a S3 blob store configuration
      operationId: getBlobStore
      parameters:
      - name: name
        in: path
        description: Name of the blob store configuration to fetch
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: OK
          headers: {}
          content: {}
        '400':
          description: Specified S3 blob store doesn't exist
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
    put:
      tags:
      - Blob Store
      summary: updateBlobStore
      description: Update an S3 blob store configuration
      operationId: updateBlobStore
      parameters:
      - name: name
        in: path
        description: Name of the blob store to update
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/S3BlobStoreApiModel'
        required: false
      responses:
        '204':
          description: S3 blob store updated
          headers: {}
          content: {}
        '400':
          description: Specified S3 blob store doesn't exist
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/blobstores/s3:
    post:
      tags:
      - Blob Store
      summary: createBlobStore
      description: Create an S3 blob store
      operationId: createBlobStore
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/S3BlobStoreApiModel'
        required: false
      responses:
        '201':
          description: S3 blob store created
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /v1/lifecycle/phase:
    get:
      tags:
      - lifecycle
      summary: getPhase
      description: Get current lifecycle phase
      operationId: getPhase
      parameters: []
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            text/plain:
              schema:
                type: string
      deprecated: false
    put:
      tags:
      - lifecycle
      summary: setPhase
      description: Move to new lifecycle phase
      operationId: setPhase
      parameters: []
      requestBody:
        description: The phase to move to
        content:
          text/plain:
            schema:
              type: string
              description: The phase to move to
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content: {}
      deprecated: false
  /v1/lifecycle/bounce:
    put:
      tags:
      - lifecycle
      summary: bounce
      description: Re-runs all phases from the given phase to the current phase
      operationId: bounce
      parameters: []
      requestBody:
        description: The phase to bounce
        content:
          text/plain:
            schema:
              type: string
              description: The phase to bounce
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content: {}
      deprecated: false
  /v1/read-only/freeze:
    post:
      tags:
      - read-only
      summary: freeze
      description: Enable read-only
      operationId: freeze
      parameters:
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '204':
          description: System is now read-only
          headers: {}
          content: {}
        '403':
          description: Authentication required
          headers: {}
          content: {}
        '404':
          description: No change to read-only state
          headers: {}
          content: {}
      deprecated: false
  /v1/read-only/force-release:
    post:
      tags:
      - read-only
      summary: forceRelease
      description: 'Forcibly release read-only status, including System initiated tasks. Warning: may result in data loss.'
      operationId: forceRelease
      parameters:
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '204':
          description: System is no longer read-only
          headers: {}
          content: {}
        '403':
          description: Authentication required
          headers: {}
          content: {}
        '404':
          description: No change to read-only state
          headers: {}
          content: {}
      deprecated: false
  /v1/read-only/release:
    post:
      tags:
      - read-only
      summary: release
      description: Release administrator initiated read-only status. Will not release read-only caused by system tasks.
      operationId: release
      parameters:
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '204':
          description: System is no longer read-only
          headers: {}
          content: {}
        '403':
          description: Authentication required
          headers: {}
          content: {}
        '404':
          description: No change to read-only state
          headers: {}
          content: {}
      deprecated: false
  /v1/read-only:
    get:
      tags:
      - read-only
      summary: get
      description: Get read-only state
      operationId: get
      parameters:
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReadOnlyState'
      deprecated: false
  /beta/security/ssl/truststore/{id}:
    delete:
      tags:
      - 'Security: Certificates'
      summary: removeCertificate
      description: Remove a certificate in the trust store.
      operationId: removeCertificate
      parameters:
      - name: id
        in: path
        description: The id of the certificate that should be removed.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '403':
          description: Insufficient permissions to remove certificate from the trust store
          headers: {}
          content: {}
      deprecated: false
  /beta/security/ssl/truststore:
    get:
      tags:
      - 'Security: Certificates'
      summary: getTrustStoreCertificates
      description: Retrieve a list of certificates added to the trust store.
      operationId: getTrustStoreCertificates
      parameters: []
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ApiCertificate'
                description: ''
        '403':
          description: Insufficient permissions to list certificates in the trust store.
          headers: {}
          content: {}
      deprecated: false
    post:
      tags:
      - 'Security: Certificates'
      summary: addCertificate
      description: Add a certificate to the trust store.
      operationId: addCertificate
      parameters: []
      requestBody:
        description: The certificate to add encoded in PEM format
        content:
          text/plain:
            schema:
              type: string
              description: The certificate to add encoded in PEM format
        required: false
      responses:
        '201':
          description: The certificate was successfully added.
          headers: {}
          content:
            application/json:
              schema:
                type: object
        '403':
          description: Insufficient permissions to add certificate to the trust store.
          headers: {}
          content: {}
        '409':
          description: The certificate already exists in the system.
          headers: {}
          content: {}
      deprecated: false
  /beta/security/ssl:
    get:
      tags:
      - 'Security: Certificates'
      summary: retrieveCertificate
      description: Helper method to retrieve certificate details from a remote system.
      operationId: retrieveCertificate
      parameters:
      - name: host
        in: query
        description: The remote system's host name
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: port
        in: query
        description: The port on the remote system to connect to
        style: form
        explode: true
        schema:
          type: integer
          format: int32
          default: 443
      - name: protocolHint
        in: query
        description: An optional hint of the protocol to try for the connection
        style: form
        explode: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiCertificate'
        '400':
          description: A certificate could not be retrieved, see the message for details.
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions to retrieve remote certificate.
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories:
    get:
      tags:
      - Repository Management
      summary: getRepositories
      description: List repositories
      operationId: getRepositories
      parameters:
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: Repositories list returned
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/{repositoryName}/invalidate-cache:
    post:
      tags:
      - Repository Management
      summary: invalidateCache
      description: Invalidate repository cache. Proxy or group repositories only.
      operationId: invalidateCache
      parameters:
      - name: repositoryName
        in: path
        description: Name of the repository to invalidate cache
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '204':
          description: Repository cache invalidated
          headers: {}
          content: {}
        '400':
          description: Repository is not of proxy or group type
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
        '404':
          description: Repository not found
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/{repositoryName}:
    delete:
      tags:
      - Repository Management
      summary: deleteRepository
      description: Delete repository of any format
      operationId: deleteRepository
      parameters:
      - name: repositoryName
        in: path
        description: Name of the repository to delete
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '204':
          description: Repository deleted
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
        '404':
          description: Repository not found
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/{repositoryName}/rebuild-index:
    post:
      tags:
      - Repository Management
      summary: rebuildIndex
      description: Schedule a 'Repair - Rebuild repository search' Task. Hosted or proxy repositories only.
      operationId: rebuildIndex
      parameters:
      - name: repositoryName
        in: path
        description: Name of the repository to rebuild index
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '204':
          description: Repository search index rebuild has been scheduled
          headers: {}
          content: {}
        '400':
          description: Repository is not of hosted or proxy type
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
        '404':
          description: Repository not found
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/maven/hosted:
    post:
      tags:
      - Repository Management
      summary: createRepository
      description: Create Maven hosted repository
      operationId: createRepository
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MavenHostedRepositoryApiRequest'
        required: false
      responses:
        '201':
          description: Repository created
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/maven/hosted/{repositoryName}:
    put:
      tags:
      - Repository Management
      summary: updateRepository
      description: Update Maven hosted repository
      operationId: updateRepository
      parameters:
      - name: repositoryName
        in: path
        description: Name of the repository to update
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MavenHostedRepositoryApiRequest'
        required: false
      responses:
        '204':
          description: Repository updated
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/maven/proxy:
    post:
      tags:
      - Repository Management
      summary: createRepository_1
      description: Create Maven proxy repository
      operationId: createRepository_1
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MavenProxyRepositoryApiRequest'
        required: false
      responses:
        '201':
          description: Repository created
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/maven/proxy/{repositoryName}:
    put:
      tags:
      - Repository Management
      summary: updateRepository_1
      description: Update Maven proxy repository
      operationId: updateRepository_1
      parameters:
      - name: repositoryName
        in: path
        description: Name of the repository to update
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MavenProxyRepositoryApiRequest'
        required: false
      responses:
        '204':
          description: Repository updated
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/{repositoryName}/health-check:
    post:
      tags:
      - Repository Management
      summary: enableRepositoryHealthCheck
      description: Enable Repository Health Check. Proxy repositories only.
      operationId: enableRepositoryHealthCheck
      parameters:
      - name: repositoryName
        in: path
        description: Name of the repository to enable Repository Health Check for
        required: true
        style: simple
        schema:
          type: string
      responses:
        '204':
          description: Repository Health Check enabled
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
        '404':
          description: Repository not found
          headers: {}
          content: {}
        '409':
          description: EULA not accepted or Repository Health Check capability not active
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - Repository Management
      summary: disableRepositoryHealthCheck
      description: Disable Repository Health Check. Proxy repositories only.
      operationId: disableRepositoryHealthCheck
      parameters:
      - name: repositoryName
        in: path
        description: Name of the repository to disable Repository Health Check for
        required: true
        style: simple
        schema:
          type: string
      responses:
        '204':
          description: Repository Health Check disabled
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
        '404':
          description: Repository not found
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/apt/hosted:
    post:
      tags:
      - Repository Management
      summary: createRepository_2
      description: Create APT hosted repository
      operationId: createRepository_2
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AptHostedRepositoryApiRequest'
        required: false
      responses:
        '201':
          description: Repository created
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/apt/hosted/{repositoryName}:
    put:
      tags:
      - Repository Management
      summary: updateRepository_2
      description: Update APT hosted repository
      operationId: updateRepository_2
      parameters:
      - name: repositoryName
        in: path
        description: Name of the repository to update
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AptHostedRepositoryApiRequest'
        required: false
      responses:
        '204':
          description: Repository updated
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
        '404':
          description: Repository not found
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/apt/proxy:
    post:
      tags:
      - Repository Management
      summary: createRepository_3
      description: Create APT proxy repository
      operationId: createRepository_3
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AptProxyRepositoryApiRequest'
        required: false
      responses:
        '201':
          description: Repository created
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/apt/proxy/{repositoryName}:
    put:
      tags:
      - Repository Management
      summary: updateRepository_3
      description: Update APT proxy repository
      operationId: updateRepository_3
      parameters:
      - name: repositoryName
        in: path
        description: Name of the repository to update
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AptProxyRepositoryApiRequest'
        required: false
      responses:
        '204':
          description: Repository updated
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
        '404':
          description: Repository not found
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/go/group:
    post:
      tags:
      - Repository Management
      summary: createRepository_4
      description: Create a Go group repository
      operationId: createRepository_4
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GolangGroupRepositoryApiRequest'
        required: false
      responses:
        '201':
          description: Repository created
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/go/group/{repositoryName}:
    put:
      tags:
      - Repository Management
      summary: updateRepository_4
      description: Update a Go group repository
      operationId: updateRepository_4
      parameters:
      - name: repositoryName
        in: path
        description: Name of the repository to update
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GolangGroupRepositoryApiRequest'
        required: false
      responses:
        '204':
          description: Repository updated
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
        '404':
          description: Repository not found
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/go/proxy:
    post:
      tags:
      - Repository Management
      summary: createRepository_5
      description: Create a Go proxy repository
      operationId: createRepository_5
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GolangProxyRepositoryApiRequest'
        required: false
      responses:
        '201':
          description: Repository created
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/go/proxy/{repositoryName}:
    put:
      tags:
      - Repository Management
      summary: updateRepository_5
      description: Update a Go proxy repository
      operationId: updateRepository_5
      parameters:
      - name: repositoryName
        in: path
        description: Name of the repository to update
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GolangProxyRepositoryApiRequest'
        required: false
      responses:
        '204':
          description: Repository updated
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
        '404':
          description: Repository not found
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/helm/hosted:
    post:
      tags:
      - Repository Management
      summary: createRepository_6
      description: Create Helm hosted repository
      operationId: createRepository_6
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HelmHostedRepositoryApiRequest'
        required: false
      responses:
        '201':
          description: Repository created
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/helm/hosted/{repositoryName}:
    put:
      tags:
      - Repository Management
      summary: updateRepository_6
      description: Update Helm hosted repository
      operationId: updateRepository_6
      parameters:
      - name: repositoryName
        in: path
        description: Name of the repository to update
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HelmHostedRepositoryApiRequest'
        required: false
      responses:
        '204':
          description: Repository updated
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/helm/proxy:
    post:
      tags:
      - Repository Management
      summary: createRepository_7
      description: Create Helm proxy repository
      operationId: createRepository_7
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HelmProxyRepositoryApiRequest'
        required: false
      responses:
        '201':
          description: Repository created
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/helm/proxy/{repositoryName}:
    put:
      tags:
      - Repository Management
      summary: updateRepository_7
      description: Update Helm proxy repository
      operationId: updateRepository_7
      parameters:
      - name: repositoryName
        in: path
        description: Name of the repository to update
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HelmProxyRepositoryApiRequest'
        required: false
      responses:
        '204':
          description: Repository updated
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/p2/proxy:
    post:
      tags:
      - Repository Management
      summary: createRepository_8
      description: Create P2 proxy repository
      operationId: createRepository_8
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/P2ProxyRepositoryApiRequest'
        required: false
      responses:
        '201':
          description: Repository created
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/p2/proxy/{repositoryName}:
    put:
      tags:
      - Repository Management
      summary: updateRepository_8
      description: Update P2 proxy repository
      operationId: updateRepository_8
      parameters:
      - name: repositoryName
        in: path
        description: Name of the repository to update
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/P2ProxyRepositoryApiRequest'
        required: false
      responses:
        '204':
          description: Repository updated
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/bower/group:
    post:
      tags:
      - Repository Management
      summary: createRepository_9
      description: Create Bower group repository
      operationId: createRepository_9
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BowerGroupRepositoryApiRequest'
        required: false
      responses:
        '201':
          description: Repository created
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/bower/group/{repositoryName}:
    put:
      tags:
      - Repository Management
      summary: updateRepository_9
      description: Update Bower group repository
      operationId: updateRepository_9
      parameters:
      - name: repositoryName
        in: path
        description: Name of the repository to update
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BowerGroupRepositoryApiRequest'
        required: false
      responses:
        '204':
          description: Repository updated
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/bower/hosted:
    post:
      tags:
      - Repository Management
      summary: createRepository_10
      description: Create Bower hosted repository
      operationId: createRepository_10
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BowerHostedRepositoryApiRequest'
        required: false
      responses:
        '201':
          description: Repository created
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/bower/hosted/{repositoryName}:
    put:
      tags:
      - Repository Management
      summary: updateRepository_10
      description: Update Bower hosted repository
      operationId: updateRepository_10
      parameters:
      - name: repositoryName
        in: path
        description: Name of the repository to update
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BowerHostedRepositoryApiRequest'
        required: false
      responses:
        '204':
          description: Repository updated
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/bower/proxy:
    post:
      tags:
      - Repository Management
      summary: createRepository_11
      description: Create Bower proxy repository
      operationId: createRepository_11
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BowerProxyRepositoryApiRequest'
        required: false
      responses:
        '201':
          description: Repository created
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/bower/proxy/{repositoryName}:
    put:
      tags:
      - Repository Management
      summary: updateRepository_11
      description: Update Bower proxy repository
      operationId: updateRepository_11
      parameters:
      - name: repositoryName
        in: path
        description: Name of the repository to update
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BowerProxyRepositoryApiRequest'
        required: false
      responses:
        '204':
          description: Repository updated
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/docker/group:
    post:
      tags:
      - Repository Management
      summary: createRepository_12
      description: Create Docker group repository
      operationId: createRepository_12
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DockerGroupRepositoryApiRequest'
        required: false
      responses:
        '201':
          description: Repository created
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/docker/group/{repositoryName}:
    put:
      tags:
      - Repository Management
      summary: updateRepository_12
      description: Update Docker group repository
      operationId: updateRepository_12
      parameters:
      - name: repositoryName
        in: path
        description: Name of the repository to update
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DockerGroupRepositoryApiRequest'
        required: false
      responses:
        '204':
          description: Repository updated
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
        '404':
          description: Repository not found
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/docker/hosted:
    post:
      tags:
      - Repository Management
      summary: createRepository_13
      description: Create Docker hosted repository
      operationId: createRepository_13
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DockerHostedRepositoryApiRequest'
        required: false
      responses:
        '201':
          description: Repository created
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Repository not found
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/docker/hosted/{repositoryName}:
    put:
      tags:
      - Repository Management
      summary: updateRepository_13
      description: Update Docker hosted repository
      operationId: updateRepository_13
      parameters:
      - name: repositoryName
        in: path
        description: Name of the repository to update
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DockerHostedRepositoryApiRequest'
        required: false
      responses:
        '204':
          description: Repository updated
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
        '404':
          description: Repository not found
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/docker/proxy:
    post:
      tags:
      - Repository Management
      summary: createRepository_14
      description: Create docker proxy repository
      operationId: createRepository_14
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DockerProxyRepositoryApiRequest'
        required: false
      responses:
        '201':
          description: Repository created
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/docker/proxy/{repositoryName}:
    put:
      tags:
      - Repository Management
      summary: updateRepository_14
      description: Update Docker group repository
      operationId: updateRepository_14
      parameters:
      - name: repositoryName
        in: path
        description: Name of the repository to update
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DockerProxyRepositoryApiRequest'
        required: false
      responses:
        '204':
          description: Repository updated
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
        '404':
          description: Repository not found
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/gitlfs/hosted:
    post:
      tags:
      - Repository Management
      summary: createRepository_15
      description: Create Git LFS hosted repository
      operationId: createRepository_15
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GitLfsHostedRepositoryApiRequest'
        required: false
      responses:
        '201':
          description: Repository created
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/gitlfs/hosted/{repositoryName}:
    put:
      tags:
      - Repository Management
      summary: updateRepository_15
      description: Update Git LFS hosted repository
      operationId: updateRepository_15
      parameters:
      - name: repositoryName
        in: path
        description: Name of the repository to update
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GitLfsHostedRepositoryApiRequest'
        required: false
      responses:
        '204':
          description: Repository updated
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/yum/hosted:
    post:
      tags:
      - Repository Management
      summary: createRepository_16
      description: Create Yum hosted repository
      operationId: createRepository_16
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/YumHostedRepositoryApiRequest'
        required: false
      responses:
        '201':
          description: Repository created
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/repositories/yum/hosted/{repositoryName}:
    put:
      tags:
      - Repository Management
      summary: updateRepository_16
      description: Update Yum hosted repository
      operationId: updateRepository_16
      parameters:
      - name: repositoryName
        in: path
        description: Name of the repository to update
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/YumHostedRepositoryApiRequest'
        required: false
      responses:
        '204':
          description: Repository updated
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /v1/assets:
    get:
      tags:
      - assets
      summary: getAssets
      description: List assets
      operationId: getAssets
      parameters:
      - name: continuationToken
        in: query
        description: A token returned by a prior request. If present, the next page of results are returned
        style: form
        explode: true
        schema:
          type: string
      - name: repository
        in: query
        description: Repository from which you would like to retrieve assets.
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageAssetXO'
        '403':
          description: Insufficient permissions to list assets
          headers: {}
          content: {}
        '422':
          description: Parameter 'repository' is required
          headers: {}
          content: {}
      deprecated: false
  /v1/assets/{id}:
    get:
      tags:
      - assets
      summary: getAssetById
      description: Get a single asset
      operationId: getAssetById
      parameters:
      - name: id
        in: path
        description: Id of the asset to get
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetXO'
        '403':
          description: Insufficient permissions to get asset
          headers: {}
          content: {}
        '404':
          description: Asset not found
          headers: {}
          content: {}
        '422':
          description: Malformed ID
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - assets
      summary: deleteAsset
      description: Delete a single asset
      operationId: deleteAsset
      parameters:
      - name: id
        in: path
        description: Id of the asset to delete
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '204':
          description: Asset was successfully deleted
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions to delete asset
          headers: {}
          content: {}
        '404':
          description: Asset not found
          headers: {}
          content: {}
        '422':
          description: Malformed ID
          headers: {}
          content: {}
      deprecated: false
  /v1/components/{id}:
    get:
      tags:
      - components
      summary: getComponentById
      description: Get a single component
      operationId: getComponentById
      parameters:
      - name: id
        in: path
        description: ID of the component to retrieve
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComponentXO'
        '403':
          description: Insufficient permissions to get component
          headers: {}
          content: {}
        '404':
          description: Component not found
          headers: {}
          content: {}
        '422':
          description: Malformed ID
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - components
      summary: deleteComponent
      description: Delete a single component
      operationId: deleteComponent
      parameters:
      - name: id
        in: path
        description: ID of the component to delete
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '204':
          description: Component was successfully deleted
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions to delete component
          headers: {}
          content: {}
        '404':
          description: Component not found
          headers: {}
          content: {}
        '422':
          description: Malformed ID
          headers: {}
          content: {}
      deprecated: false
  /v1/components:
    get:
      tags:
      - components
      summary: getComponents
      description: List components
      operationId: getComponents
      parameters:
      - name: continuationToken
        in: query
        description: A token returned by a prior request. If present, the next page of results are returned
        style: form
        explode: true
        schema:
          type: string
      - name: repository
        in: query
        description: Repository from which you would like to retrieve components
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageComponentXO'
        '403':
          description: Insufficient permissions to list components
          headers: {}
          content: {}
        '422':
          description: Parameter 'repository' is required
          headers: {}
          content: {}
      deprecated: false
    post:
      tags:
      - components
      summary: uploadComponent
      description: Upload a single component
      operationId: uploadComponent
      parameters:
      - name: repository
        in: query
        description: Name of the repository to which you would like to upload the component
        required: true
        style: form
        explode: true
        schema:
          type: string
      requestBody:
        content:
          multipart/form-data:
            encoding: {}
            schema:
              type: object
              properties:
                yum.directory:
                  type: string
                  description: yum Directory
                yum.asset:
                  type: string
                  description: yum Asset
                  format: binary
                yum.asset.filename:
                  type: string
                  description: yum Asset  Filename
                r.asset:
                  type: string
                  description: r Asset
                  format: binary
                r.asset.pathId:
                  type: string
                  description: r Asset  Package Path
                pypi.asset:
                  type: string
                  description: pypi Asset
                  format: binary
                helm.asset:
                  type: string
                  description: helm Asset
                  format: binary
                apt.asset:
                  type: string
                  description: apt Asset
                  format: binary
                rubygems.asset:
                  type: string
                  description: rubygems Asset
                  format: binary
                raw.directory:
                  type: string
                  description: raw Directory
                raw.asset1:
                  type: string
                  description: raw Asset 1
                  format: binary
                raw.asset1.filename:
                  type: string
                  description: raw Asset 1 Filename
                raw.asset2:
                  type: string
                  description: raw Asset 2
                  format: binary
                raw.asset2.filename:
                  type: string
                  description: raw Asset 2 Filename
                raw.asset3:
                  type: string
                  description: raw Asset 3
                  format: binary
                raw.asset3.filename:
                  type: string
                  description: raw Asset 3 Filename
                npm.asset:
                  type: string
                  description: npm Asset
                  format: binary
                nuget.asset:
                  type: string
                  description: nuget Asset
                  format: binary
                maven2.groupId:
                  type: string
                  description: maven2 Group ID
                maven2.artifactId:
                  type: string
                  description: maven2 Artifact ID
                maven2.version:
                  type: string
                  description: maven2 Version
                maven2.generate-pom:
                  type: boolean
                  description: maven2 Generate a POM file with these coordinates
                maven2.packaging:
                  type: string
                  description: maven2 Packaging
                maven2.asset1:
                  type: string
                  description: maven2 Asset 1
                  format: binary
                maven2.asset1.classifier:
                  type: string
                  description: maven2 Asset 1 Classifier
                maven2.asset1.extension:
                  type: string
                  description: maven2 Asset 1 Extension
                maven2.asset2:
                  type: string
                  description: maven2 Asset 2
                  format: binary
                maven2.asset2.classifier:
                  type: string
                  description: maven2 Asset 2 Classifier
                maven2.asset2.extension:
                  type: string
                  description: maven2 Asset 2 Extension
                maven2.asset3:
                  type: string
                  description: maven2 Asset 3
                  format: binary
                maven2.asset3.classifier:
                  type: string
                  description: maven2 Asset 3 Classifier
                maven2.asset3.extension:
                  type: string
                  description: maven2 Asset 3 Extension
        required: false
      responses:
        '403':
          description: Insufficient permissions to upload a component
          headers: {}
          content: {}
        '422':
          description: Parameter 'repository' is required
          headers: {}
          content: {}
      deprecated: false
  /beta/security/content-selectors/{name}:
    get:
      tags:
      - content-selectors
      summary: getContentSelector
      description: Get a content selector by id
      operationId: getContentSelector
      parameters:
      - name: name
        in: path
        description: The content selector name
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions to read the content selector
          headers: {}
          content: {}
      deprecated: false
    put:
      tags:
      - content-selectors
      summary: updateContentSelector
      description: Update a content selector
      operationId: updateContentSelector
      parameters:
      - name: name
        in: path
        description: The content selector name
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContentSelectorApiUpdateRequest'
        required: false
      responses:
        '204':
          description: Content selector updated successfully
          headers: {}
          content: {}
        '400':
          description: Invalid request
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions to update the content selector
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - content-selectors
      summary: deleteContentSelector
      description: Delete a content selector
      operationId: deleteContentSelector
      parameters:
      - name: name
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '204':
          description: Content selector deleted successfully
          headers: {}
          content: {}
        '400':
          description: Invalid request
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions to delete the content selector
          headers: {}
          content: {}
      deprecated: false
  /beta/security/content-selectors:
    get:
      tags:
      - content-selectors
      summary: getContentSelectors
      description: List Content Selectors
      operationId: getContentSelectors
      parameters:
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions to read content selectors
          headers: {}
          content: {}
      deprecated: false
    post:
      tags:
      - content-selectors
      summary: createContentSelector
      description: Create a new content selector
      operationId: createContentSelector
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ContentSelectorApiCreateRequest'
        required: false
      responses:
        '204':
          description: Content selector successfully created
          headers: {}
          content: {}
        '400':
          description: Invalid request
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions to create content selectors
          headers: {}
          content: {}
      deprecated: false
  /v1/repositories:
    get:
      tags:
      - repositories
      summary: getRepositories_1
      description: List repositories
      operationId: getRepositories_1
      parameters:
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RepositoryXO'
                description: ''
      deprecated: false
  /beta/routing-rules:
    get:
      tags:
      - routing-rules
      summary: getRoutingRules
      description: List routing rules
      operationId: getRoutingRules
      parameters:
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RoutingRuleXO'
                description: ''
        '403':
          description: Insufficient permissions to read routing rules
          headers: {}
          content: {}
      deprecated: false
    post:
      tags:
      - routing-rules
      summary: createRoutingRule
      description: Create a single routing rule
      operationId: createRoutingRule
      parameters: []
      requestBody:
        description: A routing rule configuration
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/RoutingRuleXO'
              - description: A routing rule configuration
        required: true
      responses:
        '204':
          description: Routing rule was successfully created
          headers: {}
          content: {}
        '400':
          description: A routing rule with the same name already exists or required parameters missing
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions to create routing rule
          headers: {}
          content: {}
      deprecated: false
  /beta/routing-rules/{name}:
    get:
      tags:
      - routing-rules
      summary: getRoutingRule
      description: Get a single routing rule
      operationId: getRoutingRule
      parameters:
      - name: name
        in: path
        description: The name of the routing rule to get
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoutingRuleXO'
        '403':
          description: Insufficient permissions to read routing rules
          headers: {}
          content: {}
        '404':
          description: Routing rule not found
          headers: {}
          content: {}
      deprecated: false
    put:
      tags:
      - routing-rules
      summary: updateRoutingRule
      description: Update a single routing rule
      operationId: updateRoutingRule
      parameters:
      - name: name
        in: path
        description: The name of the routing rule to update
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: A routing rule configuration
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/RoutingRuleXO'
              - description: A routing rule configuration
        required: true
      responses:
        '204':
          description: Routing rule was successfully updated
          headers: {}
          content: {}
        '400':
          description: Another routing rule with the same name already exists or required parameters missing
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions to edit routing rules
          headers: {}
          content: {}
        '404':
          description: Routing rule not found
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - routing-rules
      summary: deleteRoutingRule
      description: Delete a single routing rule
      operationId: deleteRoutingRule
      parameters:
      - name: name
        in: path
        description: The name of the routing rule to delete
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '204':
          description: Routing rule was successfully deleted
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions to delete routing rules
          headers: {}
          content: {}
        '404':
          description: Routing rule not found
          headers: {}
          content: {}
      deprecated: false
  /v1/search/assets:
    get:
      tags:
      - search
      summary: searchAssets
      description: Search assets
      operationId: searchAssets
      parameters:
      - name: continuationToken
        in: query
        description: A token returned by a prior request. If present, the next page of results are returned
        style: form
        explode: true
        schema:
          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.
        style: form
        explode: true
        schema:
          allOf:
          - $ref: '#/components/schemas/sort1'
          - description: The field to sort the results against, if left empty, a sort based on match weight will be used.
      - 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')
        style: form
        explode: true
        schema:
          allOf:
          - $ref: '#/components/schemas/direction1'
          - description: The direction to sort records in, defaults to ascending ('asc') for all sort fields, except version, which defaults to descending ('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.
        style: form
        explode: true
        schema:
          type: integer
          format: int32
      - name: q
        in: query
        description: Query by keyword
        style: form
        explode: true
        schema:
          type: string
      - name: repository
        in: query
        description: Repository name
        style: form
        explode: true
        schema:
          type: string
      - name: format
        in: query
        description: Query by format
        style: form
        explode: true
        schema:
          type: string
      - name: group
        in: query
        description: Component group
        style: form
        explode: true
        schema:
          type: string
      - name: name
        in: query
        description: Component name
        style: form
        explode: true
        schema:
          type: string
      - name: version
        in: query
        description: Component version
        style: form
        explode: true
        schema:
          type: string
      - name: md5
        in: query
        description: Specific MD5 hash of component's asset
        style: form
        explode: true
        schema:
          type: string
      - name: sha1
        in: query
        description: Specific SHA-1 hash of component's asset
        style: form
        explode: true
        schema:
          type: string
      - name: sha256
        in: query
        description: Specific SHA-256 hash of component's asset
        style: form
        explode: true
        schema:
          type: string
      - name: sha512
        in: query
        description: Specific SHA-512 hash of component's asset
        style: form
        explode: true
        schema:
          type: string
      - name: prerelease
        in: query
        description: Prerelease version flag
        style: form
        explode: true
        schema:
          type: string
      - name: docker.imageName
        in: query
        description: Docker image name
        style: form
        explode: true
        schema:
          type: string
      - name: docker.imageTag
        in: query
        description: Docker image tag
        style: form
        explode: true
        schema:
          type: string
      - name: docker.layerId
        in: query
        description: Docker layer ID
        style: form
        explode: true
        schema:
          type: string
      - name: docker.contentDigest
        in: query
        description: Docker content digest
        style: form
        explode: true
        schema:
          type: string
      - name: maven.groupId
        in: query
        description: Maven groupId
        style: form
        explode: true
        schema:
          type: string
      - name: maven.artifactId
        in: query
        description: Maven artifactId
        style: form
        explode: true
        schema:
          type: string
      - name: maven.baseVersion
        in: query
        description: Maven base version
        style: form
        explode: true
        schema:
          type: string
      - name: maven.extension
        in: query
        description: Maven extension of component's asset
        style: form
        explode: true
        schema:
          type: string
      - name: maven.classifier
        in: query
        description: Maven classifier of component's asset
        style: form
        explode: true
        schema:
          type: string
      - name: npm.scope
        in: query
        description: NPM scope
        style: form
        explode: true
        schema:
          type: string
      - name: nuget.id
        in: query
        description: Nuget id
        style: form
        explode: true
        schema:
          type: string
      - name: nuget.tags
        in: query
        description: Nuget tags
        style: form
        explode: true
        schema:
          type: string
      - name: p2.pluginName
        in: query
        description: p2 plugin name
        style: form
        explode: true
        schema:
          type: string
      - name: pypi.classifiers
        in: query
        description: PyPi classifiers
        style: form
        explode: true
        schema:
          type: string
      - name: pypi.description
        in: query
        description: PyPi description
        style: form
        explode: true
        schema:
          type: string
      - name: pypi.keywords
        in: query
        description: PyPi keywords
        style: form
        explode: true
        schema:
          type: string
      - name: pypi.summary
        in: query
        description: PyPi summary
        style: form
        explode: true
        schema:
          type: string
      - name: rubygems.description
        in: query
        description: RubyGems description
        style: form
        explode: true
        schema:
          type: string
      - name: rubygems.platform
        in: query
        description: RubyGems platform
        style: form
        explode: true
        schema:
          type: string
      - name: rubygems.summary
        in: query
        description: RubyGems summary
        style: form
        explode: true
        schema:
          type: string
      - name: yum.architecture
        in: query
        description: Yum architecture
        style: form
        explode: true
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageAssetXO'
      deprecated: false
  /v1/search/assets/download:
    get:
      tags:
      - search
      summary: searchAndDownloadAssets
      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
      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.
        style: form
        explode: true
        schema:
          allOf:
          - $ref: '#/components/schemas/sort2'
          - description: The field to sort the results against, if left empty and more than 1 result is returned, the request will fail.
      - 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')
        style: form
        explode: true
        schema:
          allOf:
          - $ref: '#/components/schemas/direction1'
          - description: The direction to sort records in, defaults to ascending ('asc') for all sort fields, except version, which defaults to descending ('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.
        style: form
        explode: true
        schema:
          type: integer
          format: int32
      - name: q
        in: query
        description: Query by keyword
        style: form
        explode: true
        schema:
          type: string
      - name: repository
        in: query
        description: Repository name
        style: form
        explode: true
        schema:
          type: string
      - name: format
        in: query
        description: Query by format
        style: form
        explode: true
        schema:
          type: string
      - name: group
        in: query
        description: Component group
        style: form
        explode: true
        schema:
          type: string
      - name: name
        in: query
        description: Component name
        style: form
        explode: true
        schema:
          type: string
      - name: version
        in: query
        description: Component version
        style: form
        explode: true
        schema:
          type: string
      - name: md5
        in: query
        description: Specific MD5 hash of component's asset
        style: form
        explode: true
        schema:
          type: string
      - name: sha1
        in: query
        description: Specific SHA-1 hash of component's asset
        style: form
        explode: true
        schema:
          type: string
      - name: sha256
        in: query
        description: Specific SHA-256 hash of component's asset
        style: form
        explode: true
        schema:
          type: string
      - name: sha512
        in: query
        description: Specific SHA-512 hash of component's asset
        style: form
        explode: true
        schema:
          type: string
      - name: prerelease
        in: query
        description: Prerelease version flag
        style: form
        explode: true
        schema:
          type: string
      - name: docker.imageName
        in: query
        description: Docker image name
        style: form
        explode: true
        schema:
          type: string
      - name: docker.imageTag
        in: query
        description: Docker image tag
        style: form
        explode: true
        schema:
          type: string
      - name: docker.layerId
        in: query
        description: Docker layer ID
        style: form
        explode: true
        schema:
          type: string
      - name: docker.contentDigest
        in: query
        description: Docker content digest
        style: form
        explode: true
        schema:
          type: string
      - name: maven.groupId
        in: query
        description: Maven groupId
        style: form
        explode: true
        schema:
          type: string
      - name: maven.artifactId
        in: query
        description: Maven artifactId
        style: form
        explode: true
        schema:
          type: string
      - name: maven.baseVersion
        in: query
        description: Maven base version
        style: form
        explode: true
        schema:
          type: string
      - name: maven.extension
        in: query
        description: Maven extension of component's asset
        style: form
        explode: true
        schema:
          type: string
      - name: maven.classifier
        in: query
        description: Maven classifier of component's asset
        style: form
        explode: true
        schema:
          type: string
      - name: npm.scope
        in: query
        description: NPM scope
        style: form
        explode: true
        schema:
          type: string
      - name: nuget.id
        in: query
        description: Nuget id
        style: form
        explode: true
        schema:
          type: string
      - name: nuget.tags
        in: query
        description: Nuget tags
        style: form
        explode: true
        schema:
          type: string
      - name: p2.pluginName
        in: query
        description: p2 plugin name
        style: form
        explode: true
        schema:
          type: string
      - name: pypi.classifiers
        in: query
        description: PyPi classifiers
        style: form
        explode: true
        schema:
          type: string
      - name: pypi.description
        in: query
        description: PyPi description
        style: form
        explode: true
        schema:
          type: string
      - name: pypi.keywords
        in: query
        description: PyPi keywords
        style: form
        explode: true
        schema:
          type: string
      - name: pypi.summary
        in: query
        description: PyPi summary
        style: form
        explode: true
        schema:
          type: string
      - name: rubygems.description
        in: query
        description: RubyGems description
        style: form
        explode: true
        schema:
          type: string
      - name: rubygems.platform
        in: query
        description: RubyGems platform
        style: form
        explode: true
        schema:
          type: string
      - name: rubygems.summary
        in: query
        description: RubyGems summary
        style: form
        explode: true
        schema:
          type: string
      - name: yum.architecture
        in: query
        description: Yum architecture
        style: form
        explode: true
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      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.
          headers: {}
          content: {}
        '404':
          description: Asset search returned no results
          headers: {}
          content: {}
      deprecated: false
  /v1/search:
    get:
      tags:
      - search
      summary: search
      description: Search components
      operationId: search
      parameters:
      - name: continuationToken
        in: query
        description: A token returned by a prior request. If present, the next page of results are returned
        style: form
        explode: true
        schema:
          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.
        style: form
        explode: true
        schema:
          allOf:
          - $ref: '#/components/schemas/sort1'
          - description: The field to sort the results against, if left empty, a sort based on match weight will be used.
      - 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')
        style: form
        explode: true
        schema:
          allOf:
          - $ref: '#/components/schemas/direction1'
          - description: The direction to sort records in, defaults to ascending ('asc') for all sort fields, except version, which defaults to descending ('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.
        style: form
        explode: true
        schema:
          type: integer
          format: int32
      - name: q
        in: query
        description: Query by keyword
        style: form
        explode: true
        schema:
          type: string
      - name: repository
        in: query
        description: Repository name
        style: form
        explode: true
        schema:
          type: string
      - name: format
        in: query
        description: Query by format
        style: form
        explode: true
        schema:
          type: string
      - name: group
        in: query
        description: Component group
        style: form
        explode: true
        schema:
          type: string
      - name: name
        in: query
        description: Component name
        style: form
        explode: true
        schema:
          type: string
      - name: version
        in: query
        description: Component version
        style: form
        explode: true
        schema:
          type: string
      - name: md5
        in: query
        description: Specific MD5 hash of component's asset
        style: form
        explode: true
        schema:
          type: string
      - name: sha1
        in: query
        description: Specific SHA-1 hash of component's asset
        style: form
        explode: true
        schema:
          type: string
      - name: sha256
        in: query
        description: Specific SHA-256 hash of component's asset
        style: form
        explode: true
        schema:
          type: string
      - name: sha512
        in: query
        description: Specific SHA-512 hash of component's asset
        style: form
        explode: true
        schema:
          type: string
      - name: prerelease
        in: query
        description: Prerelease version flag
        style: form
        explode: true
        schema:
          type: string
      - name: docker.imageName
        in: query
        description: Docker image name
        style: form
        explode: true
        schema:
          type: string
      - name: docker.imageTag
        in: query
        description: Docker image tag
        style: form
        explode: true
        schema:
          type: string
      - name: docker.layerId
        in: query
        description: Docker layer ID
        style: form
        explode: true
        schema:
          type: string
      - name: docker.contentDigest
        in: query
        description: Docker content digest
        style: form
        explode: true
        schema:
          type: string
      - name: maven.groupId
        in: query
        description: Maven groupId
        style: form
        explode: true
        schema:
          type: string
      - name: maven.artifactId
        in: query
        description: Maven artifactId
        style: form
        explode: true
        schema:
          type: string
      - name: maven.baseVersion
        in: query
        description: Maven base version
        style: form
        explode: true
        schema:
          type: string
      - name: maven.extension
        in: query
        description: Maven extension of component's asset
        style: form
        explode: true
        schema:
          type: string
      - name: maven.classifier
        in: query
        description: Maven classifier of component's asset
        style: form
        explode: true
        schema:
          type: string
      - name: npm.scope
        in: query
        description: NPM scope
        style: form
        explode: true
        schema:
          type: string
      - name: nuget.id
        in: query
        description: Nuget id
        style: form
        explode: true
        schema:
          type: string
      - name: nuget.tags
        in: query
        description: Nuget tags
        style: form
        explode: true
        schema:
          type: string
      - name: p2.pluginName
        in: query
        description: p2 plugin name
        style: form
        explode: true
        schema:
          type: string
      - name: pypi.classifiers
        in: query
        description: PyPi classifiers
        style: form
        explode: true
        schema:
          type: string
      - name: pypi.description
        in: query
        description: PyPi description
        style: form
        explode: true
        schema:
          type: string
      - name: pypi.keywords
        in: query
        description: PyPi keywords
        style: form
        explode: true
        schema:
          type: string
      - name: pypi.summary
        in: query
        description: PyPi summary
        style: form
        explode: true
        schema:
          type: string
      - name: rubygems.description
        in: query
        description: RubyGems description
        style: form
        explode: true
        schema:
          type: string
      - name: rubygems.platform
        in: query
        description: RubyGems platform
        style: form
        explode: true
        schema:
          type: string
      - name: rubygems.summary
        in: query
        description: RubyGems summary
        style: form
        explode: true
        schema:
          type: string
      - name: yum.architecture
        in: query
        description: Yum architecture
        style: form
        explode: true
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageComponentXO'
      deprecated: false
  /v1/formats/{format}/upload-specs:
    get:
      tags:
      - formats
      summary: get_1
      description: Get upload field requirements for the desired format
      operationId: get_1
      parameters:
      - name: format
        in: path
        description: The desired repository format
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UploadDefinitionXO'
      deprecated: false
  /v1/formats/upload-specs:
    get:
      tags:
      - formats
      summary: get_2
      description: Get upload field requirements for each supported format
      operationId: get_2
      parameters:
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UploadDefinitionXO'
                description: ''
      deprecated: false
  /v1/script/{name}:
    get:
      tags:
      - script
      summary: read
      description: Read stored script by name
      operationId: read
      parameters:
      - name: name
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScriptXO'
        '404':
          description: No script with the specified name
          headers: {}
          content: {}
      deprecated: false
    put:
      tags:
      - script
      summary: edit
      description: Update stored script by name
      operationId: edit
      parameters:
      - name: name
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScriptXO'
        required: false
      responses:
        '204':
          description: Script was updated
          headers: {}
          content: {}
        '404':
          description: No script with the specified name
          headers: {}
          content: {}
        '410':
          description: Script updating is disabled
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - script
      summary: delete_1
      description: Delete stored script by name
      operationId: delete_1
      parameters:
      - name: name
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '204':
          description: Script was deleted
          headers: {}
          content: {}
        '404':
          description: No script with the specified name
          headers: {}
          content: {}
      deprecated: false
  /v1/script:
    get:
      tags:
      - script
      summary: browse
      description: List all stored scripts
      operationId: browse
      parameters:
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ScriptXO'
                description: ''
      deprecated: false
    post:
      tags:
      - script
      summary: add
      description: Add a new script
      operationId: add
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScriptXO'
        required: false
      responses:
        '204':
          description: Script was added
          headers: {}
          content: {}
        '410':
          description: Script creation is disabled
          headers: {}
          content: {}
      deprecated: false
  /v1/script/{name}/run:
    post:
      tags:
      - script
      summary: run_1
      description: Run stored script by name
      operationId: run_1
      parameters:
      - name: name
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          text/plain:
            schema:
              type: string
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScriptResultXO'
        '404':
          description: No script with the specified name
          headers: {}
          content: {}
        '500':
          description: Script execution failed with exception
          headers: {}
          content: {}
      deprecated: false
  /beta/email:
    get:
      tags:
      - email
      summary: getEmailConfiguration
      description: Retrieve the current email configuration
      operationId: getEmailConfiguration
      parameters: []
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiEmailConfiguration'
        '403':
          description: Insufficient permissions to retrieve the email configuration
          headers: {}
          content: {}
      deprecated: false
    put:
      tags:
      - email
      summary: setEmailConfiguration
      description: Set the current email configuration
      operationId: setEmailConfiguration
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiEmailConfiguration'
        required: true
      responses:
        '204':
          description: Email configuration was successfully updated
          headers: {}
          content: {}
        '400':
          description: Invalid request
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions to update the email configuration
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - email
      summary: deleteEmailConfiguration
      description: Disable and clear the email configuration
      operationId: deleteEmailConfiguration
      parameters: []
      responses:
        '204':
          description: Email configuration was successfully cleared
          headers: {}
          content: {}
      deprecated: false
  /beta/email/verify:
    post:
      tags:
      - email
      summary: testEmailConfiguration
      description: Send a test email to the email address provided in the request body
      operationId: testEmailConfiguration
      parameters: []
      requestBody:
        description: An email address to send a test email to
        content:
          text/plain:
            schema:
              type: string
              description: An email address to send a test email to
        required: true
      responses:
        '200':
          description: Validation was complete, look at the body to determine success
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions to verify the email configuration
          headers: {}
          content: {}
      deprecated: false
  /v1/status:
    get:
      tags:
      - status
      summary: isAvailable
      description: Health check endpoint that validates server can respond to read requests
      operationId: isAvailable
      parameters:
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: Available to service requests
          headers: {}
          content: {}
        '503':
          description: Unavailable to service requests
          headers: {}
          content: {}
      deprecated: false
  /v1/status/check:
    get:
      tags:
      - status
      summary: getSystemStatusChecks
      description: Health check endpoint that returns the results of the system status checks
      operationId: getSystemStatusChecks
      parameters:
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: The system status check results
          headers: {}
          content: {}
      deprecated: false
  /v1/status/writable:
    get:
      tags:
      - status
      summary: isWritable
      description: Health check endpoint that validates server can respond to read and write requests
      operationId: isWritable
      parameters:
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: Available to service requests
          headers: {}
          content: {}
        '503':
          description: Unavailable to service requests
          headers: {}
          content: {}
      deprecated: false
  /v1/support/supportzip:
    post:
      tags:
      - support
      summary: supportzip
      description: Creates and downloads a support zip
      operationId: supportzip
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Request'
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content: {}
      deprecated: false
  /beta/security/ldap:
    get:
      tags:
      - 'Security Management: LDAP'
      summary: getLdapServers
      description: List LDAP servers
      operationId: getLdapServers
      parameters:
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: LDAP server list returned
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
    post:
      tags:
      - 'Security Management: LDAP'
      summary: createLdapServer
      description: Create LDAP server
      operationId: createLdapServer
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateLdapServerXo'
        required: false
      responses:
        '201':
          description: LDAP server created
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/security/ldap/{name}:
    get:
      tags:
      - 'Security Management: LDAP'
      summary: getLdapServer
      description: Get LDAP server
      operationId: getLdapServer
      parameters:
      - name: name
        in: path
        description: Name of the LDAP server to retrieve
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: LDAP server returned
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
        '404':
          description: LDAP server not found
          headers: {}
          content: {}
      deprecated: false
    put:
      tags:
      - 'Security Management: LDAP'
      summary: updateLdapServer
      description: Update LDAP server
      operationId: updateLdapServer
      parameters:
      - name: name
        in: path
        description: Name of the LDAP server to update
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: Updated values of LDAP server
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/UpdateLdapServerXo'
              - description: Updated values of LDAP server
        required: false
      responses:
        '204':
          description: LDAP server updated
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
        '404':
          description: LDAP server not found
          headers: {}
          content: {}
      deprecated: false
    delete:
      tags:
      - 'Security Management: LDAP'
      summary: deleteLdapServer
      description: Delete LDAP server
      operationId: deleteLdapServer
      parameters:
      - name: name
        in: path
        description: Name of the LDAP server to delete
        required: true
        style: simple
        schema:
          type: string
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '204':
          description: LDAP server deleted
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
        '404':
          description: LDAP server not found
          headers: {}
          content: {}
      deprecated: false
  /beta/security/ldap/change-order:
    post:
      tags:
      - 'Security Management: LDAP'
      summary: changeOrder
      description: Change LDAP server order
      operationId: changeOrder
      parameters: []
      requestBody:
        description: Ordered list of LDAP server names
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
              description: Ordered list of LDAP server names
        required: false
      responses:
        '204':
          description: LDAP server order changed
          headers: {}
          content: {}
        '401':
          description: Authentication required
          headers: {}
          content: {}
        '403':
          description: Insufficient permissions
          headers: {}
          content: {}
      deprecated: false
  /beta/system/license:
    get:
      tags:
      - Product Licensing
      summary: getLicenseStatus
      description: Get the current license status.
      operationId: getLicenseStatus
      parameters: []
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiLicenseDetailsXO'
      deprecated: false
    post:
      tags:
      - Product Licensing
      summary: setLicense
      description: Server must be restarted to take effect
      operationId: setLicense
      parameters:
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          enum:
          - application/octet-stream
          type: string
      requestBody:
        content:
          multipart/form-data:
            encoding: {}
            schema:
              type: object
              properties:
                body:
                  type: string
                  format: binary
        required: false
      responses:
        '200':
          description: successful operation
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiLicenseDetailsXO'
      deprecated: false
    delete:
      tags:
      - Product Licensing
      summary: removeLicense
      description: Uninstall license if present.
      operationId: removeLicense
      parameters: []
      responses:
        '200':
          description: successful operation
          headers: {}
          content: {}
      deprecated: false
  /beta/iq:
    get:
      tags:
      - Manage IQ Server configuration
      summary: getConfiguration
      description: Get IQ Server configuration
      operationId: getConfiguration
      parameters:
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: IQ Server configuration returned
          headers: {}
          content: {}
      deprecated: false
    put:
      tags:
      - Manage IQ Server configuration
      summary: updateConfiguration
      description: Update IQ Server configuration
      operationId: updateConfiguration
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IqConnectionXo'
        required: false
      responses:
        '204':
          description: IQ Server configuration has been updated
          headers: {}
          content: {}
      deprecated: false
  /beta/iq/verify-connection:
    post:
      tags:
      - Manage IQ Server configuration
      summary: verifyConnection
      description: Verify IQ Server connection
      operationId: verifyConnection
      parameters:
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '200':
          description: Connection verification complete, check response body for result
          headers: {}
          content: {}
      deprecated: false
  /beta/iq/enable:
    post:
      tags:
      - Manage IQ Server configuration
      summary: enableIq
      description: Enable IQ Server
      operationId: enableIq
      parameters:
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '204':
          description: IQ Server has been enabled
          headers: {}
          content: {}
        '400':
          description: IQ Server connection not configured
          headers: {}
          content: {}
      deprecated: false
  /beta/iq/disable:
    post:
      tags:
      - Manage IQ Server configuration
      summary: disableIq
      description: Disable IQ Server
      operationId: disableIq
      parameters:
      - name: Content-Type
        in: header
        description: ''
        required: true
        style: simple
        schema:
          $ref: '#/components/schemas/Content-Type'
      responses:
        '204':
          description: IQ Server has been disabled
          headers: {}
          content: {}
        '400':
          description: IQ Server connection not configured
          headers: {}
          content: {}
      deprecated: false
components:
  schemas:
    ApiUserSource:
      title: ApiUserSource
      type: object
      properties:
        id:
          type: string
        name:
          type: string
    ApiUser:
      title: ApiUser
      required:
      - status
      type: object
      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:
          $ref: '#/components/schemas/Status'
        readOnly:
          type: boolean
          description: Indicates whether the user's properties could be modified by Nexus. When false only roles are considered during update.
        roles:
          uniqueItems: true
          type: array
          items:
            type: string
          description: The roles which the user has been assigned within Nexus.
        externalRoles:
          uniqueItems: true
          type: array
          items:
            type: string
          description: The roles which the user has been assigned in an external source, e.g. LDAP group. These cannot be changed within Nexus.
    ApiCreateUser:
      title: ApiCreateUser
      required:
      - status
      type: object
      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:
          $ref: '#/components/schemas/Status'
        roles:
          uniqueItems: true
          type: array
          items:
            type: string
          description: The roles which the user has been assigned within Nexus.
    ApiPrivilege:
      title: 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:
          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.
    ApiPrivilegeWildcardRequest:
      title: ApiPrivilegeWildcardRequest
      type: object
      properties:
        name:
          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:
          type: string
          description: A colon separated list of parts that create a permission string.
    ApiPrivilegeApplicationRequest:
      title: ApiPrivilegeApplicationRequest
      type: object
      properties:
        name:
          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:
          type: array
          items:
            $ref: '#/components/schemas/Action'
          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.
        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:
      title: RealmApiXO
      type: object
      properties:
        id:
          type: string
        name:
          type: string
    RoleXOResponse:
      title: 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:
          uniqueItems: true
          type: array
          items:
            type: string
          description: The list of privileges assigned to this role.
        roles:
          uniqueItems: true
          type: array
          items:
            type: string
          description: The list of roles assigned to this role.
    RoleXORequest:
      title: 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:
          uniqueItems: true
          type: array
          items:
            type: string
          description: The list of privileges assigned to this role.
        roles:
          uniqueItems: true
          type: array
          items:
            type: string
          description: The list of roles assigned to this role.
    TaskXO:
      title: 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:
      title: Page
      type: object
      properties:
        items:
          type: array
          items:
            type: object
          description: ''
        continuationToken:
          type: string
    PageTaskXO:
      title: PageTaskXO
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/TaskXO'
          description: ''
        continuationToken:
          type: string
    BlobStoreApiSoftQuota:
      title: BlobStoreApiSoftQuota
      type: object
      properties:
        type:
          type: string
          description: The type to use such as spaceRemainingQuota, or spaceUsedQuota
        limit:
          type: integer
          description: The limit in MB.
          format: int64
    GenericBlobStoreApiResponse:
      title: GenericBlobStoreApiResponse
      type: object
      properties:
        softQuota:
          $ref: '#/components/schemas/BlobStoreApiSoftQuota'
        name:
          type: string
        type:
          type: string
        blobCount:
          type: integer
          format: int64
        totalSizeInBytes:
          type: integer
          format: int64
        availableSpaceInBytes:
          type: integer
          format: int64
    BlobStoreQuotaResultXO:
      title: BlobStoreQuotaResultXO
      type: object
      properties:
        isViolation:
          type: boolean
        message:
          type: string
        blobStoreName:
          type: string
    FileBlobStoreApiCreateRequest:
      title: FileBlobStoreApiCreateRequest
      type: object
      properties:
        softQuota:
          $ref: '#/components/schemas/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:
      title: FileBlobStoreApiUpdateRequest
      type: object
      properties:
        softQuota:
          $ref: '#/components/schemas/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:
      title: FileBlobStoreApiModel
      type: object
      properties:
        softQuota:
          $ref: '#/components/schemas/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:
      title: ReadOnlyState
      type: object
      properties:
        summaryReason:
          type: string
        systemInitiated:
          type: boolean
        frozen:
          type: boolean
    ApiCertificate:
      title: 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:
      title: AbstractApiRepository
      required:
      - online
      type: object
      properties:
        name:
          pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
          type: string
          description: A unique identifier for this repository
          example: internal
        format:
          type: string
          description: Component format held in this repository
          example: npm
        type:
          $ref: '#/components/schemas/Type'
        url:
          type: string
          description: URL to the repository
        online:
          type: boolean
          description: Whether this repository accepts incoming requests
          example: true
    AssetXO:
      title: 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:
      title: PageAssetXO
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/AssetXO'
          description: ''
        continuationToken:
          type: string
    ComponentXO:
      title: 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: '#/components/schemas/AssetXO'
          description: ''
    PageComponentXO:
      title: PageComponentXO
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/ComponentXO'
          description: ''
        continuationToken:
          type: string
    ContentSelectorApiResponse:
      title: ContentSelectorApiResponse
      type: object
      properties:
        name:
          type: string
          description: The content selector name cannot be changed after creation
        type:
          $ref: '#/components/schemas/Type1'
        description:
          type: string
          description: A human-readable description
        expression:
          type: string
          description: The expression used to identify content
          example: format == "maven2" and path =^ "/org/sonatype/nexus"
    ContentSelectorApiCreateRequest:
      title: ContentSelectorApiCreateRequest
      type: object
      properties:
        name:
          pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
          type: string
          description: The content selector name cannot be changed after creation
        description:
          type: string
          description: A human-readable description
        expression:
          type: string
          description: The expression used to identify content
          example: format == "maven2" and path =^ "/org/sonatype/nexus"
    ContentSelectorApiUpdateRequest:
      title: ContentSelectorApiUpdateRequest
      type: object
      properties:
        description:
          type: string
          description: An optional description of this content selector
        expression:
          type: string
          description: The expression used to identify content
          example: format == "maven2" and path =^ "/org/sonatype/nexus"
    RepositoryXO:
      title: RepositoryXO
      type: object
      properties:
        name:
          type: string
        format:
          type: string
        type:
          type: string
        url:
          type: string
        attributes:
          type: object
          additionalProperties:
            type: object
    RoutingRuleXO:
      title: RoutingRuleXO
      type: object
      properties:
        name:
          pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
          type: string
        description:
          type: string
        mode:
          $ref: '#/components/schemas/Mode'
        matchers:
          type: array
          items:
            type: string
          description: Regular expressions used to identify request paths that are allowed or blocked (depending on mode)
    UploadDefinitionXO:
      title: UploadDefinitionXO
      type: object
      properties:
        format:
          type: string
        multipleUpload:
          type: boolean
        componentFields:
          type: array
          items:
            $ref: '#/components/schemas/UploadFieldDefinitionXO'
          description: ''
        assetFields:
          type: array
          items:
            $ref: '#/components/schemas/UploadFieldDefinitionXO'
          description: ''
    UploadFieldDefinitionXO:
      title: UploadFieldDefinitionXO
      type: object
      properties:
        name:
          type: string
        type:
          type: string
        description:
          type: string
        optional:
          type: boolean
        group:
          type: string
    ApiPrivilegeRepositoryContentSelectorRequest:
      title: ApiPrivilegeRepositoryContentSelectorRequest
      type: object
      properties:
        name:
          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:
          type: array
          items:
            $ref: '#/components/schemas/Action'
          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.
        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:
      title: ApiPrivilegeRepositoryAdminRequest
      type: object
      properties:
        name:
          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:
          type: array
          items:
            $ref: '#/components/schemas/Action'
          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.
        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:
      title: ApiPrivilegeRepositoryViewRequest
      type: object
      properties:
        name:
          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:
          type: array
          items:
            $ref: '#/components/schemas/Action'
          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.
        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:
      title: CleanupPolicyAttributes
      type: object
      properties:
        policyNames:
          type: array
          items:
            type: object
          description: Components that match any of the applied policies will be deleted
    HostedStorageAttributes:
      title: HostedStorageAttributes
      required:
      - strictContentTypeValidation
      - writePolicy
      type: object
      properties:
        blobStoreName:
          type: string
          description: Blob store used to store repository contents
          example: default
        strictContentTypeValidation:
          type: boolean
          description: Whether to validate uploaded content's MIME type appropriate for the repository format
          example: true
        writePolicy:
          $ref: '#/components/schemas/WritePolicy'
    MavenAttributes:
      title: MavenAttributes
      type: object
      properties:
        versionPolicy:
          $ref: '#/components/schemas/VersionPolicy'
        layoutPolicy:
          $ref: '#/components/schemas/LayoutPolicy'
    MavenHostedRepositoryApiRequest:
      title: MavenHostedRepositoryApiRequest
      required:
      - name
      - online
      - storage
      - maven
      type: object
      properties:
        name:
          pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
          type: string
          description: A unique identifier for this repository
          example: internal
        online:
          type: boolean
          description: Whether this repository accepts incoming requests
          example: true
        storage:
          $ref: '#/components/schemas/HostedStorageAttributes'
        cleanup:
          $ref: '#/components/schemas/CleanupPolicyAttributes'
        maven:
          $ref: '#/components/schemas/MavenAttributes'
    HttpClientAttributes:
      title: HttpClientAttributes
      required:
      - blocked
      - autoBlock
      type: object
      properties:
        blocked:
          type: boolean
          description: Whether to block outbound connections on the repository
          example: false
        autoBlock:
          type: boolean
          description: Whether to auto-block outbound connections if remote peer is detected as unreachable/unresponsive
          example: false
        connection:
          $ref: '#/components/schemas/HttpClientConnectionAttributes'
        authentication:
          $ref: '#/components/schemas/HttpClientConnectionAuthenticationAttributes'
    HttpClientConnectionAttributes:
      title: HttpClientConnectionAttributes
      type: object
      properties:
        retries:
          maximum: 10
          minimum: 0
          type: integer
          description: Total retries if the initial connection attempt suffers a timeout
          format: int32
          example: 0
        userAgentSuffix:
          type: string
          description: Custom fragment to append to User-Agent header in HTTP requests
        timeout:
          maximum: 3600
          minimum: 1
          type: integer
          description: Seconds to wait for activity before stopping and retrying the connection
          format: int32
          example: 60
        enableCircularRedirects:
          type: boolean
          description: Whether to enable redirects to the same location (may be required by some servers)
          example: false
        enableCookies:
          type: boolean
          description: Whether to allow cookies to be stored and used
          example: false
    HttpClientConnectionAuthenticationAttributes:
      title: HttpClientConnectionAuthenticationAttributes
      type: object
      properties:
        type:
          $ref: '#/components/schemas/Type2'
        username:
          type: string
        ntlmHost:
          type: string
        ntlmDomain:
          type: string
    MavenProxyRepositoryApiRequest:
      title: MavenProxyRepositoryApiRequest
      required:
      - name
      - online
      - storage
      - proxy
      - negativeCache
      - httpClient
      - maven
      type: object
      properties:
        name:
          pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
          type: string
          description: A unique identifier for this repository
          example: internal
        online:
          type: boolean
          description: Whether this repository accepts incoming requests
          example: true
        storage:
          $ref: '#/components/schemas/StorageAttributes'
        cleanup:
          $ref: '#/components/schemas/CleanupPolicyAttributes'
        proxy:
          $ref: '#/components/schemas/ProxyAttributes'
        negativeCache:
          $ref: '#/components/schemas/NegativeCacheAttributes'
        httpClient:
          $ref: '#/components/schemas/HttpClientAttributes'
        routingRule:
          type: string
        maven:
          $ref: '#/components/schemas/MavenAttributes'
    NegativeCacheAttributes:
      title: NegativeCacheAttributes
      required:
      - enabled
      - timeToLive
      type: object
      properties:
        enabled:
          type: boolean
          description: Whether to cache responses for content not present in the proxied repository
          example: false
        timeToLive:
          type: integer
          description: How long to cache the fact that a file was not found in the repository (in minutes)
          format: int32
          example: 1440
    ProxyAttributes:
      title: ProxyAttributes
      required:
      - contentMaxAge
      - metadataMaxAge
      type: object
      properties:
        remoteUrl:
          type: string
          description: Location of the remote repository being proxied
          example: https://registry.npmjs.org
        contentMaxAge:
          type: integer
          description: How long to cache artifacts before rechecking the remote repository (in minutes)
          format: int32
          example: 1440
        metadataMaxAge:
          type: integer
          description: How long to cache metadata before rechecking the remote repository (in minutes)
          format: int32
          example: 1440
    StorageAttributes:
      title: StorageAttributes
      required:
      - strictContentTypeValidation
      type: object
      properties:
        blobStoreName:
          type: string
          description: Blob store used to store repository contents
          example: default
        strictContentTypeValidation:
          type: boolean
          description: Whether to validate uploaded content's MIME type appropriate for the repository format
          example: true
    ApiPrivilegeScriptRequest:
      title: ApiPrivilegeScriptRequest
      type: object
      properties:
        name:
          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:
          type: array
          items:
            $ref: '#/components/schemas/Action'
          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.
        scriptName:
          type: string
          description: The name of a script to give access to.
    ScriptXO:
      title: ScriptXO
      type: object
      properties:
        name:
          pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
          type: string
        content:
          type: string
        type:
          type: string
    ScriptResultXO:
      title: ScriptResultXO
      type: object
      properties:
        name:
          type: string
        result:
          type: string
    S3BlobStoreApiAdvancedBucketConnection:
      title: 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:
      title: S3BlobStoreApiBucket
      required:
      - region
      - name
      - expiration
      type: object
      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
          description: How many days until deleted blobs are finally removed from the S3 bucket (-1 to disable)
          format: int32
    S3BlobStoreApiBucketConfiguration:
      title: S3BlobStoreApiBucketConfiguration
      type: object
      properties:
        bucket:
          $ref: '#/components/schemas/S3BlobStoreApiBucket'
        encryption:
          $ref: '#/components/schemas/S3BlobStoreApiEncryption'
        bucketSecurity:
          $ref: '#/components/schemas/S3BlobStoreApiBucketSecurity'
        advancedBucketConnection:
          $ref: '#/components/schemas/S3BlobStoreApiAdvancedBucketConnection'
    S3BlobStoreApiBucketSecurity:
      title: 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:
      title: S3BlobStoreApiEncryption
      type: object
      properties:
        encryptionType:
          $ref: '#/components/schemas/EncryptionType'
        encryptionKey:
          type: string
          description: The encryption key.
    S3BlobStoreApiModel:
      title: S3BlobStoreApiModel
      required:
      - name
      - bucketConfiguration
      type: object
      properties:
        name:
          type: string
          description: The name of the S3 blob store.
        softQuota:
          $ref: '#/components/schemas/BlobStoreApiSoftQuota'
        bucketConfiguration:
          $ref: '#/components/schemas/S3BlobStoreApiBucketConfiguration'
    ApiEmailConfiguration:
      title: ApiEmailConfiguration
      required:
      - port
      type: object
      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:
      title: ApiEmailValidation
      type: object
      properties:
        success:
          type: boolean
        reason:
          type: string
    Result:
      title: Result
      type: object
      properties:
        healthy:
          type: boolean
        message:
          type: string
        error:
          $ref: '#/components/schemas/Throwable'
        details:
          type: object
          additionalProperties:
            type: object
        time:
          type: integer
          format: int64
        duration:
          type: integer
          format: int64
        timestamp:
          type: string
    StackTraceElement:
      title: StackTraceElement
      type: object
      properties:
        methodName:
          type: string
        fileName:
          type: string
        lineNumber:
          type: integer
          format: int32
        className:
          type: string
        nativeMethod:
          type: boolean
    Throwable:
      title: Throwable
      type: object
      properties:
        cause:
          $ref: '#/components/schemas/Throwable'
        stackTrace:
          type: array
          items:
            $ref: '#/components/schemas/StackTraceElement'
          description: ''
        message:
          type: string
        localizedMessage:
          type: string
        suppressed:
          type: array
          items:
            $ref: '#/components/schemas/Throwable'
          description: ''
    Request:
      title: 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:
      title: CreateLdapServerXo
      required:
      - name
      - protocol
      - host
      - port
      - searchBase
      - authScheme
      - connectionTimeoutSeconds
      - connectionRetryDelaySeconds
      - maxIncidentsCount
      - groupType
      - authPassword
      type: object
      properties:
        name:
          type: string
          description: LDAP server name
        protocol:
          $ref: '#/components/schemas/Protocol'
        useTrustStore:
          type: boolean
          description: Whether to use certificates stored in NXRM's truststore
        host:
          type: string
          description: LDAP server connection hostname
        port:
          type: integer
          description: LDAP server connection port to use
          format: int32
          example: 636
        searchBase:
          type: string
          description: LDAP location to be added to the connection URL
          example: dc=example,dc=com
        authScheme:
          $ref: '#/components/schemas/AuthScheme'
        authRealm:
          type: string
          description: The SASL realm to bind to. Required if authScheme is CRAM_MD5 or DIGEST_MD5
          example: example.com
        authUsername:
          type: string
          description: This must be a fully qualified username if simple authentication is used. Required if authScheme other than none.
        connectionTimeoutSeconds:
          maximum: 3600
          minimum: 1
          type: integer
          description: How long to wait before timeout
          format: int32
          example: 1
        connectionRetryDelaySeconds:
          minimum: 0
          type: integer
          description: How long to wait before retrying
          format: int32
        maxIncidentsCount:
          minimum: 0
          type: integer
          description: How many retry attempts
          format: int32
        userBaseDn:
          type: string
          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.
          example: ou=people
        userSubtree:
          type: boolean
          description: Are users located in structures below the user base DN?
        userObjectClass:
          type: string
          description: LDAP class for user objects
          example: inetOrgPerson
        userLdapFilter:
          type: string
          description: LDAP search filter to limit user search
          example: (|(mail=*@example.com)(uid=dom*))
        userIdAttribute:
          type: string
          description: This is used to find a user given its user ID
          example: uid
        userRealNameAttribute:
          type: string
          description: This is used to find a real name given the user ID
          example: cn
        userEmailAddressAttribute:
          type: string
          description: This is used to find an email address given the user ID
          example: mail
        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:
          $ref: '#/components/schemas/GroupType'
        groupBaseDn:
          type: string
          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.
          example: ou=Group
        groupSubtree:
          type: boolean
          description: Are groups located in structures below the group base DN
        groupObjectClass:
          maxLength: 0
          minLength: 0
          type: string
          description: LDAP class for group objects. Required if groupType is static
        groupIdAttribute:
          maxLength: 0
          minLength: 0
          type: string
          description: This field specifies the attribute of the Object class that defines the Group ID. Required if groupType is static
        groupMemberAttribute:
          maxLength: 0
          minLength: 0
          type: string
          description: LDAP attribute containing the usernames for the group. Required if groupType is static
        groupMemberFormat:
          maxLength: 0
          minLength: 0
          type: string
          description: The format of user ID stored in the group member attribute. Required if groupType is static
        userMemberOfAttribute:
          maxLength: 0
          minLength: 0
          type: string
          description: Set this to the attribute used to store the attribute which holds groups DN in the user object. Required if groupType is dynamic
        authPassword:
          type: string
          description: The password to bind with. Required if authScheme other than none.
    ReadLdapServerXo:
      title: ReadLdapServerXo
      required:
      - name
      - protocol
      - host
      - port
      - searchBase
      - authScheme
      - connectionTimeoutSeconds
      - connectionRetryDelaySeconds
      - maxIncidentsCount
      - groupType
      type: object
      properties:
        name:
          type: string
          description: LDAP server name
        protocol:
          $ref: '#/components/schemas/Protocol'
        useTrustStore:
          type: boolean
          description: Whether to use certificates stored in NXRM's truststore
        host:
          type: string
          description: LDAP server connection hostname
        port:
          type: integer
          description: LDAP server connection port to use
          format: int32
          example: 636
        searchBase:
          type: string
          description: LDAP location to be added to the connection URL
          example: dc=example,dc=com
        authScheme:
          $ref: '#/components/schemas/AuthScheme'
        authRealm:
          type: string
          description: The SASL realm to bind to. Required if authScheme is CRAM_MD5 or DIGEST_MD5
          example: example.com
        authUsername:
          type: string
          description: This must be a fully qualified username if simple authentication is used. Required if authScheme other than none.
        connectionTimeoutSeconds:
          maximum: 3600
          minimum: 1
          type: integer
          description: How long to wait before timeout
          format: int32
          example: 1
        connectionRetryDelaySeconds:
          minimum: 0
          type: integer
          description: How long to wait before retrying
          format: int32
        maxIncidentsCount:
          minimum: 0
          type: integer
          description: How many retry attempts
          format: int32
        userBaseDn:
          type: string
          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.
          example: ou=people
        userSubtree:
          type: boolean
          description: Are users located in structures below the user base DN?
        userObjectClass:
          type: string
          description: LDAP class for user objects
          example: inetOrgPerson
        userLdapFilter:
          type: string
          description: LDAP search filter to limit user search
          example: (|(mail=*@example.com)(uid=dom*))
        userIdAttribute:
          type: string
          description: This is used to find a user given its user ID
          example: uid
        userRealNameAttribute:
          type: string
          description: This is used to find a real name given the user ID
          example: cn
        userEmailAddressAttribute:
          type: string
          description: This is used to find an email address given the user ID
          example: mail
        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:
          $ref: '#/components/schemas/GroupType'
        groupBaseDn:
          type: string
          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.
          example: ou=Group
        groupSubtree:
          type: boolean
          description: Are groups located in structures below the group base DN
        groupObjectClass:
          maxLength: 0
          minLength: 0
          type: string
          description: LDAP class for group objects. Required if groupType is static
        groupIdAttribute:
          maxLength: 0
          minLength: 0
          type: string
          description: This field specifies the attribute of the Object class that defines the Group ID. Required if groupType is static
        groupMemberAttribute:
          maxLength: 0
          minLength: 0
          type: string
          description: LDAP attribute containing the usernames for the group. Required if groupType is static
        groupMemberFormat:
          maxLength: 0
          minLength: 0
          type: string
          description: The format of user ID stored in the group member attribute. Required if groupType is static
        userMemberOfAttribute:
          maxLength: 0
          minLength: 0
          type: string
          description: Set this to the attribute used to store the attribute which holds groups DN in the user object. Required if groupType is dynamic
        id:
          type: string
          description: LDAP server ID
        order:
          type: integer
          description: Order number in which the server is being used when looking for a user
          format: int32
    UpdateLdapServerXo:
      title: UpdateLdapServerXo
      required:
      - name
      - protocol
      - host
      - port
      - searchBase
      - authScheme
      - connectionTimeoutSeconds
      - connectionRetryDelaySeconds
      - maxIncidentsCount
      - groupType
      - authPassword
      type: object
      properties:
        name:
          type: string
          description: LDAP server name
        protocol:
          $ref: '#/components/schemas/Protocol'
        useTrustStore:
          type: boolean
          description: Whether to use certificates stored in NXRM's truststore
        host:
          type: string
          description: LDAP server connection hostname
        port:
          type: integer
          description: LDAP server connection port to use
          format: int32
          example: 636
        searchBase:
          type: string
          description: LDAP location to be added to the connection URL
          example: dc=example,dc=com
        authScheme:
          $ref: '#/components/schemas/AuthScheme'
        authRealm:
          type: string
          description: The SASL realm to bind to. Required if authScheme is CRAM_MD5 or DIGEST_MD5
          example: example.com
        authUsername:
          type: string
          description: This must be a fully qualified username if simple authentication is used. Required if authScheme other than none.
        connectionTimeoutSeconds:
          maximum: 3600
          minimum: 1
          type: integer
          description: How long to wait before timeout
          format: int32
          example: 1
        connectionRetryDelaySeconds:
          minimum: 0
          type: integer
          description: How long to wait before retrying
          format: int32
        maxIncidentsCount:
          minimum: 0
          type: integer
          description: How many retry attempts
          format: int32
        userBaseDn:
          type: string
          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.
          example: ou=people
        userSubtree:
          type: boolean
          description: Are users located in structures below the user base DN?
        userObjectClass:
          type: string
          description: LDAP class for user objects
          example: inetOrgPerson
        userLdapFilter:
          type: string
          description: LDAP search filter to limit user search
          example: (|(mail=*@example.com)(uid=dom*))
        userIdAttribute:
          type: string
          description: This is used to find a user given its user ID
          example: uid
        userRealNameAttribute:
          type: string
          description: This is used to find a real name given the user ID
          example: cn
        userEmailAddressAttribute:
          type: string
          description: This is used to find an email address given the user ID
          example: mail
        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:
          $ref: '#/components/schemas/GroupType'
        groupBaseDn:
          type: string
          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.
          example: ou=Group
        groupSubtree:
          type: boolean
          description: Are groups located in structures below the group base DN
        groupObjectClass:
          maxLength: 0
          minLength: 0
          type: string
          description: LDAP class for group objects. Required if groupType is static
        groupIdAttribute:
          maxLength: 0
          minLength: 0
          type: string
          description: This field specifies the attribute of the Object class that defines the Group ID. Required if groupType is static
        groupMemberAttribute:
          maxLength: 0
          minLength: 0
          type: string
          description: LDAP attribute containing the usernames for the group. Required if groupType is static
        groupMemberFormat:
          maxLength: 0
          minLength: 0
          type: string
          description: The format of user ID stored in the group member attribute. Required if groupType is static
        userMemberOfAttribute:
          maxLength: 0
          minLength: 0
          type: string
          description: Set this to the attribute used to store the attribute which holds groups DN in the user object. Required if groupType is dynamic
        authPassword:
          type: string
          description: The password to bind with. Required if authScheme other than none.
        id:
          type: string
          description: LDAP server ID
    ApiLicenseDetailsXO:
      title: 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
    IqConnectionXo:
      title: IqConnectionXo
      required:
      - authenticationType
      type: object
      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:
          $ref: '#/components/schemas/AuthenticationType'
        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:
          maximum: 3600
          minimum: 1
          type: integer
          description: Seconds to wait for activity before stopping and retrying the connection. Leave blank to use the globally defined HTTP timeout.
          format: int32
        properties:
          type: string
          description: Additional properties to configure for IQ Server
    IqConnectionVerificationXo:
      title: IqConnectionVerificationXo
      type: object
      properties:
        success:
          type: boolean
        reason:
          type: string
    AptHostedRepositoriesAttributes:
      title: AptHostedRepositoriesAttributes
      type: object
      properties:
        distribution:
          type: string
          description: Distribution to fetch
          example: bionic
    AptHostedRepositoryApiRequest:
      title: AptHostedRepositoryApiRequest
      required:
      - name
      - online
      - storage
      - apt
      - aptSigning
      type: object
      properties:
        name:
          pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
          type: string
          description: A unique identifier for this repository
          example: internal
        online:
          type: boolean
          description: Whether this repository accepts incoming requests
          example: true
        storage:
          $ref: '#/components/schemas/HostedStorageAttributes'
        cleanup:
          $ref: '#/components/schemas/CleanupPolicyAttributes'
        apt:
          $ref: '#/components/schemas/AptHostedRepositoriesAttributes'
        aptSigning:
          $ref: '#/components/schemas/AptSigningRepositoriesAttributes'
    AptSigningRepositoriesAttributes:
      title: 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:
      title: AptProxyRepositoriesAttributes
      required:
      - flat
      type: object
      properties:
        distribution:
          type: string
          description: Distribution to fetch
          example: bionic
        flat:
          type: boolean
          description: Whether this repository is flat
          example: false
    AptProxyRepositoryApiRequest:
      title: AptProxyRepositoryApiRequest
      required:
      - name
      - online
      - storage
      - proxy
      - negativeCache
      - httpClient
      - apt
      type: object
      properties:
        name:
          pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
          type: string
          description: A unique identifier for this repository
          example: internal
        online:
          type: boolean
          description: Whether this repository accepts incoming requests
          example: true
        storage:
          $ref: '#/components/schemas/StorageAttributes'
        cleanup:
          $ref: '#/components/schemas/CleanupPolicyAttributes'
        proxy:
          $ref: '#/components/schemas/ProxyAttributes'
        negativeCache:
          $ref: '#/components/schemas/NegativeCacheAttributes'
        httpClient:
          $ref: '#/components/schemas/HttpClientAttributes'
        routingRule:
          type: string
        apt:
          $ref: '#/components/schemas/AptProxyRepositoriesAttributes'
    GolangGroupRepositoryApiRequest:
      title: GolangGroupRepositoryApiRequest
      required:
      - name
      - online
      - storage
      - group
      type: object
      properties:
        name:
          pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
          type: string
          description: A unique identifier for this repository
          example: internal
        online:
          type: boolean
          description: Whether this repository accepts incoming requests
          example: true
        storage:
          $ref: '#/components/schemas/StorageAttributes'
        group:
          $ref: '#/components/schemas/GroupAttributes'
    GroupAttributes:
      title: GroupAttributes
      type: object
      properties:
        memberNames:
          type: array
          items:
            type: object
          description: Member repositories' names
    GolangProxyRepositoryApiRequest:
      title: GolangProxyRepositoryApiRequest
      required:
      - name
      - online
      - storage
      - proxy
      - negativeCache
      - httpClient
      type: object
      properties:
        name:
          pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
          type: string
          description: A unique identifier for this repository
          example: internal
        online:
          type: boolean
          description: Whether this repository accepts incoming requests
          example: true
        storage:
          $ref: '#/components/schemas/StorageAttributes'
        cleanup:
          $ref: '#/components/schemas/CleanupPolicyAttributes'
        proxy:
          $ref: '#/components/schemas/ProxyAttributes'
        negativeCache:
          $ref: '#/components/schemas/NegativeCacheAttributes'
        httpClient:
          $ref: '#/components/schemas/HttpClientAttributes'
        routingRule:
          type: string
    HelmHostedRepositoryApiRequest:
      title: HelmHostedRepositoryApiRequest
      required:
      - name
      - online
      - storage
      type: object
      properties:
        name:
          pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
          type: string
          description: A unique identifier for this repository
          example: internal
        online:
          type: boolean
          description: Whether this repository accepts incoming requests
          example: true
        storage:
          $ref: '#/components/schemas/HostedStorageAttributes'
        cleanup:
          $ref: '#/components/schemas/CleanupPolicyAttributes'
    HelmProxyRepositoryApiRequest:
      title: HelmProxyRepositoryApiRequest
      required:
      - name
      - online
      - storage
      - proxy
      - negativeCache
      - httpClient
      type: object
      properties:
        name:
          pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
          type: string
          description: A unique identifier for this repository
          example: internal
        online:
          type: boolean
          description: Whether this repository accepts incoming requests
          example: true
        storage:
          $ref: '#/components/schemas/StorageAttributes'
        cleanup:
          $ref: '#/components/schemas/CleanupPolicyAttributes'
        proxy:
          $ref: '#/components/schemas/ProxyAttributes'
        negativeCache:
          $ref: '#/components/schemas/NegativeCacheAttributes'
        httpClient:
          $ref: '#/components/schemas/HttpClientAttributes'
        routingRule:
          type: string
    P2ProxyRepositoryApiRequest:
      title: P2ProxyRepositoryApiRequest
      required:
      - name
      - online
      - storage
      - proxy
      - negativeCache
      - httpClient
      type: object
      properties:
        name:
          pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
          type: string
          description: A unique identifier for this repository
          example: internal
        online:
          type: boolean
          description: Whether this repository accepts incoming requests
          example: true
        storage:
          $ref: '#/components/schemas/StorageAttributes'
        cleanup:
          $ref: '#/components/schemas/CleanupPolicyAttributes'
        proxy:
          $ref: '#/components/schemas/ProxyAttributes'
        negativeCache:
          $ref: '#/components/schemas/NegativeCacheAttributes'
        httpClient:
          $ref: '#/components/schemas/HttpClientAttributes'
        routingRule:
          type: string
    BowerGroupRepositoryApiRequest:
      title: BowerGroupRepositoryApiRequest
      required:
      - name
      - online
      - storage
      - group
      type: object
      properties:
        name:
          pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
          type: string
          description: A unique identifier for this repository
          example: internal
        online:
          type: boolean
          description: Whether this repository accepts incoming requests
          example: true
        storage:
          $ref: '#/components/schemas/StorageAttributes'
        group:
          $ref: '#/components/schemas/GroupAttributes'
    BowerHostedRepositoryApiRequest:
      title: BowerHostedRepositoryApiRequest
      required:
      - name
      - online
      - storage
      type: object
      properties:
        name:
          pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
          type: string
          description: A unique identifier for this repository
          example: internal
        online:
          type: boolean
          description: Whether this repository accepts incoming requests
          example: true
        storage:
          $ref: '#/components/schemas/HostedStorageAttributes'
        cleanup:
          $ref: '#/components/schemas/CleanupPolicyAttributes'
    BowerAttributes:
      title: BowerAttributes
      required:
      - rewritePackageUrls
      type: object
      properties:
        rewritePackageUrls:
          type: boolean
          description: Whether to force Bower to retrieve packages through this proxy repository
          example: true
    BowerProxyRepositoryApiRequest:
      title: BowerProxyRepositoryApiRequest
      required:
      - name
      - online
      - storage
      - proxy
      - negativeCache
      - httpClient
      type: object
      properties:
        name:
          pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
          type: string
          description: A unique identifier for this repository
          example: internal
        online:
          type: boolean
          description: Whether this repository accepts incoming requests
          example: true
        storage:
          $ref: '#/components/schemas/StorageAttributes'
        cleanup:
          $ref: '#/components/schemas/CleanupPolicyAttributes'
        proxy:
          $ref: '#/components/schemas/ProxyAttributes'
        negativeCache:
          $ref: '#/components/schemas/NegativeCacheAttributes'
        httpClient:
          $ref: '#/components/schemas/HttpClientAttributes'
        routingRule:
          type: string
        bower:
          $ref: '#/components/schemas/BowerAttributes'
    DockerAttributes:
      title: DockerAttributes
      required:
      - v1Enabled
      - forceBasicAuth
      type: object
      properties:
        v1Enabled:
          type: boolean
          description: Whether to allow clients to use the V1 API to interact with this repository
          example: false
        forceBasicAuth:
          type: boolean
          description: Whether to force authentication (Docker Bearer Token Realm required if false)
          example: true
        httpPort:
          type: integer
          description: Create an HTTP connector at specified port
          format: int32
          example: 8082
        httpsPort:
          type: integer
          description: Create an HTTPS connector at specified port
          format: int32
          example: 8083
    DockerGroupRepositoryApiRequest:
      title: DockerGroupRepositoryApiRequest
      required:
      - name
      - online
      - storage
      - group
      - docker
      type: object
      properties:
        name:
          pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
          type: string
          description: A unique identifier for this repository
          example: internal
        online:
          type: boolean
          description: Whether this repository accepts incoming requests
          example: true
        storage:
          $ref: '#/components/schemas/StorageAttributes'
        group:
          $ref: '#/components/schemas/GroupAttributes'
        docker:
          $ref: '#/components/schemas/DockerAttributes'
    DockerHostedRepositoryApiRequest:
      title: DockerHostedRepositoryApiRequest
      required:
      - name
      - online
      - storage
      - docker
      type: object
      properties:
        name:
          pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
          type: string
          description: A unique identifier for this repository
          example: internal
        online:
          type: boolean
          description: Whether this repository accepts incoming requests
          example: true
        storage:
          $ref: '#/components/schemas/HostedStorageAttributes'
        cleanup:
          $ref: '#/components/schemas/CleanupPolicyAttributes'
        docker:
          $ref: '#/components/schemas/DockerAttributes'
    DockerProxyAttributes:
      title: DockerProxyAttributes
      type: object
      properties:
        indexType:
          $ref: '#/components/schemas/IndexType'
        indexUrl:
          type: string
          description: Url of Docker Index to use
    DockerProxyRepositoryApiRequest:
      title: DockerProxyRepositoryApiRequest
      required:
      - name
      - online
      - storage
      - proxy
      - negativeCache
      - httpClient
      - docker
      - dockerProxy
      type: object
      properties:
        name:
          pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
          type: string
          description: A unique identifier for this repository
          example: internal
        online:
          type: boolean
          description: Whether this repository accepts incoming requests
          example: true
        storage:
          $ref: '#/components/schemas/StorageAttributes'
        cleanup:
          $ref: '#/components/schemas/CleanupPolicyAttributes'
        proxy:
          $ref: '#/components/schemas/ProxyAttributes'
        negativeCache:
          $ref: '#/components/schemas/NegativeCacheAttributes'
        httpClient:
          $ref: '#/components/schemas/HttpClientAttributes'
        routingRule:
          type: string
        docker:
          $ref: '#/components/schemas/DockerAttributes'
        dockerProxy:
          $ref: '#/components/schemas/DockerProxyAttributes'
    GitLfsHostedRepositoryApiRequest:
      title: GitLfsHostedRepositoryApiRequest
      required:
      - name
      - online
      - storage
      type: object
      properties:
        name:
          pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
          type: string
          description: A unique identifier for this repository
          example: internal
        online:
          type: boolean
          description: Whether this repository accepts incoming requests
          example: true
        storage:
          $ref: '#/components/schemas/HostedStorageAttributes'
        cleanup:
          $ref: '#/components/schemas/CleanupPolicyAttributes'
    YumAttributes:
      title: YumAttributes
      required:
      - repodataDepth
      type: object
      properties:
        repodataDepth:
          type: integer
          description: Specifies the repository depth where repodata folder(s) are created
          format: int32
          example: 5
        deployPolicy:
          $ref: '#/components/schemas/DeployPolicy'
    YumHostedRepositoryApiRequest:
      title: YumHostedRepositoryApiRequest
      required:
      - name
      - online
      - storage
      - yum
      type: object
      properties:
        name:
          pattern: ^[a-zA-Z0-9\-]{1}[a-zA-Z0-9_\-\.]*$
          type: string
          description: A unique identifier for this repository
          example: internal
        online:
          type: boolean
          description: Whether this repository accepts incoming requests
          example: true
        storage:
          $ref: '#/components/schemas/HostedStorageAttributes'
        cleanup:
          $ref: '#/components/schemas/CleanupPolicyAttributes'
        yum:
          $ref: '#/components/schemas/YumAttributes'
    Action:
      title: Action
      enum:
      - READ
      - BROWSE
      - EDIT
      - ADD
      - DELETE
      - RUN
      - ASSOCIATE
      - DISASSOCIATE
      - ALL
      type: string
    AuthenticationType:
      title: AuthenticationType
      enum:
      - USER
      - PKI
      type: string
      description: Authentication method
    AuthScheme:
      title: AuthScheme
      enum:
      - NONE
      - SIMPLE
      - DIGEST_MD5
      - CRAM_MD5
      type: string
      description: Authentication scheme used for connecting to LDAP server
    DeployPolicy:
      title: DeployPolicy
      enum:
      - PERMISSIVE
      - STRICT
      type: string
      description: Validate that all paths are RPMs or yum metadata
      example: STRICT
    direction:
      title: direction
      enum:
      - asc
      - desc
      type: string
    EncryptionType:
      title: EncryptionType
      enum:
      - s3ManagedEncryption
      - kmsManagedEncryption
      type: string
      description: The type of S3 server side encryption to use.
    GroupType:
      title: GroupType
      enum:
      - static
      - dynamic
      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.'
    IndexType:
      title: IndexType
      enum:
      - HUB
      - REGISTRY
      - CUSTOM
      type: string
      description: Type of Docker Index
      example: HUB
    LayoutPolicy:
      title: LayoutPolicy
      enum:
      - strict
      - permissive
      type: string
      description: Validate that all paths are maven artifact or metadata paths
      example: strict
    Mode:
      title: Mode
      enum:
      - BLOCK
      - ALLOW
      type: string
      description: Determines what should be done with requests when their path matches any of the matchers
    Protocol:
      title: Protocol
      enum:
      - ldap
      - ldaps
      type: string
      description: LDAP server connection Protocol to use
    sort:
      title: sort
      enum:
      - group
      - name
      - version
      - repository
      type: string
    Status:
      title: Status
      enum:
      - active
      - locked
      - disabled
      - changepassword
      type: string
      description: The user's status, e.g. active or disabled.
    Type:
      title: Type
      enum:
      - hosted
      - proxy
      - group
      type: string
      description: Controls if deployments of and updates to artifacts are allowed
      example: hosted
    Type1:
      title: Type1
      enum:
      - csel
      - jexl
      type: string
      description: The type of content selector the backend is using
    Type2:
      title: Type2
      enum:
      - username
      - ntlm
      type: string
      description: Authentication type
    VersionPolicy:
      title: VersionPolicy
      enum:
      - release
      - snapshot
      - mixed
      type: string
      description: What type of artifacts does this repository store?
      example: mixed
    WritePolicy:
      title: WritePolicy
      enum:
      - allow
      - allow_once
      - deny
      type: string
      description: Controls if deployments of and updates to assets are allowed
      example: allow_once
    Content-Type:
      title: Content-Type
      enum:
      - application/json
      type: string
    direction1:
      title: direction1
      enum:
      - asc
      - desc
      type: string
      description: The direction to sort records in, defaults to ascending ('asc') for all sort fields, except version, which defaults to descending ('desc')
    sort1:
      title: sort1
      enum:
      - group
      - name
      - version
      - repository
      type: string
      description: The field to sort the results against, if left empty, a sort based on match weight will be used.
    sort2:
      title: sort2
      enum:
      - group
      - name
      - version
      - repository
      type: string
      description: The field to sort the results against, if left empty and more than 1 result is returned, the request will fail.
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
