github.com/treeverse/lakefs@v1.24.1-0.20240520134607-95648127bfb0/clients/java-legacy/api/openapi.yaml (about)

     1  openapi: 3.0.0
     2  info:
     3    description: lakeFS HTTP API
     4    license:
     5      name: Apache 2.0
     6      url: https://www.apache.org/licenses/LICENSE-2.0.html
     7    title: lakeFS API
     8    version: 1.0.0
     9  servers:
    10  - description: lakeFS server endpoint
    11    url: /api/v1
    12  security:
    13  - jwt_token: []
    14  - basic_auth: []
    15  - cookie_auth: []
    16  - oidc_auth: []
    17  - saml_auth: []
    18  paths:
    19    /setup_comm_prefs:
    20      post:
    21        operationId: setupCommPrefs
    22        requestBody:
    23          content:
    24            application/json:
    25              schema:
    26                $ref: '#/components/schemas/CommPrefsInput'
    27          required: true
    28        responses:
    29          "200":
    30            description: communication preferences saved successfully
    31          "409":
    32            content:
    33              application/json:
    34                schema:
    35                  $ref: '#/components/schemas/Error'
    36            description: setup was already completed
    37          "412":
    38            content:
    39              application/json:
    40                schema:
    41                  $ref: '#/components/schemas/Error'
    42            description: wrong setup state for this operation
    43          "420":
    44            description: too many requests
    45          default:
    46            content:
    47              application/json:
    48                schema:
    49                  $ref: '#/components/schemas/Error'
    50            description: Internal Server Error
    51        security: []
    52        summary: setup communications preferences
    53        tags:
    54        - internal
    55        x-contentType: application/json
    56        x-accepts: application/json
    57    /setup_lakefs:
    58      get:
    59        operationId: getSetupState
    60        responses:
    61          "200":
    62            content:
    63              application/json:
    64                schema:
    65                  $ref: '#/components/schemas/SetupState'
    66            description: lakeFS setup state
    67          "420":
    68            description: too many requests
    69          default:
    70            content:
    71              application/json:
    72                schema:
    73                  $ref: '#/components/schemas/Error'
    74            description: Internal Server Error
    75        security: []
    76        summary: check if the lakeFS installation is already set up
    77        tags:
    78        - internal
    79        x-accepts: application/json
    80      post:
    81        operationId: setup
    82        requestBody:
    83          content:
    84            application/json:
    85              schema:
    86                $ref: '#/components/schemas/Setup'
    87          required: true
    88        responses:
    89          "200":
    90            content:
    91              application/json:
    92                schema:
    93                  $ref: '#/components/schemas/CredentialsWithSecret'
    94            description: user created successfully
    95          "400":
    96            content:
    97              application/json:
    98                schema:
    99                  $ref: '#/components/schemas/Error'
   100            description: Bad Request
   101          "409":
   102            content:
   103              application/json:
   104                schema:
   105                  $ref: '#/components/schemas/Error'
   106            description: setup was already called
   107          "420":
   108            description: too many requests
   109          default:
   110            content:
   111              application/json:
   112                schema:
   113                  $ref: '#/components/schemas/Error'
   114            description: Internal Server Error
   115        security: []
   116        summary: setup lakeFS and create a first user
   117        tags:
   118        - internal
   119        x-contentType: application/json
   120        x-accepts: application/json
   121    /user:
   122      get:
   123        operationId: getCurrentUser
   124        responses:
   125          "200":
   126            content:
   127              application/json:
   128                schema:
   129                  $ref: '#/components/schemas/CurrentUser'
   130            description: user
   131        summary: get current user
   132        tags:
   133        - auth
   134        x-accepts: application/json
   135    /auth/login:
   136      post:
   137        operationId: login
   138        requestBody:
   139          content:
   140            application/json:
   141              schema:
   142                $ref: '#/components/schemas/LoginInformation'
   143        responses:
   144          "200":
   145            content:
   146              application/json:
   147                schema:
   148                  $ref: '#/components/schemas/AuthenticationToken'
   149            description: successful login
   150            headers:
   151              Set-Cookie:
   152                explode: false
   153                schema:
   154                  example: access_token=abcde12356; Path=/; HttpOnly
   155                  type: string
   156                style: simple
   157          "401":
   158            content:
   159              application/json:
   160                schema:
   161                  $ref: '#/components/schemas/Error'
   162            description: Unauthorized
   163          "420":
   164            description: too many requests
   165          default:
   166            content:
   167              application/json:
   168                schema:
   169                  $ref: '#/components/schemas/Error'
   170            description: Internal Server Error
   171        security: []
   172        summary: perform a login
   173        tags:
   174        - auth
   175        x-contentType: application/json
   176        x-accepts: application/json
   177    /auth/external/principal/login:
   178      post:
   179        operationId: externalPrincipalLogin
   180        requestBody:
   181          content:
   182            application/json:
   183              schema:
   184                $ref: '#/components/schemas/ExternalLoginInformation'
   185        responses:
   186          "200":
   187            content:
   188              application/json:
   189                schema:
   190                  $ref: '#/components/schemas/AuthenticationToken'
   191            description: successful external login
   192          "400":
   193            content:
   194              application/json:
   195                schema:
   196                  $ref: '#/components/schemas/Error'
   197            description: Bad Request
   198          "401":
   199            content:
   200              application/json:
   201                schema:
   202                  $ref: '#/components/schemas/Error'
   203            description: Unauthorized
   204          "403":
   205            content:
   206              application/json:
   207                schema:
   208                  $ref: '#/components/schemas/Error'
   209            description: Forbidden
   210          "404":
   211            content:
   212              application/json:
   213                schema:
   214                  $ref: '#/components/schemas/Error'
   215            description: Resource Not Found
   216          "420":
   217            description: too many requests
   218          default:
   219            content:
   220              application/json:
   221                schema:
   222                  $ref: '#/components/schemas/Error'
   223            description: Internal Server Error
   224        security: []
   225        summary: perform a login using an external authenticator
   226        tags:
   227        - external
   228        - experimental
   229        - auth
   230        x-contentType: application/json
   231        x-accepts: application/json
   232    /sts/login:
   233      post:
   234        operationId: stsLogin
   235        requestBody:
   236          content:
   237            application/json:
   238              schema:
   239                $ref: '#/components/schemas/StsAuthRequest'
   240          required: true
   241        responses:
   242          "200":
   243            content:
   244              application/json:
   245                schema:
   246                  $ref: '#/components/schemas/AuthenticationToken'
   247            description: successful STS login
   248          "401":
   249            content:
   250              application/json:
   251                schema:
   252                  $ref: '#/components/schemas/Error'
   253            description: Unauthorized
   254          "420":
   255            description: too many requests
   256          default:
   257            content:
   258              application/json:
   259                schema:
   260                  $ref: '#/components/schemas/Error'
   261            description: Internal Server Error
   262        security: []
   263        summary: perform a login with STS
   264        tags:
   265        - experimental
   266        x-contentType: application/json
   267        x-accepts: application/json
   268    /auth/capabilities:
   269      get:
   270        operationId: getAuthCapabilities
   271        responses:
   272          "200":
   273            content:
   274              application/json:
   275                schema:
   276                  $ref: '#/components/schemas/AuthCapabilities'
   277            description: auth capabilities
   278          "420":
   279            description: too many requests
   280          default:
   281            content:
   282              application/json:
   283                schema:
   284                  $ref: '#/components/schemas/Error'
   285            description: Internal Server Error
   286        security: []
   287        summary: list authentication capabilities supported
   288        tags:
   289        - internal
   290        x-accepts: application/json
   291    /auth/users:
   292      get:
   293        operationId: listUsers
   294        parameters:
   295        - description: return items prefixed with this value
   296          explode: true
   297          in: query
   298          name: prefix
   299          required: false
   300          schema:
   301            type: string
   302          style: form
   303        - description: return items after this value
   304          explode: true
   305          in: query
   306          name: after
   307          required: false
   308          schema:
   309            type: string
   310          style: form
   311        - description: how many items to return
   312          explode: true
   313          in: query
   314          name: amount
   315          required: false
   316          schema:
   317            default: 100
   318            maximum: 1000
   319            minimum: -1
   320            type: integer
   321          style: form
   322        responses:
   323          "200":
   324            content:
   325              application/json:
   326                schema:
   327                  $ref: '#/components/schemas/UserList'
   328            description: user list
   329          "401":
   330            content:
   331              application/json:
   332                schema:
   333                  $ref: '#/components/schemas/Error'
   334            description: Unauthorized
   335          "420":
   336            description: too many requests
   337          default:
   338            content:
   339              application/json:
   340                schema:
   341                  $ref: '#/components/schemas/Error'
   342            description: Internal Server Error
   343        summary: list users
   344        tags:
   345        - auth
   346        x-accepts: application/json
   347      post:
   348        operationId: createUser
   349        requestBody:
   350          content:
   351            application/json:
   352              schema:
   353                $ref: '#/components/schemas/UserCreation'
   354        responses:
   355          "201":
   356            content:
   357              application/json:
   358                schema:
   359                  $ref: '#/components/schemas/User'
   360            description: user
   361          "400":
   362            content:
   363              application/json:
   364                schema:
   365                  $ref: '#/components/schemas/Error'
   366            description: validation error
   367          "401":
   368            content:
   369              application/json:
   370                schema:
   371                  $ref: '#/components/schemas/Error'
   372            description: Unauthorized
   373          "409":
   374            content:
   375              application/json:
   376                schema:
   377                  $ref: '#/components/schemas/Error'
   378            description: Resource Conflicts With Target
   379          "420":
   380            description: too many requests
   381          default:
   382            content:
   383              application/json:
   384                schema:
   385                  $ref: '#/components/schemas/Error'
   386            description: Internal Server Error
   387        summary: create user
   388        tags:
   389        - auth
   390        x-contentType: application/json
   391        x-accepts: application/json
   392    /auth/users/{userId}:
   393      delete:
   394        operationId: deleteUser
   395        parameters:
   396        - explode: false
   397          in: path
   398          name: userId
   399          required: true
   400          schema:
   401            type: string
   402          style: simple
   403        responses:
   404          "204":
   405            description: user deleted successfully
   406          "401":
   407            content:
   408              application/json:
   409                schema:
   410                  $ref: '#/components/schemas/Error'
   411            description: Unauthorized
   412          "404":
   413            content:
   414              application/json:
   415                schema:
   416                  $ref: '#/components/schemas/Error'
   417            description: Resource Not Found
   418          "420":
   419            description: too many requests
   420          default:
   421            content:
   422              application/json:
   423                schema:
   424                  $ref: '#/components/schemas/Error'
   425            description: Internal Server Error
   426        summary: delete user
   427        tags:
   428        - auth
   429        x-accepts: application/json
   430      get:
   431        operationId: getUser
   432        parameters:
   433        - explode: false
   434          in: path
   435          name: userId
   436          required: true
   437          schema:
   438            type: string
   439          style: simple
   440        responses:
   441          "200":
   442            content:
   443              application/json:
   444                schema:
   445                  $ref: '#/components/schemas/User'
   446            description: user
   447          "401":
   448            content:
   449              application/json:
   450                schema:
   451                  $ref: '#/components/schemas/Error'
   452            description: Unauthorized
   453          "404":
   454            content:
   455              application/json:
   456                schema:
   457                  $ref: '#/components/schemas/Error'
   458            description: Resource Not Found
   459          "420":
   460            description: too many requests
   461          default:
   462            content:
   463              application/json:
   464                schema:
   465                  $ref: '#/components/schemas/Error'
   466            description: Internal Server Error
   467        summary: get user
   468        tags:
   469        - auth
   470        x-accepts: application/json
   471    /auth/groups:
   472      get:
   473        operationId: listGroups
   474        parameters:
   475        - description: return items prefixed with this value
   476          explode: true
   477          in: query
   478          name: prefix
   479          required: false
   480          schema:
   481            type: string
   482          style: form
   483        - description: return items after this value
   484          explode: true
   485          in: query
   486          name: after
   487          required: false
   488          schema:
   489            type: string
   490          style: form
   491        - description: how many items to return
   492          explode: true
   493          in: query
   494          name: amount
   495          required: false
   496          schema:
   497            default: 100
   498            maximum: 1000
   499            minimum: -1
   500            type: integer
   501          style: form
   502        responses:
   503          "200":
   504            content:
   505              application/json:
   506                schema:
   507                  $ref: '#/components/schemas/GroupList'
   508            description: group list
   509          "401":
   510            content:
   511              application/json:
   512                schema:
   513                  $ref: '#/components/schemas/Error'
   514            description: Unauthorized
   515          "420":
   516            description: too many requests
   517          default:
   518            content:
   519              application/json:
   520                schema:
   521                  $ref: '#/components/schemas/Error'
   522            description: Internal Server Error
   523        summary: list groups
   524        tags:
   525        - auth
   526        x-accepts: application/json
   527      post:
   528        operationId: createGroup
   529        requestBody:
   530          content:
   531            application/json:
   532              schema:
   533                $ref: '#/components/schemas/GroupCreation'
   534        responses:
   535          "201":
   536            content:
   537              application/json:
   538                schema:
   539                  $ref: '#/components/schemas/Group'
   540            description: group
   541          "401":
   542            content:
   543              application/json:
   544                schema:
   545                  $ref: '#/components/schemas/Error'
   546            description: Unauthorized
   547          "404":
   548            content:
   549              application/json:
   550                schema:
   551                  $ref: '#/components/schemas/Error'
   552            description: Resource Not Found
   553          "420":
   554            description: too many requests
   555          default:
   556            content:
   557              application/json:
   558                schema:
   559                  $ref: '#/components/schemas/Error'
   560            description: Internal Server Error
   561        summary: create group
   562        tags:
   563        - auth
   564        x-contentType: application/json
   565        x-accepts: application/json
   566    /auth/groups/{groupId}:
   567      delete:
   568        operationId: deleteGroup
   569        parameters:
   570        - explode: false
   571          in: path
   572          name: groupId
   573          required: true
   574          schema:
   575            type: string
   576          style: simple
   577        responses:
   578          "204":
   579            description: group deleted successfully
   580          "401":
   581            content:
   582              application/json:
   583                schema:
   584                  $ref: '#/components/schemas/Error'
   585            description: Unauthorized
   586          "404":
   587            content:
   588              application/json:
   589                schema:
   590                  $ref: '#/components/schemas/Error'
   591            description: Resource Not Found
   592          "420":
   593            description: too many requests
   594          default:
   595            content:
   596              application/json:
   597                schema:
   598                  $ref: '#/components/schemas/Error'
   599            description: Internal Server Error
   600        summary: delete group
   601        tags:
   602        - auth
   603        x-accepts: application/json
   604      get:
   605        operationId: getGroup
   606        parameters:
   607        - explode: false
   608          in: path
   609          name: groupId
   610          required: true
   611          schema:
   612            type: string
   613          style: simple
   614        responses:
   615          "200":
   616            content:
   617              application/json:
   618                schema:
   619                  $ref: '#/components/schemas/Group'
   620            description: group
   621          "401":
   622            content:
   623              application/json:
   624                schema:
   625                  $ref: '#/components/schemas/Error'
   626            description: Unauthorized
   627          "404":
   628            content:
   629              application/json:
   630                schema:
   631                  $ref: '#/components/schemas/Error'
   632            description: Resource Not Found
   633          "420":
   634            description: too many requests
   635          default:
   636            content:
   637              application/json:
   638                schema:
   639                  $ref: '#/components/schemas/Error'
   640            description: Internal Server Error
   641        summary: get group
   642        tags:
   643        - auth
   644        x-accepts: application/json
   645    /auth/policies:
   646      get:
   647        operationId: listPolicies
   648        parameters:
   649        - description: return items prefixed with this value
   650          explode: true
   651          in: query
   652          name: prefix
   653          required: false
   654          schema:
   655            type: string
   656          style: form
   657        - description: return items after this value
   658          explode: true
   659          in: query
   660          name: after
   661          required: false
   662          schema:
   663            type: string
   664          style: form
   665        - description: how many items to return
   666          explode: true
   667          in: query
   668          name: amount
   669          required: false
   670          schema:
   671            default: 100
   672            maximum: 1000
   673            minimum: -1
   674            type: integer
   675          style: form
   676        responses:
   677          "200":
   678            content:
   679              application/json:
   680                schema:
   681                  $ref: '#/components/schemas/PolicyList'
   682            description: policy list
   683          "401":
   684            content:
   685              application/json:
   686                schema:
   687                  $ref: '#/components/schemas/Error'
   688            description: Unauthorized
   689          "420":
   690            description: too many requests
   691          default:
   692            content:
   693              application/json:
   694                schema:
   695                  $ref: '#/components/schemas/Error'
   696            description: Internal Server Error
   697        summary: list policies
   698        tags:
   699        - auth
   700        x-accepts: application/json
   701      post:
   702        operationId: createPolicy
   703        requestBody:
   704          content:
   705            application/json:
   706              schema:
   707                $ref: '#/components/schemas/Policy'
   708          required: true
   709        responses:
   710          "201":
   711            content:
   712              application/json:
   713                schema:
   714                  $ref: '#/components/schemas/Policy'
   715            description: policy
   716          "400":
   717            content:
   718              application/json:
   719                schema:
   720                  $ref: '#/components/schemas/Error'
   721            description: Validation Error
   722          "401":
   723            content:
   724              application/json:
   725                schema:
   726                  $ref: '#/components/schemas/Error'
   727            description: Unauthorized
   728          "409":
   729            content:
   730              application/json:
   731                schema:
   732                  $ref: '#/components/schemas/Error'
   733            description: Resource Conflicts With Target
   734          "420":
   735            description: too many requests
   736          default:
   737            content:
   738              application/json:
   739                schema:
   740                  $ref: '#/components/schemas/Error'
   741            description: Internal Server Error
   742        summary: create policy
   743        tags:
   744        - auth
   745        x-contentType: application/json
   746        x-accepts: application/json
   747    /auth/policies/{policyId}:
   748      delete:
   749        operationId: deletePolicy
   750        parameters:
   751        - explode: false
   752          in: path
   753          name: policyId
   754          required: true
   755          schema:
   756            type: string
   757          style: simple
   758        responses:
   759          "204":
   760            description: policy deleted successfully
   761          "401":
   762            content:
   763              application/json:
   764                schema:
   765                  $ref: '#/components/schemas/Error'
   766            description: Unauthorized
   767          "404":
   768            content:
   769              application/json:
   770                schema:
   771                  $ref: '#/components/schemas/Error'
   772            description: Resource Not Found
   773          "420":
   774            description: too many requests
   775          default:
   776            content:
   777              application/json:
   778                schema:
   779                  $ref: '#/components/schemas/Error'
   780            description: Internal Server Error
   781        summary: delete policy
   782        tags:
   783        - auth
   784        x-accepts: application/json
   785      get:
   786        operationId: getPolicy
   787        parameters:
   788        - explode: false
   789          in: path
   790          name: policyId
   791          required: true
   792          schema:
   793            type: string
   794          style: simple
   795        responses:
   796          "200":
   797            content:
   798              application/json:
   799                schema:
   800                  $ref: '#/components/schemas/Policy'
   801            description: policy
   802          "401":
   803            content:
   804              application/json:
   805                schema:
   806                  $ref: '#/components/schemas/Error'
   807            description: Unauthorized
   808          "404":
   809            content:
   810              application/json:
   811                schema:
   812                  $ref: '#/components/schemas/Error'
   813            description: Resource Not Found
   814          "420":
   815            description: too many requests
   816          default:
   817            content:
   818              application/json:
   819                schema:
   820                  $ref: '#/components/schemas/Error'
   821            description: Internal Server Error
   822        summary: get policy
   823        tags:
   824        - auth
   825        x-accepts: application/json
   826      put:
   827        operationId: updatePolicy
   828        parameters:
   829        - explode: false
   830          in: path
   831          name: policyId
   832          required: true
   833          schema:
   834            type: string
   835          style: simple
   836        requestBody:
   837          content:
   838            application/json:
   839              schema:
   840                $ref: '#/components/schemas/Policy'
   841          required: true
   842        responses:
   843          "200":
   844            content:
   845              application/json:
   846                schema:
   847                  $ref: '#/components/schemas/Policy'
   848            description: policy
   849          "400":
   850            content:
   851              application/json:
   852                schema:
   853                  $ref: '#/components/schemas/Error'
   854            description: Validation Error
   855          "401":
   856            content:
   857              application/json:
   858                schema:
   859                  $ref: '#/components/schemas/Error'
   860            description: Unauthorized
   861          "404":
   862            content:
   863              application/json:
   864                schema:
   865                  $ref: '#/components/schemas/Error'
   866            description: Resource Not Found
   867          "420":
   868            description: too many requests
   869          default:
   870            content:
   871              application/json:
   872                schema:
   873                  $ref: '#/components/schemas/Error'
   874            description: Internal Server Error
   875        summary: update policy
   876        tags:
   877        - auth
   878        x-contentType: application/json
   879        x-accepts: application/json
   880    /auth/groups/{groupId}/members:
   881      get:
   882        operationId: listGroupMembers
   883        parameters:
   884        - explode: false
   885          in: path
   886          name: groupId
   887          required: true
   888          schema:
   889            type: string
   890          style: simple
   891        - description: return items prefixed with this value
   892          explode: true
   893          in: query
   894          name: prefix
   895          required: false
   896          schema:
   897            type: string
   898          style: form
   899        - description: return items after this value
   900          explode: true
   901          in: query
   902          name: after
   903          required: false
   904          schema:
   905            type: string
   906          style: form
   907        - description: how many items to return
   908          explode: true
   909          in: query
   910          name: amount
   911          required: false
   912          schema:
   913            default: 100
   914            maximum: 1000
   915            minimum: -1
   916            type: integer
   917          style: form
   918        responses:
   919          "200":
   920            content:
   921              application/json:
   922                schema:
   923                  $ref: '#/components/schemas/UserList'
   924            description: group member list
   925          "401":
   926            content:
   927              application/json:
   928                schema:
   929                  $ref: '#/components/schemas/Error'
   930            description: Unauthorized
   931          "420":
   932            description: too many requests
   933          default:
   934            content:
   935              application/json:
   936                schema:
   937                  $ref: '#/components/schemas/Error'
   938            description: Internal Server Error
   939        summary: list group members
   940        tags:
   941        - auth
   942        x-accepts: application/json
   943    /auth/groups/{groupId}/members/{userId}:
   944      delete:
   945        operationId: deleteGroupMembership
   946        parameters:
   947        - explode: false
   948          in: path
   949          name: groupId
   950          required: true
   951          schema:
   952            type: string
   953          style: simple
   954        - explode: false
   955          in: path
   956          name: userId
   957          required: true
   958          schema:
   959            type: string
   960          style: simple
   961        responses:
   962          "204":
   963            description: membership deleted successfully
   964          "401":
   965            content:
   966              application/json:
   967                schema:
   968                  $ref: '#/components/schemas/Error'
   969            description: Unauthorized
   970          "404":
   971            content:
   972              application/json:
   973                schema:
   974                  $ref: '#/components/schemas/Error'
   975            description: Resource Not Found
   976          "420":
   977            description: too many requests
   978          default:
   979            content:
   980              application/json:
   981                schema:
   982                  $ref: '#/components/schemas/Error'
   983            description: Internal Server Error
   984        summary: delete group membership
   985        tags:
   986        - auth
   987        x-accepts: application/json
   988      put:
   989        operationId: addGroupMembership
   990        parameters:
   991        - explode: false
   992          in: path
   993          name: groupId
   994          required: true
   995          schema:
   996            type: string
   997          style: simple
   998        - explode: false
   999          in: path
  1000          name: userId
  1001          required: true
  1002          schema:
  1003            type: string
  1004          style: simple
  1005        responses:
  1006          "201":
  1007            description: membership added successfully
  1008          "401":
  1009            content:
  1010              application/json:
  1011                schema:
  1012                  $ref: '#/components/schemas/Error'
  1013            description: Unauthorized
  1014          "404":
  1015            content:
  1016              application/json:
  1017                schema:
  1018                  $ref: '#/components/schemas/Error'
  1019            description: Resource Not Found
  1020          "420":
  1021            description: too many requests
  1022          default:
  1023            content:
  1024              application/json:
  1025                schema:
  1026                  $ref: '#/components/schemas/Error'
  1027            description: Internal Server Error
  1028        summary: add group membership
  1029        tags:
  1030        - auth
  1031        x-accepts: application/json
  1032    /auth/users/{userId}/credentials:
  1033      get:
  1034        operationId: listUserCredentials
  1035        parameters:
  1036        - explode: false
  1037          in: path
  1038          name: userId
  1039          required: true
  1040          schema:
  1041            type: string
  1042          style: simple
  1043        - description: return items prefixed with this value
  1044          explode: true
  1045          in: query
  1046          name: prefix
  1047          required: false
  1048          schema:
  1049            type: string
  1050          style: form
  1051        - description: return items after this value
  1052          explode: true
  1053          in: query
  1054          name: after
  1055          required: false
  1056          schema:
  1057            type: string
  1058          style: form
  1059        - description: how many items to return
  1060          explode: true
  1061          in: query
  1062          name: amount
  1063          required: false
  1064          schema:
  1065            default: 100
  1066            maximum: 1000
  1067            minimum: -1
  1068            type: integer
  1069          style: form
  1070        responses:
  1071          "200":
  1072            content:
  1073              application/json:
  1074                schema:
  1075                  $ref: '#/components/schemas/CredentialsList'
  1076            description: credential list
  1077          "401":
  1078            content:
  1079              application/json:
  1080                schema:
  1081                  $ref: '#/components/schemas/Error'
  1082            description: Unauthorized
  1083          "404":
  1084            content:
  1085              application/json:
  1086                schema:
  1087                  $ref: '#/components/schemas/Error'
  1088            description: Resource Not Found
  1089          "420":
  1090            description: too many requests
  1091          default:
  1092            content:
  1093              application/json:
  1094                schema:
  1095                  $ref: '#/components/schemas/Error'
  1096            description: Internal Server Error
  1097        summary: list user credentials
  1098        tags:
  1099        - auth
  1100        x-accepts: application/json
  1101      post:
  1102        operationId: createCredentials
  1103        parameters:
  1104        - explode: false
  1105          in: path
  1106          name: userId
  1107          required: true
  1108          schema:
  1109            type: string
  1110          style: simple
  1111        responses:
  1112          "201":
  1113            content:
  1114              application/json:
  1115                schema:
  1116                  $ref: '#/components/schemas/CredentialsWithSecret'
  1117            description: credentials
  1118          "401":
  1119            content:
  1120              application/json:
  1121                schema:
  1122                  $ref: '#/components/schemas/Error'
  1123            description: Unauthorized
  1124          "404":
  1125            content:
  1126              application/json:
  1127                schema:
  1128                  $ref: '#/components/schemas/Error'
  1129            description: Resource Not Found
  1130          "420":
  1131            description: too many requests
  1132          default:
  1133            content:
  1134              application/json:
  1135                schema:
  1136                  $ref: '#/components/schemas/Error'
  1137            description: Internal Server Error
  1138        summary: create credentials
  1139        tags:
  1140        - auth
  1141        x-accepts: application/json
  1142    /auth/users/{userId}/credentials/{accessKeyId}:
  1143      delete:
  1144        operationId: deleteCredentials
  1145        parameters:
  1146        - explode: false
  1147          in: path
  1148          name: userId
  1149          required: true
  1150          schema:
  1151            type: string
  1152          style: simple
  1153        - explode: false
  1154          in: path
  1155          name: accessKeyId
  1156          required: true
  1157          schema:
  1158            type: string
  1159          style: simple
  1160        responses:
  1161          "204":
  1162            description: credentials deleted successfully
  1163          "401":
  1164            content:
  1165              application/json:
  1166                schema:
  1167                  $ref: '#/components/schemas/Error'
  1168            description: Unauthorized
  1169          "404":
  1170            content:
  1171              application/json:
  1172                schema:
  1173                  $ref: '#/components/schemas/Error'
  1174            description: Resource Not Found
  1175          "420":
  1176            description: too many requests
  1177          default:
  1178            content:
  1179              application/json:
  1180                schema:
  1181                  $ref: '#/components/schemas/Error'
  1182            description: Internal Server Error
  1183        summary: delete credentials
  1184        tags:
  1185        - auth
  1186        x-accepts: application/json
  1187      get:
  1188        operationId: getCredentials
  1189        parameters:
  1190        - explode: false
  1191          in: path
  1192          name: userId
  1193          required: true
  1194          schema:
  1195            type: string
  1196          style: simple
  1197        - explode: false
  1198          in: path
  1199          name: accessKeyId
  1200          required: true
  1201          schema:
  1202            type: string
  1203          style: simple
  1204        responses:
  1205          "200":
  1206            content:
  1207              application/json:
  1208                schema:
  1209                  $ref: '#/components/schemas/Credentials'
  1210            description: credentials
  1211          "401":
  1212            content:
  1213              application/json:
  1214                schema:
  1215                  $ref: '#/components/schemas/Error'
  1216            description: Unauthorized
  1217          "404":
  1218            content:
  1219              application/json:
  1220                schema:
  1221                  $ref: '#/components/schemas/Error'
  1222            description: Resource Not Found
  1223          "420":
  1224            description: too many requests
  1225          default:
  1226            content:
  1227              application/json:
  1228                schema:
  1229                  $ref: '#/components/schemas/Error'
  1230            description: Internal Server Error
  1231        summary: get credentials
  1232        tags:
  1233        - auth
  1234        x-accepts: application/json
  1235    /auth/users/{userId}/groups:
  1236      get:
  1237        operationId: listUserGroups
  1238        parameters:
  1239        - explode: false
  1240          in: path
  1241          name: userId
  1242          required: true
  1243          schema:
  1244            type: string
  1245          style: simple
  1246        - description: return items prefixed with this value
  1247          explode: true
  1248          in: query
  1249          name: prefix
  1250          required: false
  1251          schema:
  1252            type: string
  1253          style: form
  1254        - description: return items after this value
  1255          explode: true
  1256          in: query
  1257          name: after
  1258          required: false
  1259          schema:
  1260            type: string
  1261          style: form
  1262        - description: how many items to return
  1263          explode: true
  1264          in: query
  1265          name: amount
  1266          required: false
  1267          schema:
  1268            default: 100
  1269            maximum: 1000
  1270            minimum: -1
  1271            type: integer
  1272          style: form
  1273        responses:
  1274          "200":
  1275            content:
  1276              application/json:
  1277                schema:
  1278                  $ref: '#/components/schemas/GroupList'
  1279            description: group list
  1280          "401":
  1281            content:
  1282              application/json:
  1283                schema:
  1284                  $ref: '#/components/schemas/Error'
  1285            description: Unauthorized
  1286          "404":
  1287            content:
  1288              application/json:
  1289                schema:
  1290                  $ref: '#/components/schemas/Error'
  1291            description: Resource Not Found
  1292          "420":
  1293            description: too many requests
  1294          default:
  1295            content:
  1296              application/json:
  1297                schema:
  1298                  $ref: '#/components/schemas/Error'
  1299            description: Internal Server Error
  1300        summary: list user groups
  1301        tags:
  1302        - auth
  1303        x-accepts: application/json
  1304    /auth/users/{userId}/policies:
  1305      get:
  1306        operationId: listUserPolicies
  1307        parameters:
  1308        - explode: false
  1309          in: path
  1310          name: userId
  1311          required: true
  1312          schema:
  1313            type: string
  1314          style: simple
  1315        - description: return items prefixed with this value
  1316          explode: true
  1317          in: query
  1318          name: prefix
  1319          required: false
  1320          schema:
  1321            type: string
  1322          style: form
  1323        - description: return items after this value
  1324          explode: true
  1325          in: query
  1326          name: after
  1327          required: false
  1328          schema:
  1329            type: string
  1330          style: form
  1331        - description: how many items to return
  1332          explode: true
  1333          in: query
  1334          name: amount
  1335          required: false
  1336          schema:
  1337            default: 100
  1338            maximum: 1000
  1339            minimum: -1
  1340            type: integer
  1341          style: form
  1342        - description: will return all distinct policies attached to the user or any
  1343            of its groups
  1344          explode: true
  1345          in: query
  1346          name: effective
  1347          required: false
  1348          schema:
  1349            default: false
  1350            type: boolean
  1351          style: form
  1352        responses:
  1353          "200":
  1354            content:
  1355              application/json:
  1356                schema:
  1357                  $ref: '#/components/schemas/PolicyList'
  1358            description: policy list
  1359          "401":
  1360            content:
  1361              application/json:
  1362                schema:
  1363                  $ref: '#/components/schemas/Error'
  1364            description: Unauthorized
  1365          "404":
  1366            content:
  1367              application/json:
  1368                schema:
  1369                  $ref: '#/components/schemas/Error'
  1370            description: Resource Not Found
  1371          "420":
  1372            description: too many requests
  1373          default:
  1374            content:
  1375              application/json:
  1376                schema:
  1377                  $ref: '#/components/schemas/Error'
  1378            description: Internal Server Error
  1379        summary: list user policies
  1380        tags:
  1381        - auth
  1382        x-accepts: application/json
  1383    /auth/users/{userId}/policies/{policyId}:
  1384      delete:
  1385        operationId: detachPolicyFromUser
  1386        parameters:
  1387        - explode: false
  1388          in: path
  1389          name: userId
  1390          required: true
  1391          schema:
  1392            type: string
  1393          style: simple
  1394        - explode: false
  1395          in: path
  1396          name: policyId
  1397          required: true
  1398          schema:
  1399            type: string
  1400          style: simple
  1401        responses:
  1402          "204":
  1403            description: policy detached successfully
  1404          "401":
  1405            content:
  1406              application/json:
  1407                schema:
  1408                  $ref: '#/components/schemas/Error'
  1409            description: Unauthorized
  1410          "404":
  1411            content:
  1412              application/json:
  1413                schema:
  1414                  $ref: '#/components/schemas/Error'
  1415            description: Resource Not Found
  1416          "420":
  1417            description: too many requests
  1418          default:
  1419            content:
  1420              application/json:
  1421                schema:
  1422                  $ref: '#/components/schemas/Error'
  1423            description: Internal Server Error
  1424        summary: detach policy from user
  1425        tags:
  1426        - auth
  1427        x-accepts: application/json
  1428      put:
  1429        operationId: attachPolicyToUser
  1430        parameters:
  1431        - explode: false
  1432          in: path
  1433          name: userId
  1434          required: true
  1435          schema:
  1436            type: string
  1437          style: simple
  1438        - explode: false
  1439          in: path
  1440          name: policyId
  1441          required: true
  1442          schema:
  1443            type: string
  1444          style: simple
  1445        responses:
  1446          "201":
  1447            description: policy attached successfully
  1448          "401":
  1449            content:
  1450              application/json:
  1451                schema:
  1452                  $ref: '#/components/schemas/Error'
  1453            description: Unauthorized
  1454          "404":
  1455            content:
  1456              application/json:
  1457                schema:
  1458                  $ref: '#/components/schemas/Error'
  1459            description: Resource Not Found
  1460          "420":
  1461            description: too many requests
  1462          default:
  1463            content:
  1464              application/json:
  1465                schema:
  1466                  $ref: '#/components/schemas/Error'
  1467            description: Internal Server Error
  1468        summary: attach policy to user
  1469        tags:
  1470        - auth
  1471        x-accepts: application/json
  1472    /auth/users/{userId}/external/principals:
  1473      delete:
  1474        operationId: deleteUserExternalPrincipal
  1475        parameters:
  1476        - explode: false
  1477          in: path
  1478          name: userId
  1479          required: true
  1480          schema:
  1481            type: string
  1482          style: simple
  1483        - explode: true
  1484          in: query
  1485          name: principalId
  1486          required: true
  1487          schema:
  1488            type: string
  1489          style: form
  1490        responses:
  1491          "204":
  1492            description: external principal detached successfully
  1493          "401":
  1494            content:
  1495              application/json:
  1496                schema:
  1497                  $ref: '#/components/schemas/Error'
  1498            description: Unauthorized
  1499          "404":
  1500            content:
  1501              application/json:
  1502                schema:
  1503                  $ref: '#/components/schemas/Error'
  1504            description: Resource Not Found
  1505          "420":
  1506            description: too many requests
  1507          default:
  1508            content:
  1509              application/json:
  1510                schema:
  1511                  $ref: '#/components/schemas/Error'
  1512            description: Internal Server Error
  1513        summary: delete external principal from user
  1514        tags:
  1515        - auth
  1516        - external
  1517        - experimental
  1518        x-accepts: application/json
  1519      post:
  1520        operationId: createUserExternalPrincipal
  1521        parameters:
  1522        - explode: false
  1523          in: path
  1524          name: userId
  1525          required: true
  1526          schema:
  1527            type: string
  1528          style: simple
  1529        - explode: true
  1530          in: query
  1531          name: principalId
  1532          required: true
  1533          schema:
  1534            type: string
  1535          style: form
  1536        requestBody:
  1537          content:
  1538            application/json:
  1539              schema:
  1540                $ref: '#/components/schemas/ExternalPrincipalCreation'
  1541          required: false
  1542        responses:
  1543          "201":
  1544            description: external principal attached successfully
  1545          "401":
  1546            content:
  1547              application/json:
  1548                schema:
  1549                  $ref: '#/components/schemas/Error'
  1550            description: Unauthorized
  1551          "404":
  1552            content:
  1553              application/json:
  1554                schema:
  1555                  $ref: '#/components/schemas/Error'
  1556            description: Resource Not Found
  1557          "409":
  1558            content:
  1559              application/json:
  1560                schema:
  1561                  $ref: '#/components/schemas/Error'
  1562            description: Resource Conflicts With Target
  1563          "420":
  1564            description: too many requests
  1565          default:
  1566            content:
  1567              application/json:
  1568                schema:
  1569                  $ref: '#/components/schemas/Error'
  1570            description: Internal Server Error
  1571        summary: attach external principal to user
  1572        tags:
  1573        - auth
  1574        - external
  1575        - experimental
  1576        x-contentType: application/json
  1577        x-accepts: application/json
  1578    /auth/users/{userId}/external/principals/ls:
  1579      get:
  1580        operationId: listUserExternalPrincipals
  1581        parameters:
  1582        - explode: false
  1583          in: path
  1584          name: userId
  1585          required: true
  1586          schema:
  1587            type: string
  1588          style: simple
  1589        - description: return items prefixed with this value
  1590          explode: true
  1591          in: query
  1592          name: prefix
  1593          required: false
  1594          schema:
  1595            type: string
  1596          style: form
  1597        - description: return items after this value
  1598          explode: true
  1599          in: query
  1600          name: after
  1601          required: false
  1602          schema:
  1603            type: string
  1604          style: form
  1605        - description: how many items to return
  1606          explode: true
  1607          in: query
  1608          name: amount
  1609          required: false
  1610          schema:
  1611            default: 100
  1612            maximum: 1000
  1613            minimum: -1
  1614            type: integer
  1615          style: form
  1616        responses:
  1617          "200":
  1618            content:
  1619              application/json:
  1620                schema:
  1621                  $ref: '#/components/schemas/ExternalPrincipalList'
  1622            description: external principals list
  1623          "401":
  1624            content:
  1625              application/json:
  1626                schema:
  1627                  $ref: '#/components/schemas/Error'
  1628            description: Unauthorized
  1629          "404":
  1630            content:
  1631              application/json:
  1632                schema:
  1633                  $ref: '#/components/schemas/Error'
  1634            description: Resource Not Found
  1635          "420":
  1636            description: too many requests
  1637          default:
  1638            content:
  1639              application/json:
  1640                schema:
  1641                  $ref: '#/components/schemas/Error'
  1642            description: Internal Server Error
  1643        summary: list user external policies attached to a user
  1644        tags:
  1645        - auth
  1646        - external
  1647        - experimental
  1648        x-accepts: application/json
  1649    /auth/external/principals:
  1650      get:
  1651        operationId: getExternalPrincipal
  1652        parameters:
  1653        - explode: true
  1654          in: query
  1655          name: principalId
  1656          required: true
  1657          schema:
  1658            type: string
  1659          style: form
  1660        responses:
  1661          "200":
  1662            content:
  1663              application/json:
  1664                schema:
  1665                  $ref: '#/components/schemas/ExternalPrincipal'
  1666            description: external principal
  1667          "401":
  1668            content:
  1669              application/json:
  1670                schema:
  1671                  $ref: '#/components/schemas/Error'
  1672            description: Unauthorized
  1673          "404":
  1674            content:
  1675              application/json:
  1676                schema:
  1677                  $ref: '#/components/schemas/Error'
  1678            description: Resource Not Found
  1679          "420":
  1680            description: too many requests
  1681          default:
  1682            content:
  1683              application/json:
  1684                schema:
  1685                  $ref: '#/components/schemas/Error'
  1686            description: Internal Server Error
  1687        summary: describe external principal by id
  1688        tags:
  1689        - auth
  1690        - external
  1691        - experimental
  1692        x-accepts: application/json
  1693    /auth/groups/{groupId}/policies:
  1694      get:
  1695        operationId: listGroupPolicies
  1696        parameters:
  1697        - explode: false
  1698          in: path
  1699          name: groupId
  1700          required: true
  1701          schema:
  1702            type: string
  1703          style: simple
  1704        - description: return items prefixed with this value
  1705          explode: true
  1706          in: query
  1707          name: prefix
  1708          required: false
  1709          schema:
  1710            type: string
  1711          style: form
  1712        - description: return items after this value
  1713          explode: true
  1714          in: query
  1715          name: after
  1716          required: false
  1717          schema:
  1718            type: string
  1719          style: form
  1720        - description: how many items to return
  1721          explode: true
  1722          in: query
  1723          name: amount
  1724          required: false
  1725          schema:
  1726            default: 100
  1727            maximum: 1000
  1728            minimum: -1
  1729            type: integer
  1730          style: form
  1731        responses:
  1732          "200":
  1733            content:
  1734              application/json:
  1735                schema:
  1736                  $ref: '#/components/schemas/PolicyList'
  1737            description: policy list
  1738          "401":
  1739            content:
  1740              application/json:
  1741                schema:
  1742                  $ref: '#/components/schemas/Error'
  1743            description: Unauthorized
  1744          "404":
  1745            content:
  1746              application/json:
  1747                schema:
  1748                  $ref: '#/components/schemas/Error'
  1749            description: Resource Not Found
  1750          "420":
  1751            description: too many requests
  1752          default:
  1753            content:
  1754              application/json:
  1755                schema:
  1756                  $ref: '#/components/schemas/Error'
  1757            description: Internal Server Error
  1758        summary: list group policies
  1759        tags:
  1760        - auth
  1761        x-accepts: application/json
  1762    /auth/groups/{groupId}/policies/{policyId}:
  1763      delete:
  1764        operationId: detachPolicyFromGroup
  1765        parameters:
  1766        - explode: false
  1767          in: path
  1768          name: groupId
  1769          required: true
  1770          schema:
  1771            type: string
  1772          style: simple
  1773        - explode: false
  1774          in: path
  1775          name: policyId
  1776          required: true
  1777          schema:
  1778            type: string
  1779          style: simple
  1780        responses:
  1781          "204":
  1782            description: policy detached successfully
  1783          "401":
  1784            content:
  1785              application/json:
  1786                schema:
  1787                  $ref: '#/components/schemas/Error'
  1788            description: Unauthorized
  1789          "404":
  1790            content:
  1791              application/json:
  1792                schema:
  1793                  $ref: '#/components/schemas/Error'
  1794            description: Resource Not Found
  1795          "420":
  1796            description: too many requests
  1797          default:
  1798            content:
  1799              application/json:
  1800                schema:
  1801                  $ref: '#/components/schemas/Error'
  1802            description: Internal Server Error
  1803        summary: detach policy from group
  1804        tags:
  1805        - auth
  1806        x-accepts: application/json
  1807      put:
  1808        operationId: attachPolicyToGroup
  1809        parameters:
  1810        - explode: false
  1811          in: path
  1812          name: groupId
  1813          required: true
  1814          schema:
  1815            type: string
  1816          style: simple
  1817        - explode: false
  1818          in: path
  1819          name: policyId
  1820          required: true
  1821          schema:
  1822            type: string
  1823          style: simple
  1824        responses:
  1825          "201":
  1826            description: policy attached successfully
  1827          "401":
  1828            content:
  1829              application/json:
  1830                schema:
  1831                  $ref: '#/components/schemas/Error'
  1832            description: Unauthorized
  1833          "404":
  1834            content:
  1835              application/json:
  1836                schema:
  1837                  $ref: '#/components/schemas/Error'
  1838            description: Resource Not Found
  1839          "420":
  1840            description: too many requests
  1841          default:
  1842            content:
  1843              application/json:
  1844                schema:
  1845                  $ref: '#/components/schemas/Error'
  1846            description: Internal Server Error
  1847        summary: attach policy to group
  1848        tags:
  1849        - auth
  1850        x-accepts: application/json
  1851    /auth/groups/{groupId}/acl:
  1852      get:
  1853        operationId: getGroupACL
  1854        parameters:
  1855        - explode: false
  1856          in: path
  1857          name: groupId
  1858          required: true
  1859          schema:
  1860            type: string
  1861          style: simple
  1862        responses:
  1863          "200":
  1864            content:
  1865              application/json:
  1866                schema:
  1867                  $ref: '#/components/schemas/ACL'
  1868            description: ACL of group
  1869          "401":
  1870            content:
  1871              application/json:
  1872                schema:
  1873                  $ref: '#/components/schemas/Error'
  1874            description: Unauthorized
  1875          "404":
  1876            content:
  1877              application/json:
  1878                schema:
  1879                  $ref: '#/components/schemas/ErrorNoACL'
  1880            description: Group not found, or group found but has no ACL
  1881          "420":
  1882            description: too many requests
  1883          default:
  1884            content:
  1885              application/json:
  1886                schema:
  1887                  $ref: '#/components/schemas/Error'
  1888            description: Internal Server Error
  1889        summary: get ACL of group
  1890        tags:
  1891        - auth
  1892        x-accepts: application/json
  1893      post:
  1894        operationId: setGroupACL
  1895        parameters:
  1896        - explode: false
  1897          in: path
  1898          name: groupId
  1899          required: true
  1900          schema:
  1901            type: string
  1902          style: simple
  1903        requestBody:
  1904          content:
  1905            application/json:
  1906              schema:
  1907                $ref: '#/components/schemas/ACL'
  1908          required: true
  1909        responses:
  1910          "201":
  1911            description: ACL successfully changed
  1912          "401":
  1913            content:
  1914              application/json:
  1915                schema:
  1916                  $ref: '#/components/schemas/Error'
  1917            description: Unauthorized
  1918          "404":
  1919            content:
  1920              application/json:
  1921                schema:
  1922                  $ref: '#/components/schemas/Error'
  1923            description: Resource Not Found
  1924          "420":
  1925            description: too many requests
  1926          default:
  1927            content:
  1928              application/json:
  1929                schema:
  1930                  $ref: '#/components/schemas/Error'
  1931            description: Internal Server Error
  1932        summary: set ACL of group
  1933        tags:
  1934        - auth
  1935        x-contentType: application/json
  1936        x-accepts: application/json
  1937    /repositories:
  1938      get:
  1939        operationId: listRepositories
  1940        parameters:
  1941        - description: return items prefixed with this value
  1942          explode: true
  1943          in: query
  1944          name: prefix
  1945          required: false
  1946          schema:
  1947            type: string
  1948          style: form
  1949        - description: return items after this value
  1950          explode: true
  1951          in: query
  1952          name: after
  1953          required: false
  1954          schema:
  1955            type: string
  1956          style: form
  1957        - description: how many items to return
  1958          explode: true
  1959          in: query
  1960          name: amount
  1961          required: false
  1962          schema:
  1963            default: 100
  1964            maximum: 1000
  1965            minimum: -1
  1966            type: integer
  1967          style: form
  1968        responses:
  1969          "200":
  1970            content:
  1971              application/json:
  1972                schema:
  1973                  $ref: '#/components/schemas/RepositoryList'
  1974            description: repository list
  1975          "401":
  1976            content:
  1977              application/json:
  1978                schema:
  1979                  $ref: '#/components/schemas/Error'
  1980            description: Unauthorized
  1981          "420":
  1982            description: too many requests
  1983          default:
  1984            content:
  1985              application/json:
  1986                schema:
  1987                  $ref: '#/components/schemas/Error'
  1988            description: Internal Server Error
  1989        summary: list repositories
  1990        tags:
  1991        - repositories
  1992        x-accepts: application/json
  1993      post:
  1994        operationId: createRepository
  1995        parameters:
  1996        - description: If true, create a bare repository with no initial commit and
  1997            branch
  1998          explode: true
  1999          in: query
  2000          name: bare
  2001          required: false
  2002          schema:
  2003            default: false
  2004            type: boolean
  2005          style: form
  2006        requestBody:
  2007          content:
  2008            application/json:
  2009              schema:
  2010                $ref: '#/components/schemas/RepositoryCreation'
  2011          required: true
  2012        responses:
  2013          "201":
  2014            content:
  2015              application/json:
  2016                schema:
  2017                  $ref: '#/components/schemas/Repository'
  2018            description: repository
  2019          "400":
  2020            content:
  2021              application/json:
  2022                schema:
  2023                  $ref: '#/components/schemas/Error'
  2024            description: Validation Error
  2025          "401":
  2026            content:
  2027              application/json:
  2028                schema:
  2029                  $ref: '#/components/schemas/Error'
  2030            description: Unauthorized
  2031          "409":
  2032            content:
  2033              application/json:
  2034                schema:
  2035                  $ref: '#/components/schemas/Error'
  2036            description: Resource Conflicts With Target
  2037          "420":
  2038            description: too many requests
  2039          default:
  2040            content:
  2041              application/json:
  2042                schema:
  2043                  $ref: '#/components/schemas/Error'
  2044            description: Internal Server Error
  2045        summary: create repository
  2046        tags:
  2047        - repositories
  2048        x-contentType: application/json
  2049        x-accepts: application/json
  2050    /repositories/{repository}:
  2051      delete:
  2052        operationId: deleteRepository
  2053        parameters:
  2054        - explode: false
  2055          in: path
  2056          name: repository
  2057          required: true
  2058          schema:
  2059            type: string
  2060          style: simple
  2061        - description: Bypass read-only protection and delete the repository
  2062          explode: true
  2063          in: query
  2064          name: force
  2065          required: false
  2066          schema:
  2067            default: false
  2068            type: boolean
  2069          style: form
  2070        responses:
  2071          "204":
  2072            description: repository deleted successfully
  2073          "401":
  2074            content:
  2075              application/json:
  2076                schema:
  2077                  $ref: '#/components/schemas/Error'
  2078            description: Unauthorized
  2079          "404":
  2080            content:
  2081              application/json:
  2082                schema:
  2083                  $ref: '#/components/schemas/Error'
  2084            description: Resource Not Found
  2085          "420":
  2086            description: too many requests
  2087          default:
  2088            content:
  2089              application/json:
  2090                schema:
  2091                  $ref: '#/components/schemas/Error'
  2092            description: Internal Server Error
  2093        summary: delete repository
  2094        tags:
  2095        - repositories
  2096        x-accepts: application/json
  2097      get:
  2098        operationId: getRepository
  2099        parameters:
  2100        - explode: false
  2101          in: path
  2102          name: repository
  2103          required: true
  2104          schema:
  2105            type: string
  2106          style: simple
  2107        responses:
  2108          "200":
  2109            content:
  2110              application/json:
  2111                schema:
  2112                  $ref: '#/components/schemas/Repository'
  2113            description: repository
  2114          "401":
  2115            content:
  2116              application/json:
  2117                schema:
  2118                  $ref: '#/components/schemas/Error'
  2119            description: Unauthorized
  2120          "404":
  2121            content:
  2122              application/json:
  2123                schema:
  2124                  $ref: '#/components/schemas/Error'
  2125            description: Resource Not Found
  2126          "420":
  2127            description: too many requests
  2128          default:
  2129            content:
  2130              application/json:
  2131                schema:
  2132                  $ref: '#/components/schemas/Error'
  2133            description: Internal Server Error
  2134        summary: get repository
  2135        tags:
  2136        - repositories
  2137        x-accepts: application/json
  2138    /repositories/{repository}/metadata:
  2139      delete:
  2140        description: |
  2141          Delete specified keys from the repository's metadata.
  2142        operationId: deleteRepositoryMetadata
  2143        parameters:
  2144        - explode: false
  2145          in: path
  2146          name: repository
  2147          required: true
  2148          schema:
  2149            type: string
  2150          style: simple
  2151        requestBody:
  2152          content:
  2153            application/json:
  2154              schema:
  2155                $ref: '#/components/schemas/RepositoryMetadataKeys'
  2156          required: true
  2157        responses:
  2158          "204":
  2159            description: repository metadata keys deleted successfully
  2160          "401":
  2161            content:
  2162              application/json:
  2163                schema:
  2164                  $ref: '#/components/schemas/Error'
  2165            description: Unauthorized
  2166          "420":
  2167            description: too many requests
  2168          default:
  2169            content:
  2170              application/json:
  2171                schema:
  2172                  $ref: '#/components/schemas/Error'
  2173            description: Internal Server Error
  2174        summary: delete repository metadata
  2175        tags:
  2176        - internal
  2177        x-contentType: application/json
  2178        x-accepts: application/json
  2179      get:
  2180        operationId: getRepositoryMetadata
  2181        parameters:
  2182        - explode: false
  2183          in: path
  2184          name: repository
  2185          required: true
  2186          schema:
  2187            type: string
  2188          style: simple
  2189        responses:
  2190          "200":
  2191            content:
  2192              application/json:
  2193                schema:
  2194                  $ref: '#/components/schemas/RepositoryMetadata'
  2195            description: repository metadata
  2196          "401":
  2197            content:
  2198              application/json:
  2199                schema:
  2200                  $ref: '#/components/schemas/Error'
  2201            description: Unauthorized
  2202          "404":
  2203            content:
  2204              application/json:
  2205                schema:
  2206                  $ref: '#/components/schemas/Error'
  2207            description: Resource Not Found
  2208          "420":
  2209            description: too many requests
  2210          default:
  2211            content:
  2212              application/json:
  2213                schema:
  2214                  $ref: '#/components/schemas/Error'
  2215            description: Internal Server Error
  2216        summary: get repository metadata
  2217        tags:
  2218        - repositories
  2219        x-accepts: application/json
  2220      post:
  2221        description: |
  2222          Set repository metadata. This will only add or update the provided keys, and will not remove any existing keys.
  2223        operationId: setRepositoryMetadata
  2224        parameters:
  2225        - explode: false
  2226          in: path
  2227          name: repository
  2228          required: true
  2229          schema:
  2230            type: string
  2231          style: simple
  2232        requestBody:
  2233          content:
  2234            application/json:
  2235              schema:
  2236                $ref: '#/components/schemas/RepositoryMetadataSet'
  2237          required: true
  2238        responses:
  2239          "204":
  2240            description: repository metadata set successfully
  2241          "401":
  2242            content:
  2243              application/json:
  2244                schema:
  2245                  $ref: '#/components/schemas/Error'
  2246            description: Unauthorized
  2247          "404":
  2248            content:
  2249              application/json:
  2250                schema:
  2251                  $ref: '#/components/schemas/Error'
  2252            description: Resource Not Found
  2253          "420":
  2254            description: too many requests
  2255          default:
  2256            content:
  2257              application/json:
  2258                schema:
  2259                  $ref: '#/components/schemas/Error'
  2260            description: Internal Server Error
  2261        summary: set repository metadata
  2262        tags:
  2263        - internal
  2264        x-contentType: application/json
  2265        x-accepts: application/json
  2266    /repositories/{repository}/settings/gc_rules:
  2267      delete:
  2268        operationId: deleteGCRules
  2269        parameters:
  2270        - explode: false
  2271          in: path
  2272          name: repository
  2273          required: true
  2274          schema:
  2275            type: string
  2276          style: simple
  2277        responses:
  2278          "204":
  2279            description: deleted garbage collection rules successfully
  2280          "401":
  2281            content:
  2282              application/json:
  2283                schema:
  2284                  $ref: '#/components/schemas/Error'
  2285            description: Unauthorized
  2286          "403":
  2287            content:
  2288              application/json:
  2289                schema:
  2290                  $ref: '#/components/schemas/Error'
  2291            description: Forbidden
  2292          "404":
  2293            content:
  2294              application/json:
  2295                schema:
  2296                  $ref: '#/components/schemas/Error'
  2297            description: Resource Not Found
  2298          "420":
  2299            description: too many requests
  2300          default:
  2301            content:
  2302              application/json:
  2303                schema:
  2304                  $ref: '#/components/schemas/Error'
  2305            description: Internal Server Error
  2306        tags:
  2307        - repositories
  2308        x-accepts: application/json
  2309      get:
  2310        operationId: getGCRules
  2311        parameters:
  2312        - explode: false
  2313          in: path
  2314          name: repository
  2315          required: true
  2316          schema:
  2317            type: string
  2318          style: simple
  2319        responses:
  2320          "200":
  2321            content:
  2322              application/json:
  2323                schema:
  2324                  $ref: '#/components/schemas/GarbageCollectionRules'
  2325            description: repository GC rules
  2326          "401":
  2327            content:
  2328              application/json:
  2329                schema:
  2330                  $ref: '#/components/schemas/Error'
  2331            description: Unauthorized
  2332          "404":
  2333            content:
  2334              application/json:
  2335                schema:
  2336                  $ref: '#/components/schemas/Error'
  2337            description: Resource Not Found
  2338          "420":
  2339            description: too many requests
  2340          default:
  2341            content:
  2342              application/json:
  2343                schema:
  2344                  $ref: '#/components/schemas/Error'
  2345            description: Internal Server Error
  2346        summary: get repository GC rules
  2347        tags:
  2348        - repositories
  2349        x-accepts: application/json
  2350      put:
  2351        operationId: setGCRules
  2352        parameters:
  2353        - explode: false
  2354          in: path
  2355          name: repository
  2356          required: true
  2357          schema:
  2358            type: string
  2359          style: simple
  2360        requestBody:
  2361          content:
  2362            application/json:
  2363              schema:
  2364                $ref: '#/components/schemas/GarbageCollectionRules'
  2365          required: true
  2366        responses:
  2367          "204":
  2368            description: set garbage collection rules successfully
  2369          "401":
  2370            content:
  2371              application/json:
  2372                schema:
  2373                  $ref: '#/components/schemas/Error'
  2374            description: Unauthorized
  2375          "403":
  2376            content:
  2377              application/json:
  2378                schema:
  2379                  $ref: '#/components/schemas/Error'
  2380            description: Forbidden
  2381          "404":
  2382            content:
  2383              application/json:
  2384                schema:
  2385                  $ref: '#/components/schemas/Error'
  2386            description: Resource Not Found
  2387          "420":
  2388            description: too many requests
  2389          default:
  2390            content:
  2391              application/json:
  2392                schema:
  2393                  $ref: '#/components/schemas/Error'
  2394            description: Internal Server Error
  2395        tags:
  2396        - repositories
  2397        x-contentType: application/json
  2398        x-accepts: application/json
  2399    /repositories/{repository}/settings/branch_protection:
  2400      get:
  2401        operationId: getBranchProtectionRules
  2402        parameters:
  2403        - explode: false
  2404          in: path
  2405          name: repository
  2406          required: true
  2407          schema:
  2408            type: string
  2409          style: simple
  2410        responses:
  2411          "200":
  2412            content:
  2413              application/json:
  2414                schema:
  2415                  items:
  2416                    $ref: '#/components/schemas/BranchProtectionRule'
  2417                  type: array
  2418            description: branch protection rules
  2419            headers:
  2420              ETag:
  2421                explode: false
  2422                schema:
  2423                  description: ETag of the branch protection rules
  2424                  type: string
  2425                style: simple
  2426          "401":
  2427            content:
  2428              application/json:
  2429                schema:
  2430                  $ref: '#/components/schemas/Error'
  2431            description: Unauthorized
  2432          "404":
  2433            content:
  2434              application/json:
  2435                schema:
  2436                  $ref: '#/components/schemas/Error'
  2437            description: Resource Not Found
  2438          "420":
  2439            description: too many requests
  2440          default:
  2441            content:
  2442              application/json:
  2443                schema:
  2444                  $ref: '#/components/schemas/Error'
  2445            description: Internal Server Error
  2446        summary: get branch protection rules
  2447        tags:
  2448        - repositories
  2449        x-accepts: application/json
  2450      put:
  2451        operationId: setBranchProtectionRules
  2452        parameters:
  2453        - explode: false
  2454          in: path
  2455          name: repository
  2456          required: true
  2457          schema:
  2458            type: string
  2459          style: simple
  2460        - description: if provided, the branch protection rules will be updated only
  2461            if the current ETag match the provided value
  2462          explode: false
  2463          in: header
  2464          name: If-Match
  2465          required: false
  2466          schema:
  2467            type: string
  2468          style: simple
  2469        requestBody:
  2470          content:
  2471            application/json:
  2472              schema:
  2473                items:
  2474                  $ref: '#/components/schemas/BranchProtectionRule'
  2475                type: array
  2476          required: true
  2477        responses:
  2478          "204":
  2479            description: branch protection rule created successfully
  2480          "400":
  2481            content:
  2482              application/json:
  2483                schema:
  2484                  $ref: '#/components/schemas/Error'
  2485            description: Bad Request
  2486          "401":
  2487            content:
  2488              application/json:
  2489                schema:
  2490                  $ref: '#/components/schemas/Error'
  2491            description: Unauthorized
  2492          "403":
  2493            content:
  2494              application/json:
  2495                schema:
  2496                  $ref: '#/components/schemas/Error'
  2497            description: Forbidden
  2498          "404":
  2499            content:
  2500              application/json:
  2501                schema:
  2502                  $ref: '#/components/schemas/Error'
  2503            description: Resource Not Found
  2504          "412":
  2505            content:
  2506              application/json:
  2507                schema:
  2508                  $ref: '#/components/schemas/Error'
  2509            description: Precondition Failed
  2510          "420":
  2511            description: too many requests
  2512          default:
  2513            content:
  2514              application/json:
  2515                schema:
  2516                  $ref: '#/components/schemas/Error'
  2517            description: Internal Server Error
  2518        tags:
  2519        - repositories
  2520        x-contentType: application/json
  2521        x-accepts: application/json
  2522    /repositories/{repository}/refs/dump:
  2523      put:
  2524        operationId: dumpRefs
  2525        parameters:
  2526        - explode: false
  2527          in: path
  2528          name: repository
  2529          required: true
  2530          schema:
  2531            type: string
  2532          style: simple
  2533        responses:
  2534          "201":
  2535            content:
  2536              application/json:
  2537                schema:
  2538                  $ref: '#/components/schemas/RefsDump'
  2539            description: refs dump
  2540          "400":
  2541            content:
  2542              application/json:
  2543                schema:
  2544                  $ref: '#/components/schemas/Error'
  2545            description: Validation Error
  2546          "401":
  2547            content:
  2548              application/json:
  2549                schema:
  2550                  $ref: '#/components/schemas/Error'
  2551            description: Unauthorized
  2552          "404":
  2553            content:
  2554              application/json:
  2555                schema:
  2556                  $ref: '#/components/schemas/Error'
  2557            description: Resource Not Found
  2558          "420":
  2559            description: too many requests
  2560          default:
  2561            content:
  2562              application/json:
  2563                schema:
  2564                  $ref: '#/components/schemas/Error'
  2565            description: Internal Server Error
  2566        summary: |
  2567          Dump repository refs (tags, commits, branches) to object store
  2568          Deprecated: a new API will introduce long running operations
  2569        tags:
  2570        - internal
  2571        x-accepts: application/json
  2572    /repositories/{repository}/refs/restore:
  2573      put:
  2574        operationId: restoreRefs
  2575        parameters:
  2576        - explode: false
  2577          in: path
  2578          name: repository
  2579          required: true
  2580          schema:
  2581            type: string
  2582          style: simple
  2583        requestBody:
  2584          content:
  2585            application/json:
  2586              schema:
  2587                $ref: '#/components/schemas/RefsRestore'
  2588          required: true
  2589        responses:
  2590          "200":
  2591            description: refs successfully loaded
  2592          "400":
  2593            content:
  2594              application/json:
  2595                schema:
  2596                  $ref: '#/components/schemas/Error'
  2597            description: Validation Error
  2598          "401":
  2599            content:
  2600              application/json:
  2601                schema:
  2602                  $ref: '#/components/schemas/Error'
  2603            description: Unauthorized
  2604          "404":
  2605            content:
  2606              application/json:
  2607                schema:
  2608                  $ref: '#/components/schemas/Error'
  2609            description: Resource Not Found
  2610          "420":
  2611            description: too many requests
  2612          default:
  2613            content:
  2614              application/json:
  2615                schema:
  2616                  $ref: '#/components/schemas/Error'
  2617            description: Internal Server Error
  2618        summary: |
  2619          Restore repository refs (tags, commits, branches) from object store.
  2620          Deprecated: a new API will introduce long running operations
  2621        tags:
  2622        - internal
  2623        x-contentType: application/json
  2624        x-accepts: application/json
  2625    /repositories/{repository}/dump:
  2626      get:
  2627        operationId: dumpStatus
  2628        parameters:
  2629        - explode: false
  2630          in: path
  2631          name: repository
  2632          required: true
  2633          schema:
  2634            type: string
  2635          style: simple
  2636        - explode: true
  2637          in: query
  2638          name: task_id
  2639          required: true
  2640          schema:
  2641            type: string
  2642          style: form
  2643        responses:
  2644          "200":
  2645            content:
  2646              application/json:
  2647                schema:
  2648                  $ref: '#/components/schemas/RepositoryDumpStatus'
  2649            description: dump task status
  2650          "400":
  2651            content:
  2652              application/json:
  2653                schema:
  2654                  $ref: '#/components/schemas/Error'
  2655            description: Validation Error
  2656          "401":
  2657            content:
  2658              application/json:
  2659                schema:
  2660                  $ref: '#/components/schemas/Error'
  2661            description: Unauthorized
  2662          "404":
  2663            content:
  2664              application/json:
  2665                schema:
  2666                  $ref: '#/components/schemas/Error'
  2667            description: Resource Not Found
  2668          "420":
  2669            description: too many requests
  2670          default:
  2671            content:
  2672              application/json:
  2673                schema:
  2674                  $ref: '#/components/schemas/Error'
  2675            description: Internal Server Error
  2676        summary: Status of a repository dump task
  2677        tags:
  2678        - repositories
  2679        x-accepts: application/json
  2680      post:
  2681        operationId: dumpSubmit
  2682        parameters:
  2683        - explode: false
  2684          in: path
  2685          name: repository
  2686          required: true
  2687          schema:
  2688            type: string
  2689          style: simple
  2690        responses:
  2691          "202":
  2692            content:
  2693              application/json:
  2694                schema:
  2695                  $ref: '#/components/schemas/TaskInfo'
  2696            description: dump task information
  2697          "400":
  2698            content:
  2699              application/json:
  2700                schema:
  2701                  $ref: '#/components/schemas/Error'
  2702            description: Validation Error
  2703          "401":
  2704            content:
  2705              application/json:
  2706                schema:
  2707                  $ref: '#/components/schemas/Error'
  2708            description: Unauthorized
  2709          "404":
  2710            content:
  2711              application/json:
  2712                schema:
  2713                  $ref: '#/components/schemas/Error'
  2714            description: Resource Not Found
  2715          default:
  2716            content:
  2717              application/json:
  2718                schema:
  2719                  $ref: '#/components/schemas/Error'
  2720            description: Internal Server Error
  2721        summary: Backup the repository metadata (tags, commits, branches) and save the
  2722          backup to the object store.
  2723        tags:
  2724        - repositories
  2725        x-accepts: application/json
  2726    /repositories/{repository}/restore:
  2727      get:
  2728        operationId: restoreStatus
  2729        parameters:
  2730        - explode: false
  2731          in: path
  2732          name: repository
  2733          required: true
  2734          schema:
  2735            type: string
  2736          style: simple
  2737        - explode: true
  2738          in: query
  2739          name: task_id
  2740          required: true
  2741          schema:
  2742            type: string
  2743          style: form
  2744        responses:
  2745          "200":
  2746            content:
  2747              application/json:
  2748                schema:
  2749                  $ref: '#/components/schemas/RepositoryRestoreStatus'
  2750            description: restore task status
  2751          "400":
  2752            content:
  2753              application/json:
  2754                schema:
  2755                  $ref: '#/components/schemas/Error'
  2756            description: Validation Error
  2757          "401":
  2758            content:
  2759              application/json:
  2760                schema:
  2761                  $ref: '#/components/schemas/Error'
  2762            description: Unauthorized
  2763          "404":
  2764            content:
  2765              application/json:
  2766                schema:
  2767                  $ref: '#/components/schemas/Error'
  2768            description: Resource Not Found
  2769          "420":
  2770            description: too many requests
  2771          default:
  2772            content:
  2773              application/json:
  2774                schema:
  2775                  $ref: '#/components/schemas/Error'
  2776            description: Internal Server Error
  2777        summary: Status of a restore request
  2778        tags:
  2779        - repositories
  2780        x-accepts: application/json
  2781      post:
  2782        operationId: restoreSubmit
  2783        parameters:
  2784        - explode: false
  2785          in: path
  2786          name: repository
  2787          required: true
  2788          schema:
  2789            type: string
  2790          style: simple
  2791        requestBody:
  2792          content:
  2793            application/json:
  2794              schema:
  2795                $ref: '#/components/schemas/RefsRestore'
  2796          required: true
  2797        responses:
  2798          "202":
  2799            content:
  2800              application/json:
  2801                schema:
  2802                  $ref: '#/components/schemas/TaskInfo'
  2803            description: restore task created
  2804          "400":
  2805            content:
  2806              application/json:
  2807                schema:
  2808                  $ref: '#/components/schemas/Error'
  2809            description: Validation Error
  2810          "403":
  2811            content:
  2812              application/json:
  2813                schema:
  2814                  $ref: '#/components/schemas/Error'
  2815            description: Forbidden
  2816          "401":
  2817            content:
  2818              application/json:
  2819                schema:
  2820                  $ref: '#/components/schemas/Error'
  2821            description: Unauthorized
  2822          "404":
  2823            content:
  2824              application/json:
  2825                schema:
  2826                  $ref: '#/components/schemas/Error'
  2827            description: Resource Not Found
  2828          default:
  2829            content:
  2830              application/json:
  2831                schema:
  2832                  $ref: '#/components/schemas/Error'
  2833            description: Internal Server Error
  2834        summary: Restore repository from a dump in the object store
  2835        tags:
  2836        - repositories
  2837        x-contentType: application/json
  2838        x-accepts: application/json
  2839    /repositories/{repository}/tags:
  2840      get:
  2841        operationId: listTags
  2842        parameters:
  2843        - explode: false
  2844          in: path
  2845          name: repository
  2846          required: true
  2847          schema:
  2848            type: string
  2849          style: simple
  2850        - description: return items prefixed with this value
  2851          explode: true
  2852          in: query
  2853          name: prefix
  2854          required: false
  2855          schema:
  2856            type: string
  2857          style: form
  2858        - description: return items after this value
  2859          explode: true
  2860          in: query
  2861          name: after
  2862          required: false
  2863          schema:
  2864            type: string
  2865          style: form
  2866        - description: how many items to return
  2867          explode: true
  2868          in: query
  2869          name: amount
  2870          required: false
  2871          schema:
  2872            default: 100
  2873            maximum: 1000
  2874            minimum: -1
  2875            type: integer
  2876          style: form
  2877        responses:
  2878          "200":
  2879            content:
  2880              application/json:
  2881                schema:
  2882                  $ref: '#/components/schemas/RefList'
  2883            description: tag list
  2884          "401":
  2885            content:
  2886              application/json:
  2887                schema:
  2888                  $ref: '#/components/schemas/Error'
  2889            description: Unauthorized
  2890          "404":
  2891            content:
  2892              application/json:
  2893                schema:
  2894                  $ref: '#/components/schemas/Error'
  2895            description: Resource Not Found
  2896          "420":
  2897            description: too many requests
  2898          default:
  2899            content:
  2900              application/json:
  2901                schema:
  2902                  $ref: '#/components/schemas/Error'
  2903            description: Internal Server Error
  2904        summary: list tags
  2905        tags:
  2906        - tags
  2907        x-accepts: application/json
  2908      post:
  2909        operationId: createTag
  2910        parameters:
  2911        - explode: false
  2912          in: path
  2913          name: repository
  2914          required: true
  2915          schema:
  2916            type: string
  2917          style: simple
  2918        requestBody:
  2919          content:
  2920            application/json:
  2921              schema:
  2922                $ref: '#/components/schemas/TagCreation'
  2923          required: true
  2924        responses:
  2925          "201":
  2926            content:
  2927              application/json:
  2928                schema:
  2929                  $ref: '#/components/schemas/Ref'
  2930            description: tag
  2931          "400":
  2932            content:
  2933              application/json:
  2934                schema:
  2935                  $ref: '#/components/schemas/Error'
  2936            description: Validation Error
  2937          "401":
  2938            content:
  2939              application/json:
  2940                schema:
  2941                  $ref: '#/components/schemas/Error'
  2942            description: Unauthorized
  2943          "403":
  2944            content:
  2945              application/json:
  2946                schema:
  2947                  $ref: '#/components/schemas/Error'
  2948            description: Forbidden
  2949          "404":
  2950            content:
  2951              application/json:
  2952                schema:
  2953                  $ref: '#/components/schemas/Error'
  2954            description: Resource Not Found
  2955          "409":
  2956            content:
  2957              application/json:
  2958                schema:
  2959                  $ref: '#/components/schemas/Error'
  2960            description: Resource Conflicts With Target
  2961          "420":
  2962            description: too many requests
  2963          default:
  2964            content:
  2965              application/json:
  2966                schema:
  2967                  $ref: '#/components/schemas/Error'
  2968            description: Internal Server Error
  2969        summary: create tag
  2970        tags:
  2971        - tags
  2972        x-contentType: application/json
  2973        x-accepts: application/json
  2974    /repositories/{repository}/tags/{tag}:
  2975      delete:
  2976        operationId: deleteTag
  2977        parameters:
  2978        - explode: false
  2979          in: path
  2980          name: repository
  2981          required: true
  2982          schema:
  2983            type: string
  2984          style: simple
  2985        - explode: false
  2986          in: path
  2987          name: tag
  2988          required: true
  2989          schema:
  2990            type: string
  2991          style: simple
  2992        - explode: true
  2993          in: query
  2994          name: force
  2995          required: false
  2996          schema:
  2997            type: boolean
  2998          style: form
  2999        responses:
  3000          "204":
  3001            description: tag deleted successfully
  3002          "401":
  3003            content:
  3004              application/json:
  3005                schema:
  3006                  $ref: '#/components/schemas/Error'
  3007            description: Unauthorized
  3008          "403":
  3009            content:
  3010              application/json:
  3011                schema:
  3012                  $ref: '#/components/schemas/Error'
  3013            description: Forbidden
  3014          "404":
  3015            content:
  3016              application/json:
  3017                schema:
  3018                  $ref: '#/components/schemas/Error'
  3019            description: Resource Not Found
  3020          "420":
  3021            description: too many requests
  3022          default:
  3023            content:
  3024              application/json:
  3025                schema:
  3026                  $ref: '#/components/schemas/Error'
  3027            description: Internal Server Error
  3028        summary: delete tag
  3029        tags:
  3030        - tags
  3031        x-accepts: application/json
  3032      get:
  3033        operationId: getTag
  3034        parameters:
  3035        - explode: false
  3036          in: path
  3037          name: repository
  3038          required: true
  3039          schema:
  3040            type: string
  3041          style: simple
  3042        - explode: false
  3043          in: path
  3044          name: tag
  3045          required: true
  3046          schema:
  3047            type: string
  3048          style: simple
  3049        responses:
  3050          "200":
  3051            content:
  3052              application/json:
  3053                schema:
  3054                  $ref: '#/components/schemas/Ref'
  3055            description: tag
  3056          "401":
  3057            content:
  3058              application/json:
  3059                schema:
  3060                  $ref: '#/components/schemas/Error'
  3061            description: Unauthorized
  3062          "404":
  3063            content:
  3064              application/json:
  3065                schema:
  3066                  $ref: '#/components/schemas/Error'
  3067            description: Resource Not Found
  3068          "420":
  3069            description: too many requests
  3070          default:
  3071            content:
  3072              application/json:
  3073                schema:
  3074                  $ref: '#/components/schemas/Error'
  3075            description: Internal Server Error
  3076        summary: get tag
  3077        tags:
  3078        - tags
  3079        x-accepts: application/json
  3080    /repositories/{repository}/branches:
  3081      get:
  3082        operationId: listBranches
  3083        parameters:
  3084        - explode: false
  3085          in: path
  3086          name: repository
  3087          required: true
  3088          schema:
  3089            type: string
  3090          style: simple
  3091        - description: return items prefixed with this value
  3092          explode: true
  3093          in: query
  3094          name: prefix
  3095          required: false
  3096          schema:
  3097            type: string
  3098          style: form
  3099        - description: return items after this value
  3100          explode: true
  3101          in: query
  3102          name: after
  3103          required: false
  3104          schema:
  3105            type: string
  3106          style: form
  3107        - description: how many items to return
  3108          explode: true
  3109          in: query
  3110          name: amount
  3111          required: false
  3112          schema:
  3113            default: 100
  3114            maximum: 1000
  3115            minimum: -1
  3116            type: integer
  3117          style: form
  3118        responses:
  3119          "200":
  3120            content:
  3121              application/json:
  3122                schema:
  3123                  $ref: '#/components/schemas/RefList'
  3124            description: branch list
  3125          "401":
  3126            content:
  3127              application/json:
  3128                schema:
  3129                  $ref: '#/components/schemas/Error'
  3130            description: Unauthorized
  3131          "404":
  3132            content:
  3133              application/json:
  3134                schema:
  3135                  $ref: '#/components/schemas/Error'
  3136            description: Resource Not Found
  3137          "420":
  3138            description: too many requests
  3139          default:
  3140            content:
  3141              application/json:
  3142                schema:
  3143                  $ref: '#/components/schemas/Error'
  3144            description: Internal Server Error
  3145        summary: list branches
  3146        tags:
  3147        - branches
  3148        x-accepts: application/json
  3149      post:
  3150        operationId: createBranch
  3151        parameters:
  3152        - explode: false
  3153          in: path
  3154          name: repository
  3155          required: true
  3156          schema:
  3157            type: string
  3158          style: simple
  3159        requestBody:
  3160          content:
  3161            application/json:
  3162              schema:
  3163                $ref: '#/components/schemas/BranchCreation'
  3164          required: true
  3165        responses:
  3166          "201":
  3167            content:
  3168              text/html:
  3169                schema:
  3170                  type: string
  3171            description: reference
  3172          "400":
  3173            content:
  3174              application/json:
  3175                schema:
  3176                  $ref: '#/components/schemas/Error'
  3177            description: Validation Error
  3178          "401":
  3179            content:
  3180              application/json:
  3181                schema:
  3182                  $ref: '#/components/schemas/Error'
  3183            description: Unauthorized
  3184          "403":
  3185            content:
  3186              application/json:
  3187                schema:
  3188                  $ref: '#/components/schemas/Error'
  3189            description: Forbidden
  3190          "404":
  3191            content:
  3192              application/json:
  3193                schema:
  3194                  $ref: '#/components/schemas/Error'
  3195            description: Resource Not Found
  3196          "409":
  3197            content:
  3198              application/json:
  3199                schema:
  3200                  $ref: '#/components/schemas/Error'
  3201            description: Resource Conflicts With Target
  3202          "420":
  3203            description: too many requests
  3204          default:
  3205            content:
  3206              application/json:
  3207                schema:
  3208                  $ref: '#/components/schemas/Error'
  3209            description: Internal Server Error
  3210        summary: create branch
  3211        tags:
  3212        - branches
  3213        x-contentType: application/json
  3214        x-accepts: application/json
  3215    /repositories/{repository}/refs/{ref}/commits:
  3216      get:
  3217        operationId: logCommits
  3218        parameters:
  3219        - explode: false
  3220          in: path
  3221          name: repository
  3222          required: true
  3223          schema:
  3224            type: string
  3225          style: simple
  3226        - explode: false
  3227          in: path
  3228          name: ref
  3229          required: true
  3230          schema:
  3231            type: string
  3232          style: simple
  3233        - description: return items after this value
  3234          explode: true
  3235          in: query
  3236          name: after
  3237          required: false
  3238          schema:
  3239            type: string
  3240          style: form
  3241        - description: how many items to return
  3242          explode: true
  3243          in: query
  3244          name: amount
  3245          required: false
  3246          schema:
  3247            default: 100
  3248            maximum: 1000
  3249            minimum: -1
  3250            type: integer
  3251          style: form
  3252        - description: list of paths, each element is a path of a specific object
  3253          explode: true
  3254          in: query
  3255          name: objects
  3256          required: false
  3257          schema:
  3258            items:
  3259              type: string
  3260            type: array
  3261          style: form
  3262        - description: list of paths, each element is a path of a prefix
  3263          explode: true
  3264          in: query
  3265          name: prefixes
  3266          required: false
  3267          schema:
  3268            items:
  3269              type: string
  3270            type: array
  3271          style: form
  3272        - description: limit the number of items in return to 'amount'. Without further
  3273            indication on actual number of items.
  3274          explode: true
  3275          in: query
  3276          name: limit
  3277          required: false
  3278          schema:
  3279            type: boolean
  3280          style: form
  3281        - description: if set to true, follow only the first parent upon reaching a
  3282            merge commit
  3283          explode: true
  3284          in: query
  3285          name: first_parent
  3286          required: false
  3287          schema:
  3288            type: boolean
  3289          style: form
  3290        - description: Show commits more recent than a specific date-time. In case used
  3291            with stop_at parameter, will stop at the first commit that meets any of
  3292            the conditions.
  3293          explode: true
  3294          in: query
  3295          name: since
  3296          required: false
  3297          schema:
  3298            format: date-time
  3299            type: string
  3300          style: form
  3301        - description: A reference to stop at. In case used with since parameter, will
  3302            stop at the first commit that meets any of the conditions.
  3303          explode: true
  3304          in: query
  3305          name: stop_at
  3306          required: false
  3307          schema:
  3308            type: string
  3309          style: form
  3310        responses:
  3311          "200":
  3312            content:
  3313              application/json:
  3314                schema:
  3315                  $ref: '#/components/schemas/CommitList'
  3316            description: commit log
  3317          "401":
  3318            content:
  3319              application/json:
  3320                schema:
  3321                  $ref: '#/components/schemas/Error'
  3322            description: Unauthorized
  3323          "404":
  3324            content:
  3325              application/json:
  3326                schema:
  3327                  $ref: '#/components/schemas/Error'
  3328            description: Resource Not Found
  3329          "420":
  3330            description: too many requests
  3331          default:
  3332            content:
  3333              application/json:
  3334                schema:
  3335                  $ref: '#/components/schemas/Error'
  3336            description: Internal Server Error
  3337        summary: get commit log from ref. If both objects and prefixes are empty, return
  3338          all commits.
  3339        tags:
  3340        - refs
  3341        x-accepts: application/json
  3342    /repositories/{repository}/branches/{branch}/commits:
  3343      post:
  3344        operationId: commit
  3345        parameters:
  3346        - explode: false
  3347          in: path
  3348          name: repository
  3349          required: true
  3350          schema:
  3351            type: string
  3352          style: simple
  3353        - explode: false
  3354          in: path
  3355          name: branch
  3356          required: true
  3357          schema:
  3358            type: string
  3359          style: simple
  3360        - description: The source metarange to commit. Branch must not have uncommitted
  3361            changes.
  3362          explode: true
  3363          in: query
  3364          name: source_metarange
  3365          required: false
  3366          schema:
  3367            type: string
  3368          style: form
  3369        requestBody:
  3370          content:
  3371            application/json:
  3372              schema:
  3373                $ref: '#/components/schemas/CommitCreation'
  3374          required: true
  3375        responses:
  3376          "201":
  3377            content:
  3378              application/json:
  3379                schema:
  3380                  $ref: '#/components/schemas/Commit'
  3381            description: commit
  3382          "400":
  3383            content:
  3384              application/json:
  3385                schema:
  3386                  $ref: '#/components/schemas/Error'
  3387            description: Validation Error
  3388          "401":
  3389            content:
  3390              application/json:
  3391                schema:
  3392                  $ref: '#/components/schemas/Error'
  3393            description: Unauthorized
  3394          "403":
  3395            content:
  3396              application/json:
  3397                schema:
  3398                  $ref: '#/components/schemas/Error'
  3399            description: Forbidden
  3400          "404":
  3401            content:
  3402              application/json:
  3403                schema:
  3404                  $ref: '#/components/schemas/Error'
  3405            description: Resource Not Found
  3406          "409":
  3407            content:
  3408              application/json:
  3409                schema:
  3410                  $ref: '#/components/schemas/Error'
  3411            description: Resource Conflicts With Target
  3412          "412":
  3413            content:
  3414              application/json:
  3415                schema:
  3416                  $ref: '#/components/schemas/Error'
  3417            description: Precondition Failed (e.g. a pre-commit hook returned a failure)
  3418          "420":
  3419            description: too many requests
  3420          default:
  3421            content:
  3422              application/json:
  3423                schema:
  3424                  $ref: '#/components/schemas/Error'
  3425            description: Internal Server Error
  3426        summary: create commit
  3427        tags:
  3428        - commits
  3429        x-contentType: application/json
  3430        x-accepts: application/json
  3431    /repositories/{repository}/commits:
  3432      post:
  3433        operationId: CreateCommitRecord
  3434        parameters:
  3435        - explode: false
  3436          in: path
  3437          name: repository
  3438          required: true
  3439          schema:
  3440            type: string
  3441          style: simple
  3442        requestBody:
  3443          content:
  3444            application/json:
  3445              schema:
  3446                $ref: '#/components/schemas/CommitRecordCreation'
  3447          required: true
  3448        responses:
  3449          "204":
  3450            description: commit record created
  3451          "400":
  3452            content:
  3453              application/json:
  3454                schema:
  3455                  $ref: '#/components/schemas/Error'
  3456            description: Validation Error
  3457          "401":
  3458            content:
  3459              application/json:
  3460                schema:
  3461                  $ref: '#/components/schemas/Error'
  3462            description: Unauthorized
  3463          "403":
  3464            content:
  3465              application/json:
  3466                schema:
  3467                  $ref: '#/components/schemas/Error'
  3468            description: Forbidden
  3469          "404":
  3470            content:
  3471              application/json:
  3472                schema:
  3473                  $ref: '#/components/schemas/Error'
  3474            description: Resource Not Found
  3475          "420":
  3476            description: too many requests
  3477          default:
  3478            content:
  3479              application/json:
  3480                schema:
  3481                  $ref: '#/components/schemas/Error'
  3482            description: Internal Server Error
  3483        summary: create commit record
  3484        tags:
  3485        - internal
  3486        x-contentType: application/json
  3487        x-accepts: application/json
  3488    /repositories/{repository}/branches/{branch}:
  3489      delete:
  3490        operationId: deleteBranch
  3491        parameters:
  3492        - explode: false
  3493          in: path
  3494          name: repository
  3495          required: true
  3496          schema:
  3497            type: string
  3498          style: simple
  3499        - explode: false
  3500          in: path
  3501          name: branch
  3502          required: true
  3503          schema:
  3504            type: string
  3505          style: simple
  3506        - explode: true
  3507          in: query
  3508          name: force
  3509          required: false
  3510          schema:
  3511            default: false
  3512            type: boolean
  3513          style: form
  3514        responses:
  3515          "204":
  3516            description: branch deleted successfully
  3517          "401":
  3518            content:
  3519              application/json:
  3520                schema:
  3521                  $ref: '#/components/schemas/Error'
  3522            description: Unauthorized
  3523          "403":
  3524            content:
  3525              application/json:
  3526                schema:
  3527                  $ref: '#/components/schemas/Error'
  3528            description: Forbidden
  3529          "404":
  3530            content:
  3531              application/json:
  3532                schema:
  3533                  $ref: '#/components/schemas/Error'
  3534            description: Resource Not Found
  3535          "420":
  3536            description: too many requests
  3537          default:
  3538            content:
  3539              application/json:
  3540                schema:
  3541                  $ref: '#/components/schemas/Error'
  3542            description: Internal Server Error
  3543        summary: delete branch
  3544        tags:
  3545        - branches
  3546        x-accepts: application/json
  3547      get:
  3548        operationId: getBranch
  3549        parameters:
  3550        - explode: false
  3551          in: path
  3552          name: repository
  3553          required: true
  3554          schema:
  3555            type: string
  3556          style: simple
  3557        - explode: false
  3558          in: path
  3559          name: branch
  3560          required: true
  3561          schema:
  3562            type: string
  3563          style: simple
  3564        responses:
  3565          "200":
  3566            content:
  3567              application/json:
  3568                schema:
  3569                  $ref: '#/components/schemas/Ref'
  3570            description: branch
  3571          "401":
  3572            content:
  3573              application/json:
  3574                schema:
  3575                  $ref: '#/components/schemas/Error'
  3576            description: Unauthorized
  3577          "404":
  3578            content:
  3579              application/json:
  3580                schema:
  3581                  $ref: '#/components/schemas/Error'
  3582            description: Resource Not Found
  3583          "420":
  3584            description: too many requests
  3585          default:
  3586            content:
  3587              application/json:
  3588                schema:
  3589                  $ref: '#/components/schemas/Error'
  3590            description: Internal Server Error
  3591        summary: get branch
  3592        tags:
  3593        - branches
  3594        x-accepts: application/json
  3595      put:
  3596        operationId: resetBranch
  3597        parameters:
  3598        - explode: false
  3599          in: path
  3600          name: repository
  3601          required: true
  3602          schema:
  3603            type: string
  3604          style: simple
  3605        - explode: false
  3606          in: path
  3607          name: branch
  3608          required: true
  3609          schema:
  3610            type: string
  3611          style: simple
  3612        requestBody:
  3613          content:
  3614            application/json:
  3615              schema:
  3616                $ref: '#/components/schemas/ResetCreation'
  3617          required: true
  3618        responses:
  3619          "204":
  3620            description: reset successful
  3621          "400":
  3622            content:
  3623              application/json:
  3624                schema:
  3625                  $ref: '#/components/schemas/Error'
  3626            description: Bad Request
  3627          "401":
  3628            content:
  3629              application/json:
  3630                schema:
  3631                  $ref: '#/components/schemas/Error'
  3632            description: Unauthorized
  3633          "403":
  3634            content:
  3635              application/json:
  3636                schema:
  3637                  $ref: '#/components/schemas/Error'
  3638            description: Forbidden
  3639          "404":
  3640            content:
  3641              application/json:
  3642                schema:
  3643                  $ref: '#/components/schemas/Error'
  3644            description: Resource Not Found
  3645          "420":
  3646            description: too many requests
  3647          default:
  3648            content:
  3649              application/json:
  3650                schema:
  3651                  $ref: '#/components/schemas/Error'
  3652            description: Internal Server Error
  3653        summary: reset branch
  3654        tags:
  3655        - branches
  3656        x-contentType: application/json
  3657        x-accepts: application/json
  3658    /repositories/{repository}/branches/{branch}/hard_reset:
  3659      put:
  3660        description: Relocate branch to refer to ref.  Branch must not contain uncommitted
  3661          data.
  3662        operationId: hardResetBranch
  3663        parameters:
  3664        - explode: false
  3665          in: path
  3666          name: repository
  3667          required: true
  3668          schema:
  3669            type: string
  3670          style: simple
  3671        - explode: false
  3672          in: path
  3673          name: branch
  3674          required: true
  3675          schema:
  3676            type: string
  3677          style: simple
  3678        - description: After reset, branch will point at this reference.
  3679          explode: true
  3680          in: query
  3681          name: ref
  3682          required: true
  3683          schema:
  3684            type: string
  3685          style: form
  3686        - explode: true
  3687          in: query
  3688          name: force
  3689          required: false
  3690          schema:
  3691            default: false
  3692            type: boolean
  3693          style: form
  3694        responses:
  3695          "204":
  3696            description: reset successful
  3697          "400":
  3698            content:
  3699              application/json:
  3700                schema:
  3701                  $ref: '#/components/schemas/Error'
  3702            description: Bad Request
  3703          "401":
  3704            content:
  3705              application/json:
  3706                schema:
  3707                  $ref: '#/components/schemas/Error'
  3708            description: Unauthorized
  3709          "403":
  3710            content:
  3711              application/json:
  3712                schema:
  3713                  $ref: '#/components/schemas/Error'
  3714            description: Forbidden
  3715          "404":
  3716            content:
  3717              application/json:
  3718                schema:
  3719                  $ref: '#/components/schemas/Error'
  3720            description: Resource Not Found
  3721          "420":
  3722            description: too many requests
  3723          default:
  3724            content:
  3725              application/json:
  3726                schema:
  3727                  $ref: '#/components/schemas/Error'
  3728            description: Internal Server Error
  3729        summary: hard reset branch
  3730        tags:
  3731        - experimental
  3732        x-accepts: application/json
  3733    /repositories/{repository}/branches/{branch}/revert:
  3734      post:
  3735        operationId: revertBranch
  3736        parameters:
  3737        - explode: false
  3738          in: path
  3739          name: repository
  3740          required: true
  3741          schema:
  3742            type: string
  3743          style: simple
  3744        - explode: false
  3745          in: path
  3746          name: branch
  3747          required: true
  3748          schema:
  3749            type: string
  3750          style: simple
  3751        requestBody:
  3752          content:
  3753            application/json:
  3754              schema:
  3755                $ref: '#/components/schemas/RevertCreation'
  3756          required: true
  3757        responses:
  3758          "204":
  3759            description: revert successful
  3760          "400":
  3761            content:
  3762              application/json:
  3763                schema:
  3764                  $ref: '#/components/schemas/Error'
  3765            description: Validation Error
  3766          "401":
  3767            content:
  3768              application/json:
  3769                schema:
  3770                  $ref: '#/components/schemas/Error'
  3771            description: Unauthorized
  3772          "403":
  3773            content:
  3774              application/json:
  3775                schema:
  3776                  $ref: '#/components/schemas/Error'
  3777            description: Forbidden
  3778          "404":
  3779            content:
  3780              application/json:
  3781                schema:
  3782                  $ref: '#/components/schemas/Error'
  3783            description: Resource Not Found
  3784          "409":
  3785            content:
  3786              application/json:
  3787                schema:
  3788                  $ref: '#/components/schemas/Error'
  3789            description: Conflict Found
  3790          "420":
  3791            description: too many requests
  3792          default:
  3793            content:
  3794              application/json:
  3795                schema:
  3796                  $ref: '#/components/schemas/Error'
  3797            description: Internal Server Error
  3798        summary: revert
  3799        tags:
  3800        - branches
  3801        x-contentType: application/json
  3802        x-accepts: application/json
  3803    /repositories/{repository}/branches/{branch}/cherry-pick:
  3804      post:
  3805        operationId: cherryPick
  3806        parameters:
  3807        - explode: false
  3808          in: path
  3809          name: repository
  3810          required: true
  3811          schema:
  3812            type: string
  3813          style: simple
  3814        - explode: false
  3815          in: path
  3816          name: branch
  3817          required: true
  3818          schema:
  3819            type: string
  3820          style: simple
  3821        requestBody:
  3822          content:
  3823            application/json:
  3824              schema:
  3825                $ref: '#/components/schemas/CherryPickCreation'
  3826          required: true
  3827        responses:
  3828          "201":
  3829            content:
  3830              application/json:
  3831                schema:
  3832                  $ref: '#/components/schemas/Commit'
  3833            description: the cherry-pick commit
  3834          "400":
  3835            content:
  3836              application/json:
  3837                schema:
  3838                  $ref: '#/components/schemas/Error'
  3839            description: Validation Error
  3840          "401":
  3841            content:
  3842              application/json:
  3843                schema:
  3844                  $ref: '#/components/schemas/Error'
  3845            description: Unauthorized
  3846          "403":
  3847            content:
  3848              application/json:
  3849                schema:
  3850                  $ref: '#/components/schemas/Error'
  3851            description: Forbidden
  3852          "404":
  3853            content:
  3854              application/json:
  3855                schema:
  3856                  $ref: '#/components/schemas/Error'
  3857            description: Resource Not Found
  3858          "409":
  3859            content:
  3860              application/json:
  3861                schema:
  3862                  $ref: '#/components/schemas/Error'
  3863            description: Conflict Found
  3864          "420":
  3865            description: too many requests
  3866          default:
  3867            content:
  3868              application/json:
  3869                schema:
  3870                  $ref: '#/components/schemas/Error'
  3871            description: Internal Server Error
  3872        summary: Replay the changes from the given commit on the branch
  3873        tags:
  3874        - branches
  3875        x-contentType: application/json
  3876        x-accepts: application/json
  3877    /repositories/{repository}/refs/{sourceRef}/merge/{destinationBranch}:
  3878      get:
  3879        operationId: findMergeBase
  3880        parameters:
  3881        - explode: false
  3882          in: path
  3883          name: repository
  3884          required: true
  3885          schema:
  3886            type: string
  3887          style: simple
  3888        - description: source ref
  3889          explode: false
  3890          in: path
  3891          name: sourceRef
  3892          required: true
  3893          schema:
  3894            type: string
  3895          style: simple
  3896        - description: destination branch name
  3897          explode: false
  3898          in: path
  3899          name: destinationBranch
  3900          required: true
  3901          schema:
  3902            type: string
  3903          style: simple
  3904        responses:
  3905          "200":
  3906            content:
  3907              application/json:
  3908                schema:
  3909                  $ref: '#/components/schemas/FindMergeBaseResult'
  3910            description: Found the merge base
  3911          "400":
  3912            content:
  3913              application/json:
  3914                schema:
  3915                  $ref: '#/components/schemas/Error'
  3916            description: Validation Error
  3917          "401":
  3918            content:
  3919              application/json:
  3920                schema:
  3921                  $ref: '#/components/schemas/Error'
  3922            description: Unauthorized
  3923          "404":
  3924            content:
  3925              application/json:
  3926                schema:
  3927                  $ref: '#/components/schemas/Error'
  3928            description: Resource Not Found
  3929          "420":
  3930            description: too many requests
  3931          default:
  3932            content:
  3933              application/json:
  3934                schema:
  3935                  $ref: '#/components/schemas/Error'
  3936            description: Internal Server Error
  3937        summary: find the merge base for 2 references
  3938        tags:
  3939        - refs
  3940        x-accepts: application/json
  3941      post:
  3942        operationId: mergeIntoBranch
  3943        parameters:
  3944        - explode: false
  3945          in: path
  3946          name: repository
  3947          required: true
  3948          schema:
  3949            type: string
  3950          style: simple
  3951        - description: source ref
  3952          explode: false
  3953          in: path
  3954          name: sourceRef
  3955          required: true
  3956          schema:
  3957            type: string
  3958          style: simple
  3959        - description: destination branch name
  3960          explode: false
  3961          in: path
  3962          name: destinationBranch
  3963          required: true
  3964          schema:
  3965            type: string
  3966          style: simple
  3967        requestBody:
  3968          content:
  3969            application/json:
  3970              schema:
  3971                $ref: '#/components/schemas/Merge'
  3972        responses:
  3973          "200":
  3974            content:
  3975              application/json:
  3976                schema:
  3977                  $ref: '#/components/schemas/MergeResult'
  3978            description: merge completed
  3979          "400":
  3980            content:
  3981              application/json:
  3982                schema:
  3983                  $ref: '#/components/schemas/Error'
  3984            description: Validation Error
  3985          "401":
  3986            content:
  3987              application/json:
  3988                schema:
  3989                  $ref: '#/components/schemas/Error'
  3990            description: Unauthorized
  3991          "403":
  3992            content:
  3993              application/json:
  3994                schema:
  3995                  $ref: '#/components/schemas/Error'
  3996            description: Forbidden
  3997          "404":
  3998            content:
  3999              application/json:
  4000                schema:
  4001                  $ref: '#/components/schemas/Error'
  4002            description: Resource Not Found
  4003          "409":
  4004            content:
  4005              application/json:
  4006                schema:
  4007                  $ref: '#/components/schemas/MergeResult'
  4008            description: |
  4009              Conflict
  4010              Deprecated: content schema will return Error format and not an empty MergeResult
  4011          "412":
  4012            content:
  4013              application/json:
  4014                schema:
  4015                  $ref: '#/components/schemas/Error'
  4016            description: precondition failed (e.g. a pre-merge hook returned a failure)
  4017          "420":
  4018            description: too many requests
  4019          default:
  4020            content:
  4021              application/json:
  4022                schema:
  4023                  $ref: '#/components/schemas/Error'
  4024            description: Internal Server Error
  4025        summary: merge references
  4026        tags:
  4027        - refs
  4028        x-contentType: application/json
  4029        x-accepts: application/json
  4030    /repositories/{repository}/branches/{branch}/diff:
  4031      get:
  4032        operationId: diffBranch
  4033        parameters:
  4034        - description: return items after this value
  4035          explode: true
  4036          in: query
  4037          name: after
  4038          required: false
  4039          schema:
  4040            type: string
  4041          style: form
  4042        - description: how many items to return
  4043          explode: true
  4044          in: query
  4045          name: amount
  4046          required: false
  4047          schema:
  4048            default: 100
  4049            maximum: 1000
  4050            minimum: -1
  4051            type: integer
  4052          style: form
  4053        - description: return items prefixed with this value
  4054          explode: true
  4055          in: query
  4056          name: prefix
  4057          required: false
  4058          schema:
  4059            type: string
  4060          style: form
  4061        - description: delimiter used to group common prefixes by
  4062          explode: true
  4063          in: query
  4064          name: delimiter
  4065          required: false
  4066          schema:
  4067            type: string
  4068          style: form
  4069        - explode: false
  4070          in: path
  4071          name: repository
  4072          required: true
  4073          schema:
  4074            type: string
  4075          style: simple
  4076        - explode: false
  4077          in: path
  4078          name: branch
  4079          required: true
  4080          schema:
  4081            type: string
  4082          style: simple
  4083        responses:
  4084          "200":
  4085            content:
  4086              application/json:
  4087                schema:
  4088                  $ref: '#/components/schemas/DiffList'
  4089            description: diff of branch uncommitted changes
  4090          "401":
  4091            content:
  4092              application/json:
  4093                schema:
  4094                  $ref: '#/components/schemas/Error'
  4095            description: Unauthorized
  4096          "404":
  4097            content:
  4098              application/json:
  4099                schema:
  4100                  $ref: '#/components/schemas/Error'
  4101            description: Resource Not Found
  4102          "420":
  4103            description: too many requests
  4104          default:
  4105            content:
  4106              application/json:
  4107                schema:
  4108                  $ref: '#/components/schemas/Error'
  4109            description: Internal Server Error
  4110        summary: diff branch
  4111        tags:
  4112        - branches
  4113        x-accepts: application/json
  4114    /repositories/{repository}/refs/{leftRef}/diff/{rightRef}:
  4115      get:
  4116        operationId: diffRefs
  4117        parameters:
  4118        - explode: false
  4119          in: path
  4120          name: repository
  4121          required: true
  4122          schema:
  4123            type: string
  4124          style: simple
  4125        - description: a reference (could be either a branch or a commit ID)
  4126          explode: false
  4127          in: path
  4128          name: leftRef
  4129          required: true
  4130          schema:
  4131            type: string
  4132          style: simple
  4133        - description: a reference (could be either a branch or a commit ID) to compare
  4134            against
  4135          explode: false
  4136          in: path
  4137          name: rightRef
  4138          required: true
  4139          schema:
  4140            type: string
  4141          style: simple
  4142        - description: return items after this value
  4143          explode: true
  4144          in: query
  4145          name: after
  4146          required: false
  4147          schema:
  4148            type: string
  4149          style: form
  4150        - description: how many items to return
  4151          explode: true
  4152          in: query
  4153          name: amount
  4154          required: false
  4155          schema:
  4156            default: 100
  4157            maximum: 1000
  4158            minimum: -1
  4159            type: integer
  4160          style: form
  4161        - description: return items prefixed with this value
  4162          explode: true
  4163          in: query
  4164          name: prefix
  4165          required: false
  4166          schema:
  4167            type: string
  4168          style: form
  4169        - description: delimiter used to group common prefixes by
  4170          explode: true
  4171          in: query
  4172          name: delimiter
  4173          required: false
  4174          schema:
  4175            type: string
  4176          style: form
  4177        - explode: true
  4178          in: query
  4179          name: type
  4180          required: false
  4181          schema:
  4182            default: three_dot
  4183            enum:
  4184            - two_dot
  4185            - three_dot
  4186            type: string
  4187          style: form
  4188        responses:
  4189          "200":
  4190            content:
  4191              application/json:
  4192                schema:
  4193                  $ref: '#/components/schemas/DiffList'
  4194            description: diff between refs
  4195          "401":
  4196            content:
  4197              application/json:
  4198                schema:
  4199                  $ref: '#/components/schemas/Error'
  4200            description: Unauthorized
  4201          "404":
  4202            content:
  4203              application/json:
  4204                schema:
  4205                  $ref: '#/components/schemas/Error'
  4206            description: Resource Not Found
  4207          "420":
  4208            description: too many requests
  4209          default:
  4210            content:
  4211              application/json:
  4212                schema:
  4213                  $ref: '#/components/schemas/Error'
  4214            description: Internal Server Error
  4215        summary: diff references
  4216        tags:
  4217        - refs
  4218        x-accepts: application/json
  4219    /repositories/{repository}/commits/{commitId}:
  4220      get:
  4221        operationId: getCommit
  4222        parameters:
  4223        - explode: false
  4224          in: path
  4225          name: repository
  4226          required: true
  4227          schema:
  4228            type: string
  4229          style: simple
  4230        - explode: false
  4231          in: path
  4232          name: commitId
  4233          required: true
  4234          schema:
  4235            type: string
  4236          style: simple
  4237        responses:
  4238          "200":
  4239            content:
  4240              application/json:
  4241                schema:
  4242                  $ref: '#/components/schemas/Commit'
  4243            description: commit
  4244          "401":
  4245            content:
  4246              application/json:
  4247                schema:
  4248                  $ref: '#/components/schemas/Error'
  4249            description: Unauthorized
  4250          "404":
  4251            content:
  4252              application/json:
  4253                schema:
  4254                  $ref: '#/components/schemas/Error'
  4255            description: Resource Not Found
  4256          "420":
  4257            description: too many requests
  4258          default:
  4259            content:
  4260              application/json:
  4261                schema:
  4262                  $ref: '#/components/schemas/Error'
  4263            description: Internal Server Error
  4264        summary: get commit
  4265        tags:
  4266        - commits
  4267        x-accepts: application/json
  4268    /repositories/{repository}/refs/{ref}/objects:
  4269      get:
  4270        operationId: getObject
  4271        parameters:
  4272        - explode: false
  4273          in: path
  4274          name: repository
  4275          required: true
  4276          schema:
  4277            type: string
  4278          style: simple
  4279        - description: a reference (could be either a branch or a commit ID)
  4280          explode: false
  4281          in: path
  4282          name: ref
  4283          required: true
  4284          schema:
  4285            type: string
  4286          style: simple
  4287        - description: relative to the ref
  4288          explode: true
  4289          in: query
  4290          name: path
  4291          required: true
  4292          schema:
  4293            type: string
  4294          style: form
  4295        - description: Byte range to retrieve
  4296          example: bytes=0-1023
  4297          explode: false
  4298          in: header
  4299          name: Range
  4300          required: false
  4301          schema:
  4302            pattern: ^bytes=((\d*-\d*,? ?)+)$
  4303            type: string
  4304          style: simple
  4305        - description: Returns response only if the object does not have a matching
  4306            ETag
  4307          example: 33a64df551425fcc55e4d42a148795d9f25f89d4
  4308          explode: false
  4309          in: header
  4310          name: If-None-Match
  4311          required: false
  4312          schema:
  4313            type: string
  4314          style: simple
  4315        - explode: true
  4316          in: query
  4317          name: presign
  4318          required: false
  4319          schema:
  4320            type: boolean
  4321          style: form
  4322        responses:
  4323          "200":
  4324            content:
  4325              application/octet-stream:
  4326                schema:
  4327                  format: binary
  4328                  type: string
  4329            description: object content
  4330            headers:
  4331              Content-Length:
  4332                explode: false
  4333                schema:
  4334                  format: int64
  4335                  type: integer
  4336                style: simple
  4337              Last-Modified:
  4338                explode: false
  4339                schema:
  4340                  type: string
  4341                style: simple
  4342              ETag:
  4343                explode: false
  4344                schema:
  4345                  type: string
  4346                style: simple
  4347          "206":
  4348            content:
  4349              application/octet-stream:
  4350                schema:
  4351                  format: binary
  4352                  type: string
  4353            description: partial object content
  4354            headers:
  4355              Content-Length:
  4356                explode: false
  4357                schema:
  4358                  format: int64
  4359                  type: integer
  4360                style: simple
  4361              Content-Range:
  4362                explode: false
  4363                schema:
  4364                  pattern: ^bytes=((\d*-\d*,? ?)+)$
  4365                  type: string
  4366                style: simple
  4367              Last-Modified:
  4368                explode: false
  4369                schema:
  4370                  type: string
  4371                style: simple
  4372              ETag:
  4373                explode: false
  4374                schema:
  4375                  type: string
  4376                style: simple
  4377          "302":
  4378            description: Redirect to a pre-signed URL for the object
  4379            headers:
  4380              Location:
  4381                explode: false
  4382                schema:
  4383                  type: string
  4384                style: simple
  4385          "304":
  4386            description: Content not modified
  4387          "401":
  4388            content:
  4389              application/json:
  4390                schema:
  4391                  $ref: '#/components/schemas/Error'
  4392            description: Unauthorized
  4393          "404":
  4394            content:
  4395              application/json:
  4396                schema:
  4397                  $ref: '#/components/schemas/Error'
  4398            description: Resource Not Found
  4399          "410":
  4400            content:
  4401              application/json:
  4402                schema:
  4403                  $ref: '#/components/schemas/Error'
  4404            description: object expired
  4405          "416":
  4406            content:
  4407              application/json:
  4408                schema:
  4409                  $ref: '#/components/schemas/Error'
  4410            description: Requested Range Not Satisfiable
  4411          "420":
  4412            description: too many requests
  4413          default:
  4414            content:
  4415              application/json:
  4416                schema:
  4417                  $ref: '#/components/schemas/Error'
  4418            description: Internal Server Error
  4419        summary: get object content
  4420        tags:
  4421        - objects
  4422        x-accepts: application/json
  4423      head:
  4424        operationId: headObject
  4425        parameters:
  4426        - explode: false
  4427          in: path
  4428          name: repository
  4429          required: true
  4430          schema:
  4431            type: string
  4432          style: simple
  4433        - description: a reference (could be either a branch or a commit ID)
  4434          explode: false
  4435          in: path
  4436          name: ref
  4437          required: true
  4438          schema:
  4439            type: string
  4440          style: simple
  4441        - description: relative to the ref
  4442          explode: true
  4443          in: query
  4444          name: path
  4445          required: true
  4446          schema:
  4447            type: string
  4448          style: form
  4449        - description: Byte range to retrieve
  4450          example: bytes=0-1023
  4451          explode: false
  4452          in: header
  4453          name: Range
  4454          required: false
  4455          schema:
  4456            pattern: ^bytes=((\d*-\d*,? ?)+)$
  4457            type: string
  4458          style: simple
  4459        responses:
  4460          "200":
  4461            description: object exists
  4462            headers:
  4463              Content-Length:
  4464                explode: false
  4465                schema:
  4466                  format: int64
  4467                  type: integer
  4468                style: simple
  4469              Last-Modified:
  4470                explode: false
  4471                schema:
  4472                  type: string
  4473                style: simple
  4474              ETag:
  4475                explode: false
  4476                schema:
  4477                  type: string
  4478                style: simple
  4479          "206":
  4480            description: partial object content info
  4481            headers:
  4482              Content-Length:
  4483                explode: false
  4484                schema:
  4485                  format: int64
  4486                  type: integer
  4487                style: simple
  4488              Content-Range:
  4489                explode: false
  4490                schema:
  4491                  pattern: ^bytes=((\d*-\d*,? ?)+)$
  4492                  type: string
  4493                style: simple
  4494              Last-Modified:
  4495                explode: false
  4496                schema:
  4497                  type: string
  4498                style: simple
  4499              ETag:
  4500                explode: false
  4501                schema:
  4502                  type: string
  4503                style: simple
  4504          "401":
  4505            description: Unauthorized
  4506          "404":
  4507            description: object not found
  4508          "410":
  4509            description: object expired
  4510          "416":
  4511            description: Requested Range Not Satisfiable
  4512          "420":
  4513            description: too many requests
  4514          default:
  4515            description: internal server error
  4516        summary: check if object exists
  4517        tags:
  4518        - objects
  4519        x-accepts: application/json
  4520    /repositories/{repository}/branches/{branch}/staging/pmpu:
  4521      post:
  4522        description: |
  4523          Initiates a multipart upload and returns an upload ID with presigned URLs for each part (optional).
  4524          Part numbers starts with 1. Each part except the last one has minimum size depends on the underlying blockstore implementation.
  4525          For example working with S3 blockstore, minimum size is 5MB (excluding the last part).
  4526        operationId: createPresignMultipartUpload
  4527        parameters:
  4528        - explode: false
  4529          in: path
  4530          name: repository
  4531          required: true
  4532          schema:
  4533            type: string
  4534          style: simple
  4535        - explode: false
  4536          in: path
  4537          name: branch
  4538          required: true
  4539          schema:
  4540            type: string
  4541          style: simple
  4542        - description: relative to the branch
  4543          explode: true
  4544          in: query
  4545          name: path
  4546          required: true
  4547          schema:
  4548            type: string
  4549          style: form
  4550        - description: number of presigned URL parts required to upload
  4551          explode: true
  4552          in: query
  4553          name: parts
  4554          required: false
  4555          schema:
  4556            type: integer
  4557          style: form
  4558        responses:
  4559          "201":
  4560            content:
  4561              application/json:
  4562                schema:
  4563                  $ref: '#/components/schemas/PresignMultipartUpload'
  4564            description: Presign multipart upload initiated
  4565          "400":
  4566            content:
  4567              application/json:
  4568                schema:
  4569                  $ref: '#/components/schemas/Error'
  4570            description: Bad Request
  4571          "401":
  4572            content:
  4573              application/json:
  4574                schema:
  4575                  $ref: '#/components/schemas/Error'
  4576            description: Unauthorized
  4577          "404":
  4578            content:
  4579              application/json:
  4580                schema:
  4581                  $ref: '#/components/schemas/Error'
  4582            description: Resource Not Found
  4583          "420":
  4584            description: too many requests
  4585          default:
  4586            content:
  4587              application/json:
  4588                schema:
  4589                  $ref: '#/components/schemas/Error'
  4590            description: Internal Server Error
  4591        summary: Initiate a multipart upload
  4592        tags:
  4593        - experimental
  4594        x-accepts: application/json
  4595    /repositories/{repository}/branches/{branch}/staging/pmpu/{uploadId}:
  4596      delete:
  4597        description: Aborts a presign multipart upload.
  4598        operationId: abortPresignMultipartUpload
  4599        parameters:
  4600        - explode: false
  4601          in: path
  4602          name: repository
  4603          required: true
  4604          schema:
  4605            type: string
  4606          style: simple
  4607        - explode: false
  4608          in: path
  4609          name: branch
  4610          required: true
  4611          schema:
  4612            type: string
  4613          style: simple
  4614        - explode: false
  4615          in: path
  4616          name: uploadId
  4617          required: true
  4618          schema:
  4619            type: string
  4620          style: simple
  4621        - description: relative to the branch
  4622          explode: true
  4623          in: query
  4624          name: path
  4625          required: true
  4626          schema:
  4627            type: string
  4628          style: form
  4629        requestBody:
  4630          content:
  4631            application/json:
  4632              schema:
  4633                $ref: '#/components/schemas/AbortPresignMultipartUpload'
  4634        responses:
  4635          "204":
  4636            description: Presign multipart upload aborted
  4637          "400":
  4638            content:
  4639              application/json:
  4640                schema:
  4641                  $ref: '#/components/schemas/Error'
  4642            description: Bad Request
  4643          "401":
  4644            content:
  4645              application/json:
  4646                schema:
  4647                  $ref: '#/components/schemas/Error'
  4648            description: Unauthorized
  4649          "404":
  4650            content:
  4651              application/json:
  4652                schema:
  4653                  $ref: '#/components/schemas/Error'
  4654            description: Resource Not Found
  4655          "420":
  4656            description: too many requests
  4657          default:
  4658            content:
  4659              application/json:
  4660                schema:
  4661                  $ref: '#/components/schemas/Error'
  4662            description: Internal Server Error
  4663        summary: Abort a presign multipart upload
  4664        tags:
  4665        - experimental
  4666        x-contentType: application/json
  4667        x-accepts: application/json
  4668      put:
  4669        description: Completes a presign multipart upload by assembling the uploaded
  4670          parts.
  4671        operationId: completePresignMultipartUpload
  4672        parameters:
  4673        - explode: false
  4674          in: path
  4675          name: repository
  4676          required: true
  4677          schema:
  4678            type: string
  4679          style: simple
  4680        - explode: false
  4681          in: path
  4682          name: branch
  4683          required: true
  4684          schema:
  4685            type: string
  4686          style: simple
  4687        - explode: false
  4688          in: path
  4689          name: uploadId
  4690          required: true
  4691          schema:
  4692            type: string
  4693          style: simple
  4694        - description: relative to the branch
  4695          explode: true
  4696          in: query
  4697          name: path
  4698          required: true
  4699          schema:
  4700            type: string
  4701          style: form
  4702        requestBody:
  4703          content:
  4704            application/json:
  4705              schema:
  4706                $ref: '#/components/schemas/CompletePresignMultipartUpload'
  4707        responses:
  4708          "200":
  4709            content:
  4710              application/json:
  4711                schema:
  4712                  $ref: '#/components/schemas/ObjectStats'
  4713            description: Presign multipart upload completed
  4714          "400":
  4715            content:
  4716              application/json:
  4717                schema:
  4718                  $ref: '#/components/schemas/Error'
  4719            description: Bad Request
  4720          "401":
  4721            content:
  4722              application/json:
  4723                schema:
  4724                  $ref: '#/components/schemas/Error'
  4725            description: Unauthorized
  4726          "404":
  4727            content:
  4728              application/json:
  4729                schema:
  4730                  $ref: '#/components/schemas/Error'
  4731            description: Resource Not Found
  4732          "409":
  4733            content:
  4734              application/json:
  4735                schema:
  4736                  $ref: '#/components/schemas/StagingLocation'
  4737            description: conflict with a commit, try here
  4738          "420":
  4739            description: too many requests
  4740          default:
  4741            content:
  4742              application/json:
  4743                schema:
  4744                  $ref: '#/components/schemas/Error'
  4745            description: Internal Server Error
  4746        summary: Complete a presign multipart upload request
  4747        tags:
  4748        - experimental
  4749        x-contentType: application/json
  4750        x-accepts: application/json
  4751    /repositories/{repository}/branches/{branch}/staging/backing:
  4752      get:
  4753        operationId: getPhysicalAddress
  4754        parameters:
  4755        - explode: false
  4756          in: path
  4757          name: repository
  4758          required: true
  4759          schema:
  4760            type: string
  4761          style: simple
  4762        - explode: false
  4763          in: path
  4764          name: branch
  4765          required: true
  4766          schema:
  4767            type: string
  4768          style: simple
  4769        - description: relative to the branch
  4770          explode: true
  4771          in: query
  4772          name: path
  4773          required: true
  4774          schema:
  4775            type: string
  4776          style: form
  4777        - explode: true
  4778          in: query
  4779          name: presign
  4780          required: false
  4781          schema:
  4782            type: boolean
  4783          style: form
  4784        responses:
  4785          "200":
  4786            content:
  4787              application/json:
  4788                schema:
  4789                  $ref: '#/components/schemas/StagingLocation'
  4790            description: physical address for staging area
  4791          "401":
  4792            content:
  4793              application/json:
  4794                schema:
  4795                  $ref: '#/components/schemas/Error'
  4796            description: Unauthorized
  4797          "404":
  4798            content:
  4799              application/json:
  4800                schema:
  4801                  $ref: '#/components/schemas/Error'
  4802            description: Resource Not Found
  4803          "420":
  4804            description: too many requests
  4805          default:
  4806            content:
  4807              application/json:
  4808                schema:
  4809                  $ref: '#/components/schemas/Error'
  4810            description: Internal Server Error
  4811        summary: generate an address to which the client can upload an object
  4812        tags:
  4813        - staging
  4814        x-accepts: application/json
  4815      put:
  4816        description: |
  4817          Link the physical address with the path in lakeFS, creating an uncommitted change.
  4818          The given address can be one generated by getPhysicalAddress, or an address outside the repository's storage namespace.
  4819        operationId: linkPhysicalAddress
  4820        parameters:
  4821        - explode: false
  4822          in: path
  4823          name: repository
  4824          required: true
  4825          schema:
  4826            type: string
  4827          style: simple
  4828        - explode: false
  4829          in: path
  4830          name: branch
  4831          required: true
  4832          schema:
  4833            type: string
  4834          style: simple
  4835        - description: relative to the branch
  4836          explode: true
  4837          in: query
  4838          name: path
  4839          required: true
  4840          schema:
  4841            type: string
  4842          style: form
  4843        - description: Set to "*" to atomically allow the upload only if the key has
  4844            no object yet. Other values are not supported.
  4845          example: '*'
  4846          explode: false
  4847          in: header
  4848          name: If-None-Match
  4849          required: false
  4850          schema:
  4851            type: string
  4852          style: simple
  4853        requestBody:
  4854          content:
  4855            application/json:
  4856              schema:
  4857                $ref: '#/components/schemas/StagingMetadata'
  4858          required: true
  4859        responses:
  4860          "200":
  4861            content:
  4862              application/json:
  4863                schema:
  4864                  $ref: '#/components/schemas/ObjectStats'
  4865            description: object metadata
  4866          "400":
  4867            content:
  4868              application/json:
  4869                schema:
  4870                  $ref: '#/components/schemas/Error'
  4871            description: Validation Error
  4872          "401":
  4873            content:
  4874              application/json:
  4875                schema:
  4876                  $ref: '#/components/schemas/Error'
  4877            description: Unauthorized
  4878          "403":
  4879            content:
  4880              application/json:
  4881                schema:
  4882                  $ref: '#/components/schemas/Error'
  4883            description: Forbidden
  4884          "404":
  4885            content:
  4886              application/json:
  4887                schema:
  4888                  $ref: '#/components/schemas/Error'
  4889            description: Internal Server Error
  4890          "409":
  4891            content:
  4892              application/json:
  4893                schema:
  4894                  $ref: '#/components/schemas/StagingLocation'
  4895            description: conflict with a commit, try here
  4896          "412":
  4897            content:
  4898              application/json:
  4899                schema:
  4900                  $ref: '#/components/schemas/Error'
  4901            description: Precondition Failed
  4902          "420":
  4903            description: too many requests
  4904          default:
  4905            content:
  4906              application/json:
  4907                schema:
  4908                  $ref: '#/components/schemas/Error'
  4909            description: Internal Server Error
  4910        summary: associate staging on this physical address with a path
  4911        tags:
  4912        - staging
  4913        x-contentType: application/json
  4914        x-accepts: application/json
  4915    /repositories/{repository}/branches/{branch}/import:
  4916      delete:
  4917        operationId: importCancel
  4918        parameters:
  4919        - explode: false
  4920          in: path
  4921          name: repository
  4922          required: true
  4923          schema:
  4924            type: string
  4925          style: simple
  4926        - explode: false
  4927          in: path
  4928          name: branch
  4929          required: true
  4930          schema:
  4931            type: string
  4932          style: simple
  4933        - description: Unique identifier of the import process
  4934          explode: true
  4935          in: query
  4936          name: id
  4937          required: true
  4938          schema:
  4939            type: string
  4940          style: form
  4941        responses:
  4942          "204":
  4943            description: import canceled successfully
  4944          "401":
  4945            content:
  4946              application/json:
  4947                schema:
  4948                  $ref: '#/components/schemas/Error'
  4949            description: Unauthorized
  4950          "403":
  4951            content:
  4952              application/json:
  4953                schema:
  4954                  $ref: '#/components/schemas/Error'
  4955            description: Forbidden
  4956          "404":
  4957            content:
  4958              application/json:
  4959                schema:
  4960                  $ref: '#/components/schemas/Error'
  4961            description: Resource Not Found
  4962          "409":
  4963            content:
  4964              application/json:
  4965                schema:
  4966                  $ref: '#/components/schemas/Error'
  4967            description: Resource Conflicts With Target
  4968          "420":
  4969            description: too many requests
  4970          default:
  4971            content:
  4972              application/json:
  4973                schema:
  4974                  $ref: '#/components/schemas/Error'
  4975            description: Internal Server Error
  4976        summary: cancel ongoing import
  4977        tags:
  4978        - import
  4979        x-accepts: application/json
  4980      get:
  4981        operationId: importStatus
  4982        parameters:
  4983        - explode: false
  4984          in: path
  4985          name: repository
  4986          required: true
  4987          schema:
  4988            type: string
  4989          style: simple
  4990        - explode: false
  4991          in: path
  4992          name: branch
  4993          required: true
  4994          schema:
  4995            type: string
  4996          style: simple
  4997        - description: Unique identifier of the import process
  4998          explode: true
  4999          in: query
  5000          name: id
  5001          required: true
  5002          schema:
  5003            type: string
  5004          style: form
  5005        responses:
  5006          "200":
  5007            content:
  5008              application/json:
  5009                schema:
  5010                  $ref: '#/components/schemas/ImportStatus'
  5011            description: import status
  5012          "401":
  5013            content:
  5014              application/json:
  5015                schema:
  5016                  $ref: '#/components/schemas/Error'
  5017            description: Unauthorized
  5018          "404":
  5019            content:
  5020              application/json:
  5021                schema:
  5022                  $ref: '#/components/schemas/Error'
  5023            description: Resource Not Found
  5024          "420":
  5025            description: too many requests
  5026          default:
  5027            content:
  5028              application/json:
  5029                schema:
  5030                  $ref: '#/components/schemas/Error'
  5031            description: Internal Server Error
  5032        summary: get import status
  5033        tags:
  5034        - import
  5035        x-accepts: application/json
  5036      post:
  5037        operationId: importStart
  5038        parameters:
  5039        - explode: false
  5040          in: path
  5041          name: repository
  5042          required: true
  5043          schema:
  5044            type: string
  5045          style: simple
  5046        - explode: false
  5047          in: path
  5048          name: branch
  5049          required: true
  5050          schema:
  5051            type: string
  5052          style: simple
  5053        requestBody:
  5054          content:
  5055            application/json:
  5056              schema:
  5057                $ref: '#/components/schemas/ImportCreation'
  5058          required: true
  5059        responses:
  5060          "202":
  5061            content:
  5062              application/json:
  5063                schema:
  5064                  $ref: '#/components/schemas/ImportCreationResponse'
  5065            description: Import started
  5066          "400":
  5067            content:
  5068              application/json:
  5069                schema:
  5070                  $ref: '#/components/schemas/Error'
  5071            description: Validation Error
  5072          "401":
  5073            content:
  5074              application/json:
  5075                schema:
  5076                  $ref: '#/components/schemas/Error'
  5077            description: Unauthorized
  5078          "403":
  5079            content:
  5080              application/json:
  5081                schema:
  5082                  $ref: '#/components/schemas/Error'
  5083            description: Forbidden
  5084          "404":
  5085            content:
  5086              application/json:
  5087                schema:
  5088                  $ref: '#/components/schemas/Error'
  5089            description: Resource Not Found
  5090          "420":
  5091            description: too many requests
  5092          default:
  5093            content:
  5094              application/json:
  5095                schema:
  5096                  $ref: '#/components/schemas/Error'
  5097            description: Internal Server Error
  5098        summary: import data from object store
  5099        tags:
  5100        - import
  5101        x-contentType: application/json
  5102        x-accepts: application/json
  5103    /repositories/{repository}/branches/{branch}/objects/stage_allowed:
  5104      get:
  5105        operationId: uploadObjectPreflight
  5106        parameters:
  5107        - explode: false
  5108          in: path
  5109          name: repository
  5110          required: true
  5111          schema:
  5112            type: string
  5113          style: simple
  5114        - explode: false
  5115          in: path
  5116          name: branch
  5117          required: true
  5118          schema:
  5119            type: string
  5120          style: simple
  5121        - description: relative to the branch
  5122          explode: true
  5123          in: query
  5124          name: path
  5125          required: true
  5126          schema:
  5127            type: string
  5128          style: form
  5129        responses:
  5130          "204":
  5131            description: User has permissions to upload this object. This does not guarantee
  5132              that the upload will be successful or even possible. It indicates only
  5133              the permission at the time of calling this endpoint
  5134          "401":
  5135            content:
  5136              application/json:
  5137                schema:
  5138                  $ref: '#/components/schemas/Error'
  5139            description: Unauthorized
  5140          "403":
  5141            content:
  5142              application/json:
  5143                schema:
  5144                  $ref: '#/components/schemas/Error'
  5145            description: Forbidden
  5146          "404":
  5147            content:
  5148              application/json:
  5149                schema:
  5150                  $ref: '#/components/schemas/Error'
  5151            description: Resource Not Found
  5152          "420":
  5153            description: too many requests
  5154          default:
  5155            content:
  5156              application/json:
  5157                schema:
  5158                  $ref: '#/components/schemas/Error'
  5159            description: Internal Server Error
  5160        tags:
  5161        - internal
  5162        x-accepts: application/json
  5163    /repositories/{repository}/branches/{branch}/objects:
  5164      delete:
  5165        operationId: deleteObject
  5166        parameters:
  5167        - explode: false
  5168          in: path
  5169          name: repository
  5170          required: true
  5171          schema:
  5172            type: string
  5173          style: simple
  5174        - explode: false
  5175          in: path
  5176          name: branch
  5177          required: true
  5178          schema:
  5179            type: string
  5180          style: simple
  5181        - description: relative to the branch
  5182          explode: true
  5183          in: query
  5184          name: path
  5185          required: true
  5186          schema:
  5187            type: string
  5188          style: form
  5189        - explode: true
  5190          in: query
  5191          name: force
  5192          required: false
  5193          schema:
  5194            default: false
  5195            type: boolean
  5196          style: form
  5197        responses:
  5198          "204":
  5199            description: object deleted successfully
  5200          "401":
  5201            content:
  5202              application/json:
  5203                schema:
  5204                  $ref: '#/components/schemas/Error'
  5205            description: Unauthorized
  5206          "403":
  5207            content:
  5208              application/json:
  5209                schema:
  5210                  $ref: '#/components/schemas/Error'
  5211            description: Forbidden
  5212          "404":
  5213            content:
  5214              application/json:
  5215                schema:
  5216                  $ref: '#/components/schemas/Error'
  5217            description: Resource Not Found
  5218          "420":
  5219            description: too many requests
  5220          default:
  5221            content:
  5222              application/json:
  5223                schema:
  5224                  $ref: '#/components/schemas/Error'
  5225            description: Internal Server Error
  5226        summary: delete object. Missing objects will not return a NotFound error.
  5227        tags:
  5228        - objects
  5229        x-accepts: application/json
  5230      post:
  5231        operationId: uploadObject
  5232        parameters:
  5233        - explode: false
  5234          in: path
  5235          name: repository
  5236          required: true
  5237          schema:
  5238            type: string
  5239          style: simple
  5240        - explode: false
  5241          in: path
  5242          name: branch
  5243          required: true
  5244          schema:
  5245            type: string
  5246          style: simple
  5247        - description: relative to the branch
  5248          explode: true
  5249          in: query
  5250          name: path
  5251          required: true
  5252          schema:
  5253            type: string
  5254          style: form
  5255        - description: Set to "*" to atomically allow the upload only if the key has
  5256            no object yet. Other values are not supported.
  5257          example: '*'
  5258          explode: false
  5259          in: header
  5260          name: If-None-Match
  5261          required: false
  5262          schema:
  5263            type: string
  5264          style: simple
  5265        - deprecated: true
  5266          description: Deprecated, this capability will not be supported in future releases.
  5267          explode: true
  5268          in: query
  5269          name: storageClass
  5270          required: false
  5271          schema:
  5272            type: string
  5273          style: form
  5274        - explode: true
  5275          in: query
  5276          name: force
  5277          required: false
  5278          schema:
  5279            default: false
  5280            type: boolean
  5281          style: form
  5282        requestBody:
  5283          $ref: '#/components/requestBodies/inline_object'
  5284          content:
  5285            multipart/form-data:
  5286              schema:
  5287                properties:
  5288                  content:
  5289                    description: Only a single file per upload which must be named "content".
  5290                    format: binary
  5291                    type: string
  5292                type: object
  5293            application/octet-stream:
  5294              schema:
  5295                format: binary
  5296                type: string
  5297        responses:
  5298          "201":
  5299            content:
  5300              application/json:
  5301                schema:
  5302                  $ref: '#/components/schemas/ObjectStats'
  5303            description: object metadata
  5304          "400":
  5305            content:
  5306              application/json:
  5307                schema:
  5308                  $ref: '#/components/schemas/Error'
  5309            description: Validation Error
  5310          "401":
  5311            content:
  5312              application/json:
  5313                schema:
  5314                  $ref: '#/components/schemas/Error'
  5315            description: Unauthorized
  5316          "403":
  5317            content:
  5318              application/json:
  5319                schema:
  5320                  $ref: '#/components/schemas/Error'
  5321            description: Forbidden
  5322          "404":
  5323            content:
  5324              application/json:
  5325                schema:
  5326                  $ref: '#/components/schemas/Error'
  5327            description: Resource Not Found
  5328          "412":
  5329            content:
  5330              application/json:
  5331                schema:
  5332                  $ref: '#/components/schemas/Error'
  5333            description: Precondition Failed
  5334          "420":
  5335            description: too many requests
  5336          default:
  5337            content:
  5338              application/json:
  5339                schema:
  5340                  $ref: '#/components/schemas/Error'
  5341            description: Internal Server Error
  5342        tags:
  5343        - objects
  5344        x-validation-exclude-body: true
  5345        x-contentType: multipart/form-data
  5346        x-accepts: application/json
  5347      put:
  5348        deprecated: true
  5349        operationId: stageObject
  5350        parameters:
  5351        - explode: false
  5352          in: path
  5353          name: repository
  5354          required: true
  5355          schema:
  5356            type: string
  5357          style: simple
  5358        - explode: false
  5359          in: path
  5360          name: branch
  5361          required: true
  5362          schema:
  5363            type: string
  5364          style: simple
  5365        - description: relative to the branch
  5366          explode: true
  5367          in: query
  5368          name: path
  5369          required: true
  5370          schema:
  5371            type: string
  5372          style: form
  5373        requestBody:
  5374          content:
  5375            application/json:
  5376              schema:
  5377                $ref: '#/components/schemas/ObjectStageCreation'
  5378          required: true
  5379        responses:
  5380          "201":
  5381            content:
  5382              application/json:
  5383                schema:
  5384                  $ref: '#/components/schemas/ObjectStats'
  5385            description: object metadata
  5386          "400":
  5387            content:
  5388              application/json:
  5389                schema:
  5390                  $ref: '#/components/schemas/Error'
  5391            description: Validation Error
  5392          "401":
  5393            content:
  5394              application/json:
  5395                schema:
  5396                  $ref: '#/components/schemas/Error'
  5397            description: Unauthorized
  5398          "403":
  5399            content:
  5400              application/json:
  5401                schema:
  5402                  $ref: '#/components/schemas/Error'
  5403            description: Forbidden
  5404          "404":
  5405            content:
  5406              application/json:
  5407                schema:
  5408                  $ref: '#/components/schemas/Error'
  5409            description: Resource Not Found
  5410          "420":
  5411            description: too many requests
  5412          default:
  5413            content:
  5414              application/json:
  5415                schema:
  5416                  $ref: '#/components/schemas/Error'
  5417            description: Internal Server Error
  5418        summary: stage an object's metadata for the given branch
  5419        tags:
  5420        - internal
  5421        x-contentType: application/json
  5422        x-accepts: application/json
  5423    /repositories/{repository}/branches/{branch}/objects/delete:
  5424      post:
  5425        operationId: deleteObjects
  5426        parameters:
  5427        - explode: false
  5428          in: path
  5429          name: repository
  5430          required: true
  5431          schema:
  5432            type: string
  5433          style: simple
  5434        - explode: false
  5435          in: path
  5436          name: branch
  5437          required: true
  5438          schema:
  5439            type: string
  5440          style: simple
  5441        - explode: true
  5442          in: query
  5443          name: force
  5444          required: false
  5445          schema:
  5446            default: false
  5447            type: boolean
  5448          style: form
  5449        requestBody:
  5450          content:
  5451            application/json:
  5452              schema:
  5453                $ref: '#/components/schemas/PathList'
  5454          required: true
  5455        responses:
  5456          "200":
  5457            content:
  5458              application/json:
  5459                schema:
  5460                  $ref: '#/components/schemas/ObjectErrorList'
  5461            description: Delete objects response
  5462          "401":
  5463            content:
  5464              application/json:
  5465                schema:
  5466                  $ref: '#/components/schemas/Error'
  5467            description: Unauthorized
  5468          "403":
  5469            content:
  5470              application/json:
  5471                schema:
  5472                  $ref: '#/components/schemas/Error'
  5473            description: Forbidden
  5474          "404":
  5475            content:
  5476              application/json:
  5477                schema:
  5478                  $ref: '#/components/schemas/Error'
  5479            description: Resource Not Found
  5480          "420":
  5481            description: too many requests
  5482          default:
  5483            content:
  5484              application/json:
  5485                schema:
  5486                  $ref: '#/components/schemas/Error'
  5487            description: Internal Server Error
  5488        summary: delete objects. Missing objects will not return a NotFound error.
  5489        tags:
  5490        - objects
  5491        x-contentType: application/json
  5492        x-accepts: application/json
  5493    /repositories/{repository}/branches/{branch}/objects/copy:
  5494      post:
  5495        operationId: copyObject
  5496        parameters:
  5497        - explode: false
  5498          in: path
  5499          name: repository
  5500          required: true
  5501          schema:
  5502            type: string
  5503          style: simple
  5504        - description: destination branch for the copy
  5505          explode: false
  5506          in: path
  5507          name: branch
  5508          required: true
  5509          schema:
  5510            type: string
  5511          style: simple
  5512        - description: destination path relative to the branch
  5513          explode: true
  5514          in: query
  5515          name: dest_path
  5516          required: true
  5517          schema:
  5518            type: string
  5519          style: form
  5520        requestBody:
  5521          content:
  5522            application/json:
  5523              schema:
  5524                $ref: '#/components/schemas/ObjectCopyCreation'
  5525          required: true
  5526        responses:
  5527          "201":
  5528            content:
  5529              application/json:
  5530                schema:
  5531                  $ref: '#/components/schemas/ObjectStats'
  5532            description: Copy object response
  5533          "400":
  5534            content:
  5535              application/json:
  5536                schema:
  5537                  $ref: '#/components/schemas/Error'
  5538            description: Validation Error
  5539          "401":
  5540            content:
  5541              application/json:
  5542                schema:
  5543                  $ref: '#/components/schemas/Error'
  5544            description: Unauthorized
  5545          "403":
  5546            content:
  5547              application/json:
  5548                schema:
  5549                  $ref: '#/components/schemas/Error'
  5550            description: Forbidden
  5551          "404":
  5552            content:
  5553              application/json:
  5554                schema:
  5555                  $ref: '#/components/schemas/Error'
  5556            description: Resource Not Found
  5557          "420":
  5558            description: too many requests
  5559          default:
  5560            content:
  5561              application/json:
  5562                schema:
  5563                  $ref: '#/components/schemas/Error'
  5564            description: Internal Server Error
  5565        summary: create a copy of an object
  5566        tags:
  5567        - objects
  5568        x-contentType: application/json
  5569        x-accepts: application/json
  5570    /repositories/{repository}/refs/{ref}/objects/stat:
  5571      get:
  5572        operationId: statObject
  5573        parameters:
  5574        - explode: false
  5575          in: path
  5576          name: repository
  5577          required: true
  5578          schema:
  5579            type: string
  5580          style: simple
  5581        - description: a reference (could be either a branch or a commit ID)
  5582          explode: false
  5583          in: path
  5584          name: ref
  5585          required: true
  5586          schema:
  5587            type: string
  5588          style: simple
  5589        - description: relative to the branch
  5590          explode: true
  5591          in: query
  5592          name: path
  5593          required: true
  5594          schema:
  5595            type: string
  5596          style: form
  5597        - explode: true
  5598          in: query
  5599          name: user_metadata
  5600          required: false
  5601          schema:
  5602            default: true
  5603            type: boolean
  5604          style: form
  5605        - explode: true
  5606          in: query
  5607          name: presign
  5608          required: false
  5609          schema:
  5610            type: boolean
  5611          style: form
  5612        responses:
  5613          "200":
  5614            content:
  5615              application/json:
  5616                schema:
  5617                  $ref: '#/components/schemas/ObjectStats'
  5618            description: object metadata
  5619          "401":
  5620            content:
  5621              application/json:
  5622                schema:
  5623                  $ref: '#/components/schemas/Error'
  5624            description: Unauthorized
  5625          "404":
  5626            content:
  5627              application/json:
  5628                schema:
  5629                  $ref: '#/components/schemas/Error'
  5630            description: Resource Not Found
  5631          "400":
  5632            content:
  5633              application/json:
  5634                schema:
  5635                  $ref: '#/components/schemas/Error'
  5636            description: Bad Request
  5637          "410":
  5638            description: object gone (but partial metadata may be available)
  5639          "420":
  5640            description: too many requests
  5641          default:
  5642            content:
  5643              application/json:
  5644                schema:
  5645                  $ref: '#/components/schemas/Error'
  5646            description: Internal Server Error
  5647        summary: get object metadata
  5648        tags:
  5649        - objects
  5650        x-accepts: application/json
  5651    /repositories/{repository}/refs/{ref}/objects/underlyingProperties:
  5652      get:
  5653        operationId: getUnderlyingProperties
  5654        parameters:
  5655        - explode: false
  5656          in: path
  5657          name: repository
  5658          required: true
  5659          schema:
  5660            type: string
  5661          style: simple
  5662        - description: a reference (could be either a branch or a commit ID)
  5663          explode: false
  5664          in: path
  5665          name: ref
  5666          required: true
  5667          schema:
  5668            type: string
  5669          style: simple
  5670        - description: relative to the branch
  5671          explode: true
  5672          in: query
  5673          name: path
  5674          required: true
  5675          schema:
  5676            type: string
  5677          style: form
  5678        responses:
  5679          "200":
  5680            content:
  5681              application/json:
  5682                schema:
  5683                  $ref: '#/components/schemas/UnderlyingObjectProperties'
  5684            description: object metadata on underlying storage
  5685          "401":
  5686            content:
  5687              application/json:
  5688                schema:
  5689                  $ref: '#/components/schemas/Error'
  5690            description: Unauthorized
  5691          "404":
  5692            content:
  5693              application/json:
  5694                schema:
  5695                  $ref: '#/components/schemas/Error'
  5696            description: Resource Not Found
  5697          "420":
  5698            description: too many requests
  5699          default:
  5700            content:
  5701              application/json:
  5702                schema:
  5703                  $ref: '#/components/schemas/Error'
  5704            description: Internal Server Error
  5705        summary: get object properties on underlying storage
  5706        tags:
  5707        - objects
  5708        x-accepts: application/json
  5709    /repositories/{repository}/refs/{ref}/objects/ls:
  5710      get:
  5711        operationId: listObjects
  5712        parameters:
  5713        - explode: false
  5714          in: path
  5715          name: repository
  5716          required: true
  5717          schema:
  5718            type: string
  5719          style: simple
  5720        - description: a reference (could be either a branch or a commit ID)
  5721          explode: false
  5722          in: path
  5723          name: ref
  5724          required: true
  5725          schema:
  5726            type: string
  5727          style: simple
  5728        - explode: true
  5729          in: query
  5730          name: user_metadata
  5731          required: false
  5732          schema:
  5733            default: true
  5734            type: boolean
  5735          style: form
  5736        - explode: true
  5737          in: query
  5738          name: presign
  5739          required: false
  5740          schema:
  5741            type: boolean
  5742          style: form
  5743        - description: return items after this value
  5744          explode: true
  5745          in: query
  5746          name: after
  5747          required: false
  5748          schema:
  5749            type: string
  5750          style: form
  5751        - description: how many items to return
  5752          explode: true
  5753          in: query
  5754          name: amount
  5755          required: false
  5756          schema:
  5757            default: 100
  5758            maximum: 1000
  5759            minimum: -1
  5760            type: integer
  5761          style: form
  5762        - description: delimiter used to group common prefixes by
  5763          explode: true
  5764          in: query
  5765          name: delimiter
  5766          required: false
  5767          schema:
  5768            type: string
  5769          style: form
  5770        - description: return items prefixed with this value
  5771          explode: true
  5772          in: query
  5773          name: prefix
  5774          required: false
  5775          schema:
  5776            type: string
  5777          style: form
  5778        responses:
  5779          "200":
  5780            content:
  5781              application/json:
  5782                schema:
  5783                  $ref: '#/components/schemas/ObjectStatsList'
  5784            description: object listing
  5785          "401":
  5786            content:
  5787              application/json:
  5788                schema:
  5789                  $ref: '#/components/schemas/Error'
  5790            description: Unauthorized
  5791          "404":
  5792            content:
  5793              application/json:
  5794                schema:
  5795                  $ref: '#/components/schemas/Error'
  5796            description: Resource Not Found
  5797          "420":
  5798            description: too many requests
  5799          default:
  5800            content:
  5801              application/json:
  5802                schema:
  5803                  $ref: '#/components/schemas/Error'
  5804            description: Internal Server Error
  5805        summary: list objects under a given prefix
  5806        tags:
  5807        - objects
  5808        x-accepts: application/json
  5809    /repositories/{repository}/refs/{branch}/symlink:
  5810      post:
  5811        operationId: createSymlinkFile
  5812        parameters:
  5813        - explode: false
  5814          in: path
  5815          name: repository
  5816          required: true
  5817          schema:
  5818            type: string
  5819          style: simple
  5820        - explode: false
  5821          in: path
  5822          name: branch
  5823          required: true
  5824          schema:
  5825            type: string
  5826          style: simple
  5827        - description: path to the table data
  5828          explode: true
  5829          in: query
  5830          name: location
  5831          required: false
  5832          schema:
  5833            type: string
  5834          style: form
  5835        responses:
  5836          "201":
  5837            content:
  5838              application/json:
  5839                schema:
  5840                  $ref: '#/components/schemas/StorageURI'
  5841            description: location created
  5842          "401":
  5843            content:
  5844              application/json:
  5845                schema:
  5846                  $ref: '#/components/schemas/Error'
  5847            description: Unauthorized
  5848          "404":
  5849            content:
  5850              application/json:
  5851                schema:
  5852                  $ref: '#/components/schemas/Error'
  5853            description: Resource Not Found
  5854          "420":
  5855            description: too many requests
  5856          default:
  5857            content:
  5858              application/json:
  5859                schema:
  5860                  $ref: '#/components/schemas/Error'
  5861            description: Internal Server Error
  5862        summary: creates symlink files corresponding to the given directory
  5863        tags:
  5864        - internal
  5865        x-accepts: application/json
  5866    /repositories/{repository}/actions/runs:
  5867      get:
  5868        operationId: listRepositoryRuns
  5869        parameters:
  5870        - explode: false
  5871          in: path
  5872          name: repository
  5873          required: true
  5874          schema:
  5875            type: string
  5876          style: simple
  5877        - description: return items after this value
  5878          explode: true
  5879          in: query
  5880          name: after
  5881          required: false
  5882          schema:
  5883            type: string
  5884          style: form
  5885        - description: how many items to return
  5886          explode: true
  5887          in: query
  5888          name: amount
  5889          required: false
  5890          schema:
  5891            default: 100
  5892            maximum: 1000
  5893            minimum: -1
  5894            type: integer
  5895          style: form
  5896        - explode: true
  5897          in: query
  5898          name: branch
  5899          required: false
  5900          schema:
  5901            type: string
  5902          style: form
  5903        - explode: true
  5904          in: query
  5905          name: commit
  5906          required: false
  5907          schema:
  5908            type: string
  5909          style: form
  5910        responses:
  5911          "200":
  5912            content:
  5913              application/json:
  5914                schema:
  5915                  $ref: '#/components/schemas/ActionRunList'
  5916            description: list action runs
  5917          "401":
  5918            content:
  5919              application/json:
  5920                schema:
  5921                  $ref: '#/components/schemas/Error'
  5922            description: Unauthorized
  5923          "404":
  5924            content:
  5925              application/json:
  5926                schema:
  5927                  $ref: '#/components/schemas/Error'
  5928            description: Resource Not Found
  5929          "420":
  5930            description: too many requests
  5931          default:
  5932            content:
  5933              application/json:
  5934                schema:
  5935                  $ref: '#/components/schemas/Error'
  5936            description: Internal Server Error
  5937        summary: list runs
  5938        tags:
  5939        - actions
  5940        x-accepts: application/json
  5941    /repositories/{repository}/actions/runs/{run_id}:
  5942      get:
  5943        operationId: getRun
  5944        parameters:
  5945        - explode: false
  5946          in: path
  5947          name: repository
  5948          required: true
  5949          schema:
  5950            type: string
  5951          style: simple
  5952        - explode: false
  5953          in: path
  5954          name: run_id
  5955          required: true
  5956          schema:
  5957            type: string
  5958          style: simple
  5959        responses:
  5960          "200":
  5961            content:
  5962              application/json:
  5963                schema:
  5964                  $ref: '#/components/schemas/ActionRun'
  5965            description: action run result
  5966          "401":
  5967            content:
  5968              application/json:
  5969                schema:
  5970                  $ref: '#/components/schemas/Error'
  5971            description: Unauthorized
  5972          "404":
  5973            content:
  5974              application/json:
  5975                schema:
  5976                  $ref: '#/components/schemas/Error'
  5977            description: Resource Not Found
  5978          "420":
  5979            description: too many requests
  5980          default:
  5981            content:
  5982              application/json:
  5983                schema:
  5984                  $ref: '#/components/schemas/Error'
  5985            description: Internal Server Error
  5986        summary: get a run
  5987        tags:
  5988        - actions
  5989        x-accepts: application/json
  5990    /repositories/{repository}/actions/runs/{run_id}/hooks:
  5991      get:
  5992        operationId: listRunHooks
  5993        parameters:
  5994        - explode: false
  5995          in: path
  5996          name: repository
  5997          required: true
  5998          schema:
  5999            type: string
  6000          style: simple
  6001        - explode: false
  6002          in: path
  6003          name: run_id
  6004          required: true
  6005          schema:
  6006            type: string
  6007          style: simple
  6008        - description: return items after this value
  6009          explode: true
  6010          in: query
  6011          name: after
  6012          required: false
  6013          schema:
  6014            type: string
  6015          style: form
  6016        - description: how many items to return
  6017          explode: true
  6018          in: query
  6019          name: amount
  6020          required: false
  6021          schema:
  6022            default: 100
  6023            maximum: 1000
  6024            minimum: -1
  6025            type: integer
  6026          style: form
  6027        responses:
  6028          "200":
  6029            content:
  6030              application/json:
  6031                schema:
  6032                  $ref: '#/components/schemas/HookRunList'
  6033            description: list specific run hooks
  6034          "401":
  6035            content:
  6036              application/json:
  6037                schema:
  6038                  $ref: '#/components/schemas/Error'
  6039            description: Unauthorized
  6040          "404":
  6041            content:
  6042              application/json:
  6043                schema:
  6044                  $ref: '#/components/schemas/Error'
  6045            description: Resource Not Found
  6046          "420":
  6047            description: too many requests
  6048          default:
  6049            content:
  6050              application/json:
  6051                schema:
  6052                  $ref: '#/components/schemas/Error'
  6053            description: Internal Server Error
  6054        summary: list run hooks
  6055        tags:
  6056        - actions
  6057        x-accepts: application/json
  6058    /repositories/{repository}/actions/runs/{run_id}/hooks/{hook_run_id}/output:
  6059      get:
  6060        operationId: getRunHookOutput
  6061        parameters:
  6062        - explode: false
  6063          in: path
  6064          name: repository
  6065          required: true
  6066          schema:
  6067            type: string
  6068          style: simple
  6069        - explode: false
  6070          in: path
  6071          name: run_id
  6072          required: true
  6073          schema:
  6074            type: string
  6075          style: simple
  6076        - explode: false
  6077          in: path
  6078          name: hook_run_id
  6079          required: true
  6080          schema:
  6081            type: string
  6082          style: simple
  6083        responses:
  6084          "200":
  6085            content:
  6086              application/octet-stream:
  6087                schema:
  6088                  format: binary
  6089                  type: string
  6090            description: run hook output
  6091          "401":
  6092            content:
  6093              application/json:
  6094                schema:
  6095                  $ref: '#/components/schemas/Error'
  6096            description: Unauthorized
  6097          "404":
  6098            content:
  6099              application/json:
  6100                schema:
  6101                  $ref: '#/components/schemas/Error'
  6102            description: Resource Not Found
  6103          "420":
  6104            description: too many requests
  6105          default:
  6106            content:
  6107              application/json:
  6108                schema:
  6109                  $ref: '#/components/schemas/Error'
  6110            description: Internal Server Error
  6111        summary: get run hook output
  6112        tags:
  6113        - actions
  6114        x-accepts: application/json
  6115    /repositories/{repository}/metadata/meta_range/{meta_range}:
  6116      get:
  6117        operationId: getMetaRange
  6118        parameters:
  6119        - explode: false
  6120          in: path
  6121          name: repository
  6122          required: true
  6123          schema:
  6124            type: string
  6125          style: simple
  6126        - explode: false
  6127          in: path
  6128          name: meta_range
  6129          required: true
  6130          schema:
  6131            type: string
  6132          style: simple
  6133        responses:
  6134          "200":
  6135            content:
  6136              application/json:
  6137                schema:
  6138                  $ref: '#/components/schemas/StorageURI'
  6139            description: meta-range URI
  6140            headers:
  6141              Location:
  6142                description: redirect to S3
  6143                explode: false
  6144                schema:
  6145                  type: string
  6146                style: simple
  6147          "401":
  6148            content:
  6149              application/json:
  6150                schema:
  6151                  $ref: '#/components/schemas/Error'
  6152            description: Unauthorized
  6153          "404":
  6154            content:
  6155              application/json:
  6156                schema:
  6157                  $ref: '#/components/schemas/Error'
  6158            description: Resource Not Found
  6159          "420":
  6160            description: too many requests
  6161          default:
  6162            content:
  6163              application/json:
  6164                schema:
  6165                  $ref: '#/components/schemas/Error'
  6166            description: Internal Server Error
  6167        summary: return URI to a meta-range file
  6168        tags:
  6169        - metadata
  6170        x-accepts: application/json
  6171    /repositories/{repository}/metadata/range/{range}:
  6172      get:
  6173        operationId: getRange
  6174        parameters:
  6175        - explode: false
  6176          in: path
  6177          name: repository
  6178          required: true
  6179          schema:
  6180            type: string
  6181          style: simple
  6182        - explode: false
  6183          in: path
  6184          name: range
  6185          required: true
  6186          schema:
  6187            type: string
  6188          style: simple
  6189        responses:
  6190          "200":
  6191            content:
  6192              application/json:
  6193                schema:
  6194                  $ref: '#/components/schemas/StorageURI'
  6195            description: range URI
  6196            headers:
  6197              Location:
  6198                description: redirect to S3
  6199                explode: false
  6200                schema:
  6201                  type: string
  6202                style: simple
  6203          "401":
  6204            content:
  6205              application/json:
  6206                schema:
  6207                  $ref: '#/components/schemas/Error'
  6208            description: Unauthorized
  6209          "404":
  6210            content:
  6211              application/json:
  6212                schema:
  6213                  $ref: '#/components/schemas/Error'
  6214            description: Resource Not Found
  6215          "420":
  6216            description: too many requests
  6217          default:
  6218            content:
  6219              application/json:
  6220                schema:
  6221                  $ref: '#/components/schemas/Error'
  6222            description: Internal Server Error
  6223        summary: return URI to a range file
  6224        tags:
  6225        - metadata
  6226        x-accepts: application/json
  6227    /repositories/{repository}/gc/rules/set_allowed:
  6228      get:
  6229        operationId: setGarbageCollectionRulesPreflight
  6230        parameters:
  6231        - explode: false
  6232          in: path
  6233          name: repository
  6234          required: true
  6235          schema:
  6236            type: string
  6237          style: simple
  6238        responses:
  6239          "204":
  6240            description: User has permissions to set garbage collection rules on this
  6241              repository
  6242          "401":
  6243            content:
  6244              application/json:
  6245                schema:
  6246                  $ref: '#/components/schemas/Error'
  6247            description: Unauthorized
  6248          "404":
  6249            content:
  6250              application/json:
  6251                schema:
  6252                  $ref: '#/components/schemas/Error'
  6253            description: Resource Not Found
  6254          "420":
  6255            description: too many requests
  6256          default:
  6257            content:
  6258              application/json:
  6259                schema:
  6260                  $ref: '#/components/schemas/Error'
  6261            description: Internal Server Error
  6262        tags:
  6263        - internal
  6264        x-accepts: application/json
  6265    /repositories/{repository}/gc/rules:
  6266      delete:
  6267        deprecated: true
  6268        operationId: internalDeleteGarbageCollectionRules
  6269        parameters:
  6270        - explode: false
  6271          in: path
  6272          name: repository
  6273          required: true
  6274          schema:
  6275            type: string
  6276          style: simple
  6277        responses:
  6278          "204":
  6279            description: deleted garbage collection rules successfully
  6280          "401":
  6281            content:
  6282              application/json:
  6283                schema:
  6284                  $ref: '#/components/schemas/Error'
  6285            description: Unauthorized
  6286          "404":
  6287            content:
  6288              application/json:
  6289                schema:
  6290                  $ref: '#/components/schemas/Error'
  6291            description: Resource Not Found
  6292          "420":
  6293            description: too many requests
  6294          default:
  6295            content:
  6296              application/json:
  6297                schema:
  6298                  $ref: '#/components/schemas/Error'
  6299            description: Internal Server Error
  6300        tags:
  6301        - internal
  6302        x-accepts: application/json
  6303      get:
  6304        deprecated: true
  6305        operationId: internalGetGarbageCollectionRules
  6306        parameters:
  6307        - explode: false
  6308          in: path
  6309          name: repository
  6310          required: true
  6311          schema:
  6312            type: string
  6313          style: simple
  6314        responses:
  6315          "200":
  6316            content:
  6317              application/json:
  6318                schema:
  6319                  $ref: '#/components/schemas/GarbageCollectionRules'
  6320            description: gc rule list
  6321          "401":
  6322            content:
  6323              application/json:
  6324                schema:
  6325                  $ref: '#/components/schemas/Error'
  6326            description: Unauthorized
  6327          "404":
  6328            content:
  6329              application/json:
  6330                schema:
  6331                  $ref: '#/components/schemas/Error'
  6332            description: Resource Not Found
  6333          "420":
  6334            description: too many requests
  6335          default:
  6336            content:
  6337              application/json:
  6338                schema:
  6339                  $ref: '#/components/schemas/Error'
  6340            description: Internal Server Error
  6341        tags:
  6342        - internal
  6343        x-accepts: application/json
  6344      post:
  6345        deprecated: true
  6346        operationId: internalSetGarbageCollectionRules
  6347        parameters:
  6348        - explode: false
  6349          in: path
  6350          name: repository
  6351          required: true
  6352          schema:
  6353            type: string
  6354          style: simple
  6355        requestBody:
  6356          content:
  6357            application/json:
  6358              schema:
  6359                $ref: '#/components/schemas/GarbageCollectionRules'
  6360          required: true
  6361        responses:
  6362          "204":
  6363            description: set garbage collection rules successfully
  6364          "401":
  6365            content:
  6366              application/json:
  6367                schema:
  6368                  $ref: '#/components/schemas/Error'
  6369            description: Unauthorized
  6370          "404":
  6371            content:
  6372              application/json:
  6373                schema:
  6374                  $ref: '#/components/schemas/Error'
  6375            description: Resource Not Found
  6376          "420":
  6377            description: too many requests
  6378          default:
  6379            content:
  6380              application/json:
  6381                schema:
  6382                  $ref: '#/components/schemas/Error'
  6383            description: Internal Server Error
  6384        tags:
  6385        - internal
  6386        x-contentType: application/json
  6387        x-accepts: application/json
  6388    /repositories/{repository}/gc/prepare_commits:
  6389      post:
  6390        operationId: prepareGarbageCollectionCommits
  6391        parameters:
  6392        - explode: false
  6393          in: path
  6394          name: repository
  6395          required: true
  6396          schema:
  6397            type: string
  6398          style: simple
  6399        responses:
  6400          "201":
  6401            content:
  6402              application/json:
  6403                schema:
  6404                  $ref: '#/components/schemas/GarbageCollectionPrepareResponse'
  6405            description: paths to commit dataset
  6406          "401":
  6407            content:
  6408              application/json:
  6409                schema:
  6410                  $ref: '#/components/schemas/Error'
  6411            description: Unauthorized
  6412          "403":
  6413            content:
  6414              application/json:
  6415                schema:
  6416                  $ref: '#/components/schemas/Error'
  6417            description: Forbidden
  6418          "404":
  6419            content:
  6420              application/json:
  6421                schema:
  6422                  $ref: '#/components/schemas/Error'
  6423            description: Resource Not Found
  6424          "420":
  6425            description: too many requests
  6426          default:
  6427            content:
  6428              application/json:
  6429                schema:
  6430                  $ref: '#/components/schemas/Error'
  6431            description: Internal Server Error
  6432        summary: save lists of active commits for garbage collection
  6433        tags:
  6434        - internal
  6435        x-accepts: application/json
  6436    /repositories/{repository}/gc/prepare_uncommited:
  6437      post:
  6438        operationId: prepareGarbageCollectionUncommitted
  6439        parameters:
  6440        - explode: false
  6441          in: path
  6442          name: repository
  6443          required: true
  6444          schema:
  6445            type: string
  6446          style: simple
  6447        requestBody:
  6448          content:
  6449            application/json:
  6450              schema:
  6451                $ref: '#/components/schemas/PrepareGCUncommittedRequest'
  6452        responses:
  6453          "201":
  6454            content:
  6455              application/json:
  6456                schema:
  6457                  $ref: '#/components/schemas/PrepareGCUncommittedResponse'
  6458            description: paths to commit dataset
  6459          "400":
  6460            content:
  6461              application/json:
  6462                schema:
  6463                  $ref: '#/components/schemas/Error'
  6464            description: Validation Error
  6465          "401":
  6466            content:
  6467              application/json:
  6468                schema:
  6469                  $ref: '#/components/schemas/Error'
  6470            description: Unauthorized
  6471          "403":
  6472            content:
  6473              application/json:
  6474                schema:
  6475                  $ref: '#/components/schemas/Error'
  6476            description: Forbidden
  6477          "404":
  6478            content:
  6479              application/json:
  6480                schema:
  6481                  $ref: '#/components/schemas/Error'
  6482            description: Resource Not Found
  6483          "420":
  6484            description: too many requests
  6485          default:
  6486            content:
  6487              application/json:
  6488                schema:
  6489                  $ref: '#/components/schemas/Error'
  6490            description: Internal Server Error
  6491        summary: save repository uncommitted metadata for garbage collection
  6492        tags:
  6493        - internal
  6494        x-contentType: application/json
  6495        x-accepts: application/json
  6496    /repositories/{repository}/branch_protection/set_allowed:
  6497      get:
  6498        operationId: createBranchProtectionRulePreflight
  6499        parameters:
  6500        - explode: false
  6501          in: path
  6502          name: repository
  6503          required: true
  6504          schema:
  6505            type: string
  6506          style: simple
  6507        responses:
  6508          "204":
  6509            description: User has permissions to create a branch protection rule in
  6510              this repository
  6511          "401":
  6512            content:
  6513              application/json:
  6514                schema:
  6515                  $ref: '#/components/schemas/Error'
  6516            description: Unauthorized
  6517          "404":
  6518            content:
  6519              application/json:
  6520                schema:
  6521                  $ref: '#/components/schemas/Error'
  6522            description: Resource Not Found
  6523          "409":
  6524            content:
  6525              application/json:
  6526                schema:
  6527                  $ref: '#/components/schemas/Error'
  6528            description: Resource Conflicts With Target
  6529          "420":
  6530            description: too many requests
  6531          default:
  6532            content:
  6533              application/json:
  6534                schema:
  6535                  $ref: '#/components/schemas/Error'
  6536            description: Internal Server Error
  6537        tags:
  6538        - internal
  6539        x-accepts: application/json
  6540    /repositories/{repository}/branch_protection:
  6541      delete:
  6542        deprecated: true
  6543        operationId: internalDeleteBranchProtectionRule
  6544        parameters:
  6545        - explode: false
  6546          in: path
  6547          name: repository
  6548          required: true
  6549          schema:
  6550            type: string
  6551          style: simple
  6552        requestBody:
  6553          $ref: '#/components/requestBodies/inline_object_1'
  6554          content:
  6555            application/json:
  6556              schema:
  6557                properties:
  6558                  pattern:
  6559                    type: string
  6560                required:
  6561                - pattern
  6562                type: object
  6563          required: true
  6564        responses:
  6565          "204":
  6566            description: branch protection rule deleted successfully
  6567          "401":
  6568            content:
  6569              application/json:
  6570                schema:
  6571                  $ref: '#/components/schemas/Error'
  6572            description: Unauthorized
  6573          "404":
  6574            content:
  6575              application/json:
  6576                schema:
  6577                  $ref: '#/components/schemas/Error'
  6578            description: Resource Not Found
  6579          "420":
  6580            description: too many requests
  6581          default:
  6582            content:
  6583              application/json:
  6584                schema:
  6585                  $ref: '#/components/schemas/Error'
  6586            description: Internal Server Error
  6587        tags:
  6588        - internal
  6589        x-contentType: application/json
  6590        x-accepts: application/json
  6591      get:
  6592        deprecated: true
  6593        operationId: internalGetBranchProtectionRules
  6594        parameters:
  6595        - explode: false
  6596          in: path
  6597          name: repository
  6598          required: true
  6599          schema:
  6600            type: string
  6601          style: simple
  6602        responses:
  6603          "200":
  6604            content:
  6605              application/json:
  6606                schema:
  6607                  items:
  6608                    $ref: '#/components/schemas/BranchProtectionRule'
  6609                  type: array
  6610            description: branch protection rules
  6611          "401":
  6612            content:
  6613              application/json:
  6614                schema:
  6615                  $ref: '#/components/schemas/Error'
  6616            description: Unauthorized
  6617          "404":
  6618            content:
  6619              application/json:
  6620                schema:
  6621                  $ref: '#/components/schemas/Error'
  6622            description: Resource Not Found
  6623          "420":
  6624            description: too many requests
  6625          default:
  6626            content:
  6627              application/json:
  6628                schema:
  6629                  $ref: '#/components/schemas/Error'
  6630            description: Internal Server Error
  6631        summary: get branch protection rules
  6632        tags:
  6633        - internal
  6634        x-accepts: application/json
  6635      post:
  6636        deprecated: true
  6637        operationId: internalCreateBranchProtectionRule
  6638        parameters:
  6639        - explode: false
  6640          in: path
  6641          name: repository
  6642          required: true
  6643          schema:
  6644            type: string
  6645          style: simple
  6646        requestBody:
  6647          content:
  6648            application/json:
  6649              schema:
  6650                $ref: '#/components/schemas/BranchProtectionRule'
  6651          required: true
  6652        responses:
  6653          "204":
  6654            description: branch protection rule created successfully
  6655          "401":
  6656            content:
  6657              application/json:
  6658                schema:
  6659                  $ref: '#/components/schemas/Error'
  6660            description: Unauthorized
  6661          "404":
  6662            content:
  6663              application/json:
  6664                schema:
  6665                  $ref: '#/components/schemas/Error'
  6666            description: Resource Not Found
  6667          "420":
  6668            description: too many requests
  6669          default:
  6670            content:
  6671              application/json:
  6672                schema:
  6673                  $ref: '#/components/schemas/Error'
  6674            description: Internal Server Error
  6675        tags:
  6676        - internal
  6677        x-contentType: application/json
  6678        x-accepts: application/json
  6679    /healthcheck:
  6680      get:
  6681        description: check that the API server is up and running
  6682        operationId: healthCheck
  6683        responses:
  6684          "204":
  6685            description: NoContent
  6686        security: []
  6687        tags:
  6688        - healthCheck
  6689        x-accepts: application/json
  6690    /config:
  6691      get:
  6692        description: retrieve lakeFS configuration
  6693        operationId: getConfig
  6694        responses:
  6695          "200":
  6696            content:
  6697              application/json:
  6698                schema:
  6699                  $ref: '#/components/schemas/Config'
  6700            description: lakeFS configuration
  6701          "401":
  6702            content:
  6703              application/json:
  6704                schema:
  6705                  $ref: '#/components/schemas/Error'
  6706            description: Unauthorized
  6707        tags:
  6708        - config
  6709        x-accepts: application/json
  6710    /config/version:
  6711      get:
  6712        deprecated: true
  6713        description: get version of lakeFS server
  6714        operationId: getLakeFSVersion
  6715        responses:
  6716          "200":
  6717            content:
  6718              application/json:
  6719                schema:
  6720                  $ref: '#/components/schemas/VersionConfig'
  6721            description: lakeFS version
  6722          "401":
  6723            content:
  6724              application/json:
  6725                schema:
  6726                  $ref: '#/components/schemas/Error'
  6727            description: Unauthorized
  6728        tags:
  6729        - internal
  6730        x-accepts: application/json
  6731    /config/storage:
  6732      get:
  6733        deprecated: true
  6734        description: retrieve lakeFS storage configuration
  6735        operationId: getStorageConfig
  6736        responses:
  6737          "200":
  6738            content:
  6739              application/json:
  6740                schema:
  6741                  $ref: '#/components/schemas/StorageConfig'
  6742            description: lakeFS storage configuration
  6743          "401":
  6744            content:
  6745              application/json:
  6746                schema:
  6747                  $ref: '#/components/schemas/Error'
  6748            description: Unauthorized
  6749        tags:
  6750        - internal
  6751        x-accepts: application/json
  6752    /config/garbage-collection:
  6753      get:
  6754        description: get information of gc settings
  6755        operationId: getGarbageCollectionConfig
  6756        responses:
  6757          "200":
  6758            content:
  6759              application/json:
  6760                schema:
  6761                  $ref: '#/components/schemas/GarbageCollectionConfig'
  6762            description: lakeFS garbage collection config
  6763          "401":
  6764            content:
  6765              application/json:
  6766                schema:
  6767                  $ref: '#/components/schemas/Error'
  6768            description: Unauthorized
  6769        tags:
  6770        - internal
  6771        x-accepts: application/json
  6772    /statistics:
  6773      post:
  6774        operationId: postStatsEvents
  6775        requestBody:
  6776          content:
  6777            application/json:
  6778              schema:
  6779                $ref: '#/components/schemas/StatsEventsList'
  6780          required: true
  6781        responses:
  6782          "204":
  6783            description: reported successfully
  6784          "400":
  6785            content:
  6786              application/json:
  6787                schema:
  6788                  $ref: '#/components/schemas/Error'
  6789            description: Bad Request
  6790          "401":
  6791            content:
  6792              application/json:
  6793                schema:
  6794                  $ref: '#/components/schemas/Error'
  6795            description: Unauthorized
  6796          "420":
  6797            description: too many requests
  6798          default:
  6799            content:
  6800              application/json:
  6801                schema:
  6802                  $ref: '#/components/schemas/Error'
  6803            description: Internal Server Error
  6804        summary: post stats events, this endpoint is meant for internal use only
  6805        tags:
  6806        - internal
  6807        x-contentType: application/json
  6808        x-accepts: application/json
  6809    /usage-report/summary:
  6810      get:
  6811        operationId: getUsageReportSummary
  6812        responses:
  6813          "200":
  6814            content:
  6815              application/json:
  6816                schema:
  6817                  $ref: '#/components/schemas/InstallationUsageReport'
  6818              application/text:
  6819                schema:
  6820                  type: string
  6821            description: Usage report
  6822          "400":
  6823            content:
  6824              application/json:
  6825                schema:
  6826                  $ref: '#/components/schemas/Error'
  6827            description: Bad Request
  6828          "401":
  6829            content:
  6830              application/json:
  6831                schema:
  6832                  $ref: '#/components/schemas/Error'
  6833            description: Unauthorized
  6834          "404":
  6835            content:
  6836              application/json:
  6837                schema:
  6838                  $ref: '#/components/schemas/Error'
  6839            description: Resource Not Found
  6840          "420":
  6841            description: too many requests
  6842          default:
  6843            content:
  6844              application/json:
  6845                schema:
  6846                  $ref: '#/components/schemas/Error'
  6847            description: Internal Server Error
  6848        summary: get usage report summary
  6849        tags:
  6850        - internal
  6851        x-accepts: application/json
  6852  components:
  6853    parameters:
  6854      PaginationPrefix:
  6855        description: return items prefixed with this value
  6856        explode: true
  6857        in: query
  6858        name: prefix
  6859        required: false
  6860        schema:
  6861          type: string
  6862        style: form
  6863      PaginationAfter:
  6864        description: return items after this value
  6865        explode: true
  6866        in: query
  6867        name: after
  6868        required: false
  6869        schema:
  6870          type: string
  6871        style: form
  6872      PaginationAmount:
  6873        description: how many items to return
  6874        explode: true
  6875        in: query
  6876        name: amount
  6877        required: false
  6878        schema:
  6879          default: 100
  6880          maximum: 1000
  6881          minimum: -1
  6882          type: integer
  6883        style: form
  6884      PaginationDelimiter:
  6885        description: delimiter used to group common prefixes by
  6886        explode: true
  6887        in: query
  6888        name: delimiter
  6889        required: false
  6890        schema:
  6891          type: string
  6892        style: form
  6893      IfNoneMatch:
  6894        description: Set to "*" to atomically allow the upload only if the key has no
  6895          object yet. Other values are not supported.
  6896        example: '*'
  6897        explode: false
  6898        in: header
  6899        name: If-None-Match
  6900        required: false
  6901        schema:
  6902          type: string
  6903        style: simple
  6904    requestBodies:
  6905      inline_object_1:
  6906        content:
  6907          application/json:
  6908            schema:
  6909              $ref: '#/components/schemas/inline_object_1'
  6910        required: true
  6911      inline_object:
  6912        content:
  6913          multipart/form-data:
  6914            schema:
  6915              $ref: '#/components/schemas/inline_object'
  6916          application/octet-stream:
  6917            schema:
  6918              $ref: '#/components/schemas/inline_object'
  6919    responses:
  6920      NotFoundOrNoACL:
  6921        content:
  6922          application/json:
  6923            schema:
  6924              $ref: '#/components/schemas/ErrorNoACL'
  6925        description: Group not found, or group found but has no ACL
  6926      Unauthorized:
  6927        content:
  6928          application/json:
  6929            schema:
  6930              $ref: '#/components/schemas/Error'
  6931        description: Unauthorized
  6932      ServerError:
  6933        content:
  6934          application/json:
  6935            schema:
  6936              $ref: '#/components/schemas/Error'
  6937        description: Internal Server Error
  6938      NotFound:
  6939        content:
  6940          application/json:
  6941            schema:
  6942              $ref: '#/components/schemas/Error'
  6943        description: Resource Not Found
  6944      Conflict:
  6945        content:
  6946          application/json:
  6947            schema:
  6948              $ref: '#/components/schemas/Error'
  6949        description: Resource Conflicts With Target
  6950      PreconditionFailed:
  6951        content:
  6952          application/json:
  6953            schema:
  6954              $ref: '#/components/schemas/Error'
  6955        description: Precondition Failed
  6956      BadRequest:
  6957        content:
  6958          application/json:
  6959            schema:
  6960              $ref: '#/components/schemas/Error'
  6961        description: Bad Request
  6962      Forbidden:
  6963        content:
  6964          application/json:
  6965            schema:
  6966              $ref: '#/components/schemas/Error'
  6967        description: Forbidden
  6968      ValidationError:
  6969        content:
  6970          application/json:
  6971            schema:
  6972              $ref: '#/components/schemas/Error'
  6973        description: Validation Error
  6974    schemas:
  6975      Pagination:
  6976        example:
  6977          max_per_page: 0
  6978          has_more: true
  6979          next_offset: next_offset
  6980          results: 0
  6981        properties:
  6982          has_more:
  6983            description: Next page is available
  6984            type: boolean
  6985          next_offset:
  6986            description: Token used to retrieve the next page
  6987            type: string
  6988          results:
  6989            description: Number of values found in the results
  6990            minimum: 0
  6991            type: integer
  6992          max_per_page:
  6993            description: Maximal number of entries per page
  6994            minimum: 0
  6995            type: integer
  6996        required:
  6997        - has_more
  6998        - max_per_page
  6999        - next_offset
  7000        - results
  7001        type: object
  7002      Repository:
  7003        example:
  7004          read_only: true
  7005          default_branch: default_branch
  7006          id: id
  7007          creation_date: 0
  7008          storage_namespace: storage_namespace
  7009        properties:
  7010          id:
  7011            type: string
  7012          creation_date:
  7013            description: Unix Epoch in seconds
  7014            format: int64
  7015            type: integer
  7016          default_branch:
  7017            type: string
  7018          storage_namespace:
  7019            description: Filesystem URI to store the underlying data in (e.g. "s3://my-bucket/some/path/")
  7020            type: string
  7021          read_only:
  7022            description: Whether the repository is a read-only repository- not relevant
  7023              for bare repositories
  7024            type: boolean
  7025        required:
  7026        - creation_date
  7027        - default_branch
  7028        - id
  7029        - storage_namespace
  7030        type: object
  7031      RepositoryMetadata:
  7032        additionalProperties:
  7033          type: string
  7034        type: object
  7035      RepositoryMetadataSet:
  7036        example:
  7037          metadata:
  7038            key: metadata
  7039        properties:
  7040          metadata:
  7041            additionalProperties:
  7042              type: string
  7043            type: object
  7044        required:
  7045        - metadata
  7046        type: object
  7047      RepositoryMetadataKeys:
  7048        example:
  7049          keys:
  7050          - keys
  7051          - keys
  7052        properties:
  7053          keys:
  7054            items:
  7055              description: metadata key
  7056              type: string
  7057            type: array
  7058        required:
  7059        - keys
  7060        type: object
  7061      RepositoryList:
  7062        example:
  7063          pagination:
  7064            max_per_page: 0
  7065            has_more: true
  7066            next_offset: next_offset
  7067            results: 0
  7068          results:
  7069          - read_only: true
  7070            default_branch: default_branch
  7071            id: id
  7072            creation_date: 0
  7073            storage_namespace: storage_namespace
  7074          - read_only: true
  7075            default_branch: default_branch
  7076            id: id
  7077            creation_date: 0
  7078            storage_namespace: storage_namespace
  7079        properties:
  7080          pagination:
  7081            $ref: '#/components/schemas/Pagination'
  7082          results:
  7083            items:
  7084              $ref: '#/components/schemas/Repository'
  7085            type: array
  7086        required:
  7087        - pagination
  7088        - results
  7089        type: object
  7090      FindMergeBaseResult:
  7091        example:
  7092          destination_commit_id: destination_commit_id
  7093          base_commit_id: base_commit_id
  7094          source_commit_id: source_commit_id
  7095        properties:
  7096          source_commit_id:
  7097            description: The commit ID of the merge source
  7098            type: string
  7099          destination_commit_id:
  7100            description: The commit ID of the merge destination
  7101            type: string
  7102          base_commit_id:
  7103            description: The commit ID of the merge base
  7104            type: string
  7105        required:
  7106        - base_commit_id
  7107        - destination_commit_id
  7108        - source_commit_id
  7109        type: object
  7110      MergeResult:
  7111        example:
  7112          reference: reference
  7113        properties:
  7114          reference:
  7115            type: string
  7116        required:
  7117        - reference
  7118        type: object
  7119      RepositoryCreation:
  7120        example:
  7121          sample_data: true
  7122          read_only: true
  7123          name: name
  7124          default_branch: main
  7125          storage_namespace: s3://example-bucket/
  7126        properties:
  7127          name:
  7128            pattern: ^[a-z0-9][a-z0-9-]{2,62}$
  7129            type: string
  7130          storage_namespace:
  7131            description: Filesystem URI to store the underlying data in (e.g. "s3://my-bucket/some/path/")
  7132            example: s3://example-bucket/
  7133            pattern: ^(s3|gs|https?|mem|local|transient)://.*$
  7134            type: string
  7135          default_branch:
  7136            example: main
  7137            type: string
  7138          sample_data:
  7139            default: false
  7140            example: true
  7141            type: boolean
  7142          read_only:
  7143            default: false
  7144            example: true
  7145            type: boolean
  7146        required:
  7147        - name
  7148        - storage_namespace
  7149        type: object
  7150      PathList:
  7151        example:
  7152          paths:
  7153          - paths
  7154          - paths
  7155        properties:
  7156          paths:
  7157            items:
  7158              description: Object path
  7159              type: string
  7160            type: array
  7161        required:
  7162        - paths
  7163        type: object
  7164      ObjectStats:
  7165        example:
  7166          physical_address: physical_address
  7167          path: path
  7168          metadata:
  7169            key: metadata
  7170          size_bytes: 6
  7171          content_type: content_type
  7172          physical_address_expiry: 0
  7173          checksum: checksum
  7174          path_type: common_prefix
  7175          mtime: 1
  7176        properties:
  7177          path:
  7178            type: string
  7179          path_type:
  7180            enum:
  7181            - common_prefix
  7182            - object
  7183            type: string
  7184          physical_address:
  7185            description: |
  7186              The location of the object on the underlying object store.
  7187              Formatted as a native URI with the object store type as scheme ("s3://...", "gs://...", etc.)
  7188              Or, in the case of presign=true, will be an HTTP URL to be consumed via regular HTTP GET
  7189            type: string
  7190          physical_address_expiry:
  7191            description: |
  7192              If present and nonzero, physical_address is a pre-signed URL and
  7193              will expire at this Unix Epoch time.  This will be shorter than
  7194              the pre-signed URL lifetime if an authentication token is about
  7195              to expire.
  7196  
  7197              This field is *optional*.
  7198            format: int64
  7199            type: integer
  7200          checksum:
  7201            type: string
  7202          size_bytes:
  7203            format: int64
  7204            type: integer
  7205          mtime:
  7206            description: Unix Epoch in seconds
  7207            format: int64
  7208            type: integer
  7209          metadata:
  7210            additionalProperties:
  7211              type: string
  7212            type: object
  7213          content_type:
  7214            description: Object media type
  7215            type: string
  7216        required:
  7217        - checksum
  7218        - mtime
  7219        - path
  7220        - path_type
  7221        - physical_address
  7222        type: object
  7223      ObjectStatsList:
  7224        example:
  7225          pagination:
  7226            max_per_page: 0
  7227            has_more: true
  7228            next_offset: next_offset
  7229            results: 0
  7230          results:
  7231          - physical_address: physical_address
  7232            path: path
  7233            metadata:
  7234              key: metadata
  7235            size_bytes: 6
  7236            content_type: content_type
  7237            physical_address_expiry: 0
  7238            checksum: checksum
  7239            path_type: common_prefix
  7240            mtime: 1
  7241          - physical_address: physical_address
  7242            path: path
  7243            metadata:
  7244              key: metadata
  7245            size_bytes: 6
  7246            content_type: content_type
  7247            physical_address_expiry: 0
  7248            checksum: checksum
  7249            path_type: common_prefix
  7250            mtime: 1
  7251        properties:
  7252          pagination:
  7253            $ref: '#/components/schemas/Pagination'
  7254          results:
  7255            items:
  7256              $ref: '#/components/schemas/ObjectStats'
  7257            type: array
  7258        required:
  7259        - pagination
  7260        - results
  7261        type: object
  7262      ObjectCopyCreation:
  7263        example:
  7264          force: false
  7265          src_path: src_path
  7266          src_ref: src_ref
  7267        properties:
  7268          src_path:
  7269            description: path of the copied object relative to the ref
  7270            type: string
  7271          src_ref:
  7272            description: a reference, if empty uses the provided branch as ref
  7273            type: string
  7274          force:
  7275            default: false
  7276            type: boolean
  7277        required:
  7278        - src_path
  7279        type: object
  7280      ObjectStageCreation:
  7281        example:
  7282          physical_address: physical_address
  7283          metadata:
  7284            key: metadata
  7285          size_bytes: 0
  7286          content_type: content_type
  7287          checksum: checksum
  7288          force: false
  7289          mtime: 6
  7290        properties:
  7291          physical_address:
  7292            type: string
  7293          checksum:
  7294            type: string
  7295          size_bytes:
  7296            format: int64
  7297            type: integer
  7298          mtime:
  7299            description: Unix Epoch in seconds
  7300            format: int64
  7301            type: integer
  7302          metadata:
  7303            additionalProperties:
  7304              type: string
  7305            type: object
  7306          content_type:
  7307            description: Object media type
  7308            type: string
  7309          force:
  7310            default: false
  7311            type: boolean
  7312        required:
  7313        - checksum
  7314        - physical_address
  7315        - size_bytes
  7316        type: object
  7317      ObjectUserMetadata:
  7318        additionalProperties:
  7319          type: string
  7320        type: object
  7321      UnderlyingObjectProperties:
  7322        example:
  7323          storage_class: storage_class
  7324        properties:
  7325          storage_class:
  7326            nullable: true
  7327            type: string
  7328        type: object
  7329      Ref:
  7330        example:
  7331          id: id
  7332          commit_id: commit_id
  7333        properties:
  7334          id:
  7335            type: string
  7336          commit_id:
  7337            type: string
  7338        required:
  7339        - commit_id
  7340        - id
  7341        type: object
  7342      RefList:
  7343        example:
  7344          pagination:
  7345            max_per_page: 0
  7346            has_more: true
  7347            next_offset: next_offset
  7348            results: 0
  7349          results:
  7350          - id: id
  7351            commit_id: commit_id
  7352          - id: id
  7353            commit_id: commit_id
  7354        properties:
  7355          pagination:
  7356            $ref: '#/components/schemas/Pagination'
  7357          results:
  7358            items:
  7359              $ref: '#/components/schemas/Ref'
  7360            type: array
  7361        required:
  7362        - pagination
  7363        - results
  7364        type: object
  7365      Diff:
  7366        example:
  7367          path: path
  7368          size_bytes: 0
  7369          path_type: common_prefix
  7370          type: added
  7371        properties:
  7372          type:
  7373            enum:
  7374            - added
  7375            - removed
  7376            - changed
  7377            - conflict
  7378            - prefix_changed
  7379            type: string
  7380          path:
  7381            type: string
  7382          path_type:
  7383            enum:
  7384            - common_prefix
  7385            - object
  7386            type: string
  7387          size_bytes:
  7388            description: represents the size of the added/changed/deleted entry
  7389            format: int64
  7390            type: integer
  7391        required:
  7392        - path
  7393        - path_type
  7394        - type
  7395        type: object
  7396      DiffList:
  7397        example:
  7398          pagination:
  7399            max_per_page: 0
  7400            has_more: true
  7401            next_offset: next_offset
  7402            results: 0
  7403          results:
  7404          - path: path
  7405            size_bytes: 0
  7406            path_type: common_prefix
  7407            type: added
  7408          - path: path
  7409            size_bytes: 0
  7410            path_type: common_prefix
  7411            type: added
  7412        properties:
  7413          pagination:
  7414            $ref: '#/components/schemas/Pagination'
  7415          results:
  7416            items:
  7417              $ref: '#/components/schemas/Diff'
  7418            type: array
  7419        required:
  7420        - pagination
  7421        - results
  7422        type: object
  7423      ResetCreation:
  7424        example:
  7425          path: path
  7426          force: false
  7427          type: object
  7428        properties:
  7429          type:
  7430            description: What to reset according to path.
  7431            enum:
  7432            - object
  7433            - common_prefix
  7434            - reset
  7435            type: string
  7436          path:
  7437            type: string
  7438          force:
  7439            default: false
  7440            type: boolean
  7441        required:
  7442        - type
  7443        type: object
  7444      RevertCreation:
  7445        example:
  7446          ref: ref
  7447          parent_number: 0
  7448          force: false
  7449          allow_empty: false
  7450        properties:
  7451          ref:
  7452            description: the commit to revert, given by a ref
  7453            type: string
  7454          parent_number:
  7455            description: when reverting a merge commit, the parent number (starting
  7456              from 1) relative to which to perform the revert.
  7457            type: integer
  7458          force:
  7459            default: false
  7460            type: boolean
  7461          allow_empty:
  7462            default: false
  7463            description: allow empty commit (revert without changes)
  7464            type: boolean
  7465        required:
  7466        - parent_number
  7467        - ref
  7468        type: object
  7469      CherryPickCreation:
  7470        example:
  7471          ref: ref
  7472          parent_number: 0
  7473          force: false
  7474        properties:
  7475          ref:
  7476            description: the commit to cherry-pick, given by a ref
  7477            type: string
  7478          parent_number:
  7479            description: |
  7480              When cherry-picking a merge commit, the parent number (starting from 1) with which to perform the diff.
  7481              The default branch is parent 1.
  7482            type: integer
  7483          force:
  7484            default: false
  7485            type: boolean
  7486        required:
  7487        - ref
  7488        type: object
  7489      Commit:
  7490        example:
  7491          generation: 6
  7492          metadata:
  7493            key: metadata
  7494          committer: committer
  7495          id: id
  7496          creation_date: 0
  7497          meta_range_id: meta_range_id
  7498          message: message
  7499          version: 0
  7500          parents:
  7501          - parents
  7502          - parents
  7503        properties:
  7504          id:
  7505            type: string
  7506          parents:
  7507            items:
  7508              type: string
  7509            type: array
  7510          committer:
  7511            type: string
  7512          message:
  7513            type: string
  7514          creation_date:
  7515            description: Unix Epoch in seconds
  7516            format: int64
  7517            type: integer
  7518          meta_range_id:
  7519            type: string
  7520          metadata:
  7521            additionalProperties:
  7522              type: string
  7523            type: object
  7524          generation:
  7525            format: int64
  7526            type: integer
  7527          version:
  7528            maximum: 1
  7529            minimum: 0
  7530            type: integer
  7531        required:
  7532        - committer
  7533        - creation_date
  7534        - id
  7535        - message
  7536        - meta_range_id
  7537        - parents
  7538        type: object
  7539      CommitList:
  7540        example:
  7541          pagination:
  7542            max_per_page: 0
  7543            has_more: true
  7544            next_offset: next_offset
  7545            results: 0
  7546          results:
  7547          - generation: 6
  7548            metadata:
  7549              key: metadata
  7550            committer: committer
  7551            id: id
  7552            creation_date: 0
  7553            meta_range_id: meta_range_id
  7554            message: message
  7555            version: 0
  7556            parents:
  7557            - parents
  7558            - parents
  7559          - generation: 6
  7560            metadata:
  7561              key: metadata
  7562            committer: committer
  7563            id: id
  7564            creation_date: 0
  7565            meta_range_id: meta_range_id
  7566            message: message
  7567            version: 0
  7568            parents:
  7569            - parents
  7570            - parents
  7571        properties:
  7572          pagination:
  7573            $ref: '#/components/schemas/Pagination'
  7574          results:
  7575            items:
  7576              $ref: '#/components/schemas/Commit'
  7577            type: array
  7578        required:
  7579        - pagination
  7580        - results
  7581        type: object
  7582      CommitCreation:
  7583        example:
  7584          date: 0
  7585          metadata:
  7586            key: metadata
  7587          force: false
  7588          message: message
  7589          allow_empty: false
  7590        properties:
  7591          message:
  7592            type: string
  7593          metadata:
  7594            additionalProperties:
  7595              type: string
  7596            type: object
  7597          date:
  7598            description: set date to override creation date in the commit (Unix Epoch
  7599              in seconds)
  7600            format: int64
  7601            type: integer
  7602          allow_empty:
  7603            default: false
  7604            description: sets whether a commit can contain no changes
  7605            type: boolean
  7606          force:
  7607            default: false
  7608            type: boolean
  7609        required:
  7610        - message
  7611        type: object
  7612      CommitRecordCreation:
  7613        example:
  7614          generation: 1
  7615          metadata:
  7616            key: metadata
  7617          committer: committer
  7618          metarange_id: metarange_id
  7619          force: false
  7620          creation_date: 6
  7621          message: message
  7622          commit_id: commit_id
  7623          version: 0
  7624          parents:
  7625          - parents
  7626          - parents
  7627        properties:
  7628          commit_id:
  7629            description: id of the commit record
  7630            type: string
  7631          version:
  7632            description: version of the commit record
  7633            maximum: 1
  7634            minimum: 0
  7635            type: integer
  7636          committer:
  7637            description: committer of the commit record
  7638            type: string
  7639          message:
  7640            description: message of the commit record
  7641            type: string
  7642          metarange_id:
  7643            description: metarange_id of the commit record
  7644            type: string
  7645          creation_date:
  7646            description: Unix Epoch in seconds
  7647            format: int64
  7648            type: integer
  7649          parents:
  7650            description: parents of the commit record
  7651            items:
  7652              type: string
  7653            type: array
  7654          metadata:
  7655            additionalProperties:
  7656              type: string
  7657            description: metadata of the commit record
  7658            type: object
  7659          generation:
  7660            description: generation of the commit record
  7661            format: int64
  7662            type: integer
  7663          force:
  7664            default: false
  7665            type: boolean
  7666        required:
  7667        - commit_id
  7668        - committer
  7669        - creation_date
  7670        - generation
  7671        - message
  7672        - metarange_id
  7673        - parents
  7674        - version
  7675        type: object
  7676      Merge:
  7677        example:
  7678          metadata:
  7679            key: metadata
  7680          force: false
  7681          message: message
  7682          strategy: strategy
  7683        properties:
  7684          message:
  7685            type: string
  7686          metadata:
  7687            additionalProperties:
  7688              type: string
  7689            type: object
  7690          strategy:
  7691            description: In case of a merge conflict, this option will force the merge
  7692              process to automatically favor changes from the dest branch ('dest-wins')
  7693              or from the source branch('source-wins'). In case no selection is made,
  7694              the merge process will fail in case of a conflict
  7695            type: string
  7696          force:
  7697            default: false
  7698            type: boolean
  7699        type: object
  7700      BranchCreation:
  7701        example:
  7702          name: name
  7703          force: false
  7704          source: source
  7705        properties:
  7706          name:
  7707            type: string
  7708          source:
  7709            type: string
  7710          force:
  7711            default: false
  7712            type: boolean
  7713        required:
  7714        - name
  7715        - source
  7716        type: object
  7717      TagCreation:
  7718        description: Make tag ID point at this REF.
  7719        example:
  7720          ref: ref
  7721          force: false
  7722          id: id
  7723        properties:
  7724          id:
  7725            description: ID of tag to create
  7726            type: string
  7727          ref:
  7728            description: the commit to tag
  7729            type: string
  7730          force:
  7731            default: false
  7732            type: boolean
  7733        required:
  7734        - id
  7735        - ref
  7736        type: object
  7737      TaskInfo:
  7738        example:
  7739          id: id
  7740        properties:
  7741          id:
  7742            description: ID of the task
  7743            type: string
  7744        required:
  7745        - id
  7746        type: object
  7747      RepositoryDumpStatus:
  7748        example:
  7749          update_time: 2000-01-23T04:56:07.000+00:00
  7750          refs:
  7751            tags_meta_range_id: tags_meta_range_id
  7752            branches_meta_range_id: branches_meta_range_id
  7753            commits_meta_range_id: commits_meta_range_id
  7754          id: id
  7755          error: error
  7756          done: true
  7757        properties:
  7758          id:
  7759            description: ID of the task
  7760            type: string
  7761          done:
  7762            type: boolean
  7763          update_time:
  7764            format: date-time
  7765            type: string
  7766          error:
  7767            type: string
  7768          refs:
  7769            $ref: '#/components/schemas/RefsDump'
  7770        required:
  7771        - done
  7772        - id
  7773        - update_time
  7774        type: object
  7775      RepositoryRestoreStatus:
  7776        example:
  7777          update_time: 2000-01-23T04:56:07.000+00:00
  7778          id: id
  7779          error: error
  7780          done: true
  7781        properties:
  7782          id:
  7783            description: ID of the task
  7784            type: string
  7785          done:
  7786            type: boolean
  7787          update_time:
  7788            format: date-time
  7789            type: string
  7790          error:
  7791            type: string
  7792        required:
  7793        - done
  7794        - id
  7795        - update_time
  7796        type: object
  7797      RefsDump:
  7798        example:
  7799          tags_meta_range_id: tags_meta_range_id
  7800          branches_meta_range_id: branches_meta_range_id
  7801          commits_meta_range_id: commits_meta_range_id
  7802        properties:
  7803          commits_meta_range_id:
  7804            type: string
  7805          tags_meta_range_id:
  7806            type: string
  7807          branches_meta_range_id:
  7808            type: string
  7809        required:
  7810        - branches_meta_range_id
  7811        - commits_meta_range_id
  7812        - tags_meta_range_id
  7813        type: object
  7814      RefsRestore:
  7815        example:
  7816          tags_meta_range_id: tags_meta_range_id
  7817          branches_meta_range_id: branches_meta_range_id
  7818          force: false
  7819          commits_meta_range_id: commits_meta_range_id
  7820        properties:
  7821          commits_meta_range_id:
  7822            type: string
  7823          tags_meta_range_id:
  7824            type: string
  7825          branches_meta_range_id:
  7826            type: string
  7827          force:
  7828            default: false
  7829            type: boolean
  7830        required:
  7831        - branches_meta_range_id
  7832        - commits_meta_range_id
  7833        - tags_meta_range_id
  7834        type: object
  7835      StorageURI:
  7836        description: URI to a path in a storage provider (e.g. "s3://bucket1/path/to/object")
  7837        example:
  7838          location: location
  7839        properties:
  7840          location:
  7841            type: string
  7842        required:
  7843        - location
  7844        type: object
  7845      Error:
  7846        example:
  7847          message: message
  7848        properties:
  7849          message:
  7850            description: short message explaining the error
  7851            type: string
  7852        required:
  7853        - message
  7854        type: object
  7855      ObjectError:
  7856        example:
  7857          path: path
  7858          status_code: 0
  7859          message: message
  7860        properties:
  7861          status_code:
  7862            description: HTTP status code associated for operation on path
  7863            type: integer
  7864          message:
  7865            description: short message explaining status_code
  7866            type: string
  7867          path:
  7868            description: affected path
  7869            type: string
  7870        required:
  7871        - message
  7872        - status_code
  7873        type: object
  7874      ObjectErrorList:
  7875        example:
  7876          errors:
  7877          - path: path
  7878            status_code: 0
  7879            message: message
  7880          - path: path
  7881            status_code: 0
  7882            message: message
  7883        properties:
  7884          errors:
  7885            items:
  7886              $ref: '#/components/schemas/ObjectError'
  7887            type: array
  7888        required:
  7889        - errors
  7890        type: object
  7891      ErrorNoACL:
  7892        properties:
  7893          message:
  7894            description: short message explaining the error
  7895            type: string
  7896          no_acl:
  7897            description: true if the group exists but has no ACL
  7898            type: boolean
  7899        required:
  7900        - message
  7901        type: object
  7902      User:
  7903        example:
  7904          friendly_name: friendly_name
  7905          id: id
  7906          creation_date: 0
  7907          email: email
  7908        properties:
  7909          id:
  7910            description: A unique identifier for the user. Cannot be edited.
  7911            type: string
  7912          creation_date:
  7913            description: Unix Epoch in seconds
  7914            format: int64
  7915            type: integer
  7916          friendly_name:
  7917            description: |
  7918              A shorter name for the user than the id. Unlike id it does not identify the user (it
  7919              might not be unique). Used in some places in the UI.
  7920            type: string
  7921          email:
  7922            description: "The email address of the user. If API authentication is enabled,\
  7923              \ this field is mandatory and will be invited to login.\nIf API authentication\
  7924              \ is disabled, this field will be ignored. All current APIAuthenticators\
  7925              \ require the email to be \nlowercase and unique, although custom authenticators\
  7926              \ may not enforce this.\n"
  7927            type: string
  7928        required:
  7929        - creation_date
  7930        - id
  7931        type: object
  7932      CurrentUser:
  7933        example:
  7934          user:
  7935            friendly_name: friendly_name
  7936            id: id
  7937            creation_date: 0
  7938            email: email
  7939        properties:
  7940          user:
  7941            $ref: '#/components/schemas/User'
  7942        required:
  7943        - user
  7944        type: object
  7945      UserCreation:
  7946        example:
  7947          invite_user: true
  7948          id: id
  7949        properties:
  7950          id:
  7951            description: a unique identifier for the user.
  7952            type: string
  7953          invite_user:
  7954            type: boolean
  7955        required:
  7956        - id
  7957        type: object
  7958      LoginConfig:
  7959        example:
  7960          login_failed_message: login_failed_message
  7961          logout_url: logout_url
  7962          login_url: login_url
  7963          RBAC: simplified
  7964          fallback_login_url: fallback_login_url
  7965          login_cookie_names:
  7966          - login_cookie_names
  7967          - login_cookie_names
  7968          fallback_login_label: fallback_login_label
  7969        properties:
  7970          RBAC:
  7971            description: |
  7972              RBAC will remain enabled on GUI if "external".  That only works
  7973              with an external auth service.
  7974            enum:
  7975            - simplified
  7976            - external
  7977            type: string
  7978          login_url:
  7979            description: primary URL to use for login.
  7980            type: string
  7981          login_failed_message:
  7982            description: |
  7983              message to display to users who fail to login; a full sentence that is rendered
  7984              in HTML and may contain a link to a secondary login method
  7985            type: string
  7986          fallback_login_url:
  7987            description: secondary URL to offer users to use for login.
  7988            type: string
  7989          fallback_login_label:
  7990            description: label to place on fallback_login_url.
  7991            type: string
  7992          login_cookie_names:
  7993            description: cookie names used to store JWT
  7994            items:
  7995              type: string
  7996            type: array
  7997          logout_url:
  7998            description: URL to use for logging out.
  7999            type: string
  8000        required:
  8001        - login_cookie_names
  8002        - login_url
  8003        - logout_url
  8004        type: object
  8005      SetupState:
  8006        example:
  8007          login_config:
  8008            login_failed_message: login_failed_message
  8009            logout_url: logout_url
  8010            login_url: login_url
  8011            RBAC: simplified
  8012            fallback_login_url: fallback_login_url
  8013            login_cookie_names:
  8014            - login_cookie_names
  8015            - login_cookie_names
  8016            fallback_login_label: fallback_login_label
  8017          state: initialized
  8018          comm_prefs_missing: true
  8019        properties:
  8020          state:
  8021            enum:
  8022            - initialized
  8023            - not_initialized
  8024            type: string
  8025          comm_prefs_missing:
  8026            description: true if the comm prefs are missing.
  8027            type: boolean
  8028          login_config:
  8029            $ref: '#/components/schemas/LoginConfig'
  8030        type: object
  8031      AccessKeyCredentials:
  8032        example:
  8033          access_key_id: AKIAIOSFODNN7EXAMPLE
  8034          secret_access_key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
  8035        properties:
  8036          access_key_id:
  8037            description: access key ID to set for user for use in integration testing.
  8038            example: AKIAIOSFODNN7EXAMPLE
  8039            minLength: 1
  8040            type: string
  8041          secret_access_key:
  8042            description: secret access key to set for user for use in integration testing.
  8043            example: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
  8044            minLength: 1
  8045            type: string
  8046        required:
  8047        - access_key_id
  8048        - secret_access_key
  8049        type: object
  8050      Setup:
  8051        example:
  8052          key:
  8053            access_key_id: AKIAIOSFODNN7EXAMPLE
  8054            secret_access_key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
  8055          username: username
  8056        properties:
  8057          username:
  8058            description: an identifier for the user (e.g. jane.doe)
  8059            type: string
  8060          key:
  8061            $ref: '#/components/schemas/AccessKeyCredentials'
  8062        required:
  8063        - username
  8064        type: object
  8065      CommPrefsInput:
  8066        example:
  8067          featureUpdates: true
  8068          email: email
  8069          securityUpdates: true
  8070        properties:
  8071          email:
  8072            description: the provided email
  8073            type: string
  8074          featureUpdates:
  8075            description: user preference to receive feature updates
  8076            type: boolean
  8077          securityUpdates:
  8078            description: user preference to receive security updates
  8079            type: boolean
  8080        required:
  8081        - featureUpdates
  8082        - securityUpdates
  8083        type: object
  8084      Credentials:
  8085        example:
  8086          access_key_id: access_key_id
  8087          creation_date: 0
  8088        properties:
  8089          access_key_id:
  8090            type: string
  8091          creation_date:
  8092            description: Unix Epoch in seconds
  8093            format: int64
  8094            type: integer
  8095        required:
  8096        - access_key_id
  8097        - creation_date
  8098        type: object
  8099      CredentialsList:
  8100        example:
  8101          pagination:
  8102            max_per_page: 0
  8103            has_more: true
  8104            next_offset: next_offset
  8105            results: 0
  8106          results:
  8107          - access_key_id: access_key_id
  8108            creation_date: 0
  8109          - access_key_id: access_key_id
  8110            creation_date: 0
  8111        properties:
  8112          pagination:
  8113            $ref: '#/components/schemas/Pagination'
  8114          results:
  8115            items:
  8116              $ref: '#/components/schemas/Credentials'
  8117            type: array
  8118        required:
  8119        - pagination
  8120        - results
  8121        type: object
  8122      CredentialsWithSecret:
  8123        example:
  8124          access_key_id: access_key_id
  8125          secret_access_key: secret_access_key
  8126          creation_date: 0
  8127        properties:
  8128          access_key_id:
  8129            type: string
  8130          secret_access_key:
  8131            type: string
  8132          creation_date:
  8133            description: Unix Epoch in seconds
  8134            format: int64
  8135            type: integer
  8136        required:
  8137        - access_key_id
  8138        - creation_date
  8139        - secret_access_key
  8140        type: object
  8141      Group:
  8142        example:
  8143          name: name
  8144          id: id
  8145          creation_date: 0
  8146        properties:
  8147          id:
  8148            type: string
  8149          name:
  8150            type: string
  8151          creation_date:
  8152            description: Unix Epoch in seconds
  8153            format: int64
  8154            type: integer
  8155        required:
  8156        - creation_date
  8157        - id
  8158        type: object
  8159      GroupList:
  8160        example:
  8161          pagination:
  8162            max_per_page: 0
  8163            has_more: true
  8164            next_offset: next_offset
  8165            results: 0
  8166          results:
  8167          - name: name
  8168            id: id
  8169            creation_date: 0
  8170          - name: name
  8171            id: id
  8172            creation_date: 0
  8173        properties:
  8174          pagination:
  8175            $ref: '#/components/schemas/Pagination'
  8176          results:
  8177            items:
  8178              $ref: '#/components/schemas/Group'
  8179            type: array
  8180        required:
  8181        - pagination
  8182        - results
  8183        type: object
  8184      AuthCapabilities:
  8185        example:
  8186          invite_user: true
  8187          forgot_password: true
  8188        properties:
  8189          invite_user:
  8190            type: boolean
  8191          forgot_password:
  8192            type: boolean
  8193        type: object
  8194      UserList:
  8195        example:
  8196          pagination:
  8197            max_per_page: 0
  8198            has_more: true
  8199            next_offset: next_offset
  8200            results: 0
  8201          results:
  8202          - friendly_name: friendly_name
  8203            id: id
  8204            creation_date: 0
  8205            email: email
  8206          - friendly_name: friendly_name
  8207            id: id
  8208            creation_date: 0
  8209            email: email
  8210        properties:
  8211          pagination:
  8212            $ref: '#/components/schemas/Pagination'
  8213          results:
  8214            items:
  8215              $ref: '#/components/schemas/User'
  8216            type: array
  8217        required:
  8218        - pagination
  8219        - results
  8220        type: object
  8221      LoginInformation:
  8222        example:
  8223          access_key_id: access_key_id
  8224          secret_access_key: secret_access_key
  8225        properties:
  8226          access_key_id:
  8227            type: string
  8228          secret_access_key:
  8229            type: string
  8230        required:
  8231        - access_key_id
  8232        - secret_access_key
  8233        type: object
  8234      ExternalLoginInformation:
  8235        example:
  8236          identityRequest: '{}'
  8237          token_expiration_duration: 0
  8238        properties:
  8239          token_expiration_duration:
  8240            type: integer
  8241          identityRequest:
  8242            type: object
  8243        required:
  8244        - identityRequest
  8245        type: object
  8246      StsAuthRequest:
  8247        example:
  8248          code: code
  8249          ttl_seconds: 0
  8250          state: state
  8251          redirect_uri: redirect_uri
  8252        properties:
  8253          code:
  8254            type: string
  8255          state:
  8256            type: string
  8257          redirect_uri:
  8258            type: string
  8259          ttl_seconds:
  8260            description: |
  8261              The time-to-live for the generated token in seconds.  The default
  8262              value is 3600 seconds (1 hour) maximum time allowed is 12 hours.
  8263            format: int64
  8264            type: integer
  8265        required:
  8266        - code
  8267        - redirect_uri
  8268        - state
  8269        type: object
  8270      AuthenticationToken:
  8271        example:
  8272          token_expiration: 0
  8273          token: token
  8274        properties:
  8275          token:
  8276            description: a JWT token that could be used to authenticate requests
  8277            type: string
  8278          token_expiration:
  8279            description: Unix Epoch in seconds
  8280            format: int64
  8281            type: integer
  8282        required:
  8283        - token
  8284        type: object
  8285      GroupCreation:
  8286        example:
  8287          id: id
  8288        properties:
  8289          id:
  8290            type: string
  8291        required:
  8292        - id
  8293        type: object
  8294      Statement:
  8295        example:
  8296          resource: resource
  8297          effect: allow
  8298          action:
  8299          - action
  8300          - action
  8301        properties:
  8302          effect:
  8303            enum:
  8304            - allow
  8305            - deny
  8306            type: string
  8307          resource:
  8308            type: string
  8309          action:
  8310            items:
  8311              type: string
  8312            minItems: 1
  8313            type: array
  8314        required:
  8315        - action
  8316        - effect
  8317        - resource
  8318        type: object
  8319      Policy:
  8320        example:
  8321          statement:
  8322          - resource: resource
  8323            effect: allow
  8324            action:
  8325            - action
  8326            - action
  8327          - resource: resource
  8328            effect: allow
  8329            action:
  8330            - action
  8331            - action
  8332          id: id
  8333          creation_date: 0
  8334        properties:
  8335          id:
  8336            type: string
  8337          creation_date:
  8338            description: Unix Epoch in seconds
  8339            format: int64
  8340            type: integer
  8341          statement:
  8342            items:
  8343              $ref: '#/components/schemas/Statement'
  8344            minItems: 1
  8345            type: array
  8346        required:
  8347        - id
  8348        - statement
  8349        type: object
  8350      PolicyList:
  8351        example:
  8352          pagination:
  8353            max_per_page: 0
  8354            has_more: true
  8355            next_offset: next_offset
  8356            results: 0
  8357          results:
  8358          - statement:
  8359            - resource: resource
  8360              effect: allow
  8361              action:
  8362              - action
  8363              - action
  8364            - resource: resource
  8365              effect: allow
  8366              action:
  8367              - action
  8368              - action
  8369            id: id
  8370            creation_date: 0
  8371          - statement:
  8372            - resource: resource
  8373              effect: allow
  8374              action:
  8375              - action
  8376              - action
  8377            - resource: resource
  8378              effect: allow
  8379              action:
  8380              - action
  8381              - action
  8382            id: id
  8383            creation_date: 0
  8384        properties:
  8385          pagination:
  8386            $ref: '#/components/schemas/Pagination'
  8387          results:
  8388            items:
  8389              $ref: '#/components/schemas/Policy'
  8390            type: array
  8391        required:
  8392        - pagination
  8393        - results
  8394        type: object
  8395      ACL:
  8396        example:
  8397          permission: permission
  8398        properties:
  8399          permission:
  8400            description: |
  8401              Permission level to give this ACL.  "Read", "Write", "Super" and
  8402              "Admin" are all supported.
  8403            type: string
  8404        required:
  8405        - permission
  8406        type: object
  8407      StorageConfig:
  8408        example:
  8409          pre_sign_multipart_upload: true
  8410          blockstore_namespace_example: blockstore_namespace_example
  8411          blockstore_namespace_ValidityRegex: blockstore_namespace_ValidityRegex
  8412          blockstore_type: blockstore_type
  8413          pre_sign_support_ui: true
  8414          import_support: true
  8415          import_validity_regex: import_validity_regex
  8416          default_namespace_prefix: default_namespace_prefix
  8417          pre_sign_support: true
  8418        properties:
  8419          blockstore_type:
  8420            type: string
  8421          blockstore_namespace_example:
  8422            type: string
  8423          blockstore_namespace_ValidityRegex:
  8424            type: string
  8425          default_namespace_prefix:
  8426            type: string
  8427          pre_sign_support:
  8428            type: boolean
  8429          pre_sign_support_ui:
  8430            type: boolean
  8431          import_support:
  8432            type: boolean
  8433          import_validity_regex:
  8434            type: string
  8435          pre_sign_multipart_upload:
  8436            type: boolean
  8437        required:
  8438        - blockstore_namespace_ValidityRegex
  8439        - blockstore_namespace_example
  8440        - blockstore_type
  8441        - import_support
  8442        - import_validity_regex
  8443        - pre_sign_support
  8444        - pre_sign_support_ui
  8445        type: object
  8446      Config:
  8447        example:
  8448          storage_config:
  8449            pre_sign_multipart_upload: true
  8450            blockstore_namespace_example: blockstore_namespace_example
  8451            blockstore_namespace_ValidityRegex: blockstore_namespace_ValidityRegex
  8452            blockstore_type: blockstore_type
  8453            pre_sign_support_ui: true
  8454            import_support: true
  8455            import_validity_regex: import_validity_regex
  8456            default_namespace_prefix: default_namespace_prefix
  8457            pre_sign_support: true
  8458          version_config:
  8459            latest_version: latest_version
  8460            version: version
  8461            upgrade_recommended: true
  8462            upgrade_url: upgrade_url
  8463        properties:
  8464          version_config:
  8465            $ref: '#/components/schemas/VersionConfig'
  8466          storage_config:
  8467            $ref: '#/components/schemas/StorageConfig'
  8468        type: object
  8469      VersionConfig:
  8470        example:
  8471          latest_version: latest_version
  8472          version: version
  8473          upgrade_recommended: true
  8474          upgrade_url: upgrade_url
  8475        properties:
  8476          version:
  8477            type: string
  8478          latest_version:
  8479            type: string
  8480          upgrade_recommended:
  8481            type: boolean
  8482          upgrade_url:
  8483            type: string
  8484        type: object
  8485      GarbageCollectionConfig:
  8486        example:
  8487          grace_period: 0
  8488        properties:
  8489          grace_period:
  8490            description: Duration in seconds. Objects created in the recent grace_period
  8491              will not be collected.
  8492            type: integer
  8493        type: object
  8494      ActionRun:
  8495        example:
  8496          start_time: 2000-01-23T04:56:07.000+00:00
  8497          run_id: run_id
  8498          event_type: event_type
  8499          end_time: 2000-01-23T04:56:07.000+00:00
  8500          branch: branch
  8501          commit_id: commit_id
  8502          status: failed
  8503        properties:
  8504          run_id:
  8505            type: string
  8506          branch:
  8507            type: string
  8508          start_time:
  8509            format: date-time
  8510            type: string
  8511          end_time:
  8512            format: date-time
  8513            type: string
  8514          event_type:
  8515            type: string
  8516          status:
  8517            enum:
  8518            - failed
  8519            - completed
  8520            type: string
  8521          commit_id:
  8522            type: string
  8523        required:
  8524        - branch
  8525        - commit_id
  8526        - event_type
  8527        - run_id
  8528        - start_time
  8529        - status
  8530        type: object
  8531      ActionRunList:
  8532        example:
  8533          pagination:
  8534            max_per_page: 0
  8535            has_more: true
  8536            next_offset: next_offset
  8537            results: 0
  8538          results:
  8539          - start_time: 2000-01-23T04:56:07.000+00:00
  8540            run_id: run_id
  8541            event_type: event_type
  8542            end_time: 2000-01-23T04:56:07.000+00:00
  8543            branch: branch
  8544            commit_id: commit_id
  8545            status: failed
  8546          - start_time: 2000-01-23T04:56:07.000+00:00
  8547            run_id: run_id
  8548            event_type: event_type
  8549            end_time: 2000-01-23T04:56:07.000+00:00
  8550            branch: branch
  8551            commit_id: commit_id
  8552            status: failed
  8553        properties:
  8554          pagination:
  8555            $ref: '#/components/schemas/Pagination'
  8556          results:
  8557            items:
  8558              $ref: '#/components/schemas/ActionRun'
  8559            type: array
  8560        required:
  8561        - pagination
  8562        - results
  8563        type: object
  8564      HookRun:
  8565        example:
  8566          start_time: 2000-01-23T04:56:07.000+00:00
  8567          hook_id: hook_id
  8568          end_time: 2000-01-23T04:56:07.000+00:00
  8569          action: action
  8570          hook_run_id: hook_run_id
  8571          status: failed
  8572        properties:
  8573          hook_run_id:
  8574            type: string
  8575          action:
  8576            type: string
  8577          hook_id:
  8578            type: string
  8579          start_time:
  8580            format: date-time
  8581            type: string
  8582          end_time:
  8583            format: date-time
  8584            type: string
  8585          status:
  8586            enum:
  8587            - failed
  8588            - completed
  8589            type: string
  8590        required:
  8591        - action
  8592        - hook_id
  8593        - hook_run_id
  8594        - start_time
  8595        - status
  8596        type: object
  8597      HookRunList:
  8598        example:
  8599          pagination:
  8600            max_per_page: 0
  8601            has_more: true
  8602            next_offset: next_offset
  8603            results: 0
  8604          results:
  8605          - start_time: 2000-01-23T04:56:07.000+00:00
  8606            hook_id: hook_id
  8607            end_time: 2000-01-23T04:56:07.000+00:00
  8608            action: action
  8609            hook_run_id: hook_run_id
  8610            status: failed
  8611          - start_time: 2000-01-23T04:56:07.000+00:00
  8612            hook_id: hook_id
  8613            end_time: 2000-01-23T04:56:07.000+00:00
  8614            action: action
  8615            hook_run_id: hook_run_id
  8616            status: failed
  8617        properties:
  8618          pagination:
  8619            $ref: '#/components/schemas/Pagination'
  8620          results:
  8621            items:
  8622              $ref: '#/components/schemas/HookRun'
  8623            type: array
  8624        required:
  8625        - pagination
  8626        - results
  8627        type: object
  8628      StagingLocation:
  8629        description: location for placing an object when staging it
  8630        example:
  8631          physical_address: physical_address
  8632          presigned_url: presigned_url
  8633          presigned_url_expiry: 0
  8634        properties:
  8635          physical_address:
  8636            type: string
  8637          presigned_url:
  8638            description: if presign=true is passed in the request, this field will contain
  8639              a pre-signed URL to use when uploading
  8640            nullable: true
  8641            type: string
  8642          presigned_url_expiry:
  8643            description: |
  8644              If present and nonzero, physical_address is a pre-signed URL and
  8645              will expire at this Unix Epoch time.  This will be shorter than
  8646              the pre-signed URL lifetime if an authentication token is about
  8647              to expire.
  8648  
  8649              This field is *optional*.
  8650            format: int64
  8651            type: integer
  8652        type: object
  8653      StagingMetadata:
  8654        description: information about uploaded object
  8655        example:
  8656          size_bytes: 0
  8657          user_metadata:
  8658            key: user_metadata
  8659          content_type: content_type
  8660          checksum: checksum
  8661          force: false
  8662          staging:
  8663            physical_address: physical_address
  8664            presigned_url: presigned_url
  8665            presigned_url_expiry: 0
  8666        properties:
  8667          staging:
  8668            $ref: '#/components/schemas/StagingLocation'
  8669          checksum:
  8670            description: unique identifier of object content on backing store (typically
  8671              ETag)
  8672            type: string
  8673          size_bytes:
  8674            format: int64
  8675            type: integer
  8676          user_metadata:
  8677            additionalProperties:
  8678              type: string
  8679            type: object
  8680          content_type:
  8681            description: Object media type
  8682            type: string
  8683          force:
  8684            default: false
  8685            type: boolean
  8686        required:
  8687        - checksum
  8688        - size_bytes
  8689        - staging
  8690        type: object
  8691      GarbageCollectionPrepareResponse:
  8692        example:
  8693          run_id: 64eaa103-d726-4a33-bcb8-7c0b4abfe09e
  8694          gc_addresses_location: s3://my-storage-namespace/_lakefs/retention/addresses
  8695          gc_commits_location: s3://my-storage-namespace/_lakefs/retention/commits
  8696          gc_commits_presigned_url: gc_commits_presigned_url
  8697        properties:
  8698          run_id:
  8699            description: a unique identifier generated for this GC job
  8700            example: 64eaa103-d726-4a33-bcb8-7c0b4abfe09e
  8701            type: string
  8702          gc_commits_location:
  8703            description: location of the resulting commits csv table (partitioned by
  8704              run_id)
  8705            example: s3://my-storage-namespace/_lakefs/retention/commits
  8706            type: string
  8707          gc_addresses_location:
  8708            description: location to use for expired addresses parquet table (partitioned
  8709              by run_id)
  8710            example: s3://my-storage-namespace/_lakefs/retention/addresses
  8711            type: string
  8712          gc_commits_presigned_url:
  8713            description: a presigned url to download the commits csv
  8714            type: string
  8715        required:
  8716        - gc_addresses_location
  8717        - gc_commits_location
  8718        - run_id
  8719        type: object
  8720      PrepareGCUncommittedRequest:
  8721        example:
  8722          continuation_token: continuation_token
  8723        properties:
  8724          continuation_token:
  8725            type: string
  8726        type: object
  8727      PrepareGCUncommittedResponse:
  8728        example:
  8729          continuation_token: continuation_token
  8730          run_id: run_id
  8731          gc_uncommitted_location: gc_uncommitted_location
  8732        properties:
  8733          run_id:
  8734            type: string
  8735          gc_uncommitted_location:
  8736            description: location of uncommitted information data
  8737            type: string
  8738          continuation_token:
  8739            type: string
  8740        required:
  8741        - gc_uncommitted_location
  8742        - run_id
  8743        type: object
  8744      GarbageCollectionRule:
  8745        example:
  8746          branch_id: branch_id
  8747          retention_days: 6
  8748        properties:
  8749          branch_id:
  8750            type: string
  8751          retention_days:
  8752            type: integer
  8753        required:
  8754        - branch_id
  8755        - retention_days
  8756        type: object
  8757      GarbageCollectionRules:
  8758        example:
  8759          branches:
  8760          - branch_id: branch_id
  8761            retention_days: 6
  8762          - branch_id: branch_id
  8763            retention_days: 6
  8764          default_retention_days: 0
  8765        properties:
  8766          default_retention_days:
  8767            type: integer
  8768          branches:
  8769            items:
  8770              $ref: '#/components/schemas/GarbageCollectionRule'
  8771            type: array
  8772        required:
  8773        - branches
  8774        - default_retention_days
  8775        type: object
  8776      BranchProtectionRule:
  8777        example:
  8778          pattern: stable_*
  8779        properties:
  8780          pattern:
  8781            description: fnmatch pattern for the branch name, supporting * and ? wildcards
  8782            example: stable_*
  8783            minLength: 1
  8784            type: string
  8785        required:
  8786        - pattern
  8787        type: object
  8788      ImportLocation:
  8789        properties:
  8790          type:
  8791            description: Path type, can either be 'common_prefix' or 'object'
  8792            enum:
  8793            - common_prefix
  8794            - object
  8795            type: string
  8796          path:
  8797            description: A source location to a 'common_prefix' or to a single object.
  8798              Must match the lakeFS installation blockstore type.
  8799            example: s3://my-bucket/production/collections/
  8800            type: string
  8801          destination:
  8802            description: |
  8803              Destination for the imported objects on the branch. Must be a relative path to the branch.
  8804              If the type is an 'object', the destination is the exact object name under the branch.
  8805              If the type is a 'common_prefix', the destination is the prefix under the branch.
  8806            example: collections/
  8807            type: string
  8808        required:
  8809        - destination
  8810        - path
  8811        - type
  8812        type: object
  8813      ImportCreation:
  8814        example:
  8815          paths:
  8816          - path: s3://my-bucket/production/collections/
  8817            destination: collections/
  8818            type: common_prefix
  8819          - path: s3://my-bucket/production/collections/file1
  8820            destination: collections/file1
  8821            type: object
  8822        properties:
  8823          paths:
  8824            items:
  8825              $ref: '#/components/schemas/ImportLocation'
  8826            type: array
  8827          commit:
  8828            $ref: '#/components/schemas/CommitCreation'
  8829          force:
  8830            default: false
  8831            type: boolean
  8832        required:
  8833        - commit
  8834        - paths
  8835        type: object
  8836      RangeMetadata:
  8837        properties:
  8838          id:
  8839            description: ID of the range.
  8840            example: 480e19972a6fbe98ab8e81ae5efdfd1a29037587e91244e87abd4adefffdb01c
  8841            type: string
  8842          min_key:
  8843            description: First key in the range.
  8844            example: production/collections/some/file_1.parquet
  8845            type: string
  8846          max_key:
  8847            description: Last key in the range.
  8848            example: production/collections/some/file_8229.parquet
  8849            type: string
  8850          count:
  8851            description: Number of records in the range.
  8852            type: integer
  8853          estimated_size:
  8854            description: Estimated size of the range in bytes
  8855            type: integer
  8856        required:
  8857        - count
  8858        - estimated_size
  8859        - id
  8860        - max_key
  8861        - min_key
  8862        type: object
  8863      ImportStatus:
  8864        example:
  8865          update_time: 2000-01-23T04:56:07.000+00:00
  8866          metarange_id: metarange_id
  8867          ingested_objects: 0
  8868          commit:
  8869            generation: 6
  8870            metadata:
  8871              key: metadata
  8872            committer: committer
  8873            id: id
  8874            creation_date: 0
  8875            meta_range_id: meta_range_id
  8876            message: message
  8877            version: 0
  8878            parents:
  8879            - parents
  8880            - parents
  8881          completed: true
  8882          error:
  8883            message: message
  8884        properties:
  8885          completed:
  8886            type: boolean
  8887          update_time:
  8888            format: date-time
  8889            type: string
  8890          ingested_objects:
  8891            description: Number of objects processed so far
  8892            format: int64
  8893            type: integer
  8894          metarange_id:
  8895            type: string
  8896          commit:
  8897            $ref: '#/components/schemas/Commit'
  8898          error:
  8899            $ref: '#/components/schemas/Error'
  8900        required:
  8901        - completed
  8902        - update_time
  8903        type: object
  8904      ImportCreationResponse:
  8905        example:
  8906          id: id
  8907        properties:
  8908          id:
  8909            description: The id of the import process
  8910            type: string
  8911        required:
  8912        - id
  8913        type: object
  8914      MetaRangeCreation:
  8915        properties:
  8916          ranges:
  8917            items:
  8918              $ref: '#/components/schemas/RangeMetadata'
  8919            minItems: 1
  8920            type: array
  8921        required:
  8922        - ranges
  8923        type: object
  8924      MetaRangeCreationResponse:
  8925        properties:
  8926          id:
  8927            description: The id of the created metarange
  8928            type: string
  8929        type: object
  8930      UpdateToken:
  8931        properties:
  8932          staging_token:
  8933            type: string
  8934        required:
  8935        - staging_token
  8936        type: object
  8937      StatsEvent:
  8938        example:
  8939          name: name
  8940          count: 0
  8941          class: class
  8942        properties:
  8943          class:
  8944            description: stats event class (e.g. "s3_gateway", "openapi_request", "experimental-feature",
  8945              "ui-event")
  8946            type: string
  8947          name:
  8948            description: stats event name (e.g. "put_object", "create_repository", "<experimental-feature-name>")
  8949            type: string
  8950          count:
  8951            description: number of events of the class and name
  8952            type: integer
  8953        required:
  8954        - class
  8955        - count
  8956        - name
  8957        type: object
  8958      StatsEventsList:
  8959        example:
  8960          events:
  8961          - name: name
  8962            count: 0
  8963            class: class
  8964          - name: name
  8965            count: 0
  8966            class: class
  8967        properties:
  8968          events:
  8969            items:
  8970              $ref: '#/components/schemas/StatsEvent'
  8971            type: array
  8972        required:
  8973        - events
  8974        type: object
  8975      PresignMultipartUpload:
  8976        example:
  8977          physical_address: physical_address
  8978          upload_id: upload_id
  8979          presigned_urls:
  8980          - presigned_urls
  8981          - presigned_urls
  8982        properties:
  8983          upload_id:
  8984            type: string
  8985          physical_address:
  8986            type: string
  8987          presigned_urls:
  8988            items:
  8989              type: string
  8990            type: array
  8991        required:
  8992        - physical_address
  8993        - upload_id
  8994        type: object
  8995      UploadPart:
  8996        example:
  8997          part_number: 0
  8998          etag: etag
  8999        properties:
  9000          part_number:
  9001            type: integer
  9002          etag:
  9003            type: string
  9004        required:
  9005        - etag
  9006        - part_number
  9007        type: object
  9008      CompletePresignMultipartUpload:
  9009        example:
  9010          physical_address: physical_address
  9011          user_metadata:
  9012            key: user_metadata
  9013          content_type: content_type
  9014          parts:
  9015          - part_number: 0
  9016            etag: etag
  9017          - part_number: 0
  9018            etag: etag
  9019        properties:
  9020          physical_address:
  9021            type: string
  9022          parts:
  9023            description: List of uploaded parts, should be ordered by ascending part
  9024              number
  9025            items:
  9026              $ref: '#/components/schemas/UploadPart'
  9027            type: array
  9028          user_metadata:
  9029            additionalProperties:
  9030              type: string
  9031            type: object
  9032          content_type:
  9033            description: Object media type
  9034            type: string
  9035        required:
  9036        - parts
  9037        - physical_address
  9038        type: object
  9039      AbortPresignMultipartUpload:
  9040        example:
  9041          physical_address: physical_address
  9042        properties:
  9043          physical_address:
  9044            type: string
  9045        required:
  9046        - physical_address
  9047        type: object
  9048      UsageReport:
  9049        example:
  9050          month: 6
  9051          year: 0
  9052          count: 1
  9053        properties:
  9054          year:
  9055            type: integer
  9056          month:
  9057            type: integer
  9058          count:
  9059            format: int64
  9060            type: integer
  9061        required:
  9062        - count
  9063        - month
  9064        - year
  9065        type: object
  9066      InstallationUsageReport:
  9067        example:
  9068          reports:
  9069          - month: 6
  9070            year: 0
  9071            count: 1
  9072          - month: 6
  9073            year: 0
  9074            count: 1
  9075          installation_id: installation_id
  9076        properties:
  9077          installation_id:
  9078            type: string
  9079          reports:
  9080            items:
  9081              $ref: '#/components/schemas/UsageReport'
  9082            type: array
  9083        required:
  9084        - installation_id
  9085        - reports
  9086        type: object
  9087      ExternalPrincipalList:
  9088        example:
  9089          pagination:
  9090            max_per_page: 0
  9091            has_more: true
  9092            next_offset: next_offset
  9093            results: 0
  9094          results:
  9095          - settings:
  9096            - null
  9097            - null
  9098            user_id: user_id
  9099            id: id
  9100          - settings:
  9101            - null
  9102            - null
  9103            user_id: user_id
  9104            id: id
  9105        properties:
  9106          pagination:
  9107            $ref: '#/components/schemas/Pagination'
  9108          results:
  9109            items:
  9110              $ref: '#/components/schemas/ExternalPrincipal'
  9111            type: array
  9112        required:
  9113        - pagination
  9114        - results
  9115        type: object
  9116      ExternalPrincipalSettings:
  9117        additionalProperties:
  9118          type: string
  9119        description: Additional settings to be consumed by the remote authenticator
  9120        type: object
  9121      ExternalPrincipalCreation:
  9122        example:
  9123          settings:
  9124          - null
  9125          - null
  9126        properties:
  9127          settings:
  9128            items:
  9129              $ref: '#/components/schemas/ExternalPrincipalSettings'
  9130            type: array
  9131        type: object
  9132      ExternalPrincipal:
  9133        example:
  9134          settings:
  9135          - null
  9136          - null
  9137          user_id: user_id
  9138          id: id
  9139        properties:
  9140          id:
  9141            description: A unique identifier for the external principal i.e aws:sts::123:assumed-role/role-name
  9142            type: string
  9143          user_id:
  9144            description: |
  9145              lakeFS user ID to associate with an external principal.
  9146            type: string
  9147          settings:
  9148            items:
  9149              $ref: '#/components/schemas/ExternalPrincipalSettings'
  9150            type: array
  9151        required:
  9152        - id
  9153        - user_id
  9154        type: object
  9155      inline_object:
  9156        properties:
  9157          content:
  9158            description: Only a single file per upload which must be named "content".
  9159            format: binary
  9160            type: string
  9161        type: object
  9162      inline_object_1:
  9163        properties:
  9164          pattern:
  9165            type: string
  9166        required:
  9167        - pattern
  9168        type: object
  9169    securitySchemes:
  9170      basic_auth:
  9171        scheme: basic
  9172        type: http
  9173      jwt_token:
  9174        bearerFormat: JWT
  9175        scheme: bearer
  9176        type: http
  9177      cookie_auth:
  9178        in: cookie
  9179        name: internal_auth_session
  9180        type: apiKey
  9181      oidc_auth:
  9182        in: cookie
  9183        name: oidc_auth_session
  9184        type: apiKey
  9185      saml_auth:
  9186        in: cookie
  9187        name: saml_auth_session
  9188        type: apiKey
  9189