github.com/goharbor/go-client@v0.210.0/api/v2.0/swagger.yaml (about)

     1  swagger: '2.0'
     2  info:
     3    title: Harbor API
     4    description: These APIs provide services for manipulating Harbor project.
     5    version: '2.0'
     6  host: localhost
     7  schemes:
     8    - http
     9    - https
    10  basePath: /api/v2.0
    11  produces:
    12    - application/json
    13  consumes:
    14    - application/json
    15  securityDefinitions:
    16    basic:
    17      type: basic
    18  security:
    19    - basic: []
    20    - {}
    21  paths:
    22    /health:
    23      get:
    24        summary: Check the status of Harbor components
    25        description: Check the status of Harbor components. This path does not require authentication.
    26        tags:
    27          - health
    28        operationId: getHealth
    29        parameters:
    30          - $ref: '#/parameters/requestId'
    31        responses:
    32          '200':
    33            description: The health status of Harbor components
    34            schema:
    35              $ref: '#/definitions/OverallHealthStatus'
    36          '500':
    37            $ref: '#/responses/500'
    38    /search:
    39      get:
    40        summary: 'Search for projects and repositories'
    41        description: |-
    42          The Search endpoint returns information about the projects and repositories offered at public status or related to the current logged in user. The response includes the project and repository list in a proper display order.
    43        parameters:
    44          - $ref: '#/parameters/requestId'
    45          - name: q
    46            in: query
    47            description: Search parameter for project and repository name.
    48            required: true
    49            type: string
    50        tags:
    51          - search
    52        operationId: search
    53        responses:
    54          '200':
    55            description: An array of search results
    56            schema:
    57              $ref: '#/definitions/Search'
    58          '500':
    59            $ref: '#/responses/500'
    60    /statistics:
    61      get:
    62        summary: Get the statistic information about the projects and repositories
    63        description: Get the statistic information about the projects and repositories
    64        tags:
    65          - statistic
    66        operationId: getStatistic
    67        parameters:
    68          - $ref: '#/parameters/requestId'
    69        responses:
    70          '200':
    71            description: The statistic information
    72            schema:
    73              $ref: '#/definitions/Statistic'
    74          '401':
    75            $ref: '#/responses/401'
    76          '500':
    77            $ref: '#/responses/500'
    78    /ldap/ping:
    79      post:
    80        operationId: pingLdap
    81        summary: Ping available ldap service.
    82        description: |
    83          This endpoint ping the available ldap service for test related configuration parameters.
    84        parameters:
    85          - $ref: '#/parameters/requestId'
    86          - name: ldapconf
    87            in: body
    88            description: 'ldap configuration. support input ldap service configuration. If it is a empty request, will load current configuration from the system.'
    89            required: false
    90            schema:
    91              $ref: '#/definitions/LdapConf'
    92        tags:
    93          - Ldap
    94        responses:
    95          '200':
    96            description: Ping ldap service successfully.
    97            schema:
    98              $ref: '#/definitions/LdapPingResult'
    99          '400':
   100            $ref: '#/responses/400'
   101          '401':
   102            $ref: '#/responses/401'
   103          '403':
   104            $ref: '#/responses/403'
   105          '500':
   106            $ref: '#/responses/500'
   107    /ldap/users/search:
   108      get:
   109        operationId: searchLdapUser
   110        summary: Search available ldap users.
   111        description: |
   112          This endpoint searches the available ldap users based on related configuration parameters. Support searched by input ladp configuration, load configuration from the system and specific filter.
   113        parameters:
   114          - $ref: '#/parameters/requestId'
   115          - name: username
   116            in: query
   117            type: string
   118            required: false
   119            description: Registered user ID
   120        tags:
   121          - Ldap
   122        responses:
   123          '200':
   124            description: Search ldap users successfully.
   125            schema:
   126              type: array
   127              items:
   128                $ref: '#/definitions/LdapUser'
   129          '400':
   130            $ref: '#/responses/400'
   131          '401':
   132            $ref: '#/responses/401'
   133          '403':
   134            $ref: '#/responses/403'
   135          '500':
   136            $ref: '#/responses/500'
   137    /ldap/users/import:
   138      post:
   139        operationId: importLdapUser
   140        summary: Import selected available ldap users.
   141        description: |
   142          This endpoint adds the selected available ldap users to harbor based on related configuration parameters from the system. System will try to guess the user email address and realname, add to harbor user information. If have errors when import user, will return the list of importing failed uid and the failed reason.
   143        parameters:
   144          - $ref: '#/parameters/requestId'
   145          - name: uid_list
   146            in: body
   147            description: The uid listed for importing. This list will check users validity of ldap service based on configuration from the system.
   148            required: true
   149            schema:
   150              $ref: '#/definitions/LdapImportUsers'
   151        tags:
   152          - Ldap
   153        responses:
   154          '200':
   155            description: Add ldap users successfully.
   156          '400':
   157            $ref: '#/responses/400'
   158          '401':
   159            $ref: '#/responses/401'
   160          '403':
   161            $ref: '#/responses/403'
   162          '404':
   163            description: Failed import some users.
   164            schema:
   165              type: array
   166              items:
   167                $ref: '#/definitions/LdapFailedImportUser'
   168          '500':
   169            $ref: '#/responses/500'
   170    /ldap/groups/search:
   171      get:
   172        summary: Search available ldap groups.
   173        operationId: searchLdapGroup
   174        description: |
   175          This endpoint searches the available ldap groups based on related configuration parameters. support to search by groupname or groupdn.
   176        parameters:
   177          - $ref: '#/parameters/requestId'
   178          - name: groupname
   179            in: query
   180            type: string
   181            required: false
   182            description: Ldap group name
   183          - name: groupdn
   184            in: query
   185            type: string
   186            required: false
   187            description: The LDAP group DN
   188        tags:
   189          - Ldap
   190        responses:
   191          '200':
   192            description: Search ldap group successfully.
   193            schema:
   194              type: array
   195              items:
   196                $ref: '#/definitions/UserGroup'
   197          '400':
   198            $ref: '#/responses/400'
   199          '401':
   200            $ref: '#/responses/401'
   201          '403':
   202            $ref: '#/responses/403'
   203          '500':
   204            $ref: '#/responses/500'
   205    /internalconfig:
   206      get:
   207        summary: Get internal configurations.
   208        operationId: getInternalconfig
   209        description: |
   210          This endpoint is for retrieving system configurations that only provides for internal api call.
   211        tags:
   212          - configure
   213        parameters:
   214          - $ref: '#/parameters/requestId'
   215        responses:
   216          '200':
   217            description: Get system configurations successfully. The response body is a map.
   218            schema:
   219              $ref: '#/definitions/InternalConfigurationsResponse'
   220          '401':
   221            description: User need to log in first.
   222          '403':
   223            description: User does not have permission of admin role.
   224          '500':
   225            description: Unexpected internal errors.
   226    /configurations:
   227      get:
   228        summary: Get system configurations.
   229        operationId: getConfigurations
   230        description: |
   231          This endpoint is for retrieving system configurations that only provides for admin user.
   232        tags:
   233          - configure
   234        parameters:
   235          - $ref: '#/parameters/requestId'
   236        responses:
   237          '200':
   238            description: Get system configurations successfully. The response body is a map.
   239            schema:
   240              $ref: '#/definitions/ConfigurationsResponse'
   241          '401':
   242            description: User need to log in first.
   243          '403':
   244            description: User does not have permission of admin role.
   245          '500':
   246            description: Unexpected internal errors.
   247      put:
   248        summary: Modify system configurations.
   249        operationId: updateConfigurations
   250        description: |
   251          This endpoint is for modifying system configurations that only provides for admin user.
   252        tags:
   253          - configure
   254        parameters:
   255          - $ref: '#/parameters/requestId'
   256          - name: configurations
   257            in: body
   258            required: true
   259            schema:
   260              $ref: '#/definitions/Configurations'
   261            description: 'The configuration map can contain a subset of the attributes of the schema, which are to be updated.'
   262        responses:
   263          '200':
   264            description: Modify system configurations successfully.
   265          '401':
   266            description: User need to log in first.
   267          '403':
   268            description: User does not have permission of admin role.
   269          '500':
   270            description: Unexpected internal errors.
   271    /projects:
   272      get:
   273        summary: List projects
   274        description: This endpoint returns projects created by Harbor.
   275        tags:
   276          - project
   277        operationId: listProjects
   278        parameters:
   279          - $ref: '#/parameters/requestId'
   280          - $ref: '#/parameters/query'
   281          - $ref: '#/parameters/page'
   282          - $ref: '#/parameters/pageSize'
   283          - $ref: '#/parameters/sort'
   284          - name: name
   285            in: query
   286            description: The name of project.
   287            required: false
   288            type: string
   289          - name: public
   290            in: query
   291            description: The project is public or private.
   292            required: false
   293            type: boolean
   294          - name: owner
   295            in: query
   296            description: The name of project owner.
   297            required: false
   298            type: string
   299          - name: with_detail
   300            in: query
   301            description: Bool value indicating whether return detailed information of the project
   302            type: boolean
   303            required: false
   304            default: true
   305        responses:
   306          '200':
   307            description: Return all matched projects.
   308            schema:
   309              type: array
   310              items:
   311                $ref: '#/definitions/Project'
   312            headers:
   313              X-Total-Count:
   314                description: The total count of projects
   315                type: integer
   316              Link:
   317                description: Link refers to the previous page and next page
   318                type: string
   319          '401':
   320            $ref: '#/responses/401'
   321          '500':
   322            $ref: '#/responses/500'
   323      head:
   324        summary: Check if the project name user provided already exists.
   325        description: This endpoint is used to check if the project name provided already exist.
   326        tags:
   327          - project
   328        operationId: headProject
   329        parameters:
   330          - $ref: '#/parameters/requestId'
   331          - name: project_name
   332            in: query
   333            description: Project name for checking exists.
   334            required: true
   335            type: string
   336        responses:
   337          '200':
   338            $ref: '#/responses/200'
   339          '404':
   340            $ref: '#/responses/404'
   341          '500':
   342            $ref: '#/responses/500'
   343      post:
   344        summary: Create a new project.
   345        description: This endpoint is for user to create a new project.
   346        tags:
   347          - project
   348        operationId: createProject
   349        parameters:
   350          - $ref: '#/parameters/requestId'
   351          - $ref: '#/parameters/resourceNameInLocation'
   352          - name: project
   353            in: body
   354            description: New created project.
   355            required: true
   356            schema:
   357              $ref: '#/definitions/ProjectReq'
   358        responses:
   359          '201':
   360            $ref: '#/responses/201'
   361          '400':
   362            $ref: '#/responses/400'
   363          '401':
   364            $ref: '#/responses/401'
   365          '409':
   366            $ref: '#/responses/409'
   367          '500':
   368            $ref: '#/responses/500'
   369    '/projects/{project_name_or_id}':
   370      get:
   371        summary: Return specific project detail information
   372        description: This endpoint returns specific project information by project ID.
   373        tags:
   374          - project
   375        operationId: getProject
   376        parameters:
   377          - $ref: '#/parameters/requestId'
   378          - $ref: '#/parameters/isResourceName'
   379          - $ref: '#/parameters/projectNameOrId'
   380        responses:
   381          '200':
   382            description: Return matched project information.
   383            schema:
   384              $ref: '#/definitions/Project'
   385          '401':
   386            $ref: '#/responses/401'
   387          '500':
   388            $ref: '#/responses/500'
   389      put:
   390        summary: Update properties for a selected project.
   391        description: This endpoint is aimed to update the properties of a project.
   392        tags:
   393          - project
   394        operationId: updateProject
   395        parameters:
   396          - $ref: '#/parameters/requestId'
   397          - $ref: '#/parameters/isResourceName'
   398          - $ref: '#/parameters/projectNameOrId'
   399          - name: project
   400            in: body
   401            required: true
   402            schema:
   403              $ref: '#/definitions/ProjectReq'
   404            description: Updates of project.
   405        responses:
   406          '200':
   407            $ref: '#/responses/200'
   408          '400':
   409            $ref: '#/responses/400'
   410          '401':
   411            $ref: '#/responses/401'
   412          '403':
   413            $ref: '#/responses/403'
   414          '404':
   415            $ref: '#/responses/404'
   416          '500':
   417            $ref: '#/responses/500'
   418      delete:
   419        summary: Delete project by projectID
   420        description: This endpoint is aimed to delete project by project ID.
   421        tags:
   422          - project
   423        operationId: deleteProject
   424        parameters:
   425          - $ref: '#/parameters/requestId'
   426          - $ref: '#/parameters/isResourceName'
   427          - $ref: '#/parameters/projectNameOrId'
   428        responses:
   429          '200':
   430            $ref: '#/responses/200'
   431          '400':
   432            $ref: '#/responses/400'
   433          '403':
   434            $ref: '#/responses/403'
   435          '404':
   436            $ref: '#/responses/404'
   437          '412':
   438            $ref: '#/responses/412'
   439          '500':
   440            $ref: '#/responses/500'
   441    /projects/{project_name_or_id}/_deletable:
   442      get:
   443        summary: Get the deletable status of the project
   444        description: Get the deletable status of the project
   445        tags:
   446          - project
   447        operationId: getProjectDeletable
   448        parameters:
   449          - $ref: '#/parameters/requestId'
   450          - $ref: '#/parameters/isResourceName'
   451          - $ref: '#/parameters/projectNameOrId'
   452        responses:
   453          '200':
   454            description: Return deletable status of the project.
   455            schema:
   456              $ref: '#/definitions/ProjectDeletable'
   457          '401':
   458            $ref: '#/responses/401'
   459          '403':
   460            $ref: '#/responses/403'
   461          '404':
   462            $ref: '#/responses/404'
   463          '500':
   464            $ref: '#/responses/500'
   465    '/projects/{project_name_or_id}/summary':
   466      get:
   467        summary: Get summary of the project.
   468        description: Get summary of the project.
   469        tags:
   470          - project
   471        operationId: getProjectSummary
   472        parameters:
   473          - $ref: '#/parameters/requestId'
   474          - $ref: '#/parameters/isResourceName'
   475          - $ref: '#/parameters/projectNameOrId'
   476        responses:
   477          '200':
   478            description: Get summary of the project successfully.
   479            schema:
   480              $ref: '#/definitions/ProjectSummary'
   481          '400':
   482            $ref: '#/responses/400'
   483          '401':
   484            $ref: '#/responses/401'
   485          '403':
   486            $ref: '#/responses/403'
   487          '404':
   488            $ref: '#/responses/404'
   489          '500':
   490            $ref: '#/responses/500'
   491    '/projects/{project_name_or_id}/members':
   492      get:
   493        summary: Get all project member information
   494        description: Get all project member information
   495        operationId: listProjectMembers
   496        parameters:
   497          - $ref: '#/parameters/requestId'
   498          - $ref: '#/parameters/isResourceName'
   499          - $ref: '#/parameters/projectNameOrId'
   500          - $ref: '#/parameters/page'
   501          - $ref: '#/parameters/pageSize'
   502          - name: entityname
   503            in: query
   504            type: string
   505            description: The entity name to search.
   506        tags:
   507          - member
   508        responses:
   509          '200':
   510            description: Get project members successfully.
   511            headers:
   512              X-Total-Count:
   513                description: The total count of members
   514                type: integer
   515              Link:
   516                description: Link refers to the previous page and next page
   517                type: string
   518            schema:
   519              type: array
   520              items:
   521                $ref: '#/definitions/ProjectMemberEntity'
   522  
   523          '400':
   524            $ref: '#/responses/400'
   525          '401':
   526            $ref: '#/responses/401'
   527          '403':
   528            $ref: '#/responses/403'
   529          '404':
   530            $ref: '#/responses/404'
   531          '500':
   532            $ref: '#/responses/500'
   533      post:
   534        summary: Create project member
   535        operationId: createProjectMember
   536        description: 'Create project member relationship, the member can be one of the user_member and group_member,  The user_member need to specify user_id or username. If the user already exist in harbor DB, specify the user_id,  If does not exist in harbor DB, it will SearchAndOnBoard the user. The group_member need to specify id or ldap_group_dn. If the group already exist in harbor DB. specify the user group''s id,  If does not exist, it will SearchAndOnBoard the group. '
   537        tags:
   538          - member
   539        parameters:
   540          - $ref: '#/parameters/requestId'
   541          - $ref: '#/parameters/isResourceName'
   542          - $ref: '#/parameters/projectNameOrId'
   543          - name: project_member
   544            in: body
   545            schema:
   546              $ref: '#/definitions/ProjectMember'
   547        responses:
   548          '201':
   549            description: Project member created successfully.
   550            headers:
   551              Location:
   552                type: string
   553                description: The URL of the created resource
   554          '400':
   555            $ref: '#/responses/400'
   556          '401':
   557            $ref: '#/responses/401'
   558          '403':
   559            $ref: '#/responses/403'
   560          '409':
   561            $ref: '#/responses/409'
   562          '500':
   563            $ref: '#/responses/500'
   564    '/projects/{project_name_or_id}/members/{mid}':
   565      get:
   566        summary: Get the project member information
   567        description: Get the project member information
   568        operationId: getProjectMember
   569        tags:
   570          - member
   571        parameters:
   572          - $ref: '#/parameters/requestId'
   573          - $ref: '#/parameters/isResourceName'
   574          - $ref: '#/parameters/projectNameOrId'
   575          - name: mid
   576            in: path
   577            type: integer
   578            format: int64
   579            required: true
   580            description: The member ID
   581        responses:
   582          '200':
   583            description: Project member retrieved successfully.
   584            schema:
   585              $ref: '#/definitions/ProjectMemberEntity'
   586          '400':
   587            $ref: '#/responses/400'
   588          '401':
   589            $ref: '#/responses/401'
   590          '403':
   591            $ref: '#/responses/403'
   592          '404':
   593            $ref: '#/responses/404'
   594          '500':
   595            $ref: '#/responses/500'
   596      put:
   597        summary: Update project member
   598        description: Update project member relationship
   599        operationId: updateProjectMember
   600        tags:
   601          - member
   602        parameters:
   603          - $ref: '#/parameters/requestId'
   604          - $ref: '#/parameters/isResourceName'
   605          - $ref: '#/parameters/projectNameOrId'
   606          - name: mid
   607            in: path
   608            type: integer
   609            format: int64
   610            required: true
   611            description: Member ID.
   612          - name: role
   613            in: body
   614            schema:
   615              $ref: '#/definitions/RoleRequest'
   616        responses:
   617          '200':
   618            $ref: '#/responses/200'
   619          '400':
   620            $ref: '#/responses/400'
   621          '401':
   622            $ref: '#/responses/401'
   623          '403':
   624            $ref: '#/responses/403'
   625          '404':
   626            $ref: '#/responses/404'
   627          '500':
   628            $ref: '#/responses/500'
   629      delete:
   630        summary: Delete project member
   631        operationId: deleteProjectMember
   632        tags:
   633          - member
   634        parameters:
   635          - $ref: '#/parameters/requestId'
   636          - $ref: '#/parameters/isResourceName'
   637          - $ref: '#/parameters/projectNameOrId'
   638          - name: mid
   639            in: path
   640            type: integer
   641            format: int64
   642            required: true
   643            description: Member ID.
   644        responses:
   645          '200':
   646            $ref: '#/responses/200'
   647          '400':
   648            $ref: '#/responses/400'
   649          '401':
   650            $ref: '#/responses/401'
   651          '403':
   652            $ref: '#/responses/403'
   653          '500':
   654            $ref: '#/responses/500'
   655    '/projects/{project_name_or_id}/metadatas/':
   656      get:
   657        summary: Get the metadata of the specific project
   658        description: Get the metadata of the specific project
   659        operationId: listProjectMetadatas
   660        parameters:
   661          - $ref: '#/parameters/requestId'
   662          - $ref: '#/parameters/isResourceName'
   663          - $ref: '#/parameters/projectNameOrId'
   664        tags:
   665          - projectMetadata
   666        responses:
   667          '200':
   668            description: Success
   669            schema:
   670              type: object
   671              additionalProperties:
   672                type: string
   673          '400':
   674            $ref: '#/responses/400'
   675          '401':
   676            $ref: '#/responses/401'
   677          '403':
   678            $ref: '#/responses/403'
   679          '404':
   680            $ref: '#/responses/404'
   681          '500':
   682            $ref: '#/responses/500'
   683      post:
   684        summary: Add metadata for the specific project
   685        operationId: addProjectMetadatas
   686        description: Add metadata for the specific project
   687        tags:
   688          - projectMetadata
   689        parameters:
   690          - $ref: '#/parameters/requestId'
   691          - $ref: '#/parameters/isResourceName'
   692          - $ref: '#/parameters/projectNameOrId'
   693          - name: metadata
   694            in: body
   695            schema:
   696              type: object
   697              additionalProperties:
   698                type: string
   699        responses:
   700          '200':
   701            $ref: '#/responses/200'
   702          '400':
   703            $ref: '#/responses/400'
   704          '401':
   705            $ref: '#/responses/401'
   706          '403':
   707            $ref: '#/responses/403'
   708          '404':
   709            $ref: '#/responses/404'
   710          '409':
   711            $ref: '#/responses/409'
   712          '500':
   713            $ref: '#/responses/500'
   714    '/projects/{project_name_or_id}/metadatas/{meta_name}':
   715      get:
   716        summary: Get the specific metadata of the specific project
   717        description: Get the specific metadata of the specific project
   718        operationId: getProjectMetadata
   719        parameters:
   720          - $ref: '#/parameters/requestId'
   721          - $ref: '#/parameters/isResourceName'
   722          - $ref: '#/parameters/projectNameOrId'
   723          - name: meta_name
   724            in: path
   725            description: The name of metadata.
   726            required: true
   727            type: string
   728        tags:
   729          - projectMetadata
   730        responses:
   731          '200':
   732            description: Success
   733            schema:
   734              type: object
   735              additionalProperties:
   736                type: string
   737          '400':
   738            $ref: '#/responses/400'
   739          '401':
   740            $ref: '#/responses/401'
   741          '403':
   742            $ref: '#/responses/403'
   743          '404':
   744            $ref: '#/responses/404'
   745          '500':
   746            $ref: '#/responses/500'
   747      put:
   748        summary: Update the specific metadata for the specific project
   749        description: Update the specific metadata for the specific project
   750        operationId: updateProjectMetadata
   751        tags:
   752          - projectMetadata
   753        parameters:
   754          - $ref: '#/parameters/requestId'
   755          - $ref: '#/parameters/isResourceName'
   756          - $ref: '#/parameters/projectNameOrId'
   757          - name: meta_name
   758            in: path
   759            description: The name of metadata.
   760            required: true
   761            type: string
   762          - name: metadata
   763            in: body
   764            schema:
   765              type: object
   766              additionalProperties:
   767                type: string
   768        responses:
   769          '200':
   770            $ref: '#/responses/200'
   771          '400':
   772            $ref: '#/responses/400'
   773          '401':
   774            $ref: '#/responses/401'
   775          '403':
   776            $ref: '#/responses/403'
   777          '404':
   778            $ref: '#/responses/404'
   779          '409':
   780            $ref: '#/responses/409'
   781          '500':
   782            $ref: '#/responses/500'
   783      delete:
   784        summary: Delete the specific metadata for the specific project
   785        description: Delete the specific metadata for the specific project
   786        operationId: deleteProjectMetadata
   787        tags:
   788          - projectMetadata
   789        parameters:
   790          - $ref: '#/parameters/requestId'
   791          - $ref: '#/parameters/isResourceName'
   792          - $ref: '#/parameters/projectNameOrId'
   793          - name: meta_name
   794            in: path
   795            description: The name of metadata.
   796            required: true
   797            type: string
   798        responses:
   799          '200':
   800            $ref: '#/responses/200'
   801          '400':
   802            $ref: '#/responses/400'
   803          '401':
   804            $ref: '#/responses/401'
   805          '403':
   806            $ref: '#/responses/403'
   807          '404':
   808            $ref: '#/responses/404'
   809          '409':
   810            $ref: '#/responses/409'
   811          '500':
   812            $ref: '#/responses/500'
   813    /repositories:
   814      get:
   815        summary: List all authorized repositories
   816        description: List all authorized repositories
   817        tags:
   818          - repository
   819        operationId: listAllRepositories
   820        parameters:
   821          - $ref: '#/parameters/requestId'
   822          - $ref: '#/parameters/query'
   823          - $ref: '#/parameters/sort'
   824          - $ref: '#/parameters/page'
   825          - $ref: '#/parameters/pageSize'
   826        responses:
   827          '200':
   828            description: Success
   829            headers:
   830              X-Total-Count:
   831                description: The total count of repositories
   832                type: integer
   833              Link:
   834                description: Link refers to the previous page and next page
   835                type: string
   836            schema:
   837              type: array
   838              items:
   839                $ref: '#/definitions/Repository'
   840          '400':
   841            $ref: '#/responses/400'
   842          '500':
   843            $ref: '#/responses/500'
   844    /projects/{project_name}/repositories:
   845      get:
   846        summary: List repositories
   847        description: List repositories of the specified project
   848        tags:
   849          - repository
   850        operationId: listRepositories
   851        parameters:
   852          - $ref: '#/parameters/requestId'
   853          - $ref: '#/parameters/projectName'
   854          - $ref: '#/parameters/query'
   855          - $ref: '#/parameters/sort'
   856          - $ref: '#/parameters/page'
   857          - $ref: '#/parameters/pageSize'
   858        responses:
   859          '200':
   860            description: Success
   861            headers:
   862              X-Total-Count:
   863                description: The total count of repositories
   864                type: integer
   865              Link:
   866                description: Link refers to the previous page and next page
   867                type: string
   868            schema:
   869              type: array
   870              items:
   871                $ref: '#/definitions/Repository'
   872          '400':
   873            $ref: '#/responses/400'
   874          '401':
   875            $ref: '#/responses/401'
   876          '403':
   877            $ref: '#/responses/403'
   878          '404':
   879            $ref: '#/responses/404'
   880          '500':
   881            $ref: '#/responses/500'
   882    /projects/{project_name}/repositories/{repository_name}:
   883      get:
   884        summary: Get repository
   885        description: Get the repository specified by name
   886        tags:
   887          - repository
   888        operationId: getRepository
   889        parameters:
   890          - $ref: '#/parameters/requestId'
   891          - $ref: '#/parameters/projectName'
   892          - $ref: '#/parameters/repositoryName'
   893        responses:
   894          '200':
   895            description: Success
   896            schema:
   897              $ref: '#/definitions/Repository'
   898          '400':
   899            $ref: '#/responses/400'
   900          '401':
   901            $ref: '#/responses/401'
   902          '403':
   903            $ref: '#/responses/403'
   904          '404':
   905            $ref: '#/responses/404'
   906          '500':
   907            $ref: '#/responses/500'
   908      put:
   909        summary: Update repository
   910        description: Update the repository specified by name
   911        tags:
   912          - repository
   913        operationId: updateRepository
   914        parameters:
   915          - $ref: '#/parameters/requestId'
   916          - $ref: '#/parameters/projectName'
   917          - $ref: '#/parameters/repositoryName'
   918          - name: repository
   919            in: body
   920            description: The JSON object of repository.
   921            required: true
   922            schema:
   923              $ref: '#/definitions/Repository'
   924        responses:
   925          '200':
   926            $ref: '#/responses/200'
   927          '400':
   928            $ref: '#/responses/400'
   929          '401':
   930            $ref: '#/responses/401'
   931          '403':
   932            $ref: '#/responses/403'
   933          '404':
   934            $ref: '#/responses/404'
   935          '500':
   936            $ref: '#/responses/500'
   937      delete:
   938        summary: Delete repository
   939        description: Delete the repository specified by name
   940        tags:
   941          - repository
   942        operationId: deleteRepository
   943        parameters:
   944          - $ref: '#/parameters/requestId'
   945          - $ref: '#/parameters/projectName'
   946          - $ref: '#/parameters/repositoryName'
   947        responses:
   948          '200':
   949            $ref: '#/responses/200'
   950          '400':
   951            $ref: '#/responses/400'
   952          '401':
   953            $ref: '#/responses/401'
   954          '403':
   955            $ref: '#/responses/403'
   956          '404':
   957            $ref: '#/responses/404'
   958          '500':
   959            $ref: '#/responses/500'
   960    /projects/{project_name}/repositories/{repository_name}/artifacts:
   961      get:
   962        summary: List artifacts
   963        description: List artifacts under the specific project and repository. Except the basic properties, the other supported queries in "q" includes "tags=*" to list only tagged artifacts, "tags=nil" to list only untagged artifacts, "tags=~v" to list artifacts whose tag fuzzy matches "v", "tags=v" to list artifact whose tag exactly matches "v", "labels=(id1, id2)" to list artifacts that both labels with id1 and id2 are added to
   964        tags:
   965          - artifact
   966        operationId: listArtifacts
   967        parameters:
   968          - $ref: '#/parameters/requestId'
   969          - $ref: '#/parameters/projectName'
   970          - $ref: '#/parameters/repositoryName'
   971          - $ref: '#/parameters/query'
   972          - $ref: '#/parameters/sort'
   973          - $ref: '#/parameters/page'
   974          - $ref: '#/parameters/pageSize'
   975          - $ref: '#/parameters/acceptVulnerabilities'
   976          - name: with_tag
   977            in: query
   978            description: Specify whether the tags are included inside the returning artifacts
   979            type: boolean
   980            required: false
   981            default: true
   982          - name: with_label
   983            in: query
   984            description: Specify whether the labels are included inside the returning artifacts
   985            type: boolean
   986            required: false
   987            default: false
   988          - name: with_scan_overview
   989            in: query
   990            description: Specify whether the scan overview is included inside the returning artifacts
   991            type: boolean
   992            required: false
   993            default: false
   994          - name: with_signature
   995            in: query
   996            description: Specify whether the signature is included inside the tags of the returning artifacts. Only works when setting "with_tag=true"
   997            type: boolean
   998            required: false
   999            default: false
  1000          - name: with_immutable_status
  1001            in: query
  1002            description: Specify whether the immutable status is included inside the tags of the returning artifacts. Only works when setting "with_immutable_status=true"
  1003            type: boolean
  1004            required: false
  1005            default: false
  1006          - name: with_accessory
  1007            in: query
  1008            description: Specify whether the accessories are included of the returning artifacts. Only works when setting "with_accessory=true"
  1009            type: boolean
  1010            required: false
  1011            default: false
  1012        responses:
  1013          '200':
  1014            description: Success
  1015            headers:
  1016              X-Total-Count:
  1017                description: The total count of artifacts
  1018                type: integer
  1019              Link:
  1020                description: Link refers to the previous page and next page
  1021                type: string
  1022            schema:
  1023              type: array
  1024              items:
  1025                $ref: '#/definitions/Artifact'
  1026          '400':
  1027            $ref: '#/responses/400'
  1028          '401':
  1029            $ref: '#/responses/401'
  1030          '403':
  1031            $ref: '#/responses/403'
  1032          '404':
  1033            $ref: '#/responses/404'
  1034          '500':
  1035            $ref: '#/responses/500'
  1036      post:
  1037        summary: Copy artifact
  1038        description: Copy the artifact specified in the "from" parameter to the repository.
  1039        tags:
  1040          - artifact
  1041        operationId: CopyArtifact
  1042        parameters:
  1043          - $ref: '#/parameters/requestId'
  1044          - $ref: '#/parameters/projectName'
  1045          - $ref: '#/parameters/repositoryName'
  1046          - name: from
  1047            in: query
  1048            description: The artifact from which the new artifact is copied from, the format should be "project/repository:tag" or "project/repository@digest".
  1049            type: string
  1050            required: true
  1051        responses:
  1052          '201':
  1053            $ref: '#/responses/201'
  1054          '400':
  1055            $ref: '#/responses/400'
  1056          '401':
  1057            $ref: '#/responses/401'
  1058          '403':
  1059            $ref: '#/responses/403'
  1060          '404':
  1061            $ref: '#/responses/404'
  1062          '405':
  1063            $ref: '#/responses/405'
  1064          '500':
  1065            $ref: '#/responses/500'
  1066    /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}:
  1067      get:
  1068        summary: Get the specific artifact
  1069        description: Get the artifact specified by the reference under the project and repository. The reference can be digest or tag.
  1070        tags:
  1071          - artifact
  1072        operationId: getArtifact
  1073        parameters:
  1074          - $ref: '#/parameters/requestId'
  1075          - $ref: '#/parameters/projectName'
  1076          - $ref: '#/parameters/repositoryName'
  1077          - $ref: '#/parameters/reference'
  1078          - $ref: '#/parameters/page'
  1079          - $ref: '#/parameters/pageSize'
  1080          - $ref: '#/parameters/acceptVulnerabilities'
  1081          - name: with_tag
  1082            in: query
  1083            description: Specify whether the tags are inclued inside the returning artifacts
  1084            type: boolean
  1085            required: false
  1086            default: true
  1087          - name: with_label
  1088            in: query
  1089            description: Specify whether the labels are inclued inside the returning artifacts
  1090            type: boolean
  1091            required: false
  1092            default: false
  1093          - name: with_scan_overview
  1094            in: query
  1095            description: Specify whether the scan overview is inclued inside the returning artifacts
  1096            type: boolean
  1097            required: false
  1098            default: false
  1099          - name: with_accessory
  1100            in: query
  1101            description: Specify whether the accessories are included of the returning artifacts.
  1102            type: boolean
  1103            required: false
  1104            default: false
  1105          # should be in tag level
  1106          - name: with_signature
  1107            in: query
  1108            description: Specify whether the signature is inclued inside the returning artifacts
  1109            type: boolean
  1110            required: false
  1111            default: false
  1112          - name: with_immutable_status
  1113            in: query
  1114            description: Specify whether the immutable status is inclued inside the tags of the returning artifacts.
  1115            type: boolean
  1116            required: false
  1117            default: false
  1118        responses:
  1119          '200':
  1120            description: Success
  1121            schema:
  1122              $ref: '#/definitions/Artifact'
  1123          '400':
  1124            $ref: '#/responses/400'
  1125          '401':
  1126            $ref: '#/responses/401'
  1127          '403':
  1128            $ref: '#/responses/403'
  1129          '404':
  1130            $ref: '#/responses/404'
  1131          '500':
  1132            $ref: '#/responses/500'
  1133      delete:
  1134        summary: Delete the specific artifact
  1135        description: Delete the artifact specified by the reference under the project and repository. The reference can be digest or tag
  1136        tags:
  1137          - artifact
  1138        operationId: deleteArtifact
  1139        parameters:
  1140          - $ref: '#/parameters/requestId'
  1141          - $ref: '#/parameters/projectName'
  1142          - $ref: '#/parameters/repositoryName'
  1143          - $ref: '#/parameters/reference'
  1144        responses:
  1145          '200':
  1146            $ref: '#/responses/200'
  1147          '401':
  1148            $ref: '#/responses/401'
  1149          '403':
  1150            $ref: '#/responses/403'
  1151          '404':
  1152            $ref: '#/responses/404'
  1153          '500':
  1154            $ref: '#/responses/500'
  1155    /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/scan:
  1156      post:
  1157        summary: Scan the artifact
  1158        description: Scan the specified artifact
  1159        tags:
  1160          - scan
  1161        operationId: scanArtifact
  1162        parameters:
  1163          - $ref: '#/parameters/requestId'
  1164          - $ref: '#/parameters/projectName'
  1165          - $ref: '#/parameters/repositoryName'
  1166          - $ref: '#/parameters/reference'
  1167        responses:
  1168          '202':
  1169            $ref: '#/responses/202'
  1170          '400':
  1171            $ref: '#/responses/400'
  1172          '401':
  1173            $ref: '#/responses/401'
  1174          '403':
  1175            $ref: '#/responses/403'
  1176          '404':
  1177            $ref: '#/responses/404'
  1178          '500':
  1179            $ref: '#/responses/500'
  1180    /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/scan/stop:
  1181      post:
  1182        summary: Cancelling a scan job for a particular artifact
  1183        description: Cancelling a scan job for a particular artifact
  1184        tags:
  1185          - scan
  1186        operationId: stopScanArtifact
  1187        parameters:
  1188          - $ref: '#/parameters/requestId'
  1189          - $ref: '#/parameters/projectName'
  1190          - $ref: '#/parameters/repositoryName'
  1191          - $ref: '#/parameters/reference'
  1192        responses:
  1193          '202':
  1194            $ref: '#/responses/202'
  1195          '400':
  1196            $ref: '#/responses/400'
  1197          '401':
  1198            $ref: '#/responses/401'
  1199          '403':
  1200            $ref: '#/responses/403'
  1201          '404':
  1202            $ref: '#/responses/404'
  1203          '500':
  1204            $ref: '#/responses/500'
  1205    /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/scan/{report_id}/log:
  1206      get:
  1207        summary: Get the log of the scan report
  1208        description: Get the log of the scan report
  1209        tags:
  1210          - scan
  1211        operationId: getReportLog
  1212        produces:
  1213          - text/plain
  1214        parameters:
  1215          - $ref: '#/parameters/requestId'
  1216          - $ref: '#/parameters/projectName'
  1217          - $ref: '#/parameters/repositoryName'
  1218          - $ref: '#/parameters/reference'
  1219          - name: report_id
  1220            type: string
  1221            in: path
  1222            required: true
  1223            description: The report id to get the log
  1224        responses:
  1225          '200':
  1226            description: Successfully get scan log file
  1227            schema:
  1228              type: string
  1229          '401':
  1230            $ref: '#/responses/401'
  1231          '403':
  1232            $ref: '#/responses/403'
  1233          '404':
  1234            $ref: '#/responses/404'
  1235          '500':
  1236            $ref: '#/responses/500'
  1237    /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/tags:
  1238      post:
  1239        summary: Create tag
  1240        description: Create a tag for the specified artifact
  1241        tags:
  1242          - artifact
  1243        operationId: createTag
  1244        parameters:
  1245          - $ref: '#/parameters/requestId'
  1246          - $ref: '#/parameters/projectName'
  1247          - $ref: '#/parameters/repositoryName'
  1248          - $ref: '#/parameters/reference'
  1249          - name: tag
  1250            in: body
  1251            description: The JSON object of tag.
  1252            required: true
  1253            schema:
  1254              $ref: '#/definitions/Tag'
  1255        responses:
  1256          '201':
  1257            $ref: '#/responses/201'
  1258          '400':
  1259            $ref: '#/responses/400'
  1260          '401':
  1261            $ref: '#/responses/401'
  1262          '403':
  1263            $ref: '#/responses/403'
  1264          '404':
  1265            $ref: '#/responses/404'
  1266          '405':
  1267            $ref: '#/responses/405'
  1268          '409':
  1269            $ref: '#/responses/409'
  1270          '500':
  1271            $ref: '#/responses/500'
  1272      get:
  1273        summary: List tags
  1274        description: List tags of the specific artifact
  1275        tags:
  1276          - artifact
  1277        operationId: listTags
  1278        parameters:
  1279          - $ref: '#/parameters/requestId'
  1280          - $ref: '#/parameters/projectName'
  1281          - $ref: '#/parameters/repositoryName'
  1282          - $ref: '#/parameters/reference'
  1283          - $ref: '#/parameters/query'
  1284          - $ref: '#/parameters/sort'
  1285          - $ref: '#/parameters/page'
  1286          - $ref: '#/parameters/pageSize'
  1287          - name: with_signature
  1288            in: query
  1289            description: Specify whether the signature is included inside the returning tags
  1290            type: boolean
  1291            required: false
  1292            default: false
  1293          - name: with_immutable_status
  1294            in: query
  1295            description: Specify whether the immutable status is included inside the returning tags
  1296            type: boolean
  1297            required: false
  1298            default: false
  1299        responses:
  1300          '200':
  1301            description: Success
  1302            headers:
  1303              X-Total-Count:
  1304                description: The total count of tags
  1305                type: integer
  1306              Link:
  1307                description: Link refers to the previous page and next page
  1308                type: string
  1309            schema:
  1310              type: array
  1311              items:
  1312                $ref: '#/definitions/Tag'
  1313          '400':
  1314            $ref: '#/responses/400'
  1315          '401':
  1316            $ref: '#/responses/401'
  1317          '403':
  1318            $ref: '#/responses/403'
  1319          '404':
  1320            $ref: '#/responses/404'
  1321          '500':
  1322            $ref: '#/responses/500'
  1323    /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/tags/{tag_name}:
  1324      delete:
  1325        summary: Delete tag
  1326        description: Delete the tag of the specified artifact
  1327        tags:
  1328          - artifact
  1329        operationId: deleteTag
  1330        parameters:
  1331          - $ref: '#/parameters/requestId'
  1332          - $ref: '#/parameters/projectName'
  1333          - $ref: '#/parameters/repositoryName'
  1334          - $ref: '#/parameters/reference'
  1335          - $ref: '#/parameters/tagName'
  1336        responses:
  1337          '200':
  1338            $ref: '#/responses/200'
  1339          '401':
  1340            $ref: '#/responses/401'
  1341          '403':
  1342            $ref: '#/responses/403'
  1343          '404':
  1344            $ref: '#/responses/404'
  1345          '500':
  1346            $ref: '#/responses/500'
  1347    /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/accessories:
  1348      get:
  1349        summary: List accessories
  1350        description: List accessories of the specific artifact
  1351        tags:
  1352          - artifact
  1353        operationId: listAccessories
  1354        parameters:
  1355          - $ref: '#/parameters/requestId'
  1356          - $ref: '#/parameters/projectName'
  1357          - $ref: '#/parameters/repositoryName'
  1358          - $ref: '#/parameters/reference'
  1359          - $ref: '#/parameters/query'
  1360          - $ref: '#/parameters/sort'
  1361          - $ref: '#/parameters/page'
  1362          - $ref: '#/parameters/pageSize'
  1363        responses:
  1364          '200':
  1365            description: Success
  1366            headers:
  1367              X-Total-Count:
  1368                description: The total count of accessories
  1369                type: integer
  1370              Link:
  1371                description: Link refers to the previous page and next page
  1372                type: string
  1373            schema:
  1374              type: array
  1375              items:
  1376                $ref: '#/definitions/Accessory'
  1377          '400':
  1378            $ref: '#/responses/400'
  1379          '401':
  1380            $ref: '#/responses/401'
  1381          '403':
  1382            $ref: '#/responses/403'
  1383          '404':
  1384            $ref: '#/responses/404'
  1385          '500':
  1386            $ref: '#/responses/500'
  1387    /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/additions/vulnerabilities:
  1388      get:
  1389        summary: Get the vulnerabilities addition of the specific artifact
  1390        description: Get the vulnerabilities addition of the artifact specified by the reference under the project and repository.
  1391        tags:
  1392          - artifact
  1393        operationId: getVulnerabilitiesAddition
  1394        parameters:
  1395          - $ref: '#/parameters/requestId'
  1396          - $ref: '#/parameters/projectName'
  1397          - $ref: '#/parameters/repositoryName'
  1398          - $ref: '#/parameters/reference'
  1399          - $ref: '#/parameters/acceptVulnerabilities'
  1400        responses:
  1401          '200':
  1402            description: Success
  1403            headers:
  1404              Content-Type:
  1405                description: The content type of the vulnerabilities addition
  1406                type: string
  1407            schema:
  1408              type: string
  1409          '400':
  1410            $ref: '#/responses/400'
  1411          '401':
  1412            $ref: '#/responses/401'
  1413          '403':
  1414            $ref: '#/responses/403'
  1415          '404':
  1416            $ref: '#/responses/404'
  1417          '500':
  1418            $ref: '#/responses/500'
  1419    /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/additions/{addition}:
  1420      get:
  1421        summary: Get the addition of the specific artifact
  1422        description: Get the addition of the artifact specified by the reference under the project and repository.
  1423        tags:
  1424          - artifact
  1425        operationId: getAddition
  1426        parameters:
  1427          - $ref: '#/parameters/requestId'
  1428          - $ref: '#/parameters/projectName'
  1429          - $ref: '#/parameters/repositoryName'
  1430          - $ref: '#/parameters/reference'
  1431          - name: addition
  1432            in: path
  1433            description: The type of addition.
  1434            type: string
  1435            enum: [build_history, values.yaml, readme.md, dependencies]
  1436            required: true
  1437        responses:
  1438          '200':
  1439            description: Success
  1440            headers:
  1441              Content-Type:
  1442                description: The content type of the addition
  1443                type: string
  1444            schema:
  1445              type: string
  1446          '400':
  1447            $ref: '#/responses/400'
  1448          '401':
  1449            $ref: '#/responses/401'
  1450          '403':
  1451            $ref: '#/responses/403'
  1452          '404':
  1453            $ref: '#/responses/404'
  1454          '500':
  1455            $ref: '#/responses/500'
  1456    /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/labels:
  1457      post:
  1458        summary: Add label to artifact
  1459        description: Add label to the specified artiact.
  1460        tags:
  1461          - artifact
  1462        operationId: addLabel
  1463        parameters:
  1464          - $ref: '#/parameters/requestId'
  1465          - $ref: '#/parameters/projectName'
  1466          - $ref: '#/parameters/repositoryName'
  1467          - $ref: '#/parameters/reference'
  1468          - name: label
  1469            in: body
  1470            description: The label that added to the artifact. Only the ID property is needed.
  1471            required: true
  1472            schema:
  1473              $ref: '#/definitions/Label'
  1474        responses:
  1475          '200':
  1476            $ref: '#/responses/200'
  1477          '400':
  1478            $ref: '#/responses/400'
  1479          '401':
  1480            $ref: '#/responses/401'
  1481          '403':
  1482            $ref: '#/responses/403'
  1483          '404':
  1484            $ref: '#/responses/404'
  1485          '409':
  1486            $ref: '#/responses/409'
  1487          '500':
  1488            $ref: '#/responses/500'
  1489    /projects/{project_name}/repositories/{repository_name}/artifacts/{reference}/labels/{label_id}:
  1490      delete:
  1491        summary: Remove label from artifact
  1492        description: Remove the label from the specified artiact.
  1493        tags:
  1494          - artifact
  1495        operationId: removeLabel
  1496        parameters:
  1497          - $ref: '#/parameters/requestId'
  1498          - $ref: '#/parameters/projectName'
  1499          - $ref: '#/parameters/repositoryName'
  1500          - $ref: '#/parameters/reference'
  1501          - name: label_id
  1502            in: path
  1503            description: The ID of the label that removed from the artifact.
  1504            type: integer
  1505            format: int64
  1506            required: true
  1507        responses:
  1508          '200':
  1509            $ref: '#/responses/200'
  1510          '401':
  1511            $ref: '#/responses/401'
  1512          '403':
  1513            $ref: '#/responses/403'
  1514          '404':
  1515            $ref: '#/responses/404'
  1516          '409':
  1517            $ref: '#/responses/409'
  1518          '500':
  1519            $ref: '#/responses/500'
  1520    '/projects/{project_name_or_id}/scanner':
  1521      get:
  1522        summary: Get project level scanner
  1523        description: Get the scanner registration of the specified project. If no scanner registration is configured for the specified project, the system default scanner registration will be returned.
  1524        tags:
  1525          - project
  1526        operationId: getScannerOfProject
  1527        parameters:
  1528          - $ref: '#/parameters/requestId'
  1529          - $ref: '#/parameters/isResourceName'
  1530          - $ref: '#/parameters/projectNameOrId'
  1531        responses:
  1532          '200':
  1533            description: The details of the scanner registration.
  1534            schema:
  1535              $ref: '#/definitions/ScannerRegistration'
  1536          '400':
  1537            description: Bad project ID
  1538          '401':
  1539            description: Unauthorized request
  1540          '403':
  1541            description: Request is not allowed
  1542          '404':
  1543            description: The requested object is not found
  1544          '500':
  1545            description: Internal server error happened
  1546      put:
  1547        summary: Configure scanner for the specified project
  1548        description: Set one of the system configured scanner registration as the indepndent scanner of the specified project.
  1549        tags:
  1550          - project
  1551        operationId: setScannerOfProject
  1552        parameters:
  1553          - $ref: '#/parameters/requestId'
  1554          - $ref: '#/parameters/isResourceName'
  1555          - $ref: '#/parameters/projectNameOrId'
  1556          - name: payload
  1557            in: body
  1558            required: true
  1559            schema:
  1560              $ref: '#/definitions/ProjectScanner'
  1561        responses:
  1562          '200':
  1563            $ref: '#/responses/200'
  1564          '400':
  1565            $ref: '#/responses/400'
  1566          '401':
  1567            $ref: '#/responses/401'
  1568          '403':
  1569            $ref: '#/responses/403'
  1570          '404':
  1571            $ref: '#/responses/404'
  1572          '500':
  1573            $ref: '#/responses/500'
  1574    '/projects/{project_name_or_id}/scanner/candidates':
  1575      get:
  1576        summary: Get scanner registration candidates for configurating project level scanner
  1577        description: Retrieve the system configured scanner registrations as candidates of setting project level scanner.
  1578        tags:
  1579          - project
  1580        operationId: listScannerCandidatesOfProject
  1581        parameters:
  1582          - $ref: '#/parameters/requestId'
  1583          - $ref: '#/parameters/isResourceName'
  1584          - $ref: '#/parameters/projectNameOrId'
  1585          - $ref: '#/parameters/query'
  1586          - $ref: '#/parameters/sort'
  1587          - $ref: '#/parameters/page'
  1588          - $ref: '#/parameters/pageSize'
  1589        responses:
  1590          '200':
  1591            description: A list of scanner registrations.
  1592            schema:
  1593              type: array
  1594              items:
  1595                $ref: '#/definitions/ScannerRegistration'
  1596            headers:
  1597              X-Total-Count:
  1598                description: The total count of available items
  1599                type: integer
  1600              Link:
  1601                description: Link to previous page and next page
  1602                type: string
  1603          '400':
  1604            $ref: '#/responses/400'
  1605          '401':
  1606            $ref: '#/responses/401'
  1607          '403':
  1608            $ref: '#/responses/403'
  1609          '500':
  1610            $ref: '#/responses/500'
  1611    /audit-logs:
  1612      get:
  1613        summary: Get recent logs of the projects which the user is a member of
  1614        description: |
  1615          This endpoint let user see the recent operation logs of the projects which he is member of
  1616        tags:
  1617          - auditlog
  1618        operationId: listAuditLogs
  1619        parameters:
  1620          - $ref: '#/parameters/requestId'
  1621          - $ref: '#/parameters/query'
  1622          - $ref: '#/parameters/sort'
  1623          - $ref: '#/parameters/page'
  1624          - $ref: '#/parameters/pageSize'
  1625        responses:
  1626          '200':
  1627            description: Success
  1628            headers:
  1629              X-Total-Count:
  1630                description: The total count of auditlogs
  1631                type: integer
  1632              Link:
  1633                description: Link refers to the previous page and next page
  1634                type: string
  1635            schema:
  1636              type: array
  1637              items:
  1638                $ref: '#/definitions/AuditLog'
  1639          '400':
  1640            $ref: '#/responses/400'
  1641          '401':
  1642            $ref: '#/responses/401'
  1643          '500':
  1644            $ref: '#/responses/500'
  1645    /projects/{project_name}/logs:
  1646      get:
  1647        summary: Get recent logs of the projects
  1648        description: Get recent logs of the projects
  1649        tags:
  1650          - project
  1651        operationId: getLogs
  1652        parameters:
  1653          - $ref: '#/parameters/projectName'
  1654          - $ref: '#/parameters/requestId'
  1655          - $ref: '#/parameters/query'
  1656          - $ref: '#/parameters/sort'
  1657          - $ref: '#/parameters/page'
  1658          - $ref: '#/parameters/pageSize'
  1659        responses:
  1660          '200':
  1661            description: Success
  1662            headers:
  1663              X-Total-Count:
  1664                description: The total count of auditlogs
  1665                type: integer
  1666              Link:
  1667                description: Link refers to the previous page and next page
  1668                type: string
  1669            schema:
  1670              type: array
  1671              items:
  1672                $ref: '#/definitions/AuditLog'
  1673          '400':
  1674            $ref: '#/responses/400'
  1675          '401':
  1676            $ref: '#/responses/401'
  1677          '500':
  1678            $ref: '#/responses/500'
  1679    /p2p/preheat/providers:
  1680      get:
  1681        summary: List P2P providers
  1682        description: List P2P providers
  1683        tags:
  1684          - preheat
  1685        operationId: ListProviders
  1686        parameters:
  1687          - $ref: '#/parameters/requestId'
  1688        responses:
  1689          '200':
  1690            description: Success
  1691            schema:
  1692              type: array
  1693              items:
  1694                $ref: '#/definitions/Metadata'
  1695          '400':
  1696            $ref: '#/responses/400'
  1697          '401':
  1698            $ref: '#/responses/401'
  1699          '403':
  1700            $ref: '#/responses/403'
  1701          '404':
  1702            $ref: '#/responses/404'
  1703          '500':
  1704            $ref: '#/responses/500'
  1705    /p2p/preheat/instances/ping:
  1706      post:
  1707        summary: Ping status of a instance.
  1708        description: |
  1709          This endpoint checks status of a instance, the instance can be given by ID or Endpoint URL (together with credential)
  1710        operationId: PingInstances
  1711        parameters:
  1712          - $ref: '#/parameters/requestId'
  1713          - name: instance
  1714            in: body
  1715            description: The JSON object of instance.
  1716            required: true
  1717            schema:
  1718              $ref: '#/definitions/Instance'
  1719        tags:
  1720          - preheat
  1721        responses:
  1722          '200':
  1723            $ref: '#/responses/200'
  1724          '400':
  1725            $ref: '#/responses/400'
  1726          '401':
  1727            $ref: '#/responses/401'
  1728          '404':
  1729            description: Instance not found (when instance is provided by ID).
  1730          '500':
  1731            $ref: '#/responses/500'
  1732    /p2p/preheat/instances:
  1733      get:
  1734        summary: List P2P provider instances
  1735        description: List P2P provider instances
  1736        tags:
  1737          - preheat
  1738        operationId: ListInstances
  1739        parameters:
  1740          - $ref: '#/parameters/requestId'
  1741          - $ref: '#/parameters/page'
  1742          - $ref: '#/parameters/pageSize'
  1743          - $ref: '#/parameters/query'
  1744          - $ref: '#/parameters/sort'
  1745        responses:
  1746          '200':
  1747            description: Success
  1748            headers:
  1749              X-Total-Count:
  1750                description: The total count of preheating provider instances
  1751                type: integer
  1752              Link:
  1753                description: Link refers to the previous page and next page
  1754                type: string
  1755            schema:
  1756              type: array
  1757              items:
  1758                $ref: '#/definitions/Instance'
  1759          '400':
  1760            $ref: '#/responses/400'
  1761          '401':
  1762            $ref: '#/responses/401'
  1763          '403':
  1764            $ref: '#/responses/403'
  1765          '404':
  1766            $ref: '#/responses/404'
  1767          '500':
  1768            $ref: '#/responses/500'
  1769      post:
  1770        summary: Create p2p provider instances
  1771        description: Create p2p provider instances
  1772        tags:
  1773          - preheat
  1774        operationId: CreateInstance
  1775        parameters:
  1776          - $ref: '#/parameters/requestId'
  1777          - name: instance
  1778            in: body
  1779            description: The JSON object of instance.
  1780            required: true
  1781            schema:
  1782              $ref: '#/definitions/Instance'
  1783        responses:
  1784          '201':
  1785            $ref: '#/responses/201'
  1786          '400':
  1787            $ref: '#/responses/400'
  1788          '401':
  1789            $ref: '#/responses/401'
  1790          '403':
  1791            $ref: '#/responses/403'
  1792          '404':
  1793            $ref: '#/responses/404'
  1794          '409':
  1795            $ref: '#/responses/409'
  1796          '500':
  1797            $ref: '#/responses/500'
  1798    /p2p/preheat/instances/{preheat_instance_name}:
  1799      get:
  1800        summary: Get a P2P provider instance
  1801        description: Get a P2P provider instance
  1802        tags:
  1803          - preheat
  1804        operationId: GetInstance
  1805        parameters:
  1806          - $ref: '#/parameters/requestId'
  1807          - $ref: '#/parameters/instanceName'
  1808        responses:
  1809          '200':
  1810            description: Success
  1811            schema:
  1812              $ref: '#/definitions/Instance'
  1813          '400':
  1814            $ref: '#/responses/400'
  1815          '401':
  1816            $ref: '#/responses/401'
  1817          '403':
  1818            $ref: '#/responses/403'
  1819          '404':
  1820            $ref: '#/responses/404'
  1821          '500':
  1822            $ref: '#/responses/500'
  1823      delete:
  1824        summary: Delete the specified P2P provider instance
  1825        description: Delete the specified P2P provider instance
  1826        tags:
  1827          - preheat
  1828        operationId: DeleteInstance
  1829        parameters:
  1830          - $ref: '#/parameters/requestId'
  1831          - $ref: '#/parameters/instanceName'
  1832        responses:
  1833          '200':
  1834            $ref: '#/responses/200'
  1835          '401':
  1836            $ref: '#/responses/401'
  1837          '403':
  1838            $ref: '#/responses/403'
  1839          '404':
  1840            $ref: '#/responses/404'
  1841          '500':
  1842            $ref: '#/responses/500'
  1843      put:
  1844        summary: Update the specified P2P provider instance
  1845        description: Update the specified P2P provider instance
  1846        tags:
  1847          - preheat
  1848        operationId: UpdateInstance
  1849        parameters:
  1850          - $ref: '#/parameters/requestId'
  1851          - $ref: '#/parameters/instanceName'
  1852          - name: instance
  1853            in: body
  1854            description: The instance to update
  1855            required: true
  1856            schema:
  1857              $ref: '#/definitions/Instance'
  1858        responses:
  1859          '200':
  1860            $ref: '#/responses/200'
  1861          '400':
  1862            $ref: '#/responses/400'
  1863          '401':
  1864            $ref: '#/responses/401'
  1865          '403':
  1866            $ref: '#/responses/403'
  1867          '404':
  1868            $ref: '#/responses/404'
  1869          '500':
  1870            $ref: '#/responses/500'
  1871    /projects/{project_name}/preheat/policies:
  1872      post:
  1873        summary: Create a preheat policy under a project
  1874        description: Create a preheat policy under a project
  1875        tags:
  1876          - preheat
  1877        operationId: CreatePolicy
  1878        parameters:
  1879          - $ref: '#/parameters/requestId'
  1880          - $ref: '#/parameters/projectName'
  1881          - name: policy
  1882            in: body
  1883            description: The policy schema info
  1884            required: true
  1885            schema:
  1886              $ref: '#/definitions/PreheatPolicy'
  1887        responses:
  1888          '201':
  1889            $ref: '#/responses/201'
  1890          '400':
  1891            $ref: '#/responses/400'
  1892          '401':
  1893            $ref: '#/responses/401'
  1894          '403':
  1895            $ref: '#/responses/403'
  1896          '409':
  1897            $ref: '#/responses/409'
  1898          '500':
  1899            $ref: '#/responses/500'
  1900      get:
  1901        summary: List preheat policies
  1902        description: List preheat policies
  1903        tags:
  1904          - preheat
  1905        operationId: ListPolicies
  1906        parameters:
  1907          - $ref: '#/parameters/requestId'
  1908          - $ref: '#/parameters/projectName'
  1909          - $ref: '#/parameters/page'
  1910          - $ref: '#/parameters/pageSize'
  1911          - $ref: '#/parameters/query'
  1912          - $ref: '#/parameters/sort'
  1913        responses:
  1914          '200':
  1915            description: List preheat policies success
  1916            headers:
  1917              X-Total-Count:
  1918                description: The total count of policies
  1919                type: integer
  1920              Link:
  1921                description: Link refers to the previous page and next page
  1922                type: string
  1923            schema:
  1924              type: array
  1925              items:
  1926                $ref: '#/definitions/PreheatPolicy'
  1927          '400':
  1928            $ref: '#/responses/400'
  1929          '401':
  1930            $ref: '#/responses/401'
  1931          '403':
  1932            $ref: '#/responses/403'
  1933          '500':
  1934            $ref: '#/responses/500'
  1935    /projects/{project_name}/preheat/policies/{preheat_policy_name}:
  1936      get:
  1937        summary: Get a preheat policy
  1938        description: Get a preheat policy
  1939        tags:
  1940          - preheat
  1941        operationId: GetPolicy
  1942        parameters:
  1943          - $ref: '#/parameters/requestId'
  1944          - $ref: '#/parameters/projectName'
  1945          - $ref: '#/parameters/preheatPolicyName'
  1946        responses:
  1947          '200':
  1948            description: Get a preheat policy success
  1949            schema:
  1950              $ref: '#/definitions/PreheatPolicy'
  1951          '400':
  1952            $ref: '#/responses/400'
  1953          '401':
  1954            $ref: '#/responses/401'
  1955          '404':
  1956            $ref: '#/responses/404'
  1957          '403':
  1958            $ref: '#/responses/403'
  1959          '500':
  1960            $ref: '#/responses/500'
  1961      put:
  1962        summary: Update preheat policy
  1963        description: Update preheat policy
  1964        tags:
  1965          - preheat
  1966        operationId: UpdatePolicy
  1967        parameters:
  1968          - $ref: '#/parameters/requestId'
  1969          - $ref: '#/parameters/projectName'
  1970          - $ref: '#/parameters/preheatPolicyName'
  1971          - name: policy
  1972            in: body
  1973            description: The policy schema info
  1974            required: true
  1975            schema:
  1976              $ref: '#/definitions/PreheatPolicy'
  1977        responses:
  1978          '200':
  1979            $ref: '#/responses/200'
  1980          '400':
  1981            $ref: '#/responses/400'
  1982          '401':
  1983            $ref: '#/responses/401'
  1984          '404':
  1985            $ref: '#/responses/404'
  1986          '403':
  1987            $ref: '#/responses/403'
  1988          '409':
  1989            $ref: '#/responses/409'
  1990          '500':
  1991            $ref: '#/responses/500'
  1992      post:
  1993        summary: Manual preheat
  1994        description: Manual preheat
  1995        tags:
  1996          - preheat
  1997        operationId: ManualPreheat
  1998        parameters:
  1999          - $ref: '#/parameters/requestId'
  2000          - $ref: '#/parameters/projectName'
  2001          - $ref: '#/parameters/preheatPolicyName'
  2002          - name: policy
  2003            in: body
  2004            description: The policy schema info
  2005            required: true
  2006            schema:
  2007              $ref: '#/definitions/PreheatPolicy'
  2008        responses:
  2009          '201':
  2010            $ref: '#/responses/201'
  2011          '400':
  2012            $ref: '#/responses/400'
  2013          '401':
  2014            $ref: '#/responses/401'
  2015          '404':
  2016            $ref: '#/responses/404'
  2017          '403':
  2018            $ref: '#/responses/403'
  2019          '500':
  2020            $ref: '#/responses/500'
  2021      delete:
  2022        summary: Delete a preheat policy
  2023        description: Delete a preheat policy
  2024        tags:
  2025          - preheat
  2026        operationId: DeletePolicy
  2027        parameters:
  2028          - $ref: '#/parameters/requestId'
  2029          - $ref: '#/parameters/projectName'
  2030          - $ref: '#/parameters/preheatPolicyName'
  2031        responses:
  2032          '200':
  2033            $ref: '#/responses/200'
  2034          '400':
  2035            $ref: '#/responses/400'
  2036          '401':
  2037            $ref: '#/responses/401'
  2038          '404':
  2039            $ref: '#/responses/404'
  2040          '403':
  2041            $ref: '#/responses/403'
  2042          '500':
  2043            $ref: '#/responses/500'
  2044    /projects/{project_name}/preheat/policies/{preheat_policy_name}/executions:
  2045      get:
  2046        summary: List executions for the given policy
  2047        description: List executions for the given policy
  2048        tags:
  2049          - preheat
  2050        operationId: ListExecutions
  2051        parameters:
  2052          - $ref: '#/parameters/requestId'
  2053          - $ref: '#/parameters/projectName'
  2054          - $ref: '#/parameters/preheatPolicyName'
  2055          - $ref: '#/parameters/page'
  2056          - $ref: '#/parameters/pageSize'
  2057          - $ref: '#/parameters/query'
  2058          - $ref: '#/parameters/sort'
  2059        responses:
  2060          '200':
  2061            description: List executions success
  2062            headers:
  2063              X-Total-Count:
  2064                description: The total count of executions
  2065                type: integer
  2066              Link:
  2067                description: Link refers to the previous page and next page
  2068                type: string
  2069            schema:
  2070              type: array
  2071              items:
  2072                $ref: '#/definitions/Execution'
  2073          '400':
  2074            $ref: '#/responses/400'
  2075          '401':
  2076            $ref: '#/responses/401'
  2077          '404':
  2078            $ref: '#/responses/404'
  2079          '403':
  2080            $ref: '#/responses/403'
  2081          '500':
  2082            $ref: '#/responses/500'
  2083    /projects/{project_name}/preheat/policies/{preheat_policy_name}/executions/{execution_id}:
  2084      get:
  2085        summary: Get a execution detail by id
  2086        description: Get a execution detail by id
  2087        tags:
  2088          - preheat
  2089        operationId: GetExecution
  2090        parameters:
  2091          - $ref: '#/parameters/requestId'
  2092          - $ref: '#/parameters/projectName'
  2093          - $ref: '#/parameters/preheatPolicyName'
  2094          - $ref: '#/parameters/executionId'
  2095        responses:
  2096          '200':
  2097            description: Get execution success
  2098            schema:
  2099              $ref: '#/definitions/Execution'
  2100          '400':
  2101            $ref: '#/responses/400'
  2102          '401':
  2103            $ref: '#/responses/401'
  2104          '404':
  2105            $ref: '#/responses/404'
  2106          '403':
  2107            $ref: '#/responses/403'
  2108          '500':
  2109            $ref: '#/responses/500'
  2110      patch:
  2111        summary: Stop a execution
  2112        description: Stop a execution
  2113        tags:
  2114          - preheat
  2115        operationId: StopExecution
  2116        parameters:
  2117          - $ref: '#/parameters/requestId'
  2118          - $ref: '#/parameters/projectName'
  2119          - $ref: '#/parameters/preheatPolicyName'
  2120          - $ref: '#/parameters/executionId'
  2121          - name: execution
  2122            description: The data of execution
  2123            in: body
  2124            required: true
  2125            schema:
  2126              $ref: '#/definitions/Execution'
  2127        responses:
  2128          '200':
  2129            $ref: '#/responses/200'
  2130          '400':
  2131            $ref: '#/responses/400'
  2132          '401':
  2133            $ref: '#/responses/401'
  2134          '404':
  2135            $ref: '#/responses/404'
  2136          '403':
  2137            $ref: '#/responses/403'
  2138          '500':
  2139            $ref: '#/responses/500'
  2140    /projects/{project_name}/preheat/policies/{preheat_policy_name}/executions/{execution_id}/tasks:
  2141      get:
  2142        summary: List all the related tasks for the given execution
  2143        description: List all the related tasks for the given execution
  2144        tags:
  2145          - preheat
  2146        operationId: ListTasks
  2147        parameters:
  2148          - $ref: '#/parameters/requestId'
  2149          - $ref: '#/parameters/projectName'
  2150          - $ref: '#/parameters/preheatPolicyName'
  2151          - $ref: '#/parameters/executionId'
  2152          - $ref: '#/parameters/page'
  2153          - $ref: '#/parameters/pageSize'
  2154          - $ref: '#/parameters/query'
  2155          - $ref: '#/parameters/sort'
  2156        responses:
  2157          '200':
  2158            description: List tasks success
  2159            headers:
  2160              X-Total-Count:
  2161                description: The total count of tasks
  2162                type: integer
  2163              Link:
  2164                description: Link refers to the previous page and next page
  2165                type: string
  2166            schema:
  2167              type: array
  2168              items:
  2169                $ref: '#/definitions/Task'
  2170          '400':
  2171            $ref: '#/responses/400'
  2172          '401':
  2173            $ref: '#/responses/401'
  2174          '404':
  2175            $ref: '#/responses/404'
  2176          '403':
  2177            $ref: '#/responses/403'
  2178          '500':
  2179            $ref: '#/responses/500'
  2180    /projects/{project_name}/preheat/policies/{preheat_policy_name}/executions/{execution_id}/tasks/{task_id}/logs:
  2181      get:
  2182        summary: Get the log text stream of the specified task for the given execution
  2183        description: Get the log text stream of the specified task for the given execution
  2184        tags:
  2185          - preheat
  2186        operationId: GetPreheatLog
  2187        produces:
  2188          - text/plain
  2189        parameters:
  2190          - $ref: '#/parameters/requestId'
  2191          - $ref: '#/parameters/projectName'
  2192          - $ref: '#/parameters/preheatPolicyName'
  2193          - $ref: '#/parameters/executionId'
  2194          - $ref: '#/parameters/taskId'
  2195        responses:
  2196          '200':
  2197            description: Get log success
  2198            headers:
  2199              Content-Type:
  2200                description: Content type of response
  2201                type: string
  2202            schema:
  2203              type: string
  2204          '400':
  2205            $ref: '#/responses/400'
  2206          '401':
  2207            $ref: '#/responses/401'
  2208          '404':
  2209            $ref: '#/responses/404'
  2210          '403':
  2211            $ref: '#/responses/403'
  2212          '500':
  2213            $ref: '#/responses/500'
  2214    /projects/{project_name}/preheat/providers:
  2215      get:
  2216        summary: Get all providers at project level
  2217        description: Get all providers at project level
  2218        tags:
  2219          - preheat
  2220        operationId: ListProvidersUnderProject
  2221        parameters:
  2222          - $ref: '#/parameters/requestId'
  2223          - $ref: '#/parameters/projectName'
  2224        responses:
  2225          '200':
  2226            description: Success
  2227            schema:
  2228              type: array
  2229              items:
  2230                $ref: '#/definitions/ProviderUnderProject'
  2231          '400':
  2232            $ref: '#/responses/400'
  2233          '401':
  2234            $ref: '#/responses/401'
  2235          '403':
  2236            $ref: '#/responses/403'
  2237          '404':
  2238            $ref: '#/responses/404'
  2239          '500':
  2240            $ref: '#/responses/500'
  2241    /projects/{project_name_or_id}/robots:
  2242      get:
  2243        summary: Get all robot accounts of specified project
  2244        description: Get all robot accounts of specified project
  2245        parameters:
  2246          - $ref: '#/parameters/requestId'
  2247          - $ref: '#/parameters/isResourceName'
  2248          - $ref: '#/parameters/projectNameOrId'
  2249          - $ref: '#/parameters/page'
  2250          - $ref: '#/parameters/pageSize'
  2251          - $ref: '#/parameters/query'
  2252          - $ref: '#/parameters/sort'
  2253        tags:
  2254          - robotv1
  2255        operationId: ListRobotV1
  2256        responses:
  2257          '200':
  2258            description: Success
  2259            headers:
  2260              X-Total-Count:
  2261                description: The total count of robot accounts
  2262                type: integer
  2263              Link:
  2264                description: Link refers to the previous page and next page
  2265                type: string
  2266            schema:
  2267              type: array
  2268              items:
  2269                $ref: '#/definitions/Robot'
  2270          '400':
  2271            $ref: '#/responses/400'
  2272          '404':
  2273            $ref: '#/responses/404'
  2274          '500':
  2275            $ref: '#/responses/500'
  2276      post:
  2277        summary: Create a robot account
  2278        description: Create a robot account
  2279        tags:
  2280          - robotv1
  2281        operationId: CreateRobotV1
  2282        parameters:
  2283          - $ref: '#/parameters/requestId'
  2284          - $ref: '#/parameters/isResourceName'
  2285          - $ref: '#/parameters/projectNameOrId'
  2286          - name: robot
  2287            in: body
  2288            description: The JSON object of a robot account.
  2289            required: true
  2290            schema:
  2291              $ref: '#/definitions/RobotCreateV1'
  2292        responses:
  2293          '201':
  2294            description: Created
  2295            headers:
  2296              X-Request-Id:
  2297                description: The ID of the corresponding request for the response
  2298                type: string
  2299              Location:
  2300                description: The location of the resource
  2301                type: string
  2302            schema:
  2303              $ref: '#/definitions/RobotCreated'
  2304          '400':
  2305            $ref: '#/responses/400'
  2306          '401':
  2307            $ref: '#/responses/401'
  2308          '403':
  2309            $ref: '#/responses/403'
  2310          '404':
  2311            $ref: '#/responses/404'
  2312          '500':
  2313            $ref: '#/responses/500'
  2314    /projects/{project_name_or_id}/robots/{robot_id}:
  2315      get:
  2316        summary: Get a robot account
  2317        description: This endpoint returns specific robot account information by robot ID.
  2318        tags:
  2319          - robotv1
  2320        operationId: GetRobotByIDV1
  2321        parameters:
  2322          - $ref: '#/parameters/requestId'
  2323          - $ref: '#/parameters/isResourceName'
  2324          - $ref: '#/parameters/projectNameOrId'
  2325          - $ref: '#/parameters/robotId'
  2326        responses:
  2327          '200':
  2328            description: Return matched robot information.
  2329            schema:
  2330              $ref: '#/definitions/Robot'
  2331          '401':
  2332            $ref: '#/responses/401'
  2333          '403':
  2334            $ref: '#/responses/403'
  2335          '404':
  2336            $ref: '#/responses/404'
  2337          '500':
  2338            $ref: '#/responses/500'
  2339      put:
  2340        summary: Update status of robot account.
  2341        description: Used to disable/enable a specified robot account.
  2342        tags:
  2343          - robotv1
  2344        operationId: UpdateRobotV1
  2345        parameters:
  2346          - $ref: '#/parameters/requestId'
  2347          - $ref: '#/parameters/isResourceName'
  2348          - $ref: '#/parameters/projectNameOrId'
  2349          - $ref: '#/parameters/robotId'
  2350          - name: robot
  2351            in: body
  2352            description: The JSON object of a robot account.
  2353            required: true
  2354            schema:
  2355              $ref: '#/definitions/Robot'
  2356        responses:
  2357          '200':
  2358            $ref: '#/responses/200'
  2359          '400':
  2360            $ref: '#/responses/400'
  2361          '401':
  2362            $ref: '#/responses/401'
  2363          '403':
  2364            $ref: '#/responses/403'
  2365          '404':
  2366            $ref: '#/responses/404'
  2367          '409':
  2368            $ref: '#/responses/409'
  2369          '500':
  2370            $ref: '#/responses/500'
  2371      delete:
  2372        summary: Delete a robot account
  2373        description: This endpoint deletes specific robot account information by robot ID.
  2374        tags:
  2375          - robotv1
  2376        operationId: DeleteRobotV1
  2377        parameters:
  2378          - $ref: '#/parameters/requestId'
  2379          - $ref: '#/parameters/isResourceName'
  2380          - $ref: '#/parameters/projectNameOrId'
  2381          - $ref: '#/parameters/robotId'
  2382        responses:
  2383          '200':
  2384            $ref: '#/responses/200'
  2385          '400':
  2386            $ref: '#/responses/400'
  2387          '401':
  2388            $ref: '#/responses/401'
  2389          '403':
  2390            $ref: '#/responses/403'
  2391          '404':
  2392            $ref: '#/responses/404'
  2393          '500':
  2394            $ref: '#/responses/500'
  2395    '/projects/{project_name_or_id}/immutabletagrules':
  2396      get:
  2397        summary: List all immutable tag rules of current project
  2398        description: |
  2399          This endpoint returns the immutable tag rules of a project
  2400        tags:
  2401          - immutable
  2402        operationId: ListImmuRules
  2403        parameters:
  2404          - $ref: '#/parameters/requestId'
  2405          - $ref: '#/parameters/isResourceName'
  2406          - $ref: '#/parameters/projectNameOrId'
  2407          - $ref: '#/parameters/page'
  2408          - $ref: '#/parameters/pageSize'
  2409          - $ref: '#/parameters/query'
  2410          - $ref: '#/parameters/sort'
  2411        responses:
  2412          '200':
  2413            description: Success
  2414            headers:
  2415              X-Total-Count:
  2416                description: The total count of immutable tag
  2417                type: integer
  2418              Link:
  2419                description: Link refers to the previous page and next page
  2420                type: string
  2421            schema:
  2422              type: array
  2423              items:
  2424                $ref: '#/definitions/ImmutableRule'
  2425          '400':
  2426            $ref: '#/responses/400'
  2427          '401':
  2428            $ref: '#/responses/401'
  2429          '403':
  2430            $ref: '#/responses/403'
  2431          '500':
  2432            $ref: '#/responses/500'
  2433      post:
  2434        summary: Add an immutable tag rule to current project
  2435        description: |
  2436          This endpoint add an immutable tag rule to the project
  2437        tags:
  2438          - immutable
  2439        operationId: CreateImmuRule
  2440        parameters:
  2441          - $ref: '#/parameters/requestId'
  2442          - $ref: '#/parameters/isResourceName'
  2443          - $ref: '#/parameters/projectNameOrId'
  2444          - name: ImmutableRule
  2445            in: body
  2446            required: true
  2447            schema:
  2448              $ref: '#/definitions/ImmutableRule'
  2449        responses:
  2450          '201':
  2451            $ref: '#/responses/201'
  2452          '400':
  2453            $ref: '#/responses/400'
  2454          '401':
  2455            $ref: '#/responses/401'
  2456          '403':
  2457            $ref: '#/responses/403'
  2458          '404':
  2459            $ref: '#/responses/404'
  2460          '500':
  2461            $ref: '#/responses/500'
  2462    '/projects/{project_name_or_id}/immutabletagrules/{immutable_rule_id}':
  2463      put:
  2464        summary: Update the immutable tag rule or enable or disable the rule
  2465        tags:
  2466          - immutable
  2467        operationId: UpdateImmuRule
  2468        parameters:
  2469          - $ref: '#/parameters/requestId'
  2470          - $ref: '#/parameters/isResourceName'
  2471          - $ref: '#/parameters/projectNameOrId'
  2472          - $ref: '#/parameters/immutableRuleId'
  2473          - name: ImmutableRule
  2474            in: body
  2475            required: true
  2476            schema:
  2477              $ref: '#/definitions/ImmutableRule'
  2478        responses:
  2479          '200':
  2480            $ref: '#/responses/200'
  2481          '400':
  2482            $ref: '#/responses/400'
  2483          '401':
  2484            $ref: '#/responses/401'
  2485          '403':
  2486            $ref: '#/responses/403'
  2487          '500':
  2488            $ref: '#/responses/500'
  2489      delete:
  2490        summary: Delete the immutable tag rule.
  2491        tags:
  2492          - immutable
  2493        operationId: DeleteImmuRule
  2494        parameters:
  2495          - $ref: '#/parameters/requestId'
  2496          - $ref: '#/parameters/isResourceName'
  2497          - $ref: '#/parameters/projectNameOrId'
  2498          - $ref: '#/parameters/immutableRuleId'
  2499        responses:
  2500          '200':
  2501            $ref: '#/responses/200'
  2502          '400':
  2503            $ref: '#/responses/400'
  2504          '401':
  2505            $ref: '#/responses/401'
  2506          '403':
  2507            $ref: '#/responses/403'
  2508          '500':
  2509            $ref: '#/responses/500'
  2510    '/projects/{project_name_or_id}/webhook/policies':
  2511      get:
  2512        summary: List project webhook policies.
  2513        description: |
  2514          This endpoint returns webhook policies of a project.
  2515        tags:
  2516          - webhook
  2517        operationId: ListWebhookPoliciesOfProject
  2518        parameters:
  2519          - $ref: '#/parameters/requestId'
  2520          - $ref: '#/parameters/isResourceName'
  2521          - $ref: '#/parameters/projectNameOrId'
  2522          - $ref: '#/parameters/sort'
  2523          - $ref: '#/parameters/query'
  2524          - $ref: '#/parameters/page'
  2525          - $ref: '#/parameters/pageSize'
  2526        responses:
  2527          '200':
  2528            description: Success
  2529            headers:
  2530              X-Total-Count:
  2531                description: The total count of webhook policies.
  2532                type: integer
  2533              Link:
  2534                description: Link refers to the previous page and next page
  2535                type: string
  2536            schema:
  2537              type: array
  2538              items:
  2539                $ref: '#/definitions/WebhookPolicy'
  2540          '400':
  2541            $ref: '#/responses/400'
  2542          '401':
  2543            $ref: '#/responses/401'
  2544          '403':
  2545            $ref: '#/responses/403'
  2546          '500':
  2547            $ref: '#/responses/500'
  2548      post:
  2549        summary: Create project webhook policy.
  2550        description: |
  2551          This endpoint create a webhook policy if the project does not have one.
  2552        tags:
  2553          - webhook
  2554        operationId: CreateWebhookPolicyOfProject
  2555        parameters:
  2556          - $ref: '#/parameters/requestId'
  2557          - $ref: '#/parameters/isResourceName'
  2558          - $ref: '#/parameters/projectNameOrId'
  2559          - name: policy
  2560            in: body
  2561            description: Properties "targets" and "event_types" needed.
  2562            required: true
  2563            schema:
  2564              $ref: '#/definitions/WebhookPolicy'
  2565        responses:
  2566          '201':
  2567            description: Project webhook policy create successfully.
  2568            headers:
  2569              X-Request-Id:
  2570                description: The ID of the corresponding request for the response
  2571                type: string
  2572              Location:
  2573                description: The location of the resource
  2574                type: string
  2575          '400':
  2576            $ref: '#/responses/400'
  2577          '401':
  2578            $ref: '#/responses/401'
  2579          '403':
  2580            $ref: '#/responses/403'
  2581          '500':
  2582            $ref: '#/responses/500'
  2583    '/projects/{project_name_or_id}/webhook/policies/{webhook_policy_id}':
  2584      get:
  2585        summary: Get project webhook policy
  2586        description: |
  2587          This endpoint returns specified webhook policy of a project.
  2588        tags:
  2589          - webhook
  2590        operationId: GetWebhookPolicyOfProject
  2591        parameters:
  2592          - $ref: '#/parameters/requestId'
  2593          - $ref: '#/parameters/isResourceName'
  2594          - $ref: '#/parameters/projectNameOrId'
  2595          - $ref: '#/parameters/webhookPolicyId'
  2596        responses:
  2597          '200':
  2598            description: Get webhook policy successfully.
  2599            schema:
  2600              $ref: '#/definitions/WebhookPolicy'
  2601          '400':
  2602            $ref: '#/responses/400'
  2603          '401':
  2604            $ref: '#/responses/401'
  2605          '403':
  2606            $ref: '#/responses/403'
  2607          '404':
  2608            $ref: '#/responses/404'
  2609          '500':
  2610            $ref: '#/responses/500'
  2611      put:
  2612        summary: Update webhook policy of a project.
  2613        description: |
  2614          This endpoint is aimed to update the webhook policy of a project.
  2615        tags:
  2616          - webhook
  2617        operationId: UpdateWebhookPolicyOfProject
  2618        parameters:
  2619          - $ref: '#/parameters/requestId'
  2620          - $ref: '#/parameters/isResourceName'
  2621          - $ref: '#/parameters/projectNameOrId'
  2622          - $ref: '#/parameters/webhookPolicyId'
  2623          - name: policy
  2624            in: body
  2625            description: All properties needed except "id", "project_id", "creation_time", "update_time".
  2626            required: true
  2627            schema:
  2628              $ref: '#/definitions/WebhookPolicy'
  2629        responses:
  2630          '200':
  2631            $ref: '#/responses/200'
  2632          '400':
  2633            $ref: '#/responses/400'
  2634          '401':
  2635            $ref: '#/responses/401'
  2636          '403':
  2637            $ref: '#/responses/403'
  2638          '404':
  2639            $ref: '#/responses/404'
  2640          '500':
  2641            $ref: '#/responses/500'
  2642      delete:
  2643        summary: Delete webhook policy of a project
  2644        description: |
  2645          This endpoint is aimed to delete webhookpolicy of a project.
  2646        tags:
  2647          - webhook
  2648        operationId: DeleteWebhookPolicyOfProject
  2649        parameters:
  2650          - $ref: '#/parameters/requestId'
  2651          - $ref: '#/parameters/isResourceName'
  2652          - $ref: '#/parameters/projectNameOrId'
  2653          - $ref: '#/parameters/webhookPolicyId'
  2654        responses:
  2655          '200':
  2656            $ref: '#/responses/200'
  2657          '400':
  2658            $ref: '#/responses/400'
  2659          '401':
  2660            $ref: '#/responses/401'
  2661          '403':
  2662            $ref: '#/responses/403'
  2663          '404':
  2664            $ref: '#/responses/404'
  2665          '500':
  2666            $ref: '#/responses/500'
  2667    '/projects/{project_name_or_id}/webhook/policies/{webhook_policy_id}/executions':
  2668      get:
  2669        summary: List executions for a specific webhook policy
  2670        description: |
  2671          This endpoint returns the executions of a specific webhook policy.
  2672        tags:
  2673          - webhook
  2674        operationId: ListExecutionsOfWebhookPolicy
  2675        parameters:
  2676          - $ref: '#/parameters/requestId'
  2677          - $ref: '#/parameters/isResourceName'
  2678          - $ref: '#/parameters/projectNameOrId'
  2679          - $ref: '#/parameters/webhookPolicyId'
  2680          - $ref: '#/parameters/page'
  2681          - $ref: '#/parameters/pageSize'
  2682          - $ref: '#/parameters/query'
  2683          - $ref: '#/parameters/sort'
  2684        responses:
  2685          '200':
  2686            description: List webhook executions success
  2687            headers:
  2688              X-Total-Count:
  2689                description: The total count of executions
  2690                type: integer
  2691              Link:
  2692                description: Link refers to the previous page and next page
  2693                type: string
  2694            schema:
  2695              type: array
  2696              items:
  2697                $ref: '#/definitions/Execution'
  2698          '400':
  2699            $ref: '#/responses/400'
  2700          '401':
  2701            $ref: '#/responses/401'
  2702          '404':
  2703            $ref: '#/responses/404'
  2704          '403':
  2705            $ref: '#/responses/403'
  2706          '500':
  2707            $ref: '#/responses/500'
  2708    '/projects/{project_name_or_id}/webhook/policies/{webhook_policy_id}/executions/{execution_id}/tasks':
  2709      get:
  2710        summary: List tasks for a specific webhook execution
  2711        description: |
  2712          This endpoint returns the tasks of a specific webhook execution.
  2713        tags:
  2714          - webhook
  2715        operationId: ListTasksOfWebhookExecution
  2716        parameters:
  2717          - $ref: '#/parameters/requestId'
  2718          - $ref: '#/parameters/isResourceName'
  2719          - $ref: '#/parameters/projectNameOrId'
  2720          - $ref: '#/parameters/webhookPolicyId'
  2721          - $ref: '#/parameters/executionId'
  2722          - $ref: '#/parameters/page'
  2723          - $ref: '#/parameters/pageSize'
  2724          - $ref: '#/parameters/query'
  2725          - $ref: '#/parameters/sort'
  2726        responses:
  2727          '200':
  2728            description: List tasks of webhook executions success
  2729            headers:
  2730              X-Total-Count:
  2731                description: The total count of tasks
  2732                type: integer
  2733              Link:
  2734                description: Link refers to the previous page and next page
  2735                type: string
  2736            schema:
  2737              type: array
  2738              items:
  2739                $ref: '#/definitions/Task'
  2740          '400':
  2741            $ref: '#/responses/400'
  2742          '401':
  2743            $ref: '#/responses/401'
  2744          '404':
  2745            $ref: '#/responses/404'
  2746          '403':
  2747            $ref: '#/responses/403'
  2748          '500':
  2749            $ref: '#/responses/500'
  2750    '/projects/{project_name_or_id}/webhook/policies/{webhook_policy_id}/executions/{execution_id}/tasks/{task_id}/log':
  2751      get:
  2752        summary: Get logs for a specific webhook task
  2753        description: |
  2754          This endpoint returns the logs of a specific webhook task.
  2755        tags:
  2756          - webhook
  2757        operationId: GetLogsOfWebhookTask
  2758        produces:
  2759          - text/plain
  2760        parameters:
  2761          - $ref: '#/parameters/requestId'
  2762          - $ref: '#/parameters/isResourceName'
  2763          - $ref: '#/parameters/projectNameOrId'
  2764          - $ref: '#/parameters/webhookPolicyId'
  2765          - $ref: '#/parameters/executionId'
  2766          - $ref: '#/parameters/taskId'
  2767        responses:
  2768          '200':
  2769            description: Get log success
  2770            headers:
  2771              Content-Type:
  2772                description: Content type of response
  2773                type: string
  2774            schema:
  2775              type: string
  2776          '400':
  2777            $ref: '#/responses/400'
  2778          '401':
  2779            $ref: '#/responses/401'
  2780          '404':
  2781            $ref: '#/responses/404'
  2782          '403':
  2783            $ref: '#/responses/403'
  2784          '500':
  2785            $ref: '#/responses/500'
  2786    '/projects/{project_name_or_id}/webhook/lasttrigger':
  2787      get:
  2788        deprecated: true
  2789        summary: Get project webhook policy last trigger info
  2790        description: |
  2791          This endpoint returns last trigger information of project webhook policy.
  2792        tags:
  2793          - webhook
  2794        operationId: LastTrigger
  2795        parameters:
  2796          - $ref: '#/parameters/requestId'
  2797          - $ref: '#/parameters/isResourceName'
  2798          - $ref: '#/parameters/projectNameOrId'
  2799        responses:
  2800          '200':
  2801            description: Test webhook connection successfully.
  2802            schema:
  2803              type: array
  2804              items:
  2805                $ref: '#/definitions/WebhookLastTrigger'
  2806          '400':
  2807            $ref: '#/responses/400'
  2808          '401':
  2809            $ref: '#/responses/401'
  2810          '403':
  2811            $ref: '#/responses/403'
  2812          '500':
  2813            $ref: '#/responses/500'
  2814    '/projects/{project_name_or_id}/webhook/jobs':
  2815      get:
  2816        deprecated: true
  2817        summary: List project webhook jobs
  2818        description: |
  2819          This endpoint returns webhook jobs of a project.
  2820        tags:
  2821          - webhookjob
  2822        operationId: ListWebhookJobs
  2823        parameters:
  2824          - $ref: '#/parameters/requestId'
  2825          - $ref: '#/parameters/isResourceName'
  2826          - $ref: '#/parameters/projectNameOrId'
  2827          - $ref: '#/parameters/query'
  2828          - $ref: '#/parameters/sort'
  2829          - $ref: '#/parameters/page'
  2830          - $ref: '#/parameters/pageSize'
  2831          - name: policy_id
  2832            in: query
  2833            type: integer
  2834            format: int64
  2835            required: true
  2836            description: The policy ID.
  2837          - name: status
  2838            in: query
  2839            description: The status of webhook job.
  2840            required: false
  2841            type: array
  2842            items:
  2843              type: string
  2844        responses:
  2845          '200':
  2846            description: List project webhook jobs successfully.
  2847            headers:
  2848              X-Total-Count:
  2849                description: The total count of available items
  2850                type: integer
  2851              Link:
  2852                description: Link to previous page and next page
  2853                type: string
  2854            schema:
  2855              type: array
  2856              items:
  2857                $ref: '#/definitions/WebhookJob'
  2858          '400':
  2859            $ref: '#/responses/400'
  2860          '401':
  2861            $ref: '#/responses/401'
  2862          '403':
  2863            $ref: '#/responses/403'
  2864          '500':
  2865            $ref: '#/responses/500'
  2866    '/projects/{project_name_or_id}/webhook/events':
  2867      get:
  2868        summary: Get supported event types and notify types.
  2869        description: Get supported event types and notify types.
  2870        tags:
  2871          - webhook
  2872        operationId: GetSupportedEventTypes
  2873        parameters:
  2874          - $ref: '#/parameters/requestId'
  2875          - $ref: '#/parameters/isResourceName'
  2876          - $ref: '#/parameters/projectNameOrId'
  2877        responses:
  2878          '200':
  2879            description: Success
  2880            schema:
  2881              $ref: '#/definitions/SupportedWebhookEventTypes'
  2882          '401':
  2883            $ref: '#/responses/401'
  2884          '403':
  2885            $ref: '#/responses/403'
  2886          '500':
  2887            $ref: '#/responses/500'
  2888    /usergroups:
  2889      get:
  2890        summary: Get all user groups information
  2891        description: Get all user groups information, it is open for system admin
  2892        operationId: listUserGroups
  2893        tags:
  2894          - usergroup
  2895        parameters:
  2896          - $ref: '#/parameters/requestId'
  2897          - $ref: '#/parameters/page'
  2898          - $ref: '#/parameters/pageSize'
  2899          - name: ldap_group_dn
  2900            in: query
  2901            type: string
  2902            required: false
  2903            description: search with ldap group DN
  2904          - name: group_name
  2905            in: query
  2906            type: string
  2907            required: false
  2908            description: group name need to search, fuzzy matches
  2909        responses:
  2910          '200':
  2911            description: Get user group successfully.
  2912            schema:
  2913              type: array
  2914              items:
  2915                $ref: '#/definitions/UserGroup'
  2916            headers:
  2917              X-Total-Count:
  2918                description: The total count of available items
  2919                type: integer
  2920              Link:
  2921                description: Link to previous page and next page
  2922                type: string
  2923          '401':
  2924            $ref: '#/responses/401'
  2925          '403':
  2926            $ref: '#/responses/403'
  2927          '500':
  2928            $ref: '#/responses/500'
  2929      post:
  2930        summary: Create user group
  2931        description: Create user group information
  2932        operationId: createUserGroup
  2933        tags:
  2934          - usergroup
  2935        parameters:
  2936          - $ref: '#/parameters/requestId'
  2937          - name: usergroup
  2938            in: body
  2939            schema:
  2940              $ref: '#/definitions/UserGroup'
  2941        responses:
  2942          '201':
  2943            description: User group created successfully.
  2944            headers:
  2945              Location:
  2946                type: string
  2947                description: The URL of the created resource
  2948          '400':
  2949            $ref: '#/responses/400'
  2950          '401':
  2951            $ref: '#/responses/401'
  2952          '403':
  2953            $ref: '#/responses/403'
  2954          '409':
  2955            $ref: '#/responses/409'
  2956          '500':
  2957            $ref: '#/responses/500'
  2958    /usergroups/search:
  2959      get:
  2960        summary: Search groups by groupname
  2961        description: |
  2962          This endpoint is to search groups by group name.  It's open for all authenticated requests.
  2963        tags:
  2964          - usergroup
  2965        operationId: searchUserGroups
  2966        parameters:
  2967          - $ref: '#/parameters/requestId'
  2968          - $ref: '#/parameters/page'
  2969          - $ref: '#/parameters/pageSize'
  2970          - name: groupname
  2971            in: query
  2972            type: string
  2973            required: true
  2974            description: Group name for filtering results.
  2975        responses:
  2976          '200':
  2977            description: Search groups successfully.
  2978            schema:
  2979              type: array
  2980              items:
  2981                $ref: '#/definitions/UserGroupSearchItem'
  2982            headers:
  2983              X-Total-Count:
  2984                description: The total count of available items
  2985                type: integer
  2986              Link:
  2987                description: Link to previous page and next page
  2988                type: string
  2989          '401':
  2990            $ref: '#/responses/401'
  2991          '500':
  2992            $ref: '#/responses/500'
  2993    '/usergroups/{group_id}':
  2994      get:
  2995        summary: Get user group information
  2996        description: Get user group information
  2997        operationId: getUserGroup
  2998        tags:
  2999          - usergroup
  3000        parameters:
  3001          - $ref: '#/parameters/requestId'
  3002          - name: group_id
  3003            in: path
  3004            type: integer
  3005            format: int64
  3006            required: true
  3007            description: Group ID
  3008        responses:
  3009          '200':
  3010            description: User group get successfully.
  3011            schema:
  3012              $ref: '#/definitions/UserGroup'
  3013          '400':
  3014            $ref: '#/responses/400'
  3015          '401':
  3016            $ref: '#/responses/401'
  3017          '403':
  3018            $ref: '#/responses/403'
  3019          '404':
  3020            $ref: '#/responses/404'
  3021          '500':
  3022            $ref: '#/responses/500'
  3023      put:
  3024        summary: Update group information
  3025        description: Update user group information
  3026        operationId: updateUserGroup
  3027        tags:
  3028          - usergroup
  3029        parameters:
  3030          - $ref: '#/parameters/requestId'
  3031          - name: group_id
  3032            in: path
  3033            type: integer
  3034            format: int64
  3035            required: true
  3036            description: Group ID
  3037          - name: usergroup
  3038            in: body
  3039            required: false
  3040            schema:
  3041              $ref: '#/definitions/UserGroup'
  3042        responses:
  3043          '200':
  3044            $ref: '#/responses/200'
  3045          '400':
  3046            $ref: '#/responses/400'
  3047          '401':
  3048            $ref: '#/responses/401'
  3049          '403':
  3050            $ref: '#/responses/403'
  3051          '404':
  3052            $ref: '#/responses/404'
  3053          '500':
  3054            $ref: '#/responses/500'
  3055      delete:
  3056        summary: Delete user group
  3057        description: Delete user group
  3058        operationId: deleteUserGroup
  3059        tags:
  3060          - usergroup
  3061        parameters:
  3062          - $ref: '#/parameters/requestId'
  3063          - name: group_id
  3064            type: integer
  3065            in: path
  3066            required: true
  3067        responses:
  3068          '200':
  3069            $ref: '#/responses/200'
  3070          '400':
  3071            $ref: '#/responses/400'
  3072          '401':
  3073            $ref: '#/responses/401'
  3074          '403':
  3075            $ref: '#/responses/403'
  3076          '500':
  3077            $ref: '#/responses/500'
  3078    /icons/{digest}:
  3079      get:
  3080        summary: Get artifact icon
  3081        description: Get the artifact icon with the specified digest. As the original icon image is resized and encoded before returning, the parameter "digest" in the path doesn't match the hash of the returned content
  3082        tags:
  3083          - icon
  3084        operationId: getIcon
  3085        parameters:
  3086          - $ref: '#/parameters/requestId'
  3087          - $ref: '#/parameters/digest'
  3088        responses:
  3089          '200':
  3090            description: Success
  3091            schema:
  3092              $ref: '#/definitions/Icon'
  3093          '400':
  3094            $ref: '#/responses/400'
  3095          '404':
  3096            $ref: '#/responses/404'
  3097          '500':
  3098            $ref: '#/responses/500'
  3099    /robots:
  3100      get:
  3101        summary: Get robot account
  3102        description: List the robot accounts with the specified level and project.
  3103        tags:
  3104          - robot
  3105        operationId: ListRobot
  3106        parameters:
  3107          - $ref: '#/parameters/requestId'
  3108          - $ref: '#/parameters/query'
  3109          - $ref: '#/parameters/sort'
  3110          - $ref: '#/parameters/page'
  3111          - $ref: '#/parameters/pageSize'
  3112        responses:
  3113          '200':
  3114            description: Success
  3115            headers:
  3116              X-Total-Count:
  3117                description: The total count of robot accounts
  3118                type: integer
  3119              Link:
  3120                description: Link refers to the previous page and next page
  3121                type: string
  3122            schema:
  3123              type: array
  3124              items:
  3125                $ref: '#/definitions/Robot'
  3126          '400':
  3127            $ref: '#/responses/400'
  3128          '404':
  3129            $ref: '#/responses/404'
  3130          '500':
  3131            $ref: '#/responses/500'
  3132      post:
  3133        summary: Create a robot account
  3134        description: Create a robot account
  3135        tags:
  3136          - robot
  3137        operationId: CreateRobot
  3138        parameters:
  3139          - $ref: '#/parameters/requestId'
  3140          - name: robot
  3141            in: body
  3142            description: The JSON object of a robot account.
  3143            required: true
  3144            schema:
  3145              $ref: '#/definitions/RobotCreate'
  3146        responses:
  3147          '201':
  3148            description: Created
  3149            headers:
  3150              X-Request-Id:
  3151                description: The ID of the corresponding request for the response
  3152                type: string
  3153              Location:
  3154                description: The location of the resource
  3155                type: string
  3156            schema:
  3157              $ref: '#/definitions/RobotCreated'
  3158          '400':
  3159            $ref: '#/responses/400'
  3160          '401':
  3161            $ref: '#/responses/401'
  3162          '403':
  3163            $ref: '#/responses/403'
  3164          '404':
  3165            $ref: '#/responses/404'
  3166          '500':
  3167            $ref: '#/responses/500'
  3168    '/quotas':
  3169      get:
  3170        summary: List quotas
  3171        description: List quotas
  3172        tags:
  3173          - quota
  3174        operationId: listQuotas
  3175        parameters:
  3176          - $ref: '#/parameters/requestId'
  3177          - $ref: '#/parameters/page'
  3178          - $ref: '#/parameters/pageSize'
  3179          - name: reference
  3180            in: query
  3181            description: The reference type of quota.
  3182            required: false
  3183            type: string
  3184          - name: reference_id
  3185            in: query
  3186            description: The reference id of quota.
  3187            required: false
  3188            type: string
  3189          - name: sort
  3190            in: query
  3191            type: string
  3192            required: false
  3193            description: |
  3194              Sort method, valid values include:
  3195              'hard.resource_name', '-hard.resource_name', 'used.resource_name', '-used.resource_name'.
  3196              Here '-' stands for descending order, resource_name should be the real resource name of the quota.
  3197        responses:
  3198          '200':
  3199            description: Successfully retrieved the quotas.
  3200            schema:
  3201              type: array
  3202              items:
  3203                $ref: '#/definitions/Quota'
  3204            headers:
  3205              X-Total-Count:
  3206                description: The total count of access logs
  3207                type: integer
  3208              Link:
  3209                description: Link refers to the previous page and next page
  3210                type: string
  3211          '401':
  3212            $ref: '#/responses/401'
  3213          '403':
  3214            $ref: '#/responses/403'
  3215          '500':
  3216            $ref: '#/responses/500'
  3217    '/quotas/{id}':
  3218      get:
  3219        summary: Get the specified quota
  3220        description: Get the specified quota
  3221        tags:
  3222          - quota
  3223        operationId: getQuota
  3224        parameters:
  3225          - $ref: '#/parameters/requestId'
  3226          - name: id
  3227            in: path
  3228            type: integer
  3229            required: true
  3230            description: Quota ID
  3231        responses:
  3232          '200':
  3233            description: Successfully retrieved the quota.
  3234            schema:
  3235              $ref: '#/definitions/Quota'
  3236          '401':
  3237            $ref: '#/responses/401'
  3238          '403':
  3239            $ref: '#/responses/403'
  3240          '404':
  3241            $ref: '#/responses/404'
  3242          '500':
  3243            $ref: '#/responses/500'
  3244      put:
  3245        summary: Update the specified quota
  3246        description: Update hard limits of the specified quota
  3247        tags:
  3248          - quota
  3249        operationId: updateQuota
  3250        parameters:
  3251          - $ref: '#/parameters/requestId'
  3252          - name: id
  3253            in: path
  3254            type: integer
  3255            required: true
  3256            description: Quota ID
  3257          - name: hard
  3258            in: body
  3259            required: true
  3260            description: The new hard limits for the quota
  3261            schema:
  3262              $ref: '#/definitions/QuotaUpdateReq'
  3263        responses:
  3264          '200':
  3265            $ref: '#/responses/200'
  3266          '400':
  3267            $ref: '#/responses/400'
  3268          '401':
  3269            $ref: '#/responses/401'
  3270          '403':
  3271            $ref: '#/responses/403'
  3272          '404':
  3273            $ref: '#/responses/404'
  3274          '500':
  3275            $ref: '#/responses/500'
  3276    /robots/{robot_id}:
  3277      get:
  3278        summary: Get a robot account
  3279        description: This endpoint returns specific robot account information by robot ID.
  3280        tags:
  3281          - robot
  3282        operationId: GetRobotByID
  3283        parameters:
  3284          - $ref: '#/parameters/requestId'
  3285          - $ref: '#/parameters/robotId'
  3286        responses:
  3287          '200':
  3288            description: Return matched robot information.
  3289            schema:
  3290              $ref: '#/definitions/Robot'
  3291          '401':
  3292            $ref: '#/responses/401'
  3293          '403':
  3294            $ref: '#/responses/403'
  3295          '404':
  3296            $ref: '#/responses/404'
  3297          '500':
  3298            $ref: '#/responses/500'
  3299      put:
  3300        summary: Update a robot account
  3301        description: This endpoint updates specific robot account information by robot ID.
  3302        tags:
  3303          - robot
  3304        operationId: UpdateRobot
  3305        parameters:
  3306          - $ref: '#/parameters/requestId'
  3307          - $ref: '#/parameters/robotId'
  3308          - name: robot
  3309            in: body
  3310            description: The JSON object of a robot account.
  3311            required: true
  3312            schema:
  3313              $ref: '#/definitions/Robot'
  3314        responses:
  3315          '200':
  3316            $ref: '#/responses/200'
  3317          '400':
  3318            $ref: '#/responses/400'
  3319          '401':
  3320            $ref: '#/responses/401'
  3321          '403':
  3322            $ref: '#/responses/403'
  3323          '404':
  3324            $ref: '#/responses/404'
  3325          '409':
  3326            $ref: '#/responses/409'
  3327          '500':
  3328            $ref: '#/responses/500'
  3329      patch:
  3330        summary: Refresh the robot secret
  3331        description: Refresh the robot secret
  3332        tags:
  3333          - robot
  3334        operationId: RefreshSec
  3335        parameters:
  3336          - $ref: '#/parameters/requestId'
  3337          - $ref: '#/parameters/robotId'
  3338          - name: robotSec
  3339            description: The JSON object of a robot account.
  3340            in: body
  3341            required: true
  3342            schema:
  3343              $ref: '#/definitions/RobotSec'
  3344        responses:
  3345          '200':
  3346            description: Return refreshed robot sec.
  3347            schema:
  3348              $ref: '#/definitions/RobotSec'
  3349          '400':
  3350            $ref: '#/responses/400'
  3351          '401':
  3352            $ref: '#/responses/401'
  3353          '404':
  3354            $ref: '#/responses/404'
  3355          '403':
  3356            $ref: '#/responses/403'
  3357          '500':
  3358            $ref: '#/responses/500'
  3359      delete:
  3360        summary: Delete a robot account
  3361        description: This endpoint deletes specific robot account information by robot ID.
  3362        tags:
  3363          - robot
  3364        operationId: DeleteRobot
  3365        parameters:
  3366          - $ref: '#/parameters/requestId'
  3367          - $ref: '#/parameters/robotId'
  3368        responses:
  3369          '200':
  3370            $ref: '#/responses/200'
  3371          '400':
  3372            $ref: '#/responses/400'
  3373          '401':
  3374            $ref: '#/responses/401'
  3375          '403':
  3376            $ref: '#/responses/403'
  3377          '404':
  3378            $ref: '#/responses/404'
  3379          '500':
  3380            $ref: '#/responses/500'
  3381    /replication/policies:
  3382      get:
  3383        summary: List replication policies
  3384        description: List replication policies
  3385        tags:
  3386          - replication
  3387        operationId: listReplicationPolicies
  3388        parameters:
  3389          - $ref: '#/parameters/requestId'
  3390          - $ref: '#/parameters/query'
  3391          - $ref: '#/parameters/sort'
  3392          - $ref: '#/parameters/page'
  3393          - $ref: '#/parameters/pageSize'
  3394          - name: name
  3395            in: query
  3396            type: string
  3397            required: false
  3398            description: Deprecated, use "query" instead. The policy name.
  3399        responses:
  3400          '200':
  3401            description: Success
  3402            headers:
  3403              X-Total-Count:
  3404                description: The total count of the resources
  3405                type: integer
  3406              Link:
  3407                description: Link refers to the previous page and next page
  3408                type: string
  3409            schema:
  3410              type: array
  3411              items:
  3412                $ref: '#/definitions/ReplicationPolicy'
  3413          '401':
  3414            $ref: '#/responses/401'
  3415          '403':
  3416            $ref: '#/responses/403'
  3417          '500':
  3418            $ref: '#/responses/500'
  3419      post:
  3420        summary: Create a replication policy
  3421        description: Create a replication policy
  3422        tags:
  3423          - replication
  3424        operationId: createReplicationPolicy
  3425        parameters:
  3426          - $ref: '#/parameters/requestId'
  3427          - name: policy
  3428            in: body
  3429            description: The replication policy
  3430            required: true
  3431            schema:
  3432              $ref: '#/definitions/ReplicationPolicy'
  3433        responses:
  3434          '201':
  3435            $ref: '#/responses/201'
  3436          '400':
  3437            $ref: '#/responses/400'
  3438          '401':
  3439            $ref: '#/responses/401'
  3440          '403':
  3441            $ref: '#/responses/403'
  3442          '409':
  3443            $ref: '#/responses/409'
  3444          '500':
  3445            $ref: '#/responses/500'
  3446    /replication/policies/{id}:
  3447      get:
  3448        summary: Get the specific replication policy
  3449        description: Get the specific replication policy
  3450        tags:
  3451          - replication
  3452        operationId: getReplicationPolicy
  3453        parameters:
  3454          - $ref: '#/parameters/requestId'
  3455          - name: id
  3456            in: path
  3457            type: integer
  3458            format: int64
  3459            required: true
  3460            description: Policy ID
  3461        responses:
  3462          '200':
  3463            description: Success
  3464            schema:
  3465              $ref: '#/definitions/ReplicationPolicy'
  3466          '401':
  3467            $ref: '#/responses/401'
  3468          '403':
  3469            $ref: '#/responses/403'
  3470          '500':
  3471            $ref: '#/responses/500'
  3472      delete:
  3473        summary: Delete the specific replication policy
  3474        description: Delete the specific replication policy
  3475        tags:
  3476          - replication
  3477        operationId: deleteReplicationPolicy
  3478        parameters:
  3479          - $ref: '#/parameters/requestId'
  3480          - name: id
  3481            in: path
  3482            type: integer
  3483            format: int64
  3484            required: true
  3485            description: Replication policy ID
  3486        responses:
  3487          '200':
  3488            $ref: '#/responses/200'
  3489          '401':
  3490            $ref: '#/responses/401'
  3491          '403':
  3492            $ref: '#/responses/403'
  3493          '404':
  3494            $ref: '#/responses/404'
  3495          '412':
  3496            $ref: '#/responses/412'
  3497          '500':
  3498            $ref: '#/responses/500'
  3499      put:
  3500        summary: Update the replication policy
  3501        description: Update the replication policy
  3502        tags:
  3503          - replication
  3504        operationId: updateReplicationPolicy
  3505        parameters:
  3506          - $ref: '#/parameters/requestId'
  3507          - name: id
  3508            in: path
  3509            type: integer
  3510            format: int64
  3511            required: true
  3512            description: The policy ID
  3513          - name: policy
  3514            in: body
  3515            description: The replication policy
  3516            required: true
  3517            schema:
  3518              $ref: '#/definitions/ReplicationPolicy'
  3519        responses:
  3520          '200':
  3521            $ref: '#/responses/200'
  3522          '401':
  3523            $ref: '#/responses/401'
  3524          '403':
  3525            $ref: '#/responses/403'
  3526          '404':
  3527            $ref: '#/responses/404'
  3528          '409':
  3529            $ref: '#/responses/409'
  3530          '500':
  3531            $ref: '#/responses/500'
  3532    /replication/executions:
  3533      get:
  3534        summary: List replication executions
  3535        description: List replication executions
  3536        tags:
  3537          - replication
  3538        operationId: listReplicationExecutions
  3539        parameters:
  3540          - $ref: '#/parameters/requestId'
  3541          - $ref: '#/parameters/sort'
  3542          - $ref: '#/parameters/page'
  3543          - $ref: '#/parameters/pageSize'
  3544          - name: policy_id
  3545            in: query
  3546            type: integer
  3547            required: false
  3548            description: The ID of the policy that the executions belong to.
  3549          - name: status
  3550            in: query
  3551            type: string
  3552            required: false
  3553            description: The execution status.
  3554          - name: trigger
  3555            in: query
  3556            type: string
  3557            required: false
  3558            description: The trigger mode.
  3559        responses:
  3560          '200':
  3561            description: Success
  3562            headers:
  3563              X-Total-Count:
  3564                description: The total count of the resources
  3565                type: integer
  3566              Link:
  3567                description: Link refers to the previous page and next page
  3568                type: string
  3569            schema:
  3570              type: array
  3571              items:
  3572                $ref: '#/definitions/ReplicationExecution'
  3573          '401':
  3574            $ref: '#/responses/401'
  3575          '403':
  3576            $ref: '#/responses/403'
  3577          '500':
  3578            $ref: '#/responses/500'
  3579      post:
  3580        summary: Start one replication execution
  3581        description: Start one replication execution according to the policy
  3582        tags:
  3583          - replication
  3584        operationId: startReplication
  3585        parameters:
  3586          - $ref: '#/parameters/requestId'
  3587          - name: execution
  3588            in: body
  3589            description: The ID of policy that the execution belongs to
  3590            required: true
  3591            schema:
  3592              $ref: '#/definitions/StartReplicationExecution'
  3593        responses:
  3594          '201':
  3595            $ref: '#/responses/201'
  3596          '400':
  3597            $ref: '#/responses/400'
  3598          '401':
  3599            $ref: '#/responses/401'
  3600          '403':
  3601            $ref: '#/responses/403'
  3602          '500':
  3603            $ref: '#/responses/500'
  3604    /replication/executions/{id}:
  3605      get:
  3606        summary: Get the specific replication execution
  3607        description: Get the replication execution specified by ID
  3608        tags:
  3609          - replication
  3610        operationId: getReplicationExecution
  3611        parameters:
  3612          - $ref: '#/parameters/requestId'
  3613          - name: id
  3614            in: path
  3615            type: integer
  3616            format: int64
  3617            description: The ID of the execution.
  3618            required: true
  3619        responses:
  3620          '200':
  3621            description: Success
  3622            schema:
  3623              $ref: '#/definitions/ReplicationExecution'
  3624          '401':
  3625            $ref: '#/responses/401'
  3626          '403':
  3627            $ref: '#/responses/403'
  3628          '404':
  3629            $ref: '#/responses/404'
  3630          '500':
  3631            $ref: '#/responses/500'
  3632      put:
  3633        summary: Stop the specific replication execution
  3634        description: Stop the replication execution specified by ID
  3635        tags:
  3636          - replication
  3637        operationId: stopReplication
  3638        parameters:
  3639          - $ref: '#/parameters/requestId'
  3640          - name: id
  3641            in: path
  3642            type: integer
  3643            format: int64
  3644            description: The ID of the execution.
  3645            required: true
  3646        responses:
  3647          '200':
  3648            $ref: '#/responses/200'
  3649          '401':
  3650            $ref: '#/responses/401'
  3651          '403':
  3652            $ref: '#/responses/403'
  3653          '404':
  3654            $ref: '#/responses/404'
  3655          '500':
  3656            $ref: '#/responses/500'
  3657    /replication/executions/{id}/tasks:
  3658      get:
  3659        summary: List replication tasks for a specific execution
  3660        description: List replication tasks for a specific execution
  3661        tags:
  3662          - replication
  3663        operationId: listReplicationTasks
  3664        parameters:
  3665          - $ref: '#/parameters/requestId'
  3666          - $ref: '#/parameters/sort'
  3667          - $ref: '#/parameters/page'
  3668          - $ref: '#/parameters/pageSize'
  3669          - name: id
  3670            in: path
  3671            type: integer
  3672            format: int64
  3673            description: The ID of the execution that the tasks belongs to.
  3674            required: true
  3675          - name: status
  3676            in: query
  3677            type: string
  3678            required: false
  3679            description: The task status.
  3680          - name: resource_type
  3681            in: query
  3682            type: string
  3683            required: false
  3684            description: The resource type.
  3685        responses:
  3686          '200':
  3687            description: Success
  3688            headers:
  3689              X-Total-Count:
  3690                description: The total count of the resources
  3691                type: integer
  3692              Link:
  3693                description: Link refers to the previous page and next page
  3694                type: string
  3695            schema:
  3696              type: array
  3697              items:
  3698                $ref: '#/definitions/ReplicationTask'
  3699          '401':
  3700            $ref: '#/responses/401'
  3701          '403':
  3702            $ref: '#/responses/403'
  3703          '500':
  3704            $ref: '#/responses/500'
  3705    /replication/executions/{id}/tasks/{task_id}/log:
  3706      get:
  3707        summary: Get the log of the specific replication task
  3708        description: Get the log of the specific replication task
  3709        tags:
  3710          - replication
  3711        operationId: getReplicationLog
  3712        produces:
  3713          - text/plain
  3714        parameters:
  3715          - $ref: '#/parameters/requestId'
  3716          - name: id
  3717            in: path
  3718            type: integer
  3719            format: int64
  3720            description: The ID of the execution that the tasks belongs to.
  3721            required: true
  3722          - name: task_id
  3723            in: path
  3724            type: integer
  3725            format: int64
  3726            description: The ID of the task.
  3727            required: true
  3728        responses:
  3729          '200':
  3730            description: Success
  3731            headers:
  3732              Content-Type:
  3733                description: The content type of response body
  3734                type: string
  3735            schema:
  3736              type: string
  3737          '401':
  3738            $ref: '#/responses/401'
  3739          '403':
  3740            $ref: '#/responses/403'
  3741          '404':
  3742            $ref: '#/responses/404'
  3743          '500':
  3744            $ref: '#/responses/500'
  3745    /replication/adapters:
  3746      get:
  3747        summary: List registry adapters
  3748        description: List registry adapters
  3749        tags:
  3750          - registry
  3751        operationId: listRegistryProviderTypes
  3752        parameters:
  3753          - $ref: '#/parameters/requestId'
  3754        responses:
  3755          '200':
  3756            description: Success.
  3757            schema:
  3758              type: array
  3759              items:
  3760                type: string
  3761          '401':
  3762            $ref: '#/responses/401'
  3763          '403':
  3764            $ref: '#/responses/403'
  3765          '500':
  3766            $ref: '#/responses/500'
  3767    /replication/adapterinfos:
  3768      get:
  3769        summary: List all registered registry provider information
  3770        description: List all registered registry provider information
  3771        tags:
  3772          - registry
  3773        operationId: listRegistryProviderInfos
  3774        parameters:
  3775          - $ref: '#/parameters/requestId'
  3776        responses:
  3777          '200':
  3778            description: Success.
  3779            schema:
  3780              type: object
  3781              additionalProperties:
  3782                $ref: '#/definitions/RegistryProviderInfo'
  3783          '401':
  3784            $ref: '#/responses/401'
  3785          '403':
  3786            $ref: '#/responses/403'
  3787          '500':
  3788            $ref: '#/responses/500'
  3789    /registries:
  3790      post:
  3791        summary: Create a registry
  3792        description: Create a registry
  3793        tags:
  3794          - registry
  3795        operationId: createRegistry
  3796        parameters:
  3797          - $ref: '#/parameters/requestId'
  3798          - name: registry
  3799            in: body
  3800            description: The registry
  3801            required: true
  3802            schema:
  3803              $ref: '#/definitions/Registry'
  3804        responses:
  3805          '201':
  3806            $ref: '#/responses/201'
  3807          '400':
  3808            $ref: '#/responses/400'
  3809          '401':
  3810            $ref: '#/responses/401'
  3811          '403':
  3812            $ref: '#/responses/403'
  3813          '409':
  3814            $ref: '#/responses/409'
  3815          '500':
  3816            $ref: '#/responses/500'
  3817      get:
  3818        summary: List the registries
  3819        description: List the registries
  3820        tags:
  3821          - registry
  3822        operationId: listRegistries
  3823        parameters:
  3824          - $ref: '#/parameters/requestId'
  3825          - $ref: '#/parameters/query'
  3826          - $ref: '#/parameters/sort'
  3827          - $ref: '#/parameters/page'
  3828          - $ref: '#/parameters/pageSize'
  3829          - name: name
  3830            in: query
  3831            type: string
  3832            required: false
  3833            description: Deprecated, use `q` instead.
  3834        responses:
  3835          '200':
  3836            description: Success
  3837            headers:
  3838              X-Total-Count:
  3839                description: The total count of the resources
  3840                type: integer
  3841              Link:
  3842                description: Link refers to the previous page and next page
  3843                type: string
  3844            schema:
  3845              type: array
  3846              items:
  3847                $ref: '#/definitions/Registry'
  3848          '401':
  3849            $ref: '#/responses/401'
  3850          '403':
  3851            $ref: '#/responses/403'
  3852          '500':
  3853            $ref: '#/responses/500'
  3854    /registries/ping:
  3855      post:
  3856        summary: Check status of a registry
  3857        description: Check status of a registry
  3858        tags:
  3859          - registry
  3860        operationId: pingRegistry
  3861        parameters:
  3862          - $ref: '#/parameters/requestId'
  3863          - name: registry
  3864            in: body
  3865            description: The registry
  3866            required: true
  3867            schema:
  3868              $ref: '#/definitions/RegistryPing'
  3869        responses:
  3870          '200':
  3871            $ref: '#/responses/200'
  3872          '400':
  3873            $ref: '#/responses/400'
  3874          '401':
  3875            $ref: '#/responses/401'
  3876          '403':
  3877            $ref: '#/responses/403'
  3878          '404':
  3879            $ref: '#/responses/404'
  3880          '500':
  3881            $ref: '#/responses/500'
  3882    /registries/{id}:
  3883      get:
  3884        summary: Get the specific registry
  3885        description: Get the specific registry
  3886        tags:
  3887          - registry
  3888        operationId: getRegistry
  3889        parameters:
  3890          - $ref: '#/parameters/requestId'
  3891          - name: id
  3892            in: path
  3893            type: integer
  3894            format: int64
  3895            required: true
  3896            description: Registry ID
  3897        responses:
  3898          '200':
  3899            description: Success
  3900            schema:
  3901              $ref: '#/definitions/Registry'
  3902          '401':
  3903            $ref: '#/responses/401'
  3904          '403':
  3905            $ref: '#/responses/403'
  3906          '404':
  3907            $ref: '#/responses/404'
  3908          '500':
  3909            $ref: '#/responses/500'
  3910      delete:
  3911        summary: Delete the specific registry
  3912        description: Delete the specific registry
  3913        tags:
  3914          - registry
  3915        operationId: deleteRegistry
  3916        parameters:
  3917          - $ref: '#/parameters/requestId'
  3918          - name: id
  3919            in: path
  3920            type: integer
  3921            format: int64
  3922            required: true
  3923            description: Registry ID
  3924        responses:
  3925          '200':
  3926            $ref: '#/responses/200'
  3927          '401':
  3928            $ref: '#/responses/401'
  3929          '403':
  3930            $ref: '#/responses/403'
  3931          '404':
  3932            $ref: '#/responses/404'
  3933          '412':
  3934            $ref: '#/responses/412'
  3935          '500':
  3936            $ref: '#/responses/500'
  3937      put:
  3938        summary: Update the registry
  3939        description: Update the registry
  3940        tags:
  3941          - registry
  3942        operationId: updateRegistry
  3943        parameters:
  3944          - $ref: '#/parameters/requestId'
  3945          - name: id
  3946            in: path
  3947            type: integer
  3948            format: int64
  3949            required: true
  3950            description: The registry ID
  3951          - name: registry
  3952            in: body
  3953            description: The registry
  3954            required: true
  3955            schema:
  3956              $ref: '#/definitions/RegistryUpdate'
  3957        responses:
  3958          '200':
  3959            $ref: '#/responses/200'
  3960          '401':
  3961            $ref: '#/responses/401'
  3962          '403':
  3963            $ref: '#/responses/403'
  3964          '404':
  3965            $ref: '#/responses/404'
  3966          '409':
  3967            $ref: '#/responses/409'
  3968          '500':
  3969            $ref: '#/responses/500'
  3970    /registries/{id}/info:
  3971      get:
  3972        summary: Get the registry info
  3973        description: Get the registry info
  3974        tags:
  3975          - registry
  3976        operationId: getRegistryInfo
  3977        parameters:
  3978          - $ref: '#/parameters/requestId'
  3979          - name: id
  3980            in: path
  3981            type: integer
  3982            format: int64
  3983            required: true
  3984            description: Registry ID
  3985        responses:
  3986          '200':
  3987            description: Success
  3988            schema:
  3989              $ref: '#/definitions/RegistryInfo'
  3990          '401':
  3991            $ref: '#/responses/401'
  3992          '403':
  3993            $ref: '#/responses/403'
  3994          '404':
  3995            $ref: '#/responses/404'
  3996          '500':
  3997            $ref: '#/responses/500'
  3998    /scans/all/metrics:
  3999      get:
  4000        summary: Get the metrics of the latest scan all process
  4001        description: Get the metrics of the latest scan all process
  4002        tags:
  4003          - scanAll
  4004        operationId: getLatestScanAllMetrics
  4005        parameters:
  4006          - $ref: '#/parameters/requestId'
  4007        responses:
  4008          '200':
  4009            description: OK
  4010            schema:
  4011              $ref: '#/definitions/Stats'
  4012          '401':
  4013            $ref: '#/responses/401'
  4014          '403':
  4015            $ref: '#/responses/403'
  4016          '412':
  4017            $ref: '#/responses/412'
  4018          '500':
  4019            $ref: '#/responses/500'
  4020    /scans/schedule/metrics:
  4021      get:
  4022        summary: Get the metrics of the latest scheduled scan all process
  4023        description: Get the metrics of the latest scheduled scan all process
  4024        tags:
  4025          - scanAll
  4026        operationId: getLatestScheduledScanAllMetrics
  4027        deprecated: true
  4028        parameters:
  4029          - $ref: '#/parameters/requestId'
  4030        responses:
  4031          '200':
  4032            description: OK
  4033            schema:
  4034              $ref: '#/definitions/Stats'
  4035          '401':
  4036            $ref: '#/responses/401'
  4037          '403':
  4038            $ref: '#/responses/403'
  4039          '412':
  4040            $ref: '#/responses/412'
  4041          '500':
  4042            $ref: '#/responses/500'
  4043    /systeminfo:
  4044      get:
  4045        summary: Get general system info
  4046        operationId: getSystemInfo
  4047        description: |
  4048          This API is for retrieving general system info, this can be called by anonymous request.  Some attributes will be omitted in the response when this API is called by anonymous request.
  4049        tags:
  4050          - systeminfo
  4051        parameters:
  4052          - $ref: '#/parameters/requestId'
  4053        responses:
  4054          '200':
  4055            description: Get general info successfully.
  4056            schema:
  4057              $ref: '#/definitions/GeneralInfo'
  4058          '500':
  4059            $ref: '#/responses/500'
  4060    /systeminfo/volumes:
  4061      get:
  4062        summary: Get system volume info (total/free size).
  4063        operationId: getVolumes
  4064        description: |
  4065          This endpoint is for retrieving system volume info that only provides for admin user.  Note that the response only reflects the storage status of local disk.
  4066        tags:
  4067          - systeminfo
  4068        parameters:
  4069          - $ref: '#/parameters/requestId'
  4070        responses:
  4071          '200':
  4072            description: Get system volumes successfully.
  4073            schema:
  4074              $ref: '#/definitions/SystemInfo'
  4075          '401':
  4076            $ref: '#/responses/401'
  4077          '403':
  4078            $ref: '#/responses/403'
  4079          '404':
  4080            $ref: '#/responses/404'
  4081          '500':
  4082            $ref: '#/responses/500'
  4083    /systeminfo/getcert:
  4084      get:
  4085        summary: Get default root certificate.
  4086        operationId: getCert
  4087        description: |
  4088          This endpoint is for downloading a default root certificate.
  4089        tags:
  4090          - systeminfo
  4091        produces:
  4092          - application/octet-stream
  4093        parameters:
  4094          - $ref: '#/parameters/requestId'
  4095        responses:
  4096          '200':
  4097            description: Get default root certificate successfully.
  4098            schema:
  4099              type: file
  4100            headers:
  4101              Content-Disposition:
  4102                description: To set the filename of the downloaded file.
  4103                type: string
  4104          '404':
  4105            description: Not found the default root certificate.
  4106          '500':
  4107            $ref: '#/responses/500'
  4108    /system/oidc/ping:
  4109      post:
  4110        summary: Test the OIDC endpoint.
  4111        description: |
  4112          Test the OIDC endpoint, the setting of the endpoint is provided in the request.  This API can only be called by system admin.
  4113        tags:
  4114          - oidc
  4115        operationId: pingOIDC
  4116        parameters:
  4117          - $ref: '#/parameters/requestId'
  4118          - name: endpoint
  4119            in: body
  4120            description: Request body for OIDC endpoint to be tested.
  4121            required: true
  4122            schema:
  4123              type: object
  4124              properties:
  4125                url:
  4126                  type: string
  4127                  description: The URL of OIDC endpoint to be tested.
  4128                verify_cert:
  4129                  type: boolean
  4130                  description: Whether the certificate should be verified
  4131        responses:
  4132          '200':
  4133            $ref: '#/responses/200'
  4134          '400':
  4135            $ref: '#/responses/400'
  4136          '401':
  4137            $ref: '#/responses/401'
  4138          '403':
  4139            $ref: '#/responses/403'
  4140    /system/gc:
  4141      get:
  4142        summary: Get gc results.
  4143        description: This endpoint let user get gc execution history.
  4144        tags:
  4145          - gc
  4146        operationId: getGCHistory
  4147        parameters:
  4148          - $ref: '#/parameters/requestId'
  4149          - $ref: '#/parameters/query'
  4150          - $ref: '#/parameters/sort'
  4151          - $ref: '#/parameters/page'
  4152          - $ref: '#/parameters/pageSize'
  4153        responses:
  4154          '200':
  4155            description: Get gc results successfully.
  4156            headers:
  4157              X-Total-Count:
  4158                description: The total count of history
  4159                type: integer
  4160              Link:
  4161                description: Link refers to the previous page and next page
  4162                type: string
  4163            schema:
  4164              type: array
  4165              items:
  4166                $ref: '#/definitions/GCHistory'
  4167          '401':
  4168            $ref: '#/responses/401'
  4169          '403':
  4170            $ref: '#/responses/403'
  4171          '500':
  4172            $ref: '#/responses/500'
  4173    /system/gc/{gc_id}:
  4174      get:
  4175        summary: Get gc status.
  4176        description: This endpoint let user get gc status filtered by specific ID.
  4177        operationId: getGC
  4178        parameters:
  4179          - $ref: '#/parameters/requestId'
  4180          - $ref: '#/parameters/gcId'
  4181        tags:
  4182          - gc
  4183        responses:
  4184          '200':
  4185            description: Get gc results successfully.
  4186            schema:
  4187              $ref: '#/definitions/GCHistory'
  4188          '401':
  4189            $ref: '#/responses/401'
  4190          '403':
  4191            $ref: '#/responses/403'
  4192          '404':
  4193            $ref: '#/responses/404'
  4194          '500':
  4195            $ref: '#/responses/500'
  4196      put:
  4197        summary: Stop the specific GC execution
  4198        description: Stop the GC execution specified by ID
  4199        tags:
  4200          - gc
  4201        operationId: stopGC
  4202        parameters:
  4203          - $ref: '#/parameters/requestId'
  4204          - $ref: '#/parameters/gcId'
  4205        responses:
  4206          '200':
  4207            $ref: '#/responses/200'
  4208          '401':
  4209            $ref: '#/responses/401'
  4210          '403':
  4211            $ref: '#/responses/403'
  4212          '404':
  4213            $ref: '#/responses/404'
  4214          '500':
  4215            $ref: '#/responses/500'
  4216    /system/gc/{gc_id}/log:
  4217      get:
  4218        summary: Get gc job log.
  4219        description: This endpoint let user get gc job logs filtered by specific ID.
  4220        operationId: getGCLog
  4221        parameters:
  4222          - $ref: '#/parameters/requestId'
  4223          - $ref: '#/parameters/gcId'
  4224        tags:
  4225          - gc
  4226        produces:
  4227          - text/plain
  4228        responses:
  4229          '200':
  4230            description: Get successfully.
  4231            schema:
  4232              type: string
  4233          '400':
  4234            $ref: '#/responses/400'
  4235          '401':
  4236            $ref: '#/responses/401'
  4237          '403':
  4238            $ref: '#/responses/403'
  4239          '404':
  4240            $ref: '#/responses/404'
  4241          '500':
  4242            $ref: '#/responses/500'
  4243    /system/gc/schedule:
  4244      get:
  4245        summary: Get gc's schedule.
  4246        description: This endpoint is for get schedule of gc job.
  4247        operationId: getGCSchedule
  4248        tags:
  4249          - gc
  4250        parameters:
  4251          - $ref: '#/parameters/requestId'
  4252        responses:
  4253          '200':
  4254            description: Get gc's schedule.
  4255            schema:
  4256              $ref: '#/definitions/GCHistory'
  4257          '401':
  4258            $ref: '#/responses/401'
  4259          '403':
  4260            $ref: '#/responses/403'
  4261          '500':
  4262            $ref: '#/responses/500'
  4263      post:
  4264        summary: Create a gc schedule.
  4265        description: |
  4266          This endpoint is for update gc schedule.
  4267        operationId: createGCSchedule
  4268        parameters:
  4269          - $ref: '#/parameters/requestId'
  4270          - name: schedule
  4271            in: body
  4272            required: true
  4273            schema:
  4274              $ref: '#/definitions/Schedule'
  4275            description: Updates of gc's schedule.
  4276        tags:
  4277          - gc
  4278        responses:
  4279          '201':
  4280            $ref: '#/responses/201'
  4281          '400':
  4282            $ref: '#/responses/400'
  4283          '401':
  4284            $ref: '#/responses/401'
  4285          '403':
  4286            $ref: '#/responses/403'
  4287          '409':
  4288            $ref: '#/responses/409'
  4289          '500':
  4290            $ref: '#/responses/500'
  4291      put:
  4292        summary: Update gc's schedule.
  4293        description: |
  4294          This endpoint is for update gc schedule.
  4295        operationId: updateGCSchedule
  4296        parameters:
  4297          - $ref: '#/parameters/requestId'
  4298          - name: schedule
  4299            in: body
  4300            required: true
  4301            schema:
  4302              $ref: '#/definitions/Schedule'
  4303            description: Updates of gc's schedule.
  4304        tags:
  4305          - gc
  4306        responses:
  4307          '200':
  4308            description: Updated gc's schedule successfully.
  4309          '400':
  4310            $ref: '#/responses/400'
  4311          '401':
  4312            $ref: '#/responses/401'
  4313          '403':
  4314            $ref: '#/responses/403'
  4315          '500':
  4316            $ref: '#/responses/500'
  4317    /system/purgeaudit:
  4318      get:
  4319        summary: Get purge job results.
  4320        description: get purge job execution history.
  4321        tags:
  4322          - purge
  4323        operationId: getPurgeHistory
  4324        parameters:
  4325          - $ref: '#/parameters/requestId'
  4326          - $ref: '#/parameters/query'
  4327          - $ref: '#/parameters/sort'
  4328          - $ref: '#/parameters/page'
  4329          - $ref: '#/parameters/pageSize'
  4330        responses:
  4331          '200':
  4332            description: Get purge job results successfully.
  4333            headers:
  4334              X-Total-Count:
  4335                description: The total count of history
  4336                type: integer
  4337              Link:
  4338                description: Link refers to the previous page and next page
  4339                type: string
  4340            schema:
  4341              type: array
  4342              items:
  4343                $ref: '#/definitions/ExecHistory'
  4344          '401':
  4345            $ref: '#/responses/401'
  4346          '403':
  4347            $ref: '#/responses/403'
  4348          '500':
  4349            $ref: '#/responses/500'
  4350    /system/purgeaudit/{purge_id}:
  4351      get:
  4352        summary: Get purge job status.
  4353        description: This endpoint let user get purge job status filtered by specific ID.
  4354        operationId: getPurgeJob
  4355        parameters:
  4356          - $ref: '#/parameters/requestId'
  4357          - $ref: '#/parameters/purgeId'
  4358        tags:
  4359          - purge
  4360        responses:
  4361          '200':
  4362            description: Get purge job results successfully.
  4363            schema:
  4364              $ref: '#/definitions/ExecHistory'
  4365          '401':
  4366            $ref: '#/responses/401'
  4367          '403':
  4368            $ref: '#/responses/403'
  4369          '404':
  4370            $ref: '#/responses/404'
  4371          '500':
  4372            $ref: '#/responses/500'
  4373      put:
  4374        summary: Stop the specific purge audit log execution
  4375        description: Stop the purge audit log execution specified by ID
  4376        tags:
  4377          - purge
  4378        operationId: stopPurge
  4379        parameters:
  4380          - $ref: '#/parameters/requestId'
  4381          - $ref: '#/parameters/purgeId'
  4382        responses:
  4383          '200':
  4384            $ref: '#/responses/200'
  4385          '401':
  4386            $ref: '#/responses/401'
  4387          '403':
  4388            $ref: '#/responses/403'
  4389          '404':
  4390            $ref: '#/responses/404'
  4391          '500':
  4392            $ref: '#/responses/500'
  4393    /system/purgeaudit/{purge_id}/log:
  4394      get:
  4395        summary: Get purge job log.
  4396        description: This endpoint let user get purge job logs filtered by specific ID.
  4397        operationId: getPurgeJobLog
  4398        parameters:
  4399          - $ref: '#/parameters/requestId'
  4400          - $ref: '#/parameters/purgeId'
  4401        tags:
  4402          - purge
  4403        produces:
  4404          - text/plain
  4405        responses:
  4406          '200':
  4407            description: Get successfully.
  4408            schema:
  4409              type: string
  4410          '400':
  4411            $ref: '#/responses/400'
  4412          '401':
  4413            $ref: '#/responses/401'
  4414          '403':
  4415            $ref: '#/responses/403'
  4416          '404':
  4417            $ref: '#/responses/404'
  4418          '500':
  4419            $ref: '#/responses/500'
  4420    /system/purgeaudit/schedule:
  4421      get:
  4422        summary: Get purge's schedule.
  4423        description: This endpoint is for get schedule of purge job.
  4424        operationId: getPurgeSchedule
  4425        tags:
  4426          - purge
  4427        parameters:
  4428          - $ref: '#/parameters/requestId'
  4429        responses:
  4430          '200':
  4431            description: Get purge job's schedule.
  4432            schema:
  4433              $ref: '#/definitions/ExecHistory'
  4434          '401':
  4435            $ref: '#/responses/401'
  4436          '403':
  4437            $ref: '#/responses/403'
  4438          '500':
  4439            $ref: '#/responses/500'
  4440      post:
  4441        summary: Create a purge job schedule.
  4442        description: |
  4443          This endpoint is for update purge job schedule.
  4444        operationId: createPurgeSchedule
  4445        parameters:
  4446          - $ref: '#/parameters/requestId'
  4447          - name: schedule
  4448            in: body
  4449            required: true
  4450            schema:
  4451              $ref: '#/definitions/Schedule'
  4452            description: |
  4453              The purge job's schedule, it is a json object. |
  4454              The sample format is |
  4455              {"parameters":{"audit_retention_hour":168,"dry_run":true, "include_operations":"create,delete,pull"},"schedule":{"type":"Hourly","cron":"0 0 * * * *"}} |
  4456              the include_operation should be a comma separated string, e.g. create,delete,pull, if it is empty, no operation will be purged.
  4457        tags:
  4458          - purge
  4459        responses:
  4460          '201':
  4461            $ref: '#/responses/201'
  4462          '400':
  4463            $ref: '#/responses/400'
  4464          '401':
  4465            $ref: '#/responses/401'
  4466          '403':
  4467            $ref: '#/responses/403'
  4468          '500':
  4469            $ref: '#/responses/500'
  4470      put:
  4471        summary: Update purge job's schedule.
  4472        description: |
  4473          This endpoint is for update purge job schedule.
  4474        operationId: updatePurgeSchedule
  4475        parameters:
  4476          - $ref: '#/parameters/requestId'
  4477          - name: schedule
  4478            in: body
  4479            required: true
  4480            schema:
  4481              $ref: '#/definitions/Schedule'
  4482            description: |
  4483              The purge job's schedule, it is a json object. |
  4484              The sample format is |
  4485              {"parameters":{"audit_retention_hour":168,"dry_run":true, "include_operations":"create,delete,pull"},"schedule":{"type":"Hourly","cron":"0 0 * * * *"}} |
  4486              the include_operation should be a comma separated string, e.g. create,delete,pull, if it is empty, no operation will be purged.
  4487        tags:
  4488          - purge
  4489        responses:
  4490          '200':
  4491            description: Updated purge's schedule successfully.
  4492          '400':
  4493            $ref: '#/responses/400'
  4494          '401':
  4495            $ref: '#/responses/401'
  4496          '403':
  4497            $ref: '#/responses/403'
  4498          '500':
  4499            $ref: '#/responses/500'
  4500  
  4501    /system/CVEAllowlist:
  4502      get:
  4503        summary: Get the system level allowlist of CVE.
  4504        description: Get the system level allowlist of CVE.  This API can be called by all authenticated users.
  4505        operationId: getSystemCVEAllowlist
  4506        tags:
  4507          - SystemCVEAllowlist
  4508        parameters:
  4509          - $ref: '#/parameters/requestId'
  4510        responses:
  4511          '200':
  4512            description: Successfully retrieved the CVE allowlist.
  4513            schema:
  4514              $ref: "#/definitions/CVEAllowlist"
  4515          '401':
  4516            $ref: '#/responses/401'
  4517          '500':
  4518            $ref: '#/responses/500'
  4519      put:
  4520        summary: Update the system level allowlist of CVE.
  4521        description: This API overwrites the system level allowlist of CVE with the list in request body.  Only system Admin
  4522          has permission to call this API.
  4523        operationId: putSystemCVEAllowlist
  4524        tags:
  4525          - SystemCVEAllowlist
  4526        parameters:
  4527          - $ref: '#/parameters/requestId'
  4528          - in: body
  4529            name: allowlist
  4530            description: The allowlist with new content
  4531            schema:
  4532              $ref: "#/definitions/CVEAllowlist"
  4533        responses:
  4534          '200':
  4535            description: Successfully updated the CVE allowlist.
  4536          '401':
  4537            $ref: '#/responses/401'
  4538          '403':
  4539            $ref: '#/responses/403'
  4540          '500':
  4541            $ref: '#/responses/500'
  4542    /system/scanAll/schedule:
  4543      get:
  4544        summary: Get scan all's schedule.
  4545        description: This endpoint is for getting a schedule for the scan all job, which scans all of images in Harbor.
  4546        tags:
  4547          - scanAll
  4548        operationId: getScanAllSchedule
  4549        parameters:
  4550          - $ref: '#/parameters/requestId'
  4551        responses:
  4552          '200':
  4553            description: Get a schedule for the scan all job, which scans all of images in Harbor.
  4554            schema:
  4555              $ref: '#/definitions/Schedule'
  4556          '401':
  4557            $ref: '#/responses/401'
  4558          '403':
  4559            $ref: '#/responses/403'
  4560          '412':
  4561            $ref: '#/responses/412'
  4562          '500':
  4563            $ref: '#/responses/500'
  4564      put:
  4565        summary: Update scan all's schedule.
  4566        description: This endpoint is for updating the schedule of scan all job, which scans all of images in Harbor.
  4567        parameters:
  4568          - $ref: '#/parameters/requestId'
  4569          - name: schedule
  4570            in: body
  4571            required: true
  4572            schema:
  4573              $ref: '#/definitions/Schedule'
  4574            description: Updates the schedule of scan all job, which scans all of images in Harbor.
  4575        tags:
  4576          - scanAll
  4577        operationId: updateScanAllSchedule
  4578        responses:
  4579          '200':
  4580            $ref: '#/responses/200'
  4581          '400':
  4582            $ref: '#/responses/400'
  4583          '401':
  4584            $ref: '#/responses/401'
  4585          '403':
  4586            $ref: '#/responses/403'
  4587          '412':
  4588            $ref: '#/responses/412'
  4589          '500':
  4590            $ref: '#/responses/500'
  4591      post:
  4592        summary: Create a schedule or a manual trigger for the scan all job.
  4593        description: This endpoint is for creating a schedule or a manual trigger for the scan all job, which scans all of images in Harbor.
  4594        parameters:
  4595          - $ref: '#/parameters/requestId'
  4596          - name: schedule
  4597            in: body
  4598            required: true
  4599            schema:
  4600              $ref: '#/definitions/Schedule'
  4601            description: Create a schedule or a manual trigger for the scan all job.
  4602        tags:
  4603          - scanAll
  4604        operationId: createScanAllSchedule
  4605        responses:
  4606          '201':
  4607            $ref: '#/responses/201'
  4608          '400':
  4609            $ref: '#/responses/400'
  4610          '401':
  4611            $ref: '#/responses/401'
  4612          '403':
  4613            $ref: '#/responses/403'
  4614          '409':
  4615            $ref: '#/responses/409'
  4616          '412':
  4617            $ref: '#/responses/412'
  4618          '500':
  4619            $ref: '#/responses/500'
  4620    /system/scanAll/stop:
  4621      post:
  4622        summary: Stop scanAll job execution
  4623        description: Stop scanAll job execution
  4624        parameters:
  4625          - $ref: '#/parameters/requestId'
  4626        tags:
  4627          - scanAll
  4628        operationId: stopScanAll
  4629        responses:
  4630          '202':
  4631            $ref: '#/responses/202'
  4632          '400':
  4633            $ref: '#/responses/400'
  4634          '401':
  4635            $ref: '#/responses/401'
  4636          '403':
  4637            $ref: '#/responses/403'
  4638          '500':
  4639            $ref: '#/responses/500'
  4640    /jobservice/pools:
  4641      get:
  4642        operationId: getWorkerPools
  4643        summary: Get worker pools
  4644        description: Get worker pools
  4645        tags:
  4646          - jobservice
  4647        parameters:
  4648          - $ref: '#/parameters/requestId'
  4649        responses:
  4650          '200':
  4651            description: Get worker pools successfully.
  4652            schema:
  4653              type: array
  4654              items:
  4655                $ref: '#/definitions/WorkerPool'
  4656          '401':
  4657            $ref: '#/responses/401'
  4658          '403':
  4659            $ref: '#/responses/403'
  4660          '500':
  4661            $ref: '#/responses/500'
  4662    /jobservice/pools/{pool_id}/workers:
  4663      get:
  4664        operationId: getWorkers
  4665        summary: Get workers
  4666        description: Get workers in current pool
  4667        tags:
  4668          - jobservice
  4669        parameters:
  4670          - $ref: '#/parameters/requestId'
  4671          - name: pool_id
  4672            in: path
  4673            required: true
  4674            type: string
  4675            description: The name of the pool. 'all' stands for all pools
  4676        responses:
  4677          '200':
  4678            description: Get workers successfully.
  4679            schema:
  4680              type: array
  4681              items:
  4682                $ref: '#/definitions/Worker'
  4683          '401':
  4684            $ref: '#/responses/401'
  4685          '403':
  4686            $ref: '#/responses/403'
  4687          '404':
  4688            $ref: '#/responses/404'
  4689          '500':
  4690            $ref: '#/responses/500'
  4691    /jobservice/jobs/{job_id}:
  4692      put:
  4693        operationId: stopRunningJob
  4694        summary: Stop running job
  4695        description: Stop running job
  4696        tags:
  4697          - jobservice
  4698        parameters:
  4699          - $ref: '#/parameters/requestId'
  4700          - name: job_id
  4701            in: path
  4702            required: true
  4703            type: string
  4704            description: The id of the job.
  4705        responses:
  4706          '200':
  4707            description: Stop worker successfully.
  4708          '401':
  4709            $ref: '#/responses/401'
  4710          '403':
  4711            $ref: '#/responses/403'
  4712          '404':
  4713            $ref: '#/responses/404'
  4714          '500':
  4715            $ref: '#/responses/500'
  4716    /jobservice/jobs/{job_id}/log:
  4717      get:
  4718        operationId: actionGetJobLog
  4719        summary: Get job log by job id
  4720        description: Get job log by job id, it is only used by administrator
  4721        produces:
  4722          - text/plain  
  4723        tags:
  4724          - jobservice
  4725        parameters:
  4726          - $ref: '#/parameters/requestId'
  4727          - name: job_id
  4728            in: path
  4729            required: true
  4730            type: string
  4731            description: The id of the job.
  4732        responses:
  4733          '200':
  4734            description: Get job log successfully.
  4735            headers:
  4736              Content-Type:
  4737                description: The content type of response body
  4738                type: string
  4739            schema:
  4740              type: string
  4741          '401':
  4742            $ref: '#/responses/401'
  4743          '403':
  4744            $ref: '#/responses/403'
  4745          '404':
  4746            $ref: '#/responses/404'
  4747          '500':
  4748            $ref: '#/responses/500'
  4749    /jobservice/queues:
  4750      get:
  4751        operationId: listJobQueues
  4752        summary: list job queues
  4753        description: list job queue
  4754        tags:
  4755          - jobservice
  4756        parameters:
  4757          - $ref: '#/parameters/requestId'
  4758        responses:
  4759          '200':
  4760            description: List job queue successfully.
  4761            schema:
  4762              type: array
  4763              items:
  4764               $ref: '#/definitions/JobQueue'
  4765          '401':
  4766            $ref: '#/responses/401'
  4767          '403':
  4768            $ref: '#/responses/403'
  4769          '404':
  4770            $ref: '#/responses/404'
  4771          '500':
  4772            $ref: '#/responses/500'
  4773    /jobservice/queues/{job_type}:
  4774      put:
  4775        operationId: actionPendingJobs
  4776        summary: stop and clean, pause, resume pending jobs in the queue
  4777        description: stop and clean, pause, resume pending jobs in the queue
  4778        tags:
  4779          - jobservice
  4780        parameters:
  4781          - $ref: '#/parameters/requestId'
  4782          - name: job_type
  4783            in: path
  4784            required: true
  4785            type: string
  4786            description: The type of the job. 'all' stands for all job types
  4787          - name: action_request
  4788            in: body
  4789            required: true
  4790            schema:
  4791              $ref: '#/definitions/ActionRequest'
  4792        responses:
  4793          '200':
  4794            description: take action to the jobs in the queue successfully.
  4795          '401':
  4796            $ref: '#/responses/401'
  4797          '403':
  4798            $ref: '#/responses/403'
  4799          '404':
  4800            $ref: '#/responses/404'
  4801          '500':
  4802            $ref: '#/responses/500'
  4803    /schedules:
  4804      get:
  4805        operationId: listSchedules
  4806        description: List schedules
  4807        tags:
  4808          - schedule
  4809        parameters:
  4810          - $ref: '#/parameters/requestId'
  4811          - $ref: '#/parameters/page'
  4812          - $ref: '#/parameters/pageSize'
  4813        responses:
  4814          '200':
  4815            description: list schedule successfully.
  4816            schema:
  4817              type: array
  4818              items:
  4819                type: object
  4820                $ref: '#/definitions/ScheduleTask'
  4821            headers:
  4822              X-Total-Count:
  4823                description: The total count of available items
  4824                type: integer
  4825              Link:
  4826                description: Link to previous page and next page
  4827                type: string
  4828          '401':
  4829            $ref: '#/responses/401'
  4830          '403':
  4831            $ref: '#/responses/403'
  4832          '404':
  4833            $ref: '#/responses/404'
  4834          '500':
  4835            $ref: '#/responses/500'
  4836    /schedules/{job_type}/paused:
  4837      get:
  4838        operationId: getSchedulePaused
  4839        description: Get scheduler paused status
  4840        tags:
  4841          - schedule
  4842        parameters:
  4843          - $ref: '#/parameters/requestId'
  4844          - name: job_type
  4845            in: path
  4846            required: true
  4847            type: string
  4848            description: The type of the job. 'all' stands for all job types, current only support query with all
  4849        responses:
  4850          '200':
  4851            description: Get scheduler status successfully.
  4852            schema:
  4853              type: object
  4854              $ref: '#/definitions/SchedulerStatus'
  4855          '401':
  4856            $ref: '#/responses/401'
  4857          '403':
  4858            $ref: '#/responses/403'
  4859          '404':
  4860            $ref: '#/responses/404'
  4861          '500':
  4862            $ref: '#/responses/500'
  4863    /ping:
  4864      get:
  4865        operationId: getPing
  4866        summary: Ping Harbor to check if the API server is alive.
  4867        description: This API simply replies a pong to indicate the process to handle API is up, disregarding the health status of dependent components. This path does not require any authentication.
  4868        tags:
  4869          - ping
  4870        produces:
  4871          - text/plain
  4872        parameters:
  4873          - $ref: '#/parameters/requestId'
  4874        responses:
  4875          '200':
  4876            description: The API server is alive
  4877            schema:
  4878              type: string
  4879    /retentions/metadatas:
  4880      get:
  4881        summary: Get Retention Metadatas
  4882        description: Get Retention Metadatas.
  4883        operationId: getRentenitionMetadata
  4884        tags:
  4885          - Retention
  4886        parameters:
  4887          - $ref: '#/parameters/requestId'
  4888        responses:
  4889          '200':
  4890            description: Get Retention Metadatas successfully.
  4891            schema:
  4892              $ref: '#/definitions/RetentionMetadata'
  4893  
  4894    /retentions:
  4895      post:
  4896        summary: Create Retention Policy
  4897        operationId: createRetention
  4898        description: >-
  4899          Create Retention Policy, you can reference metadatas API for the policy model.
  4900          You can check project metadatas to find whether a retention policy is already binded.
  4901          This method should only be called when no retention policy binded to project yet.
  4902        tags:
  4903          - Retention
  4904        parameters:
  4905          - $ref: '#/parameters/requestId'
  4906          - name: policy
  4907            in: body
  4908            description: Create Retention Policy successfully.
  4909            required: true
  4910            schema:
  4911              $ref: '#/definitions/RetentionPolicy'
  4912        responses:
  4913          '201':
  4914            $ref: '#/responses/201'
  4915          '400':
  4916            $ref: '#/responses/400'
  4917          '401':
  4918            $ref: '#/responses/401'
  4919          '403':
  4920            $ref: '#/responses/403'
  4921          '500':
  4922            $ref: '#/responses/500'
  4923  
  4924    /retentions/{id}:
  4925      get:
  4926        summary: Get Retention Policy
  4927        operationId: getRetention
  4928        description: Get Retention Policy.
  4929        tags:
  4930          - Retention
  4931        parameters:
  4932          - $ref: '#/parameters/requestId'
  4933          - name: id
  4934            in: path
  4935            type: integer
  4936            format: int64
  4937            required: true
  4938            description: Retention ID.
  4939        responses:
  4940          '200':
  4941            description: Get Retention Policy successfully.
  4942            schema:
  4943              $ref: '#/definitions/RetentionPolicy'
  4944          '401':
  4945            $ref: '#/responses/401'
  4946          '403':
  4947            $ref: '#/responses/403'
  4948          '500':
  4949            $ref: '#/responses/500'
  4950      put:
  4951        summary: Update Retention Policy
  4952        operationId: updateRetention
  4953        description: >-
  4954          Update Retention Policy, you can reference metadatas API for the policy model.
  4955          You can check project metadatas to find whether a retention policy is already binded.
  4956          This method should only be called when retention policy has already binded to project.
  4957        tags:
  4958          - Retention
  4959        parameters:
  4960          - $ref: '#/parameters/requestId'
  4961          - name: id
  4962            in: path
  4963            type: integer
  4964            format: int64
  4965            required: true
  4966            description: Retention ID.
  4967          - name: policy
  4968            in: body
  4969            required: true
  4970            schema:
  4971              $ref: '#/definitions/RetentionPolicy'
  4972        responses:
  4973          '200':
  4974            description: Update Retention Policy successfully.
  4975          '401':
  4976            $ref: '#/responses/401'
  4977          '403':
  4978            $ref: '#/responses/403'
  4979          '500':
  4980            $ref: '#/responses/500'
  4981      delete:
  4982        summary: Delete Retention Policy
  4983        operationId: deleteRetention
  4984        description: >-
  4985          Delete Retention Policy, you can reference metadatas API for the policy model.
  4986          You can check project metadatas to find whether a retention policy is already binded.
  4987          This method should only be called when retention policy has already binded to project.
  4988        tags:
  4989          - Retention
  4990        parameters:
  4991          - $ref: '#/parameters/requestId'
  4992          - name: id
  4993            in: path
  4994            type: integer
  4995            format: int64
  4996            required: true
  4997            description: Retention ID.
  4998        responses:
  4999          '200':
  5000            description: Update Retention Policy successfully.
  5001          '401':
  5002            $ref: '#/responses/401'
  5003          '403':
  5004            $ref: '#/responses/403'
  5005          '500':
  5006            $ref: '#/responses/500'
  5007  
  5008    /retentions/{id}/executions:
  5009      post:
  5010        summary: Trigger a Retention Execution
  5011        operationId: triggerRetentionExecution
  5012        description: Trigger a Retention Execution, if dry_run is True, nothing would be deleted actually.
  5013        tags:
  5014          - Retention
  5015        produces:
  5016          - text/plain
  5017        parameters:
  5018          - $ref: '#/parameters/requestId'
  5019          - name: id
  5020            in: path
  5021            type: integer
  5022            format: int64
  5023            required: true
  5024            description: Retention ID.
  5025          - name: body
  5026            in: body
  5027            required: true
  5028            schema:
  5029              type: object
  5030              properties:
  5031                dry_run:
  5032                  type: boolean
  5033        responses:
  5034          '200':
  5035            description: Trigger a Retention job successfully.
  5036          '201':
  5037            $ref: '#/responses/201'
  5038          '401':
  5039            $ref: '#/responses/401'
  5040          '403':
  5041            $ref: '#/responses/403'
  5042          '500':
  5043            $ref: '#/responses/500'
  5044      get:
  5045        summary: Get Retention executions
  5046        operationId: listRetentionExecutions
  5047        description: Get Retention executions, execution status may be delayed before job service schedule it up.
  5048        tags:
  5049          - Retention
  5050        parameters:
  5051          - $ref: '#/parameters/requestId'
  5052          - name: id
  5053            in: path
  5054            type: integer
  5055            format: int64
  5056            required: true
  5057            description: Retention ID.
  5058          - name: page
  5059            in: query
  5060            type: integer
  5061            format: int64
  5062            required: false
  5063            description: The page number.
  5064          - name: page_size
  5065            in: query
  5066            type: integer
  5067            format: int64
  5068            required: false
  5069            description: The size of per page.
  5070        responses:
  5071          '200':
  5072            description: Get a Retention execution successfully.
  5073            schema:
  5074              type: array
  5075              items:
  5076                type: object
  5077                $ref: '#/definitions/RetentionExecution'
  5078            headers:
  5079              X-Total-Count:
  5080                description: The total count of available items
  5081                type: integer
  5082              Link:
  5083                description: Link to previous page and next page
  5084                type: string
  5085          '401':
  5086            $ref: '#/responses/401'
  5087          '403':
  5088            $ref: '#/responses/403'
  5089          '500':
  5090            $ref: '#/responses/500'
  5091  
  5092    /retentions/{id}/executions/{eid}:
  5093      patch:
  5094        summary: Stop a Retention execution
  5095        operationId: operateRetentionExecution
  5096        description: Stop a Retention execution, only support "stop" action now.
  5097        tags:
  5098          - Retention
  5099        parameters:
  5100          - $ref: '#/parameters/requestId'
  5101          - name: id
  5102            in: path
  5103            type: integer
  5104            format: int64
  5105            required: true
  5106            description: Retention ID.
  5107          - name: eid
  5108            in: path
  5109            type: integer
  5110            format: int64
  5111            required: true
  5112            description: Retention execution ID.
  5113          - name: body
  5114            in: body
  5115            description: The action, only support "stop" now.
  5116            required: true
  5117            schema:
  5118              type: object
  5119              properties:
  5120                action:
  5121                  type: string
  5122        responses:
  5123          '200':
  5124            description: Stop a Retention job successfully.
  5125          '401':
  5126            $ref: '#/responses/401'
  5127          '403':
  5128            $ref: '#/responses/403'
  5129          '500':
  5130            $ref: '#/responses/500'
  5131  
  5132    /retentions/{id}/executions/{eid}/tasks:
  5133      get:
  5134        summary: Get Retention tasks
  5135        operationId: listRetentionTasks
  5136        description: Get Retention tasks, each repository as a task.
  5137        tags:
  5138          - Retention
  5139        parameters:
  5140          - $ref: '#/parameters/requestId'
  5141          - name: id
  5142            in: path
  5143            type: integer
  5144            format: int64
  5145            required: true
  5146            description: Retention ID.
  5147          - name: eid
  5148            in: path
  5149            type: integer
  5150            format: int64
  5151            required: true
  5152            description: Retention execution ID.
  5153          - name: page
  5154            in: query
  5155            type: integer
  5156            format: int64
  5157            required: false
  5158            description: The page number.
  5159          - name: page_size
  5160            in: query
  5161            type: integer
  5162            format: int64
  5163            required: false
  5164            description: The size of per page.
  5165        responses:
  5166          '200':
  5167            description: Get Retention job tasks successfully.
  5168            schema:
  5169              type: array
  5170              items:
  5171                type: object
  5172                $ref: '#/definitions/RetentionExecutionTask'
  5173            headers:
  5174              X-Total-Count:
  5175                description: The total count of available items
  5176                type: integer
  5177              Link:
  5178                description: Link to previous page and next page
  5179                type: string
  5180          '401':
  5181            $ref: '#/responses/401'
  5182          '403':
  5183            $ref: '#/responses/403'
  5184          '500':
  5185            $ref: '#/responses/500'
  5186  
  5187    /retentions/{id}/executions/{eid}/tasks/{tid}:
  5188      get:
  5189        summary: Get Retention job task log
  5190        operationId: getRetentionTaskLog
  5191        description: Get Retention job task log, tags ratain or deletion detail will be shown in a table.
  5192        tags:
  5193          - Retention
  5194        produces:
  5195          - text/plain
  5196        parameters:
  5197          - $ref: '#/parameters/requestId'
  5198          - name: id
  5199            in: path
  5200            type: integer
  5201            format: int64
  5202            required: true
  5203            description: Retention ID.
  5204          - name: eid
  5205            in: path
  5206            type: integer
  5207            format: int64
  5208            required: true
  5209            description: Retention execution ID.
  5210          - name: tid
  5211            in: path
  5212            type: integer
  5213            format: int64
  5214            required: true
  5215            description: Retention execution ID.
  5216        responses:
  5217          '200':
  5218            description: Get Retention job task log successfully.
  5219            schema:
  5220              type: string
  5221          '401':
  5222            $ref: '#/responses/401'
  5223          '403':
  5224            $ref: '#/responses/403'
  5225          '500':
  5226            $ref: '#/responses/500'
  5227  
  5228    '/scanners':
  5229      get:
  5230        summary: List scanner registrations
  5231        description: |
  5232          Returns a list of currently configured scanner registrations.
  5233        tags:
  5234          - scanner
  5235        operationId: listScanners
  5236        parameters:
  5237          - $ref: '#/parameters/requestId'
  5238          - $ref: '#/parameters/query'
  5239          - $ref: '#/parameters/sort'
  5240          - $ref: '#/parameters/page'
  5241          - $ref: '#/parameters/pageSize'
  5242        responses:
  5243          '200':
  5244            description: A list of scanner registrations.
  5245            schema:
  5246              type: array
  5247              items:
  5248                $ref: '#/definitions/ScannerRegistration'
  5249            headers:
  5250              X-Total-Count:
  5251                description: The total count of available items
  5252                type: integer
  5253              Link:
  5254                description: Link to previous page and next page
  5255                type: string
  5256          '400':
  5257            $ref: '#/responses/400'
  5258          '401':
  5259            $ref: '#/responses/401'
  5260          '403':
  5261            $ref: '#/responses/403'
  5262          '500':
  5263            $ref: '#/responses/500'
  5264      post:
  5265        summary: Create a scanner registration
  5266        description: |
  5267          Creats a new scanner registration with the given data.
  5268        tags:
  5269          - scanner
  5270        operationId: createScanner
  5271        parameters:
  5272          - $ref: '#/parameters/requestId'
  5273          - name: registration
  5274            in: body
  5275            description: A scanner registration to be created.
  5276            required: true
  5277            schema:
  5278              $ref: '#/definitions/ScannerRegistrationReq'
  5279        responses:
  5280          '201':
  5281            description: Created successfully
  5282            headers:
  5283              Location:
  5284                type: string
  5285                description: The URL of the created resource
  5286          '400':
  5287            $ref: '#/responses/400'
  5288          '401':
  5289            $ref: '#/responses/401'
  5290          '403':
  5291            $ref: '#/responses/403'
  5292          '500':
  5293            $ref: '#/responses/500'
  5294    '/scanners/ping':
  5295      post:
  5296        summary: Tests scanner registration settings
  5297        description: |
  5298          Pings scanner adapter to test endpoint URL and authorization settings.
  5299        tags:
  5300          - scanner
  5301        operationId: pingScanner
  5302        parameters:
  5303          - $ref: '#/parameters/requestId'
  5304          - name: settings
  5305            in: body
  5306            description: A scanner registration settings to be tested.
  5307            required: true
  5308            schema:
  5309              $ref: '#/definitions/ScannerRegistrationSettings'
  5310        responses:
  5311          '200':
  5312            $ref: '#/responses/200'
  5313          '400':
  5314            $ref: '#/responses/400'
  5315          '401':
  5316            $ref: '#/responses/401'
  5317          '403':
  5318            $ref: '#/responses/403'
  5319          '500':
  5320            $ref: '#/responses/500'
  5321    '/scanners/{registration_id}':
  5322      get:
  5323        summary: Get a scanner registration details
  5324        description: |
  5325          Retruns the details of the specified scanner registration.
  5326        tags:
  5327          - scanner
  5328        operationId: getScanner
  5329        parameters:
  5330          - $ref: '#/parameters/requestId'
  5331          - name: registration_id
  5332            in: path
  5333            description: The scanner registration identifer.
  5334            required: true
  5335            type: string
  5336        responses:
  5337          '200':
  5338            description: The details of the scanner registration.
  5339            schema:
  5340              $ref: '#/definitions/ScannerRegistration'
  5341          '401':
  5342            $ref: '#/responses/401'
  5343          '403':
  5344            $ref: '#/responses/403'
  5345          '404':
  5346            $ref: '#/responses/404'
  5347          '500':
  5348            $ref: '#/responses/500'
  5349      put:
  5350        summary: Update a scanner registration
  5351        description: |
  5352          Updates the specified scanner registration.
  5353        tags:
  5354          - scanner
  5355        operationId: updateScanner
  5356        parameters:
  5357          - $ref: '#/parameters/requestId'
  5358          - name: registration_id
  5359            in: path
  5360            description: The scanner registration identifier.
  5361            required: true
  5362            type: string
  5363          - name: registration
  5364            in: body
  5365            required: true
  5366            description: A scanner registraiton to be updated.
  5367            schema:
  5368              $ref: '#/definitions/ScannerRegistrationReq'
  5369        responses:
  5370          '200':
  5371            $ref: '#/responses/200'
  5372          '401':
  5373            $ref: '#/responses/401'
  5374          '403':
  5375            $ref: '#/responses/403'
  5376          '404':
  5377            $ref: '#/responses/404'
  5378          '500':
  5379            $ref: '#/responses/500'
  5380      delete:
  5381        summary: Delete a scanner registration
  5382        description: |
  5383          Deletes the specified scanner registration.
  5384        tags:
  5385          - scanner
  5386        operationId: deleteScanner
  5387        parameters:
  5388          - $ref: '#/parameters/requestId'
  5389          - name: registration_id
  5390            in: path
  5391            description: The scanner registration identifier.
  5392            required: true
  5393            type: string
  5394        responses:
  5395          '200':
  5396            description: Deleted successfully and return the deleted registration
  5397            schema:
  5398              $ref: '#/definitions/ScannerRegistration'
  5399          '401':
  5400            $ref: '#/responses/401'
  5401          '403':
  5402            $ref: '#/responses/403'
  5403          '404':
  5404            $ref: '#/responses/404'
  5405          '500':
  5406            $ref: '#/responses/500'
  5407      patch:
  5408        summary: Set system default scanner registration
  5409        description: |
  5410          Set the specified scanner registration as the system default one.
  5411        tags:
  5412          - scanner
  5413        operationId: setScannerAsDefault
  5414        parameters:
  5415          - $ref: '#/parameters/requestId'
  5416          - name: registration_id
  5417            in: path
  5418            description: The scanner registration identifier.
  5419            required: true
  5420            type: string
  5421          - name: payload
  5422            in: body
  5423            required: true
  5424            schema:
  5425              $ref: '#/definitions/IsDefault'
  5426        responses:
  5427          '200':
  5428            description: Successfully set the specified scanner registration as system default
  5429          '401':
  5430            $ref: '#/responses/401'
  5431          '403':
  5432            $ref: '#/responses/403'
  5433          '500':
  5434            $ref: '#/responses/500'
  5435    '/scanners/{registration_id}/metadata':
  5436      get:
  5437        summary: Get the metadata of the specified scanner registration
  5438        description: |
  5439          Get the metadata of the specified scanner registration, including the capabilities and customized properties.
  5440        tags:
  5441          - scanner
  5442        operationId: getScannerMetadata
  5443        parameters:
  5444          - $ref: '#/parameters/requestId'
  5445          - name: registration_id
  5446            in: path
  5447            required: true
  5448            description: The scanner registration identifier.
  5449            type: string
  5450        responses:
  5451          '200':
  5452            description: The metadata of the specified scanner adapter
  5453            schema:
  5454              $ref: '#/definitions/ScannerAdapterMetadata'
  5455          '401':
  5456            $ref: '#/responses/401'
  5457          '403':
  5458            $ref: '#/responses/403'
  5459          '500':
  5460            $ref: '#/responses/500'
  5461    /users:
  5462      get:
  5463        summary: List users
  5464        tags:
  5465          - user
  5466        operationId: listUsers
  5467        parameters:
  5468          - $ref: '#/parameters/requestId'
  5469          - $ref: '#/parameters/query'
  5470          - $ref: '#/parameters/sort'
  5471          - $ref: '#/parameters/page'
  5472          - $ref: '#/parameters/pageSize'
  5473        responses:
  5474          '200':
  5475            description: return the list of users.
  5476            schema:
  5477              type: array
  5478              items:
  5479                $ref: '#/definitions/UserResp'
  5480            headers:
  5481              X-Total-Count:
  5482                description: The total count of users
  5483                type: integer
  5484              Link:
  5485                description: Link to previous page and next page
  5486                type: string
  5487          '401':
  5488            $ref: '#/responses/401'
  5489          '403':
  5490            $ref: '#/responses/403'
  5491          '500':
  5492            $ref: '#/responses/500'
  5493      post:
  5494        summary: Create a local user.
  5495        description: This API can be used only when the authentication mode is for local DB.  When self registration is disabled.
  5496        tags:
  5497          - user
  5498        operationId: createUser
  5499        parameters:
  5500          - $ref: '#/parameters/requestId'
  5501          - name: userReq
  5502            in: body
  5503            description: The new user
  5504            required: true
  5505            schema:
  5506              $ref: '#/definitions/UserCreationReq'
  5507        responses:
  5508          '201':
  5509            $ref: '#/responses/201'
  5510          '400':
  5511            $ref: '#/responses/400'
  5512          '401':
  5513            $ref: '#/responses/401'
  5514          '403':
  5515            description: When the  self registration is disabled, non-admin does not have permission to create user.  When self registration is enabled, this API can only be called from UI portal, calling it via script will get a 403 error.
  5516          '409':
  5517            $ref: '#/responses/409'
  5518          '500':
  5519            $ref: '#/responses/500'
  5520    /users/current:
  5521      get:
  5522        summary: Get current user info.
  5523        tags:
  5524          - user
  5525        operationId: getCurrentUserInfo
  5526        parameters:
  5527          - $ref: '#/parameters/requestId'
  5528        responses:
  5529          '200':
  5530            description: Get current user information successfully.
  5531            schema:
  5532              $ref: '#/definitions/UserResp'
  5533          '401':
  5534            $ref: '#/responses/401'
  5535          '500':
  5536            $ref: '#/responses/500'
  5537    /users/search:
  5538      get:
  5539        summary: Search users by username
  5540        description: |
  5541          This endpoint is to search the users by username.  It's open for all authenticated requests.
  5542        tags:
  5543          - user
  5544        operationId: searchUsers
  5545        parameters:
  5546          - $ref: '#/parameters/requestId'
  5547          - $ref: '#/parameters/page'
  5548          - $ref: '#/parameters/pageSize'
  5549          - name: username
  5550            in: query
  5551            type: string
  5552            required: true
  5553            description: Username for filtering results.
  5554        responses:
  5555          '200':
  5556            description: Search users by username successfully.
  5557            schema:
  5558              type: array
  5559              items:
  5560                $ref: '#/definitions/UserSearchRespItem'
  5561            headers:
  5562              X-Total-Count:
  5563                description: The total count of available items
  5564                type: integer
  5565              Link:
  5566                description: Link to previous page and next page
  5567                type: string
  5568          '401':
  5569            $ref: '#/responses/401'
  5570          '500':
  5571            $ref: '#/responses/500'
  5572    '/users/{user_id}':
  5573      get:
  5574        summary: Get a user's profile.
  5575        parameters:
  5576          - $ref: '#/parameters/requestId'
  5577          - name: user_id
  5578            in: path
  5579            type: integer
  5580            format: int
  5581            required: true
  5582        tags:
  5583          - user
  5584        operationId: getUser
  5585        responses:
  5586          '200':
  5587            description: Get user's info successfully.
  5588            schema:
  5589              $ref: '#/definitions/UserResp'
  5590          '401':
  5591            $ref: '#/responses/401'
  5592          '403':
  5593            $ref: '#/responses/403'
  5594          '404':
  5595            $ref: '#/responses/404'
  5596          '500':
  5597            $ref: '#/responses/500'
  5598      put:
  5599        summary: Update user's profile.
  5600        parameters:
  5601          - $ref: '#/parameters/requestId'
  5602          - name: user_id
  5603            in: path
  5604            type: integer
  5605            format: int
  5606            required: true
  5607            description: Registered user ID
  5608          - name: profile
  5609            in: body
  5610            description: 'Only email, realname and comment can be modified.'
  5611            required: true
  5612            schema:
  5613              $ref: '#/definitions/UserProfile'
  5614        tags:
  5615          - user
  5616        operationId: updateUserProfile
  5617        responses:
  5618          '200':
  5619            $ref: '#/responses/200'
  5620          '401':
  5621            $ref: '#/responses/401'
  5622          '403':
  5623            $ref: '#/responses/403'
  5624          '404':
  5625            $ref: '#/responses/404'
  5626          '500':
  5627            $ref: '#/responses/500'
  5628      delete:
  5629        summary: Mark a registered user as be removed.
  5630        description: |
  5631          This endpoint let administrator of Harbor mark a registered user as removed.It actually won't be deleted from DB.
  5632        parameters:
  5633          - $ref: '#/parameters/requestId'
  5634          - name: user_id
  5635            in: path
  5636            type: integer
  5637            format: int
  5638            required: true
  5639            description: User ID for marking as to be removed.
  5640        tags:
  5641          - user
  5642        operationId: deleteUser
  5643        responses:
  5644          '200':
  5645            $ref: '#/responses/200'
  5646          '401':
  5647            $ref: '#/responses/401'
  5648          '403':
  5649            $ref: '#/responses/403'
  5650          '404':
  5651            $ref: '#/responses/404'
  5652          '500':
  5653            $ref: '#/responses/500'
  5654    /users/{user_id}/sysadmin:
  5655      put:
  5656        summary: Update a registered user to change to be an administrator of Harbor.
  5657        tags:
  5658         - user
  5659        operationId: setUserSysAdmin
  5660        parameters:
  5661          - $ref: '#/parameters/requestId'
  5662          - name: user_id
  5663            in: path
  5664            type: integer
  5665            format: int
  5666            required: true
  5667          - name: sysadmin_flag
  5668            in: body
  5669            description: Toggle a user to admin or not.
  5670            required: true
  5671            schema:
  5672              $ref: '#/definitions/UserSysAdminFlag'
  5673        responses:
  5674          '200':
  5675            $ref: '#/responses/200'
  5676          '401':
  5677            $ref: '#/responses/401'
  5678          '403':
  5679            $ref: '#/responses/403'
  5680          '404':
  5681            $ref: '#/responses/404'
  5682          '500':
  5683            description: Unexpected internal errors.
  5684    '/users/{user_id}/password':
  5685      put:
  5686        summary: Change the password on a user that already exists.
  5687        description: |
  5688          This endpoint is for user to update password. Users with the admin role can change any user's password. Regular users can change only their own password.
  5689        tags:
  5690          - user
  5691        operationId: updateUserPassword
  5692        parameters:
  5693          - $ref: '#/parameters/requestId'
  5694          - name: user_id
  5695            in: path
  5696            type: integer
  5697            format: int
  5698            required: true
  5699          - name: password
  5700            in: body
  5701            description: Password to be updated, the attribute 'old_password' is optional when the API is called by the system administrator.
  5702            required: true
  5703            schema:
  5704              $ref: '#/definitions/PasswordReq'
  5705        responses:
  5706          '200':
  5707            $ref: '#/responses/200'
  5708          '400':
  5709            description: Invalid user ID; Password does not meet requirement
  5710          '401':
  5711            $ref: '#/responses/401'
  5712          '403':
  5713            description: The caller does not have permission to update the password of the user with given ID, or the old password in request body is not correct.
  5714          '500':
  5715            $ref: '#/responses/500'
  5716    /users/current/permissions:
  5717      get:
  5718        summary: Get current user permissions.
  5719        tags:
  5720          - user
  5721        operationId: getCurrentUserPermissions
  5722        parameters:
  5723          - $ref: '#/parameters/requestId'
  5724          - name: scope
  5725            in: query
  5726            type: string
  5727            required: false
  5728            description: The scope for the permission
  5729          - name: relative
  5730            in: query
  5731            type: boolean
  5732            required: false
  5733            description: |
  5734              If true, the resources in the response are relative to the scope,
  5735              eg for resource '/project/1/repository' if relative is 'true' then the resource in response will be 'repository'.
  5736        responses:
  5737          '200':
  5738            description: Get current user permission successfully.
  5739            schema:
  5740              type: array
  5741              items:
  5742                $ref: '#/definitions/Permission'
  5743          '401':
  5744            description: User need to log in first.
  5745          '500':
  5746            description: Internal errors.
  5747    '/users/{user_id}/cli_secret':
  5748      put:
  5749        summary: Set CLI secret for a user.
  5750        description: >-
  5751          This endpoint let user generate a new CLI secret for himself.  This API only works when auth mode is set to 'OIDC'.
  5752          Once this API returns with successful status, the old secret will be invalid, as there will be only one CLI secret
  5753          for a user.
  5754        tags:
  5755          - user
  5756        operationId: setCliSecret
  5757        parameters:
  5758          - $ref: '#/parameters/requestId'
  5759          - name: user_id
  5760            in: path
  5761            type: integer
  5762            format: int
  5763            required: true
  5764            description: User ID
  5765          - name: secret
  5766            in: body
  5767            required: true
  5768            schema:
  5769              $ref: '#/definitions/OIDCCliSecretReq'
  5770        responses:
  5771          '200':
  5772            description: The secret is successfully updated
  5773          '400':
  5774            description: Invalid user ID.  Or user is not onboarded via OIDC authentication. Or the secret does not meet the standard.
  5775          '401':
  5776            $ref: '#/responses/401'
  5777          '403':
  5778            $ref: '#/responses/403'
  5779          '404':
  5780            $ref: '#/responses/404'
  5781          '412':
  5782            description: The auth mode of the system is not "oidc_auth", or the user is not onboarded via OIDC AuthN.
  5783          '500':
  5784            $ref: '#/responses/500'
  5785  
  5786    /labels:
  5787      get:
  5788        summary: List labels according to the query strings.
  5789        description: |
  5790          This endpoint let user list labels by name, scope and project_id
  5791        tags:
  5792          - label
  5793        operationId: ListLabels
  5794        parameters:
  5795          - $ref: '#/parameters/requestId'
  5796          - $ref: '#/parameters/query'
  5797          - $ref: '#/parameters/sort'
  5798          - $ref: '#/parameters/page'
  5799          - $ref: '#/parameters/pageSize'
  5800          - name: name
  5801            in: query
  5802            type: string
  5803            required: false
  5804            description: The label name.
  5805          - name: scope
  5806            in: query
  5807            type: string
  5808            required: false
  5809            description: The label scope. Valid values are g and p. g for global labels and p for project labels.
  5810          - name: project_id
  5811            in: query
  5812            type: integer
  5813            format: int64
  5814            required: false
  5815            description: Relevant project ID, required when scope is p.
  5816        responses:
  5817          '200':
  5818            description: Get successfully.
  5819            schema:
  5820              type: array
  5821              items:
  5822                $ref: '#/definitions/Label'
  5823            headers:
  5824              X-Total-Count:
  5825                description: The total count of available items
  5826                type: integer
  5827              Link:
  5828                description: Link to previous page and next page
  5829                type: string
  5830          '400':
  5831            $ref: '#/responses/400'
  5832          '401':
  5833            $ref: '#/responses/401'
  5834          '500':
  5835            $ref: '#/responses/500'
  5836      post:
  5837        summary: Post creates a label
  5838        description: |
  5839          This endpoint let user creates a label.
  5840        tags:
  5841          - label
  5842        operationId: CreateLabel
  5843        parameters:
  5844          - $ref: '#/parameters/requestId'
  5845          - name: label
  5846            in: body
  5847            description: The json object of label.
  5848            required: true
  5849            schema:
  5850              $ref: '#/definitions/Label'
  5851        responses:
  5852          '201':
  5853            description: Create successfully.
  5854            headers:
  5855              Location:
  5856                type: string
  5857                description: The URL of the created resource
  5858          '400':
  5859            $ref: '#/responses/400'
  5860          '401':
  5861            $ref: '#/responses/401'
  5862          '409':
  5863            $ref: '#/responses/409'
  5864          '415':
  5865            $ref: '#/responses/415'
  5866          '500':
  5867            $ref: '#/responses/500'
  5868    '/labels/{label_id}':
  5869      get:
  5870        summary: Get the label specified by ID.
  5871        description: |
  5872          This endpoint let user get the label by specific ID.
  5873        tags:
  5874          - label
  5875        operationId: GetLabelByID
  5876        parameters:
  5877          - $ref: '#/parameters/requestId'
  5878          - $ref: '#/parameters/labelId'
  5879        responses:
  5880          '200':
  5881            description: Get successfully.
  5882            schema:
  5883              $ref: '#/definitions/Label'
  5884          '401':
  5885            $ref: '#/responses/401'
  5886          '404':
  5887            $ref: '#/responses/404'
  5888          '500':
  5889            $ref: '#/responses/500'
  5890      put:
  5891        summary: Update the label properties.
  5892        description: |
  5893          This endpoint let user update label properties.
  5894        tags:
  5895          - label
  5896        operationId: UpdateLabel
  5897        parameters:
  5898          - $ref: '#/parameters/requestId'
  5899          - $ref: '#/parameters/labelId'
  5900          - name: label
  5901            in: body
  5902            description: The updated label json object.
  5903            required: true
  5904            schema:
  5905              $ref: '#/definitions/Label'
  5906        responses:
  5907          '200':
  5908            $ref: '#/responses/200'
  5909          '400':
  5910            $ref: '#/responses/400'
  5911          '401':
  5912            $ref: '#/responses/401'
  5913          '404':
  5914            $ref: '#/responses/404'
  5915          '409':
  5916            $ref: '#/responses/409'
  5917          '500':
  5918            $ref: '#/responses/500'
  5919      delete:
  5920        summary: Delete the label specified by ID.
  5921        description: |
  5922          Delete the label specified by ID.
  5923        tags:
  5924          - label
  5925        operationId: DeleteLabel
  5926        parameters:
  5927          - $ref: '#/parameters/requestId'
  5928          - $ref: '#/parameters/labelId'
  5929        responses:
  5930          '200':
  5931            $ref: '#/responses/200'
  5932          '400':
  5933            $ref: '#/responses/400'
  5934          '401':
  5935            $ref: '#/responses/401'
  5936          '404':
  5937            $ref: '#/responses/404'
  5938          '500':
  5939            $ref: '#/responses/500'
  5940  
  5941    /export/cve:
  5942      post:
  5943        summary: Export scan data for selected projects
  5944        description: Export scan data for selected projects
  5945        tags:
  5946          - scan data export
  5947        operationId: exportScanData
  5948        parameters:
  5949          - $ref: '#/parameters/requestId'
  5950          - $ref: '#/parameters/scanDataType'
  5951          - name: criteria
  5952            in: body
  5953            description: The criteria for the export
  5954            required: true
  5955            schema:
  5956              $ref: '#/definitions/ScanDataExportRequest'
  5957        responses:
  5958          '200':
  5959            description: Success.
  5960            schema:
  5961              $ref: '#/definitions/ScanDataExportJob'
  5962          '400':
  5963            $ref: '#/responses/400'
  5964          '401':
  5965            $ref: '#/responses/401'
  5966          '403':
  5967            $ref: '#/responses/403'
  5968          '404':
  5969            $ref: '#/responses/404'
  5970          '405':
  5971            $ref: '#/responses/405'
  5972          '409':
  5973            $ref: '#/responses/409'
  5974          '500':
  5975            $ref: '#/responses/500'
  5976    /export/cve/execution/{execution_id}:
  5977      get:
  5978        summary: Get the specific scan data export execution
  5979        description: Get the scan data export execution specified by ID
  5980        tags:
  5981          - scan data export
  5982        operationId: getScanDataExportExecution
  5983        parameters:
  5984          - $ref: '#/parameters/requestId'
  5985          - $ref: '#/parameters/executionId'
  5986        responses:
  5987          '200':
  5988            description: Success
  5989            schema:
  5990              $ref: '#/definitions/ScanDataExportExecution'
  5991          '401':
  5992            $ref: '#/responses/401'
  5993          '403':
  5994            $ref: '#/responses/403'
  5995          '404':
  5996            $ref: '#/responses/404'
  5997          '500':
  5998            $ref: '#/responses/500'
  5999    /export/cve/executions:
  6000      get:
  6001        summary: Get a list of specific scan data export execution jobs for a specified user
  6002        description: Get a list of specific scan data export execution jobs for a specified user
  6003        tags:
  6004          - scan data export
  6005        operationId: getScanDataExportExecutionList
  6006        parameters:
  6007          - $ref: '#/parameters/requestId'
  6008        responses:
  6009          '200':
  6010            description: Success
  6011            schema:
  6012              $ref: '#/definitions/ScanDataExportExecutionList'
  6013          '401':
  6014            $ref: '#/responses/401'
  6015          '403':
  6016            $ref: '#/responses/403'
  6017          '404':
  6018            $ref: '#/responses/404'
  6019          '500':
  6020            $ref: '#/responses/500'
  6021    /export/cve/download/{execution_id}:
  6022      get:
  6023        summary: Download the scan data export file
  6024        description: Download the scan data report. Default format is CSV
  6025        tags:
  6026          - scan data export
  6027        operationId: downloadScanData
  6028        produces:
  6029          - text/csv
  6030        parameters:
  6031          - $ref: '#/parameters/requestId'
  6032          - $ref: '#/parameters/executionId'
  6033          - name: format
  6034            in: query
  6035            type: string
  6036            required: false
  6037            description: The format of the data to be exported. e.g. CSV or PDF
  6038        responses:
  6039          '200':
  6040            description: Data file containing the export data
  6041            schema:
  6042              type: file
  6043            headers:
  6044              Content-Disposition:
  6045                type: string
  6046                description: Value is a CSV formatted file; filename=export.csv
  6047          '401':
  6048            $ref: '#/responses/401'
  6049          '403':
  6050            $ref: '#/responses/403'
  6051          '404':
  6052            $ref: '#/responses/404'
  6053          '500':
  6054            $ref: '#/responses/500'
  6055    /security/summary:
  6056      get:
  6057        summary: Get vulnerability system summary
  6058        description: Retrieve the vulnerability summary of the system
  6059        tags:
  6060          - securityhub
  6061        operationId: getSecuritySummary
  6062        parameters:
  6063          - $ref: '#/parameters/requestId'
  6064          - name: with_dangerous_cve
  6065            in: query
  6066            description: Specify whether the dangerous CVEs are included inside summary information
  6067            type: boolean
  6068            required: false
  6069            default: false
  6070          - name: with_dangerous_artifact
  6071            in: query
  6072            description: Specify whether the dangerous Artifact are included inside summary information
  6073            type: boolean
  6074            required: false
  6075            default: false                  
  6076        responses:
  6077          '200':
  6078            description: Success
  6079            schema:
  6080              $ref: '#/definitions/SecuritySummary'
  6081          '401':
  6082            $ref: '#/responses/401'
  6083          '403':
  6084            $ref: '#/responses/403'
  6085          '404':
  6086            $ref: '#/responses/404'
  6087          '500':
  6088            $ref: '#/responses/500'
  6089  
  6090    /security/vul:
  6091      get:
  6092        summary: Get the vulnerability list.
  6093        description: |
  6094          Get the vulnerability list. use q to pass the query condition, 
  6095          supported conditions:
  6096          cve_id(exact match)
  6097          cvss_score_v3(range condition)
  6098          severity(exact match)
  6099          repository_name(exact match) 
  6100          project_id(exact match) 
  6101          package(exact match)
  6102          tag(exact match) 
  6103          digest(exact match)
  6104        tags:
  6105          - securityhub
  6106        operationId: ListVulnerabilities
  6107        parameters:
  6108          - $ref: '#/parameters/requestId'
  6109          - $ref: '#/parameters/query'
  6110          - $ref: '#/parameters/page'
  6111          - $ref: '#/parameters/pageSize'
  6112          - name: tune_count
  6113            in: query
  6114            description: Enable to ignore X-Total-Count when the total count > 1000, if the total count is less than 1000, the real total count is returned, else -1.
  6115            type: boolean
  6116            required: false
  6117            default: false
  6118          - name: with_tag
  6119            in: query
  6120            description: Specify whether the tag information is included inside vulnerability information
  6121            type: boolean
  6122            required: false
  6123            default: false
  6124        responses:
  6125          '200':
  6126            description: The vulnerability list.
  6127            schema:
  6128              type: array
  6129              items:
  6130                $ref: '#/definitions/VulnerabilityItem'
  6131            headers:
  6132              X-Total-Count:
  6133                description: The total count of vulnerabilities
  6134                type: integer
  6135              Link:
  6136                description: Link refers to the previous page and next page
  6137                type: string
  6138          '400':
  6139            $ref: '#/responses/400'
  6140          '401':
  6141            $ref: '#/responses/401'
  6142          '500':
  6143            $ref: '#/responses/500'
  6144  
  6145    /permissions:
  6146      get:
  6147        summary: Get system or project level permissions info.
  6148        operationId: getPermissions
  6149        description: |
  6150          This endpoint is for retrieving resource and action info that only provides for admin user(system admin and project admin).
  6151        tags:
  6152          - permissions
  6153        parameters:
  6154          - $ref: '#/parameters/requestId'
  6155        responses:
  6156          '200':
  6157            description: Get permissions successfully.
  6158            schema:
  6159              $ref: '#/definitions/Permissions'
  6160          '401':
  6161            $ref: '#/responses/401'
  6162          '403':
  6163            $ref: '#/responses/403'
  6164          '404':
  6165            $ref: '#/responses/404'
  6166          '500':
  6167            $ref: '#/responses/500'
  6168  
  6169  parameters:
  6170    query:
  6171      name: q
  6172      description: Query string to query resources. Supported query patterns are "exact match(k=v)", "fuzzy match(k=~v)", "range(k=[min~max])", "list with union releationship(k={v1 v2 v3})" and "list with intersetion relationship(k=(v1 v2 v3))". The value of range and list can be string(enclosed by " or '), integer or time(in format "2020-04-09 02:36:00"). All of these query patterns should be put in the query string "q=xxx" and splitted by ",". e.g. q=k1=v1,k2=~v2,k3=[min~max]
  6173      in: query
  6174      type: string
  6175      required: false
  6176    sort:
  6177      name: sort
  6178      description: Sort the resource list in ascending or descending order. e.g. sort by field1 in ascending order and field2 in descending order with "sort=field1,-field2"
  6179      in: query
  6180      type: string
  6181      required: false
  6182    page:
  6183      name: page
  6184      in: query
  6185      type: integer
  6186      format: int64
  6187      required: false
  6188      description: The page number
  6189      default: 1
  6190    pageSize:
  6191      name: page_size
  6192      in: query
  6193      type: integer
  6194      format: int64
  6195      required: false
  6196      description: The size of per page
  6197      default: 10
  6198      maximum: 100
  6199    requestId:
  6200      name: X-Request-Id
  6201      description: An unique ID for the request
  6202      in: header
  6203      type: string
  6204      required: false
  6205      minLength: 1
  6206    resourceNameInLocation:
  6207      name: X-Resource-Name-In-Location
  6208      description: The flag to indicate whether to return the name of the resource in Location. When X-Resource-Name-In-Location is true, the Location will return the name of the resource.
  6209      in: header
  6210      type: boolean
  6211      required: false
  6212      default: false
  6213    isResourceName:
  6214      name: X-Is-Resource-Name
  6215      description: The flag to indicate whether the parameter which supports both name and id in the path is the name of the resource. When the X-Is-Resource-Name is false and the parameter can be converted to an integer, the parameter will be as an id, otherwise, it will be as a name.
  6216      in: header
  6217      type: boolean
  6218      required: false
  6219      default: false
  6220    acceptVulnerabilities:
  6221      name: X-Accept-Vulnerabilities
  6222      in: header
  6223      type: string
  6224      default: 'application/vnd.security.vulnerability.report; version=1.1, application/vnd.scanner.adapter.vuln.report.harbor+json; version=1.0'
  6225      description: |-
  6226        A comma-separated lists of MIME types for the scan report or scan summary. The first mime type will be used when the report found for it.
  6227        Currently the mime type supports 'application/vnd.scanner.adapter.vuln.report.harbor+json; version=1.0' and 'application/vnd.security.vulnerability.report; version=1.1'
  6228    projectName:
  6229      name: project_name
  6230      in: path
  6231      description: The name of the project
  6232      required: true
  6233      type: string
  6234    projectNameOrId:
  6235      name: project_name_or_id
  6236      in: path
  6237      description: The name or id of the project
  6238      required: true
  6239      type: string
  6240    repositoryName:
  6241      name: repository_name
  6242      in: path
  6243      description: The name of the repository. If it contains slash, encode it twice over with URL encoding. e.g. a/b -> a%2Fb -> a%252Fb
  6244      required: true
  6245      type: string
  6246    reference:
  6247      name: reference
  6248      in: path
  6249      description: The reference of the artifact, can be digest or tag
  6250      required: true
  6251      type: string
  6252    digest:
  6253      name: digest
  6254      in: path
  6255      description: The digest of the resource
  6256      required: true
  6257      type: string
  6258    tagName:
  6259      name: tag_name
  6260      in: path
  6261      description: The name of the tag
  6262      required: true
  6263      type: string
  6264    instanceName:
  6265      name: preheat_instance_name
  6266      in: path
  6267      description: Instance Name
  6268      required: true
  6269      type: string
  6270    preheatPolicyName:
  6271      name: preheat_policy_name
  6272      in: path
  6273      description: Preheat Policy Name
  6274      required: true
  6275      type: string
  6276    executionId:
  6277      name: execution_id
  6278      in: path
  6279      description: Execution ID
  6280      required: true
  6281      type: integer
  6282    taskId:
  6283      name: task_id
  6284      in: path
  6285      description: Task ID
  6286      required: true
  6287      type: integer
  6288    robotId:
  6289      name: robot_id
  6290      in: path
  6291      description: Robot ID
  6292      required: true
  6293      type: integer
  6294    gcId:
  6295      name: gc_id
  6296      in: path
  6297      description: The ID of the gc log
  6298      required: true
  6299      type: integer
  6300      format: int64
  6301    purgeId:
  6302      name: purge_id
  6303      in: path
  6304      description: The ID of the purge log
  6305      required: true
  6306      type: integer
  6307      format: int64
  6308    labelId:
  6309      name: label_id
  6310      in: path
  6311      description: Label ID
  6312      required: true
  6313      type: integer
  6314      format: int64
  6315    webhookPolicyId:
  6316      name: webhook_policy_id
  6317      in: path
  6318      description: The ID of the webhook policy
  6319      required: true
  6320      type: integer
  6321      format: int64
  6322    immutableRuleId:
  6323      name: immutable_rule_id
  6324      in: path
  6325      description: The ID of the immutable rule
  6326      required: true
  6327      type: integer
  6328      format: int64
  6329    accessoryId:
  6330      name: accessory_id
  6331      in: path
  6332      description: The ID of the accessory
  6333      required: true
  6334      type: integer
  6335      format: int64
  6336    scanDataType:
  6337      name: X-Scan-Data-Type
  6338      description: The type of scan data to export
  6339      in: header
  6340      type: string
  6341      required: true
  6342    userName:
  6343      name: user_name
  6344      description: The name of the user
  6345      in: query
  6346      type: string
  6347      required: true
  6348  
  6349  responses:
  6350    '200':
  6351      description: Success
  6352      headers:
  6353        X-Request-Id:
  6354          description: The ID of the corresponding request for the response
  6355          type: string
  6356    '201':
  6357      description: Created
  6358      headers:
  6359        X-Request-Id:
  6360          description: The ID of the corresponding request for the response
  6361          type: string
  6362        Location:
  6363          description: The location of the resource
  6364          type: string
  6365    '202':
  6366      description: Accepted
  6367      headers:
  6368        X-Request-Id:
  6369          description: The ID of the corresponding request for the response
  6370          type: string
  6371    '400':
  6372      description: Bad request
  6373      headers:
  6374        X-Request-Id:
  6375          description: The ID of the corresponding request for the response
  6376          type: string
  6377      schema:
  6378        $ref: '#/definitions/Errors'
  6379    '401':
  6380      description: Unauthorized
  6381      headers:
  6382        X-Request-Id:
  6383          description: The ID of the corresponding request for the response
  6384          type: string
  6385      schema:
  6386        $ref: '#/definitions/Errors'
  6387    '403':
  6388      description: Forbidden
  6389      headers:
  6390        X-Request-Id:
  6391          description: The ID of the corresponding request for the response
  6392          type: string
  6393      schema:
  6394        $ref: '#/definitions/Errors'
  6395    '404':
  6396      description: Not found
  6397      headers:
  6398        X-Request-Id:
  6399          description: The ID of the corresponding request for the response
  6400          type: string
  6401      schema:
  6402        $ref: '#/definitions/Errors'
  6403    '405':
  6404      description: Method not allowed
  6405      headers:
  6406        X-Request-Id:
  6407          description: The ID of the corresponding request for the response
  6408          type: string
  6409      schema:
  6410        $ref: '#/definitions/Errors'
  6411    '409':
  6412      description: Conflict
  6413      headers:
  6414        X-Request-Id:
  6415          description: The ID of the corresponding request for the response
  6416          type: string
  6417      schema:
  6418        $ref: '#/definitions/Errors'
  6419    '412':
  6420      description: Precondition failed
  6421      headers:
  6422        X-Request-Id:
  6423          description: The ID of the corresponding request for the response
  6424          type: string
  6425      schema:
  6426        $ref: '#/definitions/Errors'
  6427    '415':
  6428      description: Unsupported MediaType
  6429      headers:
  6430        X-Request-Id:
  6431          description: The ID of the corresponding request for the response
  6432          type: string
  6433      schema:
  6434        $ref: '#/definitions/Errors'
  6435    '500':
  6436      description: Internal server error
  6437      headers:
  6438        X-Request-Id:
  6439          description: The ID of the corresponding request for the response
  6440          type: string
  6441      schema:
  6442        $ref: '#/definitions/Errors'
  6443  definitions:
  6444    Errors:
  6445      description: The error array that describe the errors got during the handling of request
  6446      type: object
  6447      properties:
  6448        errors:
  6449          type: array
  6450          items:
  6451            $ref: '#/definitions/Error'
  6452    Error:
  6453      description: a model for all the error response coming from harbor
  6454      type: object
  6455      properties:
  6456        code:
  6457          type: string
  6458          description: The error code
  6459        message:
  6460          type: string
  6461          description: The error message
  6462    Search:
  6463      type: object
  6464      properties:
  6465        project:
  6466          description: Search results of the projects that matched the filter keywords.
  6467          type: array
  6468          items:
  6469            $ref: '#/definitions/Project'
  6470        repository:
  6471          description: Search results of the repositories that matched the filter keywords.
  6472          type: array
  6473          items:
  6474            $ref: '#/definitions/SearchRepository'
  6475    SearchRepository:
  6476      type: object
  6477      properties:
  6478        project_id:
  6479          type: integer
  6480          description: The ID of the project that the repository belongs to
  6481        project_name:
  6482          type: string
  6483          description: The name of the project that the repository belongs to
  6484        project_public:
  6485          type: boolean
  6486          description: 'The flag to indicate the publicity of the project that the repository belongs to (1 is public, 0 is not)'
  6487        repository_name:
  6488          type: string
  6489          description: The name of the repository
  6490        pull_count:
  6491          type: integer
  6492          description: The count how many times the repository is pulled
  6493        artifact_count:
  6494          type: integer
  6495          description: The count of artifacts in the repository
  6496    Repository:
  6497      type: object
  6498      properties:
  6499        id:
  6500          type: integer
  6501          format: int64
  6502          description: The ID of the repository
  6503        project_id:
  6504          type: integer
  6505          format: int64
  6506          description: The ID of the project that the repository belongs to
  6507        name:
  6508          type: string
  6509          description: The name of the repository
  6510        description:
  6511          type: string
  6512          description: The description of the repository
  6513        artifact_count:
  6514          type: integer
  6515          format: int64
  6516          description: The count of the artifacts inside the repository
  6517          x-omitempty: false
  6518        pull_count:
  6519          type: integer
  6520          format: int64
  6521          description: The count that the artifact inside the repository pulled
  6522          x-omitempty: false
  6523        creation_time:
  6524          type: string
  6525          format: date-time
  6526          description: The creation time of the repository
  6527          x-nullable: true
  6528          x-omitempty: true
  6529        update_time:
  6530          type: string
  6531          format: date-time
  6532          description: The update time of the repository
  6533    Artifact:
  6534      type: object
  6535      properties:
  6536        id:
  6537          type: integer
  6538          format: int64
  6539          description: The ID of the artifact
  6540        type:
  6541          type: string
  6542          description: The type of the artifact, e.g. image, chart, etc
  6543        media_type:
  6544          type: string
  6545          description: The media type of the artifact
  6546        manifest_media_type:
  6547          type: string
  6548          description: The manifest media type of the artifact
  6549        project_id:
  6550          type: integer
  6551          format: int64
  6552          description: The ID of the project that the artifact belongs to
  6553        repository_id:
  6554          type: integer
  6555          format: int64
  6556          description: The ID of the repository that the artifact belongs to
  6557        digest:
  6558          type: string
  6559          description: The digest of the artifact
  6560        size:
  6561          type: integer
  6562          format: int64
  6563          description: The size of the artifact
  6564        icon:
  6565          type: string
  6566          description: The digest of the icon
  6567        push_time:
  6568          type: string
  6569          format: date-time
  6570          description: The push time of the artifact
  6571        pull_time:
  6572          type: string
  6573          format: date-time
  6574          description: The latest pull time of the artifact
  6575        extra_attrs:
  6576          $ref: '#/definitions/ExtraAttrs'
  6577        annotations:
  6578          $ref: '#/definitions/Annotations'
  6579        references:
  6580          type: array
  6581          items:
  6582            $ref: '#/definitions/Reference'
  6583        tags:
  6584          type: array
  6585          items:
  6586            $ref: '#/definitions/Tag'
  6587        addition_links:
  6588          $ref: '#/definitions/AdditionLinks'
  6589        labels:
  6590          type: array
  6591          items:
  6592            $ref: '#/definitions/Label'
  6593        scan_overview:
  6594          $ref: '#/definitions/ScanOverview'
  6595          description: The overview of the scan result.
  6596        accessories:
  6597          type: array
  6598          items:
  6599            $ref: '#/definitions/Accessory'
  6600            description: The accessory of the artifact.
  6601    Tag:
  6602      type: object
  6603      properties:
  6604        id:
  6605          type: integer
  6606          format: int64
  6607          description: The ID of the tag
  6608        repository_id:
  6609          type: integer
  6610          format: int64
  6611          description: The ID of the repository that the tag belongs to
  6612        artifact_id:
  6613          type: integer
  6614          format: int64
  6615          description: The ID of the artifact that the tag attached to
  6616        name:
  6617          type: string
  6618          description: The name of the tag
  6619        push_time:
  6620          type: string
  6621          format: date-time
  6622          description: The push time of the tag
  6623        pull_time:
  6624          type: string
  6625          format: date-time
  6626          description: The latest pull time of the tag
  6627        immutable:
  6628          type: boolean
  6629          x-omitempty: false
  6630          description: The immutable status of the tag
  6631    ExtraAttrs:
  6632      type: object
  6633      additionalProperties:
  6634        type: object
  6635    Annotations:
  6636      type: object
  6637      additionalProperties:
  6638        type: string
  6639    AdditionLinks:
  6640      type: object
  6641      additionalProperties:
  6642        $ref: '#/definitions/AdditionLink'
  6643    AdditionLink:
  6644      type: object
  6645      properties:
  6646        href:
  6647          type: string
  6648          description: The link of the addition
  6649        absolute:
  6650          type: boolean
  6651          x-omitempty: false
  6652          description: Determine whether the link is an absolute URL or not
  6653    Reference:
  6654      type: object
  6655      properties:
  6656        parent_id:
  6657          type: integer
  6658          format: int64
  6659          description: The parent ID of the reference
  6660        child_id:
  6661          type: integer
  6662          format: int64
  6663          description: The child ID of the reference
  6664        child_digest:
  6665          type: string
  6666          description: The digest of the child artifact
  6667        platform:
  6668          $ref: '#/definitions/Platform'
  6669        annotations:
  6670          $ref: '#/definitions/Annotations'
  6671        urls:
  6672          type: array
  6673          description: The download URLs
  6674          items:
  6675            type: string
  6676    Platform:
  6677      type: object
  6678      properties:
  6679        architecture:
  6680          type: string
  6681          description: The architecture that the artifact applys to
  6682        os:
  6683          type: string
  6684          description: The OS that the artifact applys to
  6685        '''os.version''':
  6686          type: string
  6687          description: The version of the OS that the artifact applys to
  6688        '''os.features''':
  6689          type: array
  6690          description: The features of the OS that the artifact applys to
  6691          items:
  6692            type: string
  6693        variant:
  6694          type: string
  6695          description: The variant of the CPU
  6696    Label:
  6697      type: object
  6698      properties:
  6699        id:
  6700          type: integer
  6701          format: int64
  6702          description: The ID of the label
  6703        name:
  6704          type: string
  6705          description: The name the label
  6706        description:
  6707          type: string
  6708          description: The description the label
  6709        color:
  6710          type: string
  6711          description: The color the label
  6712        scope:
  6713          type: string
  6714          description: The scope the label
  6715        project_id:
  6716          type: integer
  6717          format: int64
  6718          description: The ID of project that the label belongs to
  6719        creation_time:
  6720          type: string
  6721          format: date-time
  6722          description: The creation time the label
  6723        update_time:
  6724          type: string
  6725          format: date-time
  6726          description: The update time of the label
  6727    Scanner:
  6728      type: object
  6729      properties:
  6730        name:
  6731          type: string
  6732          description: Name of the scanner
  6733          example: "Trivy"
  6734        vendor:
  6735          type: string
  6736          description: Name of the scanner provider
  6737          example: "Aqua Security"
  6738        version:
  6739          type: string
  6740          description: Version of the scanner adapter
  6741          example: "v0.9.1"
  6742    ScanOverview:
  6743      type: object
  6744      description: 'The scan overview attached in the metadata of tag'
  6745      additionalProperties:
  6746        $ref: '#/definitions/NativeReportSummary'
  6747    NativeReportSummary:
  6748      type: object
  6749      description: 'The summary for the native report'
  6750      properties:
  6751        report_id:
  6752          type: string
  6753          description: 'id of the native scan report'
  6754          example: '5f62c830-f996-11e9-957f-0242c0a89008'
  6755        scan_status:
  6756          type: string
  6757          description: 'The status of the report generating process'
  6758          example: 'Success'
  6759        severity:
  6760          type: string
  6761          description: 'The overall severity'
  6762          example: 'High'
  6763        duration:
  6764          type: integer
  6765          format: int64
  6766          description: 'The seconds spent for generating the report'
  6767          example: 300
  6768        summary:
  6769          $ref: '#/definitions/VulnerabilitySummary'
  6770        start_time:
  6771          type: string
  6772          format: date-time
  6773          description: 'The start time of the scan process that generating report'
  6774          example: '2006-01-02T14:04:05Z'
  6775        end_time:
  6776          type: string
  6777          format: date-time
  6778          description: 'The end time of the scan process that generating report'
  6779          example: '2006-01-02T15:04:05Z'
  6780        complete_percent:
  6781          type: integer
  6782          description: 'The complete percent of the scanning which value is between 0 and 100'
  6783          example: 100
  6784        scanner:
  6785          $ref: '#/definitions/Scanner'
  6786    VulnerabilitySummary:
  6787      type: object
  6788      description: |
  6789        VulnerabilitySummary contains the total number of the foun d vulnerabilities number and numbers of each severity level.
  6790      properties:
  6791        total:
  6792          type: integer
  6793          format: int
  6794          description: 'The total number of the found vulnerabilities'
  6795          example: 500
  6796          x-omitempty: false
  6797        fixable:
  6798          type: integer
  6799          format: int
  6800          description: 'The number of the fixable vulnerabilities'
  6801          example: 100
  6802          x-omitempty: false
  6803        summary:
  6804          type: object
  6805          description: 'Numbers of the vulnerabilities with different severity'
  6806          additionalProperties:
  6807            type: integer
  6808            format: int
  6809            example: 10
  6810          example:
  6811            'Critical': 5
  6812            'High': 5
  6813          x-omitempty: false
  6814    AuditLog:
  6815      type: object
  6816      properties:
  6817        id:
  6818          type: integer
  6819          description: The ID of the audit log entry.
  6820        username:
  6821          type: string
  6822          description: Username of the user in this log entry.
  6823        resource:
  6824          type: string
  6825          description: Name of the repository in this log entry.
  6826        resource_type:
  6827          type: string
  6828          description: Tag of the repository in this log entry.
  6829        operation:
  6830          type: string
  6831          description: The operation against the repository in this log entry.
  6832        op_time:
  6833          type: string
  6834          format: date-time
  6835          example: '2006-01-02T15:04:05Z'
  6836          description: The time when this operation is triggered.
  6837    Metadata:
  6838      type: object
  6839      properties:
  6840        id:
  6841          type: string
  6842          description: id
  6843        name:
  6844          type: string
  6845          description: name
  6846        icon:
  6847          type: string
  6848          description: icon
  6849        maintainers:
  6850          type: array
  6851          description: maintainers
  6852          items:
  6853            type: string
  6854        version:
  6855          type: string
  6856          description: version
  6857        source:
  6858          type: string
  6859          description: source
  6860    Instance:
  6861      type: object
  6862      properties:
  6863        id:
  6864          type: integer
  6865          description: Unique ID
  6866        name:
  6867          type: string
  6868          description: Instance name
  6869        description:
  6870          type: string
  6871          description: Description of instance
  6872        vendor:
  6873          type: string
  6874          description: Based on which driver, identified by ID
  6875        endpoint:
  6876          type: string
  6877          description: The service endpoint of this instance
  6878        auth_mode:
  6879          type: string
  6880          description: The authentication way supported
  6881        auth_info:
  6882          type: object
  6883          description: The auth credential data if exists
  6884          additionalProperties:
  6885            type: string
  6886        status:
  6887          type: string
  6888          description: The health status
  6889        enabled:
  6890          type: boolean
  6891          description: Whether the instance is activated or not
  6892          x-omitempty: false
  6893        default:
  6894          type: boolean
  6895          description: Whether the instance is default or not
  6896          x-omitempty: false
  6897        insecure:
  6898          type: boolean
  6899          description: Whether the instance endpoint is insecure or not
  6900          x-omitempty: false
  6901        setup_timestamp:
  6902          type: integer
  6903          format: int64
  6904          description: The timestamp of instance setting up
  6905    PreheatPolicy:
  6906      type: object
  6907      properties:
  6908        id:
  6909          type: integer
  6910          description: The ID of preheat policy
  6911        name:
  6912          type: string
  6913          description: The Name of preheat policy
  6914        description:
  6915          type: string
  6916          description: The Description of preheat policy
  6917        project_id:
  6918          type: integer
  6919          description: The ID of preheat policy project
  6920        provider_id:
  6921          type: integer
  6922          description: The ID of preheat policy provider
  6923        provider_name:
  6924          type: string
  6925          description: The Name of preheat policy provider
  6926        filters:
  6927          type: string
  6928          description: The Filters of preheat policy
  6929        trigger:
  6930          type: string
  6931          description: The Trigger of preheat policy
  6932        enabled:
  6933          type: boolean
  6934          description: Whether the preheat policy enabled
  6935          x-omitempty: false
  6936        creation_time:
  6937          type: string
  6938          format: date-time
  6939          description: The Create Time of preheat policy
  6940        update_time:
  6941          type: string
  6942          format: date-time
  6943          description: The Update Time of preheat policy
  6944    Metrics:
  6945      type: object
  6946      properties:
  6947        task_count:
  6948          type: integer
  6949          description: The count of task
  6950        success_task_count:
  6951          type: integer
  6952          description: The count of success task
  6953        error_task_count:
  6954          type: integer
  6955          description: The count of error task
  6956        pending_task_count:
  6957          type: integer
  6958          description: The count of pending task
  6959        running_task_count:
  6960          type: integer
  6961          description: The count of running task
  6962        scheduled_task_count:
  6963          type: integer
  6964          description: The count of scheduled task
  6965        stopped_task_count:
  6966          type: integer
  6967          description: The count of stopped task
  6968    Execution:
  6969      type: object
  6970      properties:
  6971        id:
  6972          type: integer
  6973          description: The ID of execution
  6974        vendor_type:
  6975          type: string
  6976          description: The vendor type of execution
  6977        vendor_id:
  6978          type: integer
  6979          description: The vendor id of execution
  6980        status:
  6981          type: string
  6982          description: The status of execution
  6983        status_message:
  6984          type: string
  6985          description: The status message of execution
  6986        metrics:
  6987          $ref: '#/definitions/Metrics'
  6988        trigger:
  6989          type: string
  6990          description: The trigger of execution
  6991        extra_attrs:
  6992          $ref: '#/definitions/ExtraAttrs'
  6993        start_time:
  6994          type: string
  6995          description: The start time of execution
  6996        end_time:
  6997          type: string
  6998          description: The end time of execution
  6999    Task:
  7000      type: object
  7001      properties:
  7002        id:
  7003          type: integer
  7004          description: The ID of task
  7005        execution_id:
  7006          type: integer
  7007          description: The ID of task execution
  7008        status:
  7009          type: string
  7010          description: The status of task
  7011        status_message:
  7012          type: string
  7013          description: The status message of task
  7014        run_count:
  7015          type: integer
  7016          format: int32
  7017          description: The count of task run
  7018        extra_attrs:
  7019          $ref: '#/definitions/ExtraAttrs'
  7020        creation_time:
  7021          type: string
  7022          description: The creation time of task
  7023        update_time:
  7024          type: string
  7025          description: The update time of task
  7026        start_time:
  7027          type: string
  7028          description: The start time of task
  7029        end_time:
  7030          type: string
  7031          description: The end time of task
  7032    ProviderUnderProject:
  7033      type: object
  7034      properties:
  7035        id:
  7036          type: integer
  7037        provider:
  7038          type: string
  7039        enabled:
  7040          type: boolean
  7041        default:
  7042          type: boolean
  7043    Icon:
  7044      type: object
  7045      properties:
  7046        content-type:
  7047          type: string
  7048          description: The content type of the icon
  7049        content:
  7050          type: string
  7051          description: The base64 encoded content of the icon
  7052    ProjectReq:
  7053      type: object
  7054      properties:
  7055        project_name:
  7056          type: string
  7057          description: The name of the project.
  7058          maxLength: 255
  7059        public:
  7060          type: boolean
  7061          description: deprecated, reserved for project creation in replication
  7062          x-nullable: true
  7063        metadata:
  7064          description: The metadata of the project.
  7065          $ref: '#/definitions/ProjectMetadata'
  7066        cve_allowlist:
  7067          description: The CVE allowlist of the project.
  7068          $ref: '#/definitions/CVEAllowlist'
  7069        storage_limit:
  7070          type: integer
  7071          format: int64
  7072          description: The storage quota of the project.
  7073          x-nullable: true
  7074        registry_id:
  7075          type: integer
  7076          format: int64
  7077          description: The ID of referenced registry when creating the proxy cache project
  7078          x-nullable: true
  7079    Project:
  7080      type: object
  7081      properties:
  7082        project_id:
  7083          type: integer
  7084          format: int32
  7085          description: Project ID
  7086        owner_id:
  7087          type: integer
  7088          format: int32
  7089          description: The owner ID of the project always means the creator of the project.
  7090        name:
  7091          type: string
  7092          description: The name of the project.
  7093        registry_id:
  7094          type: integer
  7095          format: int64
  7096          description: The ID of referenced registry when the project is a proxy cache project.
  7097        creation_time:
  7098          type: string
  7099          format: date-time
  7100          description: The creation time of the project.
  7101        update_time:
  7102          type: string
  7103          format: date-time
  7104          description: The update time of the project.
  7105        deleted:
  7106          type: boolean
  7107          description: A deletion mark of the project.
  7108        owner_name:
  7109          type: string
  7110          description: The owner name of the project.
  7111        togglable:
  7112          type: boolean
  7113          description: Correspond to the UI about whether the project's publicity is  updatable (for UI)
  7114        current_user_role_id:
  7115          type: integer
  7116          description: The role ID with highest permission of the current user who triggered the API (for UI).  This attribute is deprecated and will be removed in future versions.
  7117        current_user_role_ids:
  7118          type: array
  7119          items:
  7120            type: integer
  7121            format: int32
  7122          description: The list of role ID of the current user who triggered the API (for UI)
  7123        repo_count:
  7124          type: integer
  7125          description: The number of the repositories under this project.
  7126          x-omitempty: false
  7127        metadata:
  7128          description: The metadata of the project.
  7129          $ref: '#/definitions/ProjectMetadata'
  7130        cve_allowlist:
  7131          description: The CVE allowlist of this project.
  7132          $ref: '#/definitions/CVEAllowlist'
  7133    ProjectDeletable:
  7134      type: object
  7135      properties:
  7136        deletable:
  7137          type: boolean
  7138          description: Whether the project can be deleted.
  7139        message:
  7140          type: string
  7141          description: The detail message when the project can not be deleted.
  7142    ProjectMetadata:
  7143      type: object
  7144      properties:
  7145        public:
  7146          type: string
  7147          description: 'The public status of the project. The valid values are "true", "false".'
  7148        enable_content_trust:
  7149          type: string
  7150          description: 'Whether content trust is enabled or not. If it is enabled, user can''t pull unsigned images from this project. The valid values are "true", "false".'
  7151          x-nullable: true
  7152        enable_content_trust_cosign:
  7153          type: string
  7154          description: 'Whether cosign content trust is enabled or not. If it is enabled, user can''t pull images without cosign signature from this project. The valid values are "true", "false".'
  7155          x-nullable: true
  7156        prevent_vul:
  7157          type: string
  7158          description: 'Whether prevent the vulnerable images from running. The valid values are "true", "false".'
  7159          x-nullable: true
  7160        severity:
  7161          type: string
  7162          description: 'If the vulnerability is high than severity defined here, the images can''t be pulled. The valid values are "none", "low", "medium", "high", "critical".'
  7163          x-nullable: true
  7164        auto_scan:
  7165          type: string
  7166          description: 'Whether scan images automatically when pushing. The valid values are "true", "false".'
  7167          x-nullable: true
  7168        reuse_sys_cve_allowlist:
  7169          type: string
  7170          description: 'Whether this project reuse the system level CVE allowlist as the allowlist of its own.  The valid values are "true", "false".
  7171          If it is set to "true" the actual allowlist associate with this project, if any, will be ignored.'
  7172          x-nullable: true
  7173        retention_id:
  7174          type: string
  7175          description: 'The ID of the tag retention policy for the project'
  7176          x-nullable: true
  7177    ProjectSummary:
  7178      type: object
  7179      properties:
  7180        repo_count:
  7181          type: integer
  7182          description: The number of the repositories under this project.
  7183          x-omitempty: false
  7184        project_admin_count:
  7185          type: integer
  7186          description: The total number of project admin members.
  7187        maintainer_count:
  7188          type: integer
  7189          description: The total number of maintainer members.
  7190        developer_count:
  7191          type: integer
  7192          description: The total number of developer members.
  7193        guest_count:
  7194          type: integer
  7195          description: The total number of guest members.
  7196        limited_guest_count:
  7197          type: integer
  7198          description: The total number of limited guest members.
  7199        quota:
  7200          $ref: "#/definitions/ProjectSummaryQuota"
  7201        registry:
  7202          $ref: "#/definitions/Registry"
  7203    ProjectSummaryQuota:
  7204      type: object
  7205      properties:
  7206        hard:
  7207          $ref: "#/definitions/ResourceList"
  7208          description: The hard limits of the quota
  7209        used:
  7210          $ref: "#/definitions/ResourceList"
  7211          description: The used status of the quota
  7212    ProjectScanner:
  7213      type: object
  7214      required:
  7215        - uuid
  7216      properties:
  7217        uuid:
  7218          type: string
  7219          description: The identifier of the scanner registration
  7220    CVEAllowlist:
  7221      type: object
  7222      description: The CVE Allowlist for system or project
  7223      properties:
  7224        id:
  7225          type: integer
  7226          description: ID of the allowlist
  7227        project_id:
  7228          type: integer
  7229          description: ID of the project which the allowlist belongs to.  For system level allowlist this attribute is zero.
  7230        expires_at:
  7231          type: integer
  7232          description: the time for expiration of the allowlist, in the form of seconds since epoch.  This is an optional attribute, if it's not set the CVE allowlist does not expire.
  7233          x-nullable: true
  7234        items:
  7235          type: array
  7236          items:
  7237            $ref: "#/definitions/CVEAllowlistItem"
  7238        creation_time:
  7239          type: string
  7240          format: date-time
  7241          description: The creation time of the allowlist.
  7242        update_time:
  7243          type: string
  7244          format: date-time
  7245          description: The update time of the allowlist.
  7246    CVEAllowlistItem:
  7247      type: object
  7248      description: The item in CVE allowlist
  7249      properties:
  7250        cve_id:
  7251          type: string
  7252          description: The ID of the CVE, such as "CVE-2019-10164"
  7253    ReplicationPolicy:
  7254      type: object
  7255      properties:
  7256        id:
  7257          type: integer
  7258          format: int64
  7259          description: The policy ID.
  7260        name:
  7261          type: string
  7262          description: The policy name.
  7263        description:
  7264          type: string
  7265          description: The description of the policy.
  7266        src_registry:
  7267          description: The source registry.
  7268          $ref: '#/definitions/Registry'
  7269        dest_registry:
  7270          description: The destination registry.
  7271          $ref: '#/definitions/Registry'
  7272        dest_namespace:
  7273          type: string
  7274          description: The destination namespace.
  7275        dest_namespace_replace_count:
  7276          type: integer
  7277          format: int8
  7278          description: |-
  7279            Specify how many path components will be replaced by the provided destination namespace.
  7280            The default value is -1 in which case the legacy mode will be applied.
  7281          x-isnullable: true # make this field optional to keep backward compatibility
  7282        trigger:
  7283          $ref: '#/definitions/ReplicationTrigger'
  7284        filters:
  7285          type: array
  7286          description: The replication policy filter array.
  7287          items:
  7288            $ref: '#/definitions/ReplicationFilter'
  7289        replicate_deletion:
  7290          type: boolean
  7291          description: Whether to replicate the deletion operation.
  7292        deletion:
  7293          type: boolean
  7294          description: Deprecated, use "replicate_deletion" instead. Whether to replicate the deletion operation.
  7295        override:
  7296          type: boolean
  7297          description: Whether to override the resources on the destination registry.
  7298        enabled:
  7299          type: boolean
  7300          description: Whether the policy is enabled or not.
  7301        creation_time:
  7302          type: string
  7303          format: date-time
  7304          description: The create time of the policy.
  7305        update_time:
  7306          type: string
  7307          format: date-time
  7308          description: The update time of the policy.
  7309        speed:
  7310          type: integer
  7311          format: int32
  7312          description: speed limit for each task
  7313          x-isnullable: true # make this field optional to keep backward compatibility
  7314        copy_by_chunk:
  7315          type: boolean
  7316          description: Whether to enable copy by chunk.
  7317          x-isnullable: true
  7318    ReplicationTrigger:
  7319      type: object
  7320      properties:
  7321        type:
  7322          type: string
  7323          description: 'The replication policy trigger type. The valid values are manual, event_based and scheduled.'
  7324        trigger_settings:
  7325          $ref: '#/definitions/ReplicationTriggerSettings'
  7326    ReplicationTriggerSettings:
  7327      type: object
  7328      properties:
  7329        cron:
  7330          type: string
  7331          description: The cron string for scheduled trigger
  7332    ReplicationFilter:
  7333      type: object
  7334      properties:
  7335        type:
  7336          type: string
  7337          description: 'The replication policy filter type.'
  7338        value:
  7339          type: object
  7340          description: 'The value of replication policy filter.'
  7341        decoration:
  7342          type: string
  7343          description: 'matches or excludes the result'
  7344    RegistryCredential:
  7345      type: object
  7346      properties:
  7347        type:
  7348          type: string
  7349          description: Credential type, such as 'basic', 'oauth'.
  7350        access_key:
  7351          type: string
  7352          description: Access key, e.g. user name when credential type is 'basic'.
  7353        access_secret:
  7354          type: string
  7355          description: Access secret, e.g. password when credential type is 'basic'.
  7356    Registry:
  7357      type: object
  7358      properties:
  7359        id:
  7360          type: integer
  7361          format: int64
  7362          description: The registry ID.
  7363          x-omitempty: false
  7364        url:
  7365          type: string
  7366          description: The registry URL string.
  7367        name:
  7368          type: string
  7369          description: The registry name.
  7370        credential:
  7371          $ref: '#/definitions/RegistryCredential'
  7372        type:
  7373          type: string
  7374          description: Type of the registry, e.g. 'harbor'.
  7375        insecure:
  7376          type: boolean
  7377          description: Whether or not the certificate will be verified when Harbor tries to access the server.
  7378        description:
  7379          type: string
  7380          description: Description of the registry.
  7381        status:
  7382          type: string
  7383          description: Health status of the registry.
  7384        creation_time:
  7385          type: string
  7386          format: date-time
  7387          description: The create time of the policy.
  7388        update_time:
  7389          type: string
  7390          format: date-time
  7391          description: The update time of the policy.
  7392    RegistryUpdate:
  7393      type: object
  7394      properties:
  7395        name:
  7396          type: string
  7397          description: The registry name.
  7398          x-nullable: true
  7399        description:
  7400          type: string
  7401          description: Description of the registry.
  7402          x-nullable: true
  7403        url:
  7404          type: string
  7405          description: The registry URL.
  7406          x-nullable: true
  7407        credential_type:
  7408          type: string
  7409          description: Credential type of the registry, e.g. 'basic'.
  7410          x-nullable: true
  7411        access_key:
  7412          type: string
  7413          description: The registry access key.
  7414          x-nullable: true
  7415        access_secret:
  7416          type: string
  7417          description: The registry access secret.
  7418          x-nullable: true
  7419        insecure:
  7420          type: boolean
  7421          description: Whether or not the certificate will be verified when Harbor tries to access the server.
  7422          x-nullable: true
  7423    RegistryPing:
  7424      type: object
  7425      properties:
  7426        id:
  7427          type: integer
  7428          format: int64
  7429          description: The registry ID.
  7430          x-nullable: true
  7431        type:
  7432          type: string
  7433          description: Type of the registry, e.g. 'harbor'.
  7434          x-nullable: true
  7435        url:
  7436          type: string
  7437          description: The registry URL.
  7438          x-nullable: true
  7439        credential_type:
  7440          type: string
  7441          description: Credential type of the registry, e.g. 'basic'.
  7442          x-nullable: true
  7443        access_key:
  7444          type: string
  7445          description: The registry access key.
  7446          x-nullable: true
  7447        access_secret:
  7448          type: string
  7449          description: The registry access secret.
  7450          x-nullable: true
  7451        insecure:
  7452          type: boolean
  7453          description: Whether or not the certificate will be verified when Harbor tries to access the server.
  7454          x-nullable: true
  7455    RegistryInfo:
  7456      type: object
  7457      description: The registry info contains the base info and capability declarations of the registry
  7458      properties:
  7459        type:
  7460          type: string
  7461          description: The registry type
  7462        description:
  7463          type: string
  7464          description: The description
  7465        supported_resource_filters:
  7466          type: array
  7467          description: The filters that the registry supports
  7468          items:
  7469            $ref: '#/definitions/FilterStyle'
  7470        supported_triggers:
  7471          type: array
  7472          description: The triggers that the registry supports
  7473          items:
  7474            type: string
  7475        supported_copy_by_chunk:
  7476          type: boolean
  7477          description: The registry whether support copy by chunk.
  7478          x-omitempty: true
  7479          x-isnullable: true
  7480    RegistryProviderInfo:
  7481      type: object
  7482      description: The registry provider info contains the base info and capability declarations of the registry provider
  7483      properties:
  7484        endpoint_pattern:
  7485          description: The endpoint pattern
  7486          $ref: '#/definitions/RegistryProviderEndpointPattern'
  7487        credential_pattern:
  7488          description: The credential pattern
  7489          $ref: '#/definitions/RegistryProviderCredentialPattern'
  7490    RegistryProviderEndpointPattern:
  7491      type: object
  7492      description: The registry endpoint pattern
  7493      properties:
  7494        endpoint_type:
  7495          type: string
  7496          description: The endpoint type
  7497        endpoints:
  7498          type: array
  7499          description: The endpoint list
  7500          items:
  7501            $ref: '#/definitions/RegistryEndpoint'
  7502    RegistryProviderCredentialPattern:
  7503      type: object
  7504      description: The registry credential pattern
  7505      properties:
  7506        access_key_type:
  7507          type: string
  7508          description: The access key type
  7509        access_key_data:
  7510          type: string
  7511          description: The access key data
  7512        access_secret_type:
  7513          type: string
  7514          description: The access secret type
  7515        access_secret_data:
  7516          type: string
  7517          description: The access secret data
  7518    RegistryEndpoint:
  7519      type: object
  7520      description: The style of the resource filter
  7521      properties:
  7522        key:
  7523          type: string
  7524          description: The endpoint key
  7525        value:
  7526          type: string
  7527          description: The endpoint value
  7528    FilterStyle:
  7529      type: object
  7530      description: The style of the resource filter
  7531      properties:
  7532        type:
  7533          type: string
  7534          description: The filter type
  7535        style:
  7536          type: string
  7537          description: The filter style
  7538        values:
  7539          type: array
  7540          description: The filter values
  7541          items:
  7542            type: string
  7543    ResourceList:
  7544      type: object
  7545      additionalProperties:
  7546        type: integer
  7547        format: int64
  7548    ReplicationExecution:
  7549      type: object
  7550      description: The replication execution
  7551      properties:
  7552        id:
  7553          type: integer
  7554          description: The ID of the execution
  7555        policy_id:
  7556          type: integer
  7557          description: The ID if the policy that the execution belongs to
  7558        status:
  7559          type: string
  7560          description: The status of the execution
  7561        trigger:
  7562          type: string
  7563          description: The trigger mode
  7564        start_time:
  7565          type: string
  7566          format: date-time
  7567          description: The start time
  7568        end_time:
  7569          type: string
  7570          format: date-time
  7571          description: The end time
  7572        status_text:
  7573          type: string
  7574          x-omitempty: false
  7575          description: The status text
  7576        total:
  7577          type: integer
  7578          x-omitempty: false
  7579          description: The total count of all executions
  7580        failed:
  7581          type: integer
  7582          x-omitempty: false
  7583          description: The count of failed executions
  7584        succeed:
  7585          type: integer
  7586          x-omitempty: false
  7587          description: The count of succeed executions
  7588        in_progress:
  7589          type: integer
  7590          x-omitempty: false
  7591          description: The count of in_progress executions
  7592        stopped:
  7593          type: integer
  7594          x-omitempty: false
  7595          description: The count of stopped executions
  7596    StartReplicationExecution:
  7597      type: object
  7598      properties:
  7599        policy_id:
  7600          type: integer
  7601          format: int64
  7602          description: The ID of policy that the execution belongs to.
  7603    ReplicationTask:
  7604      type: object
  7605      description: The replication task
  7606      properties:
  7607        id:
  7608          type: integer
  7609          description: The ID of the task
  7610        execution_id:
  7611          type: integer
  7612          description: The ID of the execution that the task belongs to
  7613        status:
  7614          type: string
  7615          description: The status of the task
  7616        job_id:
  7617          type: string
  7618          description: The ID of the underlying job that the task related to
  7619        operation:
  7620          type: string
  7621          description: The operation of the task
  7622        resource_type:
  7623          type: string
  7624          description: The type of the resource that the task operates
  7625        src_resource:
  7626          type: string
  7627          description: The source resource that the task operates
  7628        dst_resource:
  7629          type: string
  7630          description: The destination resource that the task operates
  7631        start_time:
  7632          type: string
  7633          format: date-time
  7634          description: The start time of the task
  7635        end_time:
  7636          type: string
  7637          format: date-time
  7638          description: The end time of the task
  7639    Robot:
  7640      type: object
  7641      properties:
  7642        id:
  7643          type: integer
  7644          format: int64
  7645          description: The ID of the robot
  7646        name:
  7647          type: string
  7648          description: The name of the robot
  7649        description:
  7650          type: string
  7651          description: The description of the robot
  7652        secret:
  7653          type: string
  7654          description: The secret of the robot
  7655        level:
  7656          type: string
  7657          description: The level of the robot, project or system
  7658        duration:
  7659          type: integer
  7660          format: int64
  7661          description: The duration of the robot in days
  7662        editable:
  7663          type: boolean
  7664          x-omitempty: false
  7665          description: The editable status of the robot
  7666        disable:
  7667          type: boolean
  7668          x-omitempty: false
  7669          description: The disable status of the robot
  7670        expires_at:
  7671          type: integer
  7672          format: int64
  7673          description: The expiration date of the robot
  7674        permissions:
  7675          type: array
  7676          items:
  7677            $ref: '#/definitions/RobotPermission'
  7678        creation_time:
  7679          type: string
  7680          format: date-time
  7681          description: The creation time of the robot.
  7682        update_time:
  7683          type: string
  7684          format: date-time
  7685          description: The update time of the robot.
  7686    RobotCreate:
  7687      type: object
  7688      description: The request for robot account creation.
  7689      properties:
  7690        name:
  7691          type: string
  7692          description: The name of the robot
  7693        description:
  7694          type: string
  7695          description: The description of the robot
  7696        secret:
  7697          type: string
  7698          description: The secret of the robot
  7699        level:
  7700          type: string
  7701          description: The level of the robot, project or system
  7702        disable:
  7703          type: boolean
  7704          description: The disable status of the robot
  7705        duration:
  7706          type: integer
  7707          format: int64
  7708          description: The duration of the robot in days
  7709        permissions:
  7710          type: array
  7711          items:
  7712            $ref: '#/definitions/RobotPermission'
  7713    RobotCreated:
  7714      type: object
  7715      description: The response for robot account creation.
  7716      properties:
  7717        id:
  7718          type: integer
  7719          format: int64
  7720          description: The ID of the robot
  7721        name:
  7722          type: string
  7723          description: The name of the robot
  7724        secret:
  7725          type: string
  7726          description: The secret of the robot
  7727        creation_time:
  7728          type: string
  7729          format: date-time
  7730          description: The creation time of the robot.
  7731        expires_at:
  7732          type: integer
  7733          format: int64
  7734          description: The expiration date of the robot
  7735    RobotSec:
  7736      type: object
  7737      description: The response for refresh/update robot account secret.
  7738      properties:
  7739        secret:
  7740          type: string
  7741          description: The secret of the robot
  7742    RobotPermission:
  7743      type: object
  7744      properties:
  7745        kind:
  7746          type: string
  7747          description: The kind of the permission
  7748        namespace:
  7749          type: string
  7750          description: The namespace of the permission
  7751        access:
  7752          type: array
  7753          items:
  7754            $ref: '#/definitions/Access'
  7755    Access:
  7756      type: object
  7757      properties:
  7758        resource:
  7759          type: string
  7760          description: The resource of the access. Possible resources are *, artifact, artifact-addition, artifact-label, audit-log, catalog, configuration, distribution, garbage-collection, helm-chart, helm-chart-version, helm-chart-version-label, immutable-tag, label, ldap-user, log, member, metadata, notification-policy, preheat-instance, preheat-policy, project, quota, registry, replication, replication-adapter, replication-policy, repository, robot, scan, scan-all, scanner, system-volumes, tag, tag-retention, user, user-group or "" (for self-reference).
  7761        action:
  7762          type: string
  7763          description: The action of the access. Possible actions are *, pull, push, create, read, update, delete, list, operate, scanner-pull and stop.
  7764        effect:
  7765          type: string
  7766          description: The effect of the access
  7767    RobotCreateV1:
  7768      type: object
  7769      properties:
  7770        name:
  7771          type: string
  7772          description: The name of robot account
  7773        description:
  7774          type: string
  7775          description: The description of robot account
  7776        expires_at:
  7777          type: integer
  7778          description: The expiration time on or after which the JWT MUST NOT be accepted for processing.
  7779        access:
  7780          type: array
  7781          description: The permission of robot account
  7782          items:
  7783            $ref: '#/definitions/Access'
  7784    Storage:
  7785      type: object
  7786      properties:
  7787        total:
  7788          type: integer
  7789          format: uint64
  7790          description: Total volume size.
  7791        free:
  7792          type: integer
  7793          format: uint64
  7794          description: Free volume size.
  7795    GeneralInfo:
  7796      type: object
  7797      properties:
  7798        banner_message:
  7799          type: string
  7800          x-nullable: true
  7801          x-omitempty: true
  7802          description: The banner message for the UI. It is the stringified result of the banner message object.
  7803          example: "{\"closable\":true,\"message\":\"your banner message content\",\"type\":\"warning\",\"fromDate\":\"06/19/2023\",\"toDate\":\"06/21/2023\"}"
  7804        current_time:
  7805          type: string
  7806          format: date-time
  7807          x-nullable: true
  7808          x-omitempty: true
  7809          description: The current time of the server.
  7810        registry_url:
  7811          type: string
  7812          x-nullable: true
  7813          x-omitempty: true
  7814          description: The url of registry against which the docker command should be issued.
  7815        external_url:
  7816          type: string
  7817          x-nullable: true
  7818          x-omitempty: true
  7819          description: The external URL of Harbor, with protocol.
  7820        auth_mode:
  7821          type: string
  7822          x-nullable: true
  7823          x-omitempty: true
  7824          description: The auth mode of current Harbor instance.
  7825        primary_auth_mode:
  7826          type: boolean
  7827          x-nullable: true
  7828          x-omitempty: true
  7829          description: The flag to indicate whether the current auth mode should consider as a primary one.
  7830        project_creation_restriction:
  7831          type: string
  7832          x-nullable: true
  7833          x-omitempty: true
  7834          description: 'Indicate who can create projects, it could be ''adminonly'' or ''everyone''.'
  7835        self_registration:
  7836          type: boolean
  7837          x-nullable: true
  7838          x-omitempty: true
  7839          description: Indicate whether the Harbor instance enable user to register himself.
  7840        has_ca_root:
  7841          type: boolean
  7842          x-nullable: true
  7843          x-omitempty: true
  7844          description: Indicate whether there is a ca root cert file ready for download in the file system.
  7845        harbor_version:
  7846          type: string
  7847          x-nullable: true
  7848          x-omitempty: true
  7849          description: The build version of Harbor.
  7850        registry_storage_provider_name:
  7851          type: string
  7852          x-nullable: true
  7853          x-omitempty: true
  7854          description: The storage provider's name of Harbor registry
  7855        read_only:
  7856          type: boolean
  7857          x-nullable: true
  7858          x-omitempty: true
  7859          description: The flag to indicate whether Harbor is in readonly mode.
  7860        notification_enable:
  7861          type: boolean
  7862          x-nullable: true
  7863          x-omitempty: true
  7864          description: The flag to indicate whether notification mechanism is enabled on Harbor instance.
  7865        authproxy_settings:
  7866          description: The setting of auth proxy this is only available when Harbor relies on authproxy for authentication.
  7867          x-nullable: true
  7868          x-omitempty: true
  7869          $ref: '#/definitions/AuthproxySetting'
  7870        oidc_provider_name:
  7871          type: string
  7872          x-nullable: true
  7873          x-omitempty: true
  7874          description: The OIDC provider name, empty if current auth is not OIDC_auth or OIDC provider is not configured.
  7875    AuthproxySetting:
  7876      type: object
  7877      properties:
  7878        endpoint:
  7879          type: string
  7880          description: The fully qualified URI of login endpoint of authproxy, such as 'https://192.168.1.2:8443/login'
  7881        tokenreivew_endpoint:
  7882          type: string
  7883          description: The fully qualified URI of token review endpoint of authproxy, such as 'https://192.168.1.2:8443/tokenreview'
  7884        skip_search:
  7885          type: boolean
  7886          description: The flag to determine whether Harbor can skip search the user/group when adding him as a member.
  7887        verify_cert:
  7888          type: boolean
  7889          description: The flag to determine whether Harbor should verify the certificate when connecting to the auth proxy.
  7890        server_certificate:
  7891          type: string
  7892          description: The certificate to be pinned when connecting auth proxy.
  7893    SystemInfo:
  7894      type: object
  7895      properties:
  7896        storage:
  7897          type: array
  7898          description: The storage of system.
  7899          items:
  7900            $ref: '#/definitions/Storage'
  7901    GCHistory:
  7902      type: object
  7903      properties:
  7904        id:
  7905          type: integer
  7906          description: the id of gc job.
  7907        job_name:
  7908          type: string
  7909          description: the job name of gc job.
  7910        job_kind:
  7911          type: string
  7912          description: the job kind of gc job.
  7913        job_parameters:
  7914          type: string
  7915          description: the job parameters of gc job.
  7916        schedule:
  7917          $ref: '#/definitions/ScheduleObj'
  7918        job_status:
  7919          type: string
  7920          description: the status of gc job.
  7921        deleted:
  7922          type: boolean
  7923          description: if gc job was deleted.
  7924        creation_time:
  7925          type: string
  7926          format: date-time
  7927          description: the creation time of gc job.
  7928        update_time:
  7929          type: string
  7930          format: date-time
  7931          description: the update time of gc job.
  7932    ExecHistory:
  7933      type: object
  7934      properties:
  7935        id:
  7936          type: integer
  7937          description: the id of purge job.
  7938        job_name:
  7939          type: string
  7940          description: the job name of purge job.
  7941        job_kind:
  7942          type: string
  7943          description: the job kind of purge job.
  7944        job_parameters:
  7945          type: string
  7946          description: the job parameters of purge job.
  7947        schedule:
  7948          $ref: '#/definitions/ScheduleObj'
  7949        job_status:
  7950          type: string
  7951          description: the status of purge job.
  7952        deleted:
  7953          type: boolean
  7954          description: if purge job was deleted.
  7955        creation_time:
  7956          type: string
  7957          format: date-time
  7958          description: the creation time of purge job.
  7959        update_time:
  7960          type: string
  7961          format: date-time
  7962          description: the update time of purge job.
  7963    Schedule:
  7964      type: object
  7965      properties:
  7966        id:
  7967          type: integer
  7968          description: The id of the schedule.
  7969          readOnly: true
  7970        status:
  7971          type: string
  7972          description: The status of the schedule.
  7973          readOnly: true
  7974        creation_time:
  7975          type: string
  7976          format: date-time
  7977          description: the creation time of the schedule.
  7978          readOnly: true
  7979        update_time:
  7980          type: string
  7981          format: date-time
  7982          description: the update time of the schedule.
  7983          readOnly: true
  7984        schedule:
  7985          $ref: '#/definitions/ScheduleObj'
  7986        parameters:
  7987          type: object
  7988          description: The parameters of schedule job
  7989          additionalProperties:
  7990            type: object
  7991    ScheduleObj:
  7992      type: object
  7993      properties:
  7994        type:
  7995          type: string
  7996          description: |
  7997            The schedule type. The valid values are 'Hourly', 'Daily', 'Weekly', 'Custom', 'Manual', 'None' and 'Schedule'.
  7998            'Manual' means to trigger it right away, 'Schedule' means to trigger it by a specified cron schedule and 
  7999            'None' means to cancel the schedule.
  8000          enum:
  8001            - Hourly
  8002            - Daily
  8003            - Weekly
  8004            - Custom
  8005            - Manual
  8006            - None
  8007            - Schedule
  8008        cron:
  8009          type: string
  8010          description: A cron expression, a time-based job scheduler.
  8011        next_scheduled_time:
  8012          type: string
  8013          format: date-time
  8014          description: The next time to schedule to run the job.
  8015    Stats:
  8016      type: object
  8017      description: Stats provides the overall progress of the scan all process.
  8018      properties:
  8019        total:
  8020          type: integer
  8021          format: int
  8022          description: 'The total number of scan processes triggered by the scan all action'
  8023          example: 100
  8024          x-omitempty: false
  8025        completed:
  8026          type: integer
  8027          format: int
  8028          description: 'The number of the finished scan processes triggered by the scan all action'
  8029          example: 90
  8030          x-omitempty: false
  8031        metrics:
  8032          type: object
  8033          description: 'The metrics data for the each status'
  8034          additionalProperties:
  8035            type: integer
  8036            format: int
  8037            example: 10
  8038          example:
  8039            'Success': 5
  8040            'Error': 2
  8041            'Running': 3
  8042        ongoing:
  8043          type: boolean
  8044          description: A flag indicating job status of scan all.
  8045          x-omitempty: false
  8046        trigger:
  8047          type: string
  8048          description: The trigger of the scan all job.
  8049          enum:
  8050            - Manual
  8051            - Schedule
  8052            - Event
  8053    RetentionMetadata:
  8054      type: object
  8055      description: the tag retention metadata
  8056      properties:
  8057        templates:
  8058          type: array
  8059          description: templates
  8060          items:
  8061            $ref: '#/definitions/RetentionRuleMetadata'
  8062        scope_selectors:
  8063          type: array
  8064          description: supported scope selectors
  8065          items:
  8066            $ref: '#/definitions/RetentionSelectorMetadata'
  8067        tag_selectors:
  8068          type: array
  8069          description: supported tag selectors
  8070          items:
  8071            $ref: '#/definitions/RetentionSelectorMetadata'
  8072  
  8073    RetentionRuleMetadata:
  8074      type: object
  8075      description: the tag retention rule metadata
  8076      properties:
  8077        rule_template:
  8078          type: string
  8079          description: rule id
  8080        display_text:
  8081          type: string
  8082          description: rule display text
  8083        action:
  8084          type: string
  8085          description: rule action
  8086        params:
  8087          type: array
  8088          description: rule params
  8089          items:
  8090            $ref: '#/definitions/RetentionRuleParamMetadata'
  8091  
  8092    RetentionRuleParamMetadata:
  8093      type: object
  8094      description: rule param
  8095      properties:
  8096        type:
  8097          type: string
  8098        unit:
  8099          type: string
  8100        required:
  8101          type: boolean
  8102  
  8103  
  8104    RetentionSelectorMetadata:
  8105      type: object
  8106      description: retention selector
  8107      properties:
  8108        display_text:
  8109          type: string
  8110        kind:
  8111          type: string
  8112        decorations:
  8113          type: array
  8114          items:
  8115            type: string
  8116  
  8117    RetentionPolicy:
  8118      type: object
  8119      description: retention policy
  8120      properties:
  8121        id:
  8122          type: integer
  8123          format: int64
  8124        algorithm:
  8125          type: string
  8126        rules:
  8127          type: array
  8128          items:
  8129            $ref: '#/definitions/RetentionRule'
  8130        trigger:
  8131          type: object
  8132          $ref: '#/definitions/RetentionRuleTrigger'
  8133        scope:
  8134          type: object
  8135          $ref: '#/definitions/RetentionPolicyScope'
  8136  
  8137    RetentionRuleTrigger:
  8138      type: object
  8139      properties:
  8140        kind:
  8141          type: string
  8142        settings:
  8143          type: object
  8144        references:
  8145          type: object
  8146  
  8147    RetentionPolicyScope:
  8148      type: object
  8149      properties:
  8150        level:
  8151          type: string
  8152        ref:
  8153          type: integer
  8154  
  8155    RetentionRule:
  8156      type: object
  8157      properties:
  8158        id:
  8159          type: integer
  8160        priority:
  8161          type: integer
  8162        disabled:
  8163          type: boolean
  8164        action:
  8165          type: string
  8166        template:
  8167          type: string
  8168        params:
  8169          type: object
  8170          additionalProperties:
  8171            type: object
  8172        tag_selectors:
  8173          type: array
  8174          items:
  8175            $ref: '#/definitions/RetentionSelector'
  8176        scope_selectors:
  8177          type: object
  8178          additionalProperties:
  8179            type: array
  8180            items:
  8181              $ref: '#/definitions/RetentionSelector'
  8182  
  8183    RetentionSelector:
  8184      type: object
  8185      properties:
  8186        kind:
  8187          type: string
  8188        decoration:
  8189          type: string
  8190        pattern:
  8191          type: string
  8192        extras:
  8193          type: string
  8194  
  8195    RetentionExecution:
  8196      type: object
  8197      properties:
  8198        id:
  8199          type: integer
  8200          format: int64
  8201        policy_id:
  8202          type: integer
  8203          format: int64
  8204        start_time:
  8205          type: string
  8206        end_time:
  8207          type: string
  8208        status:
  8209          type: string
  8210        trigger:
  8211          type: string
  8212        dry_run:
  8213          type: boolean
  8214  
  8215    RetentionExecutionTask:
  8216      type: object
  8217      properties:
  8218        id:
  8219          type: integer
  8220          format: int64
  8221        execution_id:
  8222          type: integer
  8223          format: int64
  8224        repository:
  8225          type: string
  8226        job_id:
  8227          type: string
  8228        status:
  8229          type: string
  8230        status_code:
  8231          type: integer
  8232          x-omitempty: false
  8233        status_revision:
  8234          type: integer
  8235          format: int64
  8236        start_time:
  8237          type: string
  8238        end_time:
  8239          type: string
  8240        total:
  8241          type: integer
  8242          x-omitempty: false
  8243        retained:
  8244          type: integer
  8245          x-omitempty: false
  8246  
  8247    QuotaUpdateReq:
  8248      type: object
  8249      properties:
  8250        hard:
  8251          $ref: "#/definitions/ResourceList"
  8252          description: The new hard limits for the quota
  8253  
  8254    QuotaRefObject:
  8255      type: object
  8256      additionalProperties: {}
  8257  
  8258    Quota:
  8259      type: object
  8260      description: The quota object
  8261      properties:
  8262        id:
  8263          type: integer
  8264          description: ID of the quota
  8265        ref:
  8266          $ref: "#/definitions/QuotaRefObject"
  8267          description: The reference object of the quota
  8268        hard:
  8269          $ref: "#/definitions/ResourceList"
  8270          description: The hard limits of the quota
  8271          x-omitempty: false
  8272        used:
  8273          $ref: "#/definitions/ResourceList"
  8274          description: The used status of the quota
  8275          x-omitempty: false
  8276        creation_time:
  8277          type: string
  8278          format: date-time
  8279          description: the creation time of the quota
  8280        update_time:
  8281          type: string
  8282          format: date-time
  8283          description: the update time of the quota
  8284  
  8285    ScannerRegistration:
  8286      type: object
  8287      description: |
  8288        Registration represents a named configuration for invoking a scanner via its adapter.
  8289      properties:
  8290        uuid:
  8291          type: string
  8292          description: The unique identifier of this registration.
  8293        name:
  8294          type: string
  8295          example: Trivy
  8296          description: The name of this registration.
  8297        description:
  8298          type: string
  8299          description: An optional description of this registration.
  8300          example: |
  8301            A free-to-use tool that scans container images for package vulnerabilities.
  8302          x-omitempty: false
  8303        url:
  8304          type: string
  8305          format: uri
  8306          description: A base URL of the scanner adapter
  8307          example: http://harbor-scanner-trivy:8080
  8308        disabled:
  8309          type: boolean
  8310          default: false
  8311          description: Indicate whether the registration is enabled or not
  8312          x-omitempty: false
  8313        is_default:
  8314          type: boolean
  8315          default: false
  8316          description: Indicate if the registration is set as the system default one
  8317          x-omitempty: false
  8318        auth:
  8319          type: string
  8320          default: ""
  8321          description: |
  8322            Specify what authentication approach is adopted for the HTTP communications.
  8323            Supported types Basic", "Bearer" and api key header "X-ScannerAdapter-API-Key"
  8324          example: "Bearer"
  8325          x-omitempty: false
  8326        access_credential:
  8327          type: string
  8328          description: |
  8329            An optional value of the HTTP Authorization header sent with each request to the Scanner Adapter API.
  8330          example: "Bearer: JWTTOKENGOESHERE"
  8331          x-omitempty: false
  8332        skip_certVerify:
  8333          type: boolean
  8334          default: false
  8335          description: Indicate if skip the certificate verification when sending HTTP requests
  8336          x-omitempty: false
  8337        use_internal_addr:
  8338          type: boolean
  8339          default: false
  8340          description: Indicate whether use internal registry addr for the scanner to pull content or not
  8341          x-omitempty: false
  8342        create_time:
  8343          type: string
  8344          format: date-time
  8345          description: The creation time of this registration
  8346        update_time:
  8347          type: string
  8348          format: date-time
  8349          description: The update time of this registration
  8350        adapter:
  8351          type: string
  8352          description: Optional property to describe the name of the scanner registration
  8353          example: "Trivy"
  8354        vendor:
  8355          type: string
  8356          description: Optional property to describe the vendor of the scanner registration
  8357          example: "CentOS"
  8358        version:
  8359          type: string
  8360          description: Optional property to describe the version of the scanner registration
  8361          example: "1.0.1"
  8362        health:
  8363          type: string
  8364          default: ""
  8365          description: Indicate the healthy of the registration
  8366          example: "healthy"
  8367  
  8368    ScannerRegistrationReq:
  8369      type: object
  8370      required:
  8371        - name
  8372        - url
  8373      properties:
  8374        name:
  8375          type: string
  8376          description: The name of this registration
  8377          example: Trivy
  8378        description:
  8379          type: string
  8380          description: An optional description of this registration.
  8381          example: |
  8382            A free-to-use tool that scans container images for package vulnerabilities.
  8383        url:
  8384          type: string
  8385          format: uri
  8386          description: A base URL of the scanner adapter.
  8387          example: http://harbor-scanner-trivy:8080
  8388        auth:
  8389          type: string
  8390          description: |
  8391            Specify what authentication approach is adopted for the HTTP communications.
  8392            Supported types Basic", "Bearer" and api key header "X-ScannerAdapter-API-Key"
  8393          example: "Bearer"
  8394        access_credential:
  8395          type: string
  8396          description: |
  8397            An optional value of the HTTP Authorization header sent with each request to the Scanner Adapter API.
  8398          example: "Bearer: JWTTOKENGOESHERE"
  8399        skip_certVerify:
  8400          type: boolean
  8401          default: false
  8402          description: Indicate if skip the certificate verification when sending HTTP requests
  8403        use_internal_addr:
  8404          type: boolean
  8405          default: false
  8406          description: Indicate whether use internal registry addr for the scanner to pull content or not
  8407        disabled:
  8408          type: boolean
  8409          default: false
  8410          description: Indicate whether the registration is enabled or not
  8411  
  8412    ScannerRegistrationSettings:
  8413      type: object
  8414      required:
  8415        - name
  8416        - url
  8417      properties:
  8418        name:
  8419          type: string
  8420          description: The name of this registration
  8421          example: Trivy
  8422        url:
  8423          type: string
  8424          format: uri
  8425          description: A base URL of the scanner adapter.
  8426          example: http://harbor-scanner-trivy:8080
  8427        auth:
  8428          type: string
  8429          default: ""
  8430          description: |
  8431            Specify what authentication approach is adopted for the HTTP communications.
  8432            Supported types Basic", "Bearer" and api key header "X-ScannerAdapter-API-Key"
  8433        access_credential:
  8434          type: string
  8435          description: |
  8436            An optional value of the HTTP Authorization header sent with each request to the Scanner Adapter API.
  8437          example: "Bearer: JWTTOKENGOESHERE"
  8438  
  8439    IsDefault:
  8440      type: object
  8441      properties:
  8442        is_default:
  8443          type: boolean
  8444          description: A flag indicating whether a scanner registration is default.
  8445  
  8446    ScannerCapability:
  8447      type: object
  8448      properties:
  8449        consumes_mime_types:
  8450          type: array
  8451          items:
  8452            type: string
  8453            example: "application/vnd.docker.distribution.manifest.v2+json"
  8454        produces_mime_types:
  8455          type: array
  8456          items:
  8457            type: string
  8458            example: "application/vnd.scanner.adapter.vuln.report.harbor+json; version=1.0"
  8459  
  8460    ScannerAdapterMetadata:
  8461      type: object
  8462      description: The metadata info of the scanner adapter
  8463      properties:
  8464        scanner:
  8465          $ref: '#/definitions/Scanner'
  8466        capabilities:
  8467          type: array
  8468          items:
  8469            $ref: '#/definitions/ScannerCapability'
  8470        properties:
  8471          type: object
  8472          additionalProperties:
  8473            type: string
  8474          example:
  8475            'harbor.scanner-adapter/registry-authorization-type': 'Bearer'
  8476  
  8477    ImmutableRule:
  8478      type: object
  8479      properties:
  8480        id:
  8481          type: integer
  8482        priority:
  8483          type: integer
  8484        disabled:
  8485          type: boolean
  8486        action:
  8487          type: string
  8488        template:
  8489          type: string
  8490        params:
  8491          type: object
  8492          additionalProperties:
  8493            type: object
  8494        tag_selectors:
  8495          type: array
  8496          items:
  8497            $ref: '#/definitions/ImmutableSelector'
  8498        scope_selectors:
  8499          type: object
  8500          additionalProperties:
  8501            type: array
  8502            items:
  8503              $ref: '#/definitions/ImmutableSelector'
  8504    ImmutableSelector:
  8505      type: object
  8506      properties:
  8507        kind:
  8508          type: string
  8509        decoration:
  8510          type: string
  8511        pattern:
  8512          type: string
  8513        extras:
  8514          type: string
  8515    LdapConf:
  8516      type: object
  8517      description: The ldap configure properties
  8518      properties:
  8519        ldap_url:
  8520          type: string
  8521          description: The url of ldap service.
  8522        ldap_search_dn:
  8523          type: string
  8524          description: The search dn of ldap service.
  8525        ldap_search_password:
  8526          type: string
  8527          description: The search password of ldap service.
  8528        ldap_base_dn:
  8529          type: string
  8530          description: The base dn of ldap service.
  8531        ldap_filter:
  8532          type: string
  8533          description: The serach filter of ldap service.
  8534        ldap_uid:
  8535          type: string
  8536          description: The serach uid from ldap service attributes.
  8537        ldap_scope:
  8538          type: integer
  8539          format: int64
  8540          description: The serach scope of ldap service.
  8541        ldap_connection_timeout:
  8542          type: integer
  8543          format: int64
  8544          description: The connect timeout of ldap service(second).
  8545        ldap_verify_cert:
  8546          type: boolean
  8547          description: Verify Ldap server certificate.
  8548    LdapPingResult:
  8549      type: object
  8550      description: The ldap ping result
  8551      properties:
  8552        success:
  8553          type: boolean
  8554          description: Test success
  8555        message:
  8556          type: string
  8557          description: The ping operation output message.
  8558    LdapImportUsers:
  8559      type: object
  8560      properties:
  8561        ldap_uid_list:
  8562          type: array
  8563          description: selected uid list
  8564          items:
  8565            type: string
  8566    LdapFailedImportUser:
  8567      type: object
  8568      properties:
  8569        uid:
  8570          type: string
  8571          description: the uid can't add to system.
  8572        error:
  8573          type: string
  8574          description: fail reason.
  8575    LdapUser:
  8576      type: object
  8577      properties:
  8578        username:
  8579          type: string
  8580          description: ldap username.
  8581        realname:
  8582          type: string
  8583          description: The user realname from "uid" or "cn" attribute.
  8584        email:
  8585          type: string
  8586          description: The user email address from "mail" or "email" attribute.
  8587    UserGroup:
  8588      type: object
  8589      properties:
  8590        id:
  8591          type: integer
  8592          description: The ID of the user group
  8593        group_name:
  8594          type: string
  8595          description: The name of the user group
  8596        group_type:
  8597          type: integer
  8598          description: 'The group type, 1 for LDAP group, 2 for HTTP group, 3 for OIDC group.'
  8599        ldap_group_dn:
  8600          type: string
  8601          description: The DN of the LDAP group if group type is 1 (LDAP group).
  8602    UserGroupSearchItem:
  8603      type: object
  8604      properties:
  8605        id:
  8606          type: integer
  8607          description: The ID of the user group
  8608        group_name:
  8609          type: string
  8610          description: The name of the user group
  8611        group_type:
  8612          type: integer
  8613          description: 'The group type, 1 for LDAP group, 2 for HTTP group, 3 for OIDC group.'
  8614    SupportedWebhookEventTypes:
  8615      type: object
  8616      description: Supported webhook event types and notify types.
  8617      properties:
  8618        event_type:
  8619          type: array
  8620          items:
  8621            $ref: '#/definitions/EventType'
  8622        notify_type:
  8623          type: array
  8624          items:
  8625            $ref: '#/definitions/NotifyType'
  8626        payload_formats:
  8627          type: array
  8628          items:
  8629            $ref: '#/definitions/PayloadFormat'
  8630    EventType:
  8631      type: string
  8632      description: Webhook supported event type.
  8633      example: 'PULL_ARTIFACT'
  8634    NotifyType:
  8635      type: string
  8636      description: Webhook supported notify type.
  8637      example: 'http'
  8638    PayloadFormatType:
  8639      type: string
  8640      description: The type of webhook paylod format.
  8641      example: 'CloudEvents'
  8642    PayloadFormat:
  8643      type: object
  8644      description: Webhook supported payload format type collections.
  8645      properties:
  8646        notify_type:
  8647          $ref: '#/definitions/NotifyType'
  8648        formats:
  8649          type: array
  8650          description: The supported payload formats for this notify type.
  8651          items:
  8652            $ref: '#/definitions/PayloadFormatType'
  8653  
  8654    WebhookTargetObject:
  8655      type: object
  8656      description: The webhook policy target object.
  8657      properties:
  8658        type:
  8659          type: string
  8660          description: The webhook target notify type.
  8661        address:
  8662          type: string
  8663          description: The webhook target address.
  8664        auth_header:
  8665          type: string
  8666          description: The webhook auth header.
  8667        skip_cert_verify:
  8668          type: boolean
  8669          description: Whether or not to skip cert verify.
  8670        payload_format:
  8671          $ref: '#/definitions/PayloadFormatType'
  8672          description: The payload format of webhook, by default is Default for http type.
  8673    WebhookPolicy:
  8674      type: object
  8675      description: The webhook policy object
  8676      properties:
  8677        id:
  8678          type: integer
  8679          format: int64
  8680          description: The webhook policy ID.
  8681        name:
  8682          type: string
  8683          description: The name of webhook policy.
  8684        description:
  8685          type: string
  8686          description: The description of webhook policy.
  8687        project_id:
  8688          type: integer
  8689          description: The project ID of webhook policy.
  8690        targets:
  8691          type: array
  8692          items:
  8693            $ref: '#/definitions/WebhookTargetObject'
  8694        event_types:
  8695          type: array
  8696          items:
  8697            type: string
  8698        creator:
  8699          type: string
  8700          description: The creator of the webhook policy.
  8701        creation_time:
  8702          type: string
  8703          description: The create time of the webhook policy.
  8704          format: date-time
  8705        update_time:
  8706          type: string
  8707          description: The update time of the webhook policy.
  8708          format: date-time
  8709        enabled:
  8710          type: boolean
  8711          description: Whether the webhook policy is enabled or not.
  8712          x-omitempty: false
  8713    WebhookLastTrigger:
  8714      type: object
  8715      description: The webhook policy and last trigger time group by event type.
  8716      properties:
  8717        policy_name:
  8718          type: string
  8719          description: The webhook policy name.
  8720        event_type:
  8721          type: string
  8722          description: The webhook event type.
  8723        enabled:
  8724          type: boolean
  8725          description: Whether or not the webhook policy enabled.
  8726        creation_time:
  8727          type: string
  8728          description: The creation time of webhook policy.
  8729          format: date-time
  8730        last_trigger_time:
  8731          type: string
  8732          description: The last trigger time of webhook policy.
  8733          format: date-time
  8734    WebhookJob:
  8735      type: object
  8736      description: The webhook job.
  8737      properties:
  8738        id:
  8739          type: integer
  8740          format: int64
  8741          description: The webhook job ID.
  8742        policy_id:
  8743          type: integer
  8744          format: int64
  8745          description: The webhook policy ID.
  8746        event_type:
  8747          type: string
  8748          description: The webhook job event type.
  8749        notify_type:
  8750          type: string
  8751          description: The webhook job notify type.
  8752        status:
  8753          type: string
  8754          description: The webhook job status.
  8755        job_detail:
  8756          type: string
  8757          description: The webhook job notify detailed data.
  8758        creation_time:
  8759          type: string
  8760          description: The webhook job creation time.
  8761          format: date-time
  8762        update_time:
  8763          type: string
  8764          description: The webhook job update time.
  8765          format: date-time
  8766    InternalConfigurationsResponse:
  8767      type: object
  8768      additionalProperties:
  8769        $ref: '#/definitions/InternalConfigurationValue'
  8770    InternalConfigurationValue:
  8771      type: object
  8772      properties:
  8773        value:
  8774          type: object
  8775          description: The value of current config item
  8776        editable:
  8777          type: boolean
  8778          x-omitempty: false
  8779          description: The configure item can be updated or not
  8780    ConfigurationsResponse:
  8781      type: object
  8782      properties:
  8783        auth_mode:
  8784          $ref: '#/definitions/StringConfigItem'
  8785          description: The auth mode of current system, such as "db_auth", "ldap_auth", "oidc_auth"
  8786        primary_auth_mode:
  8787          $ref: '#/definitions/BoolConfigItem'
  8788          description: The flag to indicate whether the current auth mode should consider as a primary one.
  8789        ldap_base_dn:
  8790          $ref: '#/definitions/StringConfigItem'
  8791          description: The Base DN for LDAP binding.
  8792        ldap_filter:
  8793          $ref: '#/definitions/StringConfigItem'
  8794          description: The filter for LDAP search
  8795        ldap_group_base_dn:
  8796          $ref: '#/definitions/StringConfigItem'
  8797          description: The base DN to search LDAP group.
  8798        ldap_group_admin_dn:
  8799          $ref: '#/definitions/StringConfigItem'
  8800          description: Specify the ldap group which have the same privilege with Harbor admin
  8801        ldap_group_attribute_name:
  8802          $ref: '#/definitions/StringConfigItem'
  8803          description: The attribute which is used as identity of the LDAP group, default is cn.'
  8804        ldap_group_search_filter:
  8805          $ref: '#/definitions/StringConfigItem'
  8806          description: The filter to search the ldap group
  8807        ldap_group_search_scope:
  8808          $ref: '#/definitions/IntegerConfigItem'
  8809          description: The scope to search ldap group. ''0-LDAP_SCOPE_BASE, 1-LDAP_SCOPE_ONELEVEL, 2-LDAP_SCOPE_SUBTREE''
  8810        ldap_scope:
  8811          $ref: '#/definitions/IntegerConfigItem'
  8812          description: The scope to search ldap users,'0-LDAP_SCOPE_BASE, 1-LDAP_SCOPE_ONELEVEL, 2-LDAP_SCOPE_SUBTREE'
  8813        ldap_search_dn:
  8814          $ref: '#/definitions/StringConfigItem'
  8815          description: The DN of the user to do the search.
  8816        ldap_timeout:
  8817          $ref: '#/definitions/IntegerConfigItem'
  8818          description: Timeout in seconds for connection to LDAP server
  8819        ldap_uid:
  8820          $ref: '#/definitions/StringConfigItem'
  8821          description: The attribute which is used as identity for the LDAP binding, such as "CN" or "SAMAccountname"
  8822        ldap_url:
  8823          $ref: '#/definitions/StringConfigItem'
  8824          description: The URL of LDAP server
  8825        ldap_verify_cert:
  8826          $ref: '#/definitions/BoolConfigItem'
  8827          description: Whether verify your OIDC server certificate, disable it if your OIDC server is hosted via self-hosted certificate.
  8828        ldap_group_membership_attribute:
  8829          $ref: '#/definitions/StringConfigItem'
  8830          description: The user attribute to identify the group membership
  8831        project_creation_restriction:
  8832          $ref: '#/definitions/StringConfigItem'
  8833          description: Indicate who can create projects, it could be ''adminonly'' or ''everyone''.
  8834        read_only:
  8835          $ref: '#/definitions/BoolConfigItem'
  8836          description: The flag to indicate whether Harbor is in readonly mode.
  8837        self_registration:
  8838          $ref: '#/definitions/BoolConfigItem'
  8839          description: Whether the Harbor instance supports self-registration.  If it''s set to false, admin need to add user to the instance.
  8840        token_expiration:
  8841          $ref: '#/definitions/IntegerConfigItem'
  8842          description: The expiration time of the token for internal Registry, in minutes.
  8843        uaa_client_id:
  8844          $ref: '#/definitions/StringConfigItem'
  8845          description: The client id of UAA
  8846        uaa_client_secret:
  8847          $ref: '#/definitions/StringConfigItem'
  8848          description: The client secret of the UAA
  8849        uaa_endpoint:
  8850          $ref: '#/definitions/StringConfigItem'
  8851          description: The endpoint of the UAA
  8852        uaa_verify_cert:
  8853          $ref: '#/definitions/BoolConfigItem'
  8854          description: Verify the certificate in UAA server
  8855        http_authproxy_endpoint:
  8856          $ref: '#/definitions/StringConfigItem'
  8857          description: The endpoint of the HTTP auth
  8858        http_authproxy_tokenreview_endpoint:
  8859          $ref: '#/definitions/StringConfigItem'
  8860          description: The token review endpoint
  8861        http_authproxy_admin_groups:
  8862          $ref: '#/definitions/StringConfigItem'
  8863          description: The group which has the harbor admin privileges
  8864        http_authproxy_admin_usernames:
  8865          $ref: '#/definitions/StringConfigItem'
  8866          description: The usernames which has the harbor admin privileges
  8867        http_authproxy_verify_cert:
  8868          $ref: '#/definitions/BoolConfigItem'
  8869          description: Verify the HTTP auth provider's certificate
  8870        http_authproxy_skip_search:
  8871          $ref: '#/definitions/BoolConfigItem'
  8872          description: Search user before onboard
  8873        http_authproxy_server_certificate:
  8874          $ref: '#/definitions/StringConfigItem'
  8875          description: The certificate of the HTTP auth provider
  8876        oidc_name:
  8877          $ref: '#/definitions/StringConfigItem'
  8878          description: The OIDC provider name
  8879        oidc_endpoint:
  8880          $ref: '#/definitions/StringConfigItem'
  8881          description: The endpoint of the OIDC provider
  8882        oidc_client_id:
  8883          $ref: '#/definitions/StringConfigItem'
  8884          description: The client ID of the OIDC provider
  8885        oidc_groups_claim:
  8886          $ref: '#/definitions/StringConfigItem'
  8887          description: The attribute claims the group name
  8888        oidc_admin_group:
  8889          $ref: '#/definitions/StringConfigItem'
  8890          description: The OIDC group which has the harbor admin privileges
  8891        oidc_group_filter:
  8892          $ref: '#/definitions/StringConfigItem'
  8893          description: The OIDC group filter which filters out the group doesn't match the regular expression
  8894        oidc_scope:
  8895          $ref: '#/definitions/StringConfigItem'
  8896          description: The scope of the OIDC provider
  8897        oidc_user_claim:
  8898          $ref: '#/definitions/StringConfigItem'
  8899          description: The attribute claims the username
  8900        oidc_verify_cert:
  8901          $ref: '#/definitions/BoolConfigItem'
  8902          description: Verify the OIDC provider's certificate'
  8903        oidc_auto_onboard:
  8904          $ref: '#/definitions/BoolConfigItem'
  8905          description: Auto onboard the OIDC user
  8906        oidc_extra_redirect_parms:
  8907          $ref: '#/definitions/StringConfigItem'
  8908          description: Extra parameters to add when redirect request to OIDC provider
  8909        robot_token_duration:
  8910          $ref: '#/definitions/IntegerConfigItem'
  8911          description: The robot account token duration in days
  8912        robot_name_prefix:
  8913          $ref: '#/definitions/StringConfigItem'
  8914          description: The rebot account name prefix
  8915        notification_enable:
  8916          $ref: '#/definitions/BoolConfigItem'
  8917          description: Enable notification
  8918        quota_per_project_enable:
  8919          $ref: '#/definitions/BoolConfigItem'
  8920          description: Enable quota per project
  8921        storage_per_project:
  8922          $ref: '#/definitions/IntegerConfigItem'
  8923          description: The storage quota per project
  8924        audit_log_forward_endpoint:
  8925          $ref: '#/definitions/StringConfigItem'
  8926          description: The endpoint of the audit log forwarder
  8927        skip_audit_log_database:
  8928          $ref: '#/definitions/BoolConfigItem'
  8929          description: Whether skip the audit log in database
  8930        scanner_skip_update_pulltime:
  8931          $ref: '#/definitions/BoolConfigItem'
  8932          description: Whether or not to skip update the pull time for scanner
  8933        scan_all_policy:
  8934          type: object
  8935          properties:
  8936            type:
  8937              type: string
  8938              description: 'The type of scan all policy, currently the valid values are "none" and "daily"'
  8939            parameter:
  8940              type: object
  8941              properties:
  8942                daily_time:
  8943                  type: integer
  8944                  description: 'The offset in seconds of UTC 0 o''clock, only valid when the policy type is "daily"'
  8945              description: 'The parameters of the policy, the values are dependent on the type of the policy.'
  8946        session_timeout:
  8947          $ref: '#/definitions/IntegerConfigItem'
  8948          description: The session timeout in minutes
  8949        banner_message:
  8950          $ref: '#/definitions/StringConfigItem'
  8951          description: The banner message for the UI.It is the stringified result of the banner message object
  8952    Configurations:
  8953      type: object
  8954      properties:
  8955        auth_mode:
  8956          type: string
  8957          description: The auth mode of current system, such as "db_auth", "ldap_auth", "oidc_auth"
  8958          x-omitempty: true
  8959          x-isnullable: true
  8960        primary_auth_mode:
  8961          type: boolean
  8962          x-nullable: true
  8963          x-omitempty: true
  8964          description: The flag to indicate whether the current auth mode should consider as a primary one.
  8965        ldap_base_dn:
  8966          type: string
  8967          description: The Base DN for LDAP binding.
  8968          x-omitempty: true
  8969          x-isnullable: true
  8970        ldap_filter:
  8971          type: string
  8972          description: The filter for LDAP search
  8973          x-omitempty: true
  8974          x-isnullable: true
  8975        ldap_group_base_dn:
  8976          type: string
  8977          description: The base DN to search LDAP group.
  8978          x-omitempty: true
  8979          x-isnullable: true
  8980        ldap_group_admin_dn:
  8981          type: string
  8982          description: Specify the ldap group which have the same privilege with Harbor admin
  8983          x-omitempty: true
  8984          x-isnullable: true
  8985        ldap_group_attribute_name:
  8986          type: string
  8987          description: The attribute which is used as identity of the LDAP group, default is cn.'
  8988          x-omitempty: true
  8989          x-isnullable: true
  8990        ldap_group_search_filter:
  8991          type: string
  8992          description: The filter to search the ldap group
  8993          x-omitempty: true
  8994          x-isnullable: true
  8995        ldap_group_search_scope:
  8996          type: integer
  8997          description: The scope to search ldap group. ''0-LDAP_SCOPE_BASE, 1-LDAP_SCOPE_ONELEVEL, 2-LDAP_SCOPE_SUBTREE''
  8998          x-omitempty: true
  8999          x-isnullable: true
  9000        ldap_scope:
  9001          type: integer
  9002          description: The scope to search ldap users,'0-LDAP_SCOPE_BASE, 1-LDAP_SCOPE_ONELEVEL, 2-LDAP_SCOPE_SUBTREE'
  9003          x-omitempty: true
  9004          x-isnullable: true
  9005        ldap_search_dn:
  9006          type: string
  9007          description: The DN of the user to do the search.
  9008          x-omitempty: true
  9009          x-isnullable: true
  9010        ldap_search_password:
  9011          type: string
  9012          description: The password of the ldap search dn
  9013          x-omitempty: true
  9014          x-isnullable: true
  9015        ldap_timeout:
  9016          type: integer
  9017          description: Timeout in seconds for connection to LDAP server
  9018          x-omitempty: true
  9019          x-isnullable: true
  9020        ldap_uid:
  9021          type: string
  9022          description: The attribute which is used as identity for the LDAP binding, such as "CN" or "SAMAccountname"
  9023          x-omitempty: true
  9024          x-isnullable: true
  9025        ldap_url:
  9026          type: string
  9027          description: The URL of LDAP server
  9028          x-omitempty: true
  9029          x-isnullable: true
  9030        ldap_verify_cert:
  9031          type: boolean
  9032          description: Whether verify your OIDC server certificate, disable it if your OIDC server is hosted via self-hosted certificate.
  9033          x-omitempty: true
  9034          x-isnullable: true
  9035        ldap_group_membership_attribute:
  9036          type: string
  9037          description: The user attribute to identify the group membership
  9038          x-omitempty: true
  9039          x-isnullable: true
  9040        project_creation_restriction:
  9041          type: string
  9042          description: Indicate who can create projects, it could be ''adminonly'' or ''everyone''.
  9043          x-omitempty: true
  9044          x-isnullable: true
  9045        read_only:
  9046          type: boolean
  9047          description: The flag to indicate whether Harbor is in readonly mode.
  9048          x-omitempty: true
  9049          x-isnullable: true
  9050        self_registration:
  9051          type: boolean
  9052          description: Whether the Harbor instance supports self-registration.  If it''s set to false, admin need to add user to the instance.
  9053          x-omitempty: true
  9054          x-isnullable: true
  9055        token_expiration:
  9056          type: integer
  9057          description: The expiration time of the token for internal Registry, in minutes.
  9058          x-omitempty: true
  9059          x-isnullable: true
  9060        uaa_client_id:
  9061          type: string
  9062          description: The client id of UAA
  9063          x-omitempty: true
  9064          x-isnullable: true
  9065        uaa_client_secret:
  9066          type: string
  9067          description: The client secret of the UAA
  9068          x-omitempty: true
  9069          x-isnullable: true
  9070        uaa_endpoint:
  9071          type: string
  9072          description: The endpoint of the UAA
  9073          x-omitempty: true
  9074          x-isnullable: true
  9075        uaa_verify_cert:
  9076          type: boolean
  9077          description: Verify the certificate in UAA server
  9078          x-omitempty: true
  9079          x-isnullable: true
  9080        http_authproxy_endpoint:
  9081          type: string
  9082          description: The endpoint of the HTTP auth
  9083          x-omitempty: true
  9084          x-isnullable: true
  9085        http_authproxy_tokenreview_endpoint:
  9086          type: string
  9087          description: The token review endpoint
  9088          x-omitempty: true
  9089          x-isnullable: true
  9090        http_authproxy_admin_groups:
  9091          type: string
  9092          description: The group which has the harbor admin privileges
  9093          x-omitempty: true
  9094          x-isnullable: true
  9095        http_authproxy_admin_usernames:
  9096          type: string
  9097          description: The username which has the harbor admin privileges
  9098          x-omitempty: true
  9099          x-isnullable: true
  9100        http_authproxy_verify_cert:
  9101          type: boolean
  9102          description: Verify the HTTP auth provider's certificate
  9103          x-omitempty: true
  9104          x-isnullable: true
  9105        http_authproxy_skip_search:
  9106          type: boolean
  9107          description: Search user before onboard
  9108          x-omitempty: true
  9109          x-isnullable: true
  9110        http_authproxy_server_certificate:
  9111          type: string
  9112          description: The certificate of the HTTP auth provider
  9113          x-omitempty: true
  9114          x-isnullable: true
  9115        oidc_name:
  9116          type: string
  9117          description: The OIDC provider name
  9118          x-omitempty: true
  9119          x-isnullable: true
  9120        oidc_endpoint:
  9121          type: string
  9122          description: The endpoint of the OIDC provider
  9123          x-omitempty: true
  9124          x-isnullable: true
  9125        oidc_client_id:
  9126          type: string
  9127          description: The client ID of the OIDC provider
  9128          x-omitempty: true
  9129          x-isnullable: true
  9130        oidc_client_secret:
  9131          type: string
  9132          description: The OIDC provider secret
  9133          x-omitempty: true
  9134          x-isnullable: true
  9135        oidc_groups_claim:
  9136          type: string
  9137          description: The attribute claims the group name
  9138          x-omitempty: true
  9139          x-isnullable: true
  9140        oidc_admin_group:
  9141          type: string
  9142          description: The OIDC group which has the harbor admin privileges
  9143          x-omitempty: true
  9144          x-isnullable: true
  9145        oidc_group_filter:
  9146          type: string
  9147          description: The OIDC group filter which filters out the group name doesn't match the regular expression
  9148          x-omitempty: true
  9149          x-isnullable: true
  9150        oidc_scope:
  9151          type: string
  9152          description: The scope of the OIDC provider
  9153          x-omitempty: true
  9154          x-isnullable: true
  9155        oidc_user_claim:
  9156          type: string
  9157          description: The attribute claims the username
  9158          x-omitempty: true
  9159          x-isnullable: true
  9160        oidc_verify_cert:
  9161          type: boolean
  9162          description: Verify the OIDC provider's certificate'
  9163          x-omitempty: true
  9164          x-isnullable: true
  9165        oidc_auto_onboard:
  9166          type: boolean
  9167          description: Auto onboard the OIDC user
  9168          x-omitempty: true
  9169          x-isnullable: true
  9170        oidc_extra_redirect_parms:
  9171          type: string
  9172          description: Extra parameters to add when redirect request to OIDC provider
  9173          x-omitempty: true
  9174          x-isnullable: true
  9175        robot_token_duration:
  9176          type: integer
  9177          description: The robot account token duration in days
  9178          x-omitempty: true
  9179          x-isnullable: true
  9180        robot_name_prefix:
  9181          type: string
  9182          description: The rebot account name prefix
  9183          x-omitempty: true
  9184          x-isnullable: true
  9185        notification_enable:
  9186          type: boolean
  9187          description: Enable notification
  9188          x-omitempty: true
  9189          x-isnullable: true
  9190        quota_per_project_enable:
  9191          type: boolean
  9192          description: Enable quota per project
  9193          x-omitempty: true
  9194          x-isnullable: true
  9195        storage_per_project:
  9196          type: integer
  9197          description: The storage quota per project
  9198          x-omitempty: true
  9199          x-isnullable: true
  9200        audit_log_forward_endpoint:
  9201          type: string
  9202          description: The audit log forward endpoint
  9203          x-omitempty: true
  9204          x-isnullable: true
  9205        skip_audit_log_database:
  9206          type: boolean
  9207          description: Skip audit log database
  9208          x-omitempty: true
  9209          x-isnullable: true
  9210        session_timeout:
  9211          type: integer
  9212          description: The session timeout for harbor, in minutes.
  9213          x-omitempty: true
  9214          x-isnullable: true
  9215        scanner_skip_update_pulltime:
  9216          type: boolean
  9217          description: Whether or not to skip update pull time for scanner
  9218          x-omitempty: true
  9219          x-isnullable: true
  9220        banner_message:
  9221          type: string
  9222          description: The banner message for the UI.It is the stringified result of the banner message object
  9223          x-omitempty: true
  9224          x-isnullable: true
  9225    StringConfigItem:
  9226      type: object
  9227      properties:
  9228        value:
  9229          type: string
  9230          x-omitempty: false
  9231          description: The string value of current config item
  9232        editable:
  9233          type: boolean
  9234          x-omitempty: false
  9235          description: The configure item can be updated or not
  9236    BoolConfigItem:
  9237      type: object
  9238      properties:
  9239        value:
  9240          type: boolean
  9241          x-omitempty: false
  9242          description: The boolean value of current config item
  9243        editable:
  9244          type: boolean
  9245          x-omitempty: false
  9246          description: The configure item can be updated or not
  9247    IntegerConfigItem:
  9248      type: object
  9249      properties:
  9250        value:
  9251          type: integer
  9252          x-omitempty: false
  9253          description: The integer value of current config item
  9254        editable:
  9255          type: boolean
  9256          x-omitempty: false
  9257          description: The configure item can be updated or not
  9258    ProjectMemberEntity:
  9259      type: object
  9260      properties:
  9261        id:
  9262          type: integer
  9263          description: the project member id
  9264        project_id:
  9265          type: integer
  9266          description: the project id
  9267        entity_name:
  9268          type: string
  9269          description: the name of the group member.
  9270        role_name:
  9271          type: string
  9272          description: the name of the role
  9273        role_id:
  9274          type: integer
  9275          description: the role id
  9276        entity_id:
  9277          type: integer
  9278          description: 'the id of entity, if the member is a user, it is user_id in user table. if the member is a user group, it is the user group''s ID in user_group table.'
  9279        entity_type:
  9280          type: string
  9281          description: 'the entity''s type, u for user entity, g for group entity.'
  9282    ProjectMember:
  9283      type: object
  9284      properties:
  9285        role_id:
  9286          type: integer
  9287          description: 'The role id 1 for projectAdmin, 2 for developer, 3 for guest, 4 for maintainer'
  9288        member_user:
  9289          $ref: '#/definitions/UserEntity'
  9290        member_group:
  9291          $ref: '#/definitions/UserGroup'
  9292    RoleRequest:
  9293      type: object
  9294      properties:
  9295        role_id:
  9296          type: integer
  9297          description: 'The role id 1 for projectAdmin, 2 for developer, 3 for guest, 4 for maintainer'
  9298    UserEntity:
  9299      type: object
  9300      properties:
  9301        user_id:
  9302          type: integer
  9303          description: The ID of the user.
  9304        username:
  9305          type: string
  9306          description: The name of the user.
  9307    UserProfile:
  9308      type: object
  9309      properties:
  9310        email:
  9311          type: string
  9312        realname:
  9313          type: string
  9314        comment:
  9315          type: string
  9316    UserCreationReq:
  9317      type: object
  9318      properties:
  9319        email:
  9320          type: string
  9321          maxLength: 255
  9322        realname:
  9323          type: string
  9324        comment:
  9325          type: string
  9326        password:
  9327          type: string
  9328        username:
  9329          type: string
  9330          maxLength: 255
  9331    OIDCUserInfo:
  9332      type: object
  9333      properties:
  9334        id:
  9335          type: integer
  9336          format: int
  9337          description: the ID of the OIDC info record
  9338        user_id:
  9339          type: integer
  9340          format: int
  9341          description: the ID of the user
  9342        subiss:
  9343          type: string
  9344          description: the concatenation of sub and issuer in the ID token
  9345        secret:
  9346          type: string
  9347          description: the secret of the OIDC user that can be used for CLI to push/pull artifacts
  9348        creation_time:
  9349          type: string
  9350          format: date-time
  9351          description: The creation time of the OIDC user info record.
  9352        update_time:
  9353          type: string
  9354          format: date-time
  9355          description: The update time of the OIDC user info record.
  9356    UserResp:
  9357      type: object
  9358      properties:
  9359        email:
  9360          type: string
  9361        realname:
  9362          type: string
  9363        comment:
  9364          type: string
  9365        user_id:
  9366          type: integer
  9367          format: int
  9368        username:
  9369          type: string
  9370        sysadmin_flag:
  9371          type: boolean
  9372          x-omitempty: false
  9373        admin_role_in_auth:
  9374          type: boolean
  9375          x-omitempty: false
  9376          description: indicate the admin privilege is grant by authenticator (LDAP), is always false unless it is the current login user
  9377        oidc_user_meta:
  9378          $ref: '#/definitions/OIDCUserInfo'
  9379        creation_time:
  9380          type: string
  9381          format: date-time
  9382          description: The creation time of the user.
  9383        update_time:
  9384          type: string
  9385          format: date-time
  9386          description: The update time of the user.
  9387    UserSysAdminFlag:
  9388      type: object
  9389      properties:
  9390        sysadmin_flag:
  9391          type: boolean
  9392          description: 'true-admin, false-not admin.'
  9393    UserSearch:
  9394      type: object
  9395      properties:
  9396        user_id:
  9397          type: integer
  9398          format: int
  9399          description: The ID of the user.
  9400        username:
  9401          type: string
  9402    PasswordReq:
  9403      type: object
  9404      properties:
  9405        old_password:
  9406          type: string
  9407          description: The user's existing password.
  9408        new_password:
  9409          type: string
  9410          description: New password for marking as to be updated.
  9411    UserSearchRespItem:
  9412      type: object
  9413      properties:
  9414        user_id:
  9415          type: integer
  9416          format: int
  9417          description: The ID of the user.
  9418        username:
  9419          type: string
  9420    Permission:
  9421      type: object
  9422      properties:
  9423        resource:
  9424          type: string
  9425          description: The permission resoruce
  9426        action:
  9427          type: string
  9428          description: The permission action
  9429    Permissions:
  9430      type: object
  9431      properties:
  9432        system:
  9433          type: array
  9434          description: The system level permissions
  9435          items:
  9436            $ref: '#/definitions/Permission'
  9437        project:
  9438          type: array
  9439          description: The project level permissions
  9440          items:
  9441            $ref: '#/definitions/Permission'
  9442    OIDCCliSecretReq:
  9443      type: object
  9444      properties:
  9445        secret:
  9446          type: string
  9447          description: The new secret
  9448    OverallHealthStatus:
  9449      type: object
  9450      description: The system health status
  9451      properties:
  9452        status:
  9453          type: string
  9454          description: The overall health status. It is "healthy" only when all the components' status are "healthy"
  9455        components:
  9456          type: array
  9457          items:
  9458            $ref: '#/definitions/ComponentHealthStatus'
  9459    ComponentHealthStatus:
  9460      type: object
  9461      description: The health status of component
  9462      properties:
  9463        name:
  9464          type: string
  9465          description: The component name
  9466        status:
  9467          type: string
  9468          description: The health status of component. Is either "healthy" or "unhealthy".
  9469        error:
  9470          type: string
  9471          description: (optional) The error message when the status is "unhealthy"
  9472    Statistic:
  9473      type: object
  9474      properties:
  9475        private_project_count:
  9476          type: integer
  9477          format: int64
  9478          description: The count of the private projects
  9479          x-omitempty: false
  9480        private_repo_count:
  9481          type: integer
  9482          format: int64
  9483          description: The count of the private repositories
  9484          x-omitempty: false
  9485        public_project_count:
  9486          type: integer
  9487          format: int64
  9488          description: The count of the public projects
  9489          x-omitempty: false
  9490        public_repo_count:
  9491          type: integer
  9492          format: int64
  9493          description: The count of the public repositories
  9494          x-omitempty: false
  9495        total_project_count:
  9496          type: integer
  9497          format: int64
  9498          description: The count of the total projects, only be seen by the system admin
  9499          x-omitempty: false
  9500        total_repo_count:
  9501          type: integer
  9502          format: int64
  9503          description: The count of the total repositories, only be seen by the system admin
  9504          x-omitempty: false
  9505        total_storage_consumption:
  9506          type: integer
  9507          format: int64
  9508          description: The total storage consumption of blobs, only be seen by the system admin
  9509          x-omitempty: false
  9510    Accessory:
  9511      type: object
  9512      description: 'The accessory of the artifact'
  9513      properties:
  9514        id:
  9515          type: integer
  9516          format: int64
  9517          description: The ID of the accessory
  9518        artifact_id:
  9519          type: integer
  9520          format: int64
  9521          description: The artifact id of the accessory
  9522          x-omitempty: false
  9523        subject_artifact_id:
  9524          type: integer
  9525          format: int64
  9526          description: Going to be deprecated, use repo and digest for insteand. The subject artifact id of the accessory.
  9527        subject_artifact_digest:
  9528          type: string
  9529          description: The subject artifact digest of the accessory
  9530          x-omitempty: false
  9531        subject_artifact_repo:
  9532          type: string
  9533          description: The subject artifact repository name of the accessory
  9534          x-omitempty: false
  9535        size:
  9536          type: integer
  9537          format: int64
  9538          description: The artifact size of the accessory
  9539          x-omitempty: false
  9540        digest:
  9541          type: string
  9542          description: The artifact digest of the accessory
  9543          x-omitempty: false
  9544        type:
  9545          type: string
  9546          description: The artifact size of the accessory
  9547          x-omitempty: false
  9548        icon:
  9549          type: string
  9550          description: The icon of the accessory
  9551          x-omitempty: false
  9552        creation_time:
  9553          type: string
  9554          format: date-time
  9555          description: The creation time of the accessory
  9556  
  9557    ScanDataExportRequest:
  9558      type: object
  9559      description: The criteria to select the scan data to export.
  9560      properties:
  9561        job_name:
  9562          type: string
  9563          description: Name of the scan data export job
  9564        projects:
  9565          type: array
  9566          items:
  9567            type: integer
  9568            format: int64
  9569          description: A list of one or more projects for which to export the scan data, currently only one project is supported due to performance concerns, but define as array for extension in the future.
  9570        labels:
  9571          type: array
  9572          items:
  9573            type: integer
  9574            format: int64
  9575          description: A list of one or more labels for which to export the scan data, defaults to all if empty
  9576        repositories:
  9577          type: string
  9578          description: A list of repositories for which to export the scan data, defaults to all if empty
  9579        cveIds:
  9580          type: string
  9581          description: CVE-IDs for which to export data. Multiple CVE-IDs can be specified by separating using ',' and enclosed between '{}'. Defaults to all if empty
  9582        tags:
  9583          type: string
  9584          description: A list of tags enclosed within '{}'. Defaults to all if empty
  9585    ScanDataExportJob:
  9586      type: object
  9587      description: The metadata associated with the scan data export job
  9588      properties:
  9589        id:
  9590          type: integer
  9591          format: int64
  9592          description: The id of the scan data export job
  9593    ScanDataExportExecution:
  9594      type: object
  9595      description: The replication execution
  9596      properties:
  9597        id:
  9598          type: integer
  9599          description: The ID of the execution
  9600        user_id:
  9601          type: integer
  9602          description: The ID if the user triggering the export job
  9603        status:
  9604          type: string
  9605          description: The status of the execution
  9606        trigger:
  9607          type: string
  9608          description: The trigger mode
  9609        start_time:
  9610          type: string
  9611          format: date-time
  9612          description: The start time
  9613        end_time:
  9614          type: string
  9615          format: date-time
  9616          description: The end time
  9617        status_text:
  9618          type: string
  9619          x-omitempty: false
  9620          description: The status text
  9621        user_name:
  9622          type: string
  9623          x-omitempty: false
  9624          description: The name of the user triggering the job
  9625        file_present:
  9626          type: boolean
  9627          x-omitempty: false
  9628          description: Indicates whether the export artifact is present in registry
  9629    ScanDataExportExecutionList:
  9630      type: object
  9631      description: The list of scan data export executions
  9632      properties:
  9633        items:
  9634          type: array
  9635          items:
  9636            $ref: '#/definitions/ScanDataExportExecution'
  9637          description: The list of scan data export executions
  9638  
  9639    WorkerPool:
  9640      type: object
  9641      description: the worker pool of job service
  9642      properties:
  9643        pid:
  9644          type: integer
  9645          description: the process id of jobservice
  9646        worker_pool_id:
  9647          type: string
  9648          description: the id of the worker pool
  9649        start_at:
  9650          type: string
  9651          format: date-time
  9652          description: The start time of the work pool
  9653        heartbeat_at:
  9654          type: string
  9655          format: date-time
  9656          description: The heartbeat time of the work pool
  9657        concurrency:
  9658          type: integer
  9659          description: The concurrency of the work pool
  9660        host:
  9661          type: string
  9662          description: The host of the work pool
  9663    Worker:
  9664      type: object
  9665      description: worker in the pool
  9666      properties:
  9667        id:
  9668          type: string
  9669          description: the id of the worker
  9670        pool_id:
  9671          type: string
  9672          description: the id of the worker pool
  9673        job_name:
  9674          type: string
  9675          description: the name of the running job in the worker
  9676        job_id:
  9677          type: string
  9678          description: the id of the running job in the worker
  9679        start_at:
  9680          type: string
  9681          format: date-time
  9682          description: The start time of the worker
  9683          x-nullable: true
  9684          x-omitempty: true
  9685        check_in:
  9686          type: string
  9687          description: the checkin of the running job in the worker
  9688        checkin_at:
  9689          type: string
  9690          format: date-time
  9691          description: The checkin time of the worker
  9692          x-nullable: true
  9693          x-omitempty: true
  9694    ActionRequest:
  9695      type: object
  9696      description: The request to stop, pause or resume
  9697      properties:
  9698        action:
  9699          type: string
  9700          description: The action of the request, should be stop, pause or resume
  9701          enum:
  9702            - stop
  9703            - pause
  9704            - resume
  9705    JobQueue:
  9706      type: object
  9707      description: the job queue info
  9708      properties:
  9709        job_type:
  9710          type: string
  9711          description: The type of the job queue
  9712        count:
  9713          type: integer
  9714          description: The count of jobs in the job queue
  9715        latency:
  9716          type: integer
  9717          description: The latency the job queue (seconds)
  9718        paused:
  9719          type: boolean
  9720          description: The paused status of the job queue
  9721          x-omitempty: false
  9722    ScheduleTask:
  9723      type: object
  9724      description: the schedule task info
  9725      properties:
  9726        id:
  9727          type: integer
  9728          description: the id of the Schedule task
  9729        vendor_type:
  9730          type: string
  9731          description: the vendor type of the current schedule task
  9732        vendor_id:
  9733          type: integer
  9734          description: the vendor id of the current task
  9735        cron:
  9736          type: string
  9737          description: the cron of the current schedule task
  9738        update_time:
  9739          type: string
  9740          format: date-time
  9741          description: the update time of the schedule task
  9742    SchedulerStatus:
  9743      type: object
  9744      description: the scheduler status
  9745      properties:
  9746        paused:
  9747          type: boolean
  9748          description: if the scheduler is paused
  9749          x-omitempty: false
  9750    SecuritySummary:
  9751      type: object
  9752      description: the security summary
  9753      properties:
  9754        critical_cnt:
  9755          type: integer
  9756          format: int64
  9757          x-omitempty: false
  9758          description: the count of critical vulnerabilities
  9759        high_cnt:
  9760          type: integer
  9761          format: int64
  9762          description: the count of high vulnerabilities
  9763        medium_cnt:
  9764          type: integer
  9765          format: int64
  9766          x-omitempty: false
  9767          description: the count of medium vulnerabilities
  9768        low_cnt:
  9769          type: integer
  9770          format: int64
  9771          x-omitempty: false
  9772          description: the count of low vulnerabilities
  9773        none_cnt:
  9774          type: integer
  9775          format: int64
  9776          description: the count of none vulnerabilities
  9777        unknown_cnt:
  9778          type: integer
  9779          format: int64
  9780          description: the count of unknown vulnerabilities
  9781        total_vuls:
  9782          type: integer
  9783          format: int64
  9784          x-omitempty: false
  9785          description: the count of total vulnerabilities
  9786        scanned_cnt:
  9787          type: integer
  9788          format: int64
  9789          x-omitempty: false
  9790          description: the count of scanned artifacts
  9791        total_artifact:
  9792          type: integer
  9793          format: int64
  9794          x-omitempty: false
  9795          description: the total count of artifacts
  9796        fixable_cnt:
  9797          type: integer
  9798          format: int64
  9799          x-omitempty: false
  9800          description: the count of fixable vulnerabilities
  9801        dangerous_cves:
  9802          type: array
  9803          x-omitempty: true
  9804          description: the list of dangerous CVEs
  9805          items:
  9806            $ref: '#/definitions/DangerousCVE'
  9807        dangerous_artifacts:
  9808          type: array
  9809          x-omitempty: true
  9810          description: the list of dangerous artifacts
  9811          items:
  9812            $ref: '#/definitions/DangerousArtifact'
  9813    DangerousCVE:
  9814      type: object
  9815      description: the dangerous CVE information
  9816      properties:
  9817        cve_id: 
  9818          type: string
  9819          description: the cve id
  9820        severity:
  9821          type: string
  9822          description: the severity of the CVE        
  9823        cvss_score_v3:
  9824          type: number
  9825          format: float64
  9826          description: the cvss score v3
  9827        desc:
  9828          type: string
  9829          description: the description of the CVE
  9830        package:
  9831          type: string
  9832          description: the package of the CVE      
  9833        version:
  9834          type: string
  9835          description: the version of the package
  9836    DangerousArtifact:
  9837      type: object
  9838      description: the dangerous artifact information
  9839      properties:
  9840        project_id: 
  9841          type: integer
  9842          format: int64
  9843          description: the project id of the artifact
  9844        repository_name:
  9845          type: string
  9846          description: the repository name of the artifact
  9847        digest: 
  9848          type: string
  9849          description: the digest of the artifact
  9850        critical_cnt:
  9851          type: integer
  9852          x-omitempty: false
  9853          description: the count of critical vulnerabilities
  9854        high_cnt:
  9855          type: integer
  9856          format: int64
  9857          x-omitempty: false
  9858          description: the count of high vulnerabilities
  9859        medium_cnt:
  9860          type: integer
  9861          x-omitempty: false
  9862          description: the count of medium vulnerabilities
  9863  
  9864    VulnerabilityItem:
  9865      type: object
  9866      description: the vulnerability item info
  9867      properties:
  9868        project_id:
  9869          type: integer
  9870          format: int64
  9871          description: the project ID of the artifact
  9872        repository_name:
  9873          type: string
  9874          description: the repository name of the artifact
  9875        digest:
  9876          type: string
  9877          description: the digest of the artifact
  9878        tags:
  9879          type: array
  9880          items:
  9881            type: string
  9882          description: the tags of the artifact
  9883        cve_id:
  9884          type: string
  9885          description: the CVE id of the vulnerability.
  9886        severity:
  9887          type: string
  9888          description: the severity of the vulnerability
  9889        cvss_v3_score:
  9890          type: number
  9891          format: float
  9892          description: the nvd cvss v3 score of the vulnerability
  9893        package:
  9894          type: string
  9895          description: the package of the vulnerability
  9896        version:
  9897          type: string
  9898          description: the version of the package
  9899        fixed_version:
  9900          type: string
  9901          description: the fixed version of the package
  9902        desc:
  9903          type: string
  9904          description: The description of the vulnerability
  9905        links:
  9906          type: array
  9907          items: 
  9908            type: string
  9909          description: Links of the vulnerability