github.com/treeverse/lakefs@v1.24.1-0.20240520134607-95648127bfb0/clients/java/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-content-type: 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-content-type: 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-content-type: 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-content-type: 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-content-type: 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-content-type: 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-content-type: 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-content-type: 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-content-type: 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-content-type: 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-content-type: 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-content-type: 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-content-type: 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-content-type: 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-content-type: 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-content-type: 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-content-type: 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\
  2722          \ the 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-content-type: 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-content-type: 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-content-type: 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\
  3291            \ used with stop_at parameter, will stop at the first commit that meets\
  3292            \ any of 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-content-type: 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-content-type: 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-content-type: 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-content-type: 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-content-type: 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-content-type: 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-content-type: 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-content-type: 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-content-type: 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-content-type: 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\
  5267            \ releases."
  5268          explode: true
  5269          in: query
  5270          name: storageClass
  5271          required: false
  5272          schema:
  5273            type: string
  5274          style: form
  5275        - explode: true
  5276          in: query
  5277          name: force
  5278          required: false
  5279          schema:
  5280            default: false
  5281            type: boolean
  5282          style: form
  5283        requestBody:
  5284          content:
  5285            multipart/form-data:
  5286              schema:
  5287                $ref: '#/components/schemas/uploadObject_request'
  5288            application/octet-stream:
  5289              schema:
  5290                format: binary
  5291                type: string
  5292        responses:
  5293          "201":
  5294            content:
  5295              application/json:
  5296                schema:
  5297                  $ref: '#/components/schemas/ObjectStats'
  5298            description: object metadata
  5299          "400":
  5300            content:
  5301              application/json:
  5302                schema:
  5303                  $ref: '#/components/schemas/Error'
  5304            description: Validation Error
  5305          "401":
  5306            content:
  5307              application/json:
  5308                schema:
  5309                  $ref: '#/components/schemas/Error'
  5310            description: Unauthorized
  5311          "403":
  5312            content:
  5313              application/json:
  5314                schema:
  5315                  $ref: '#/components/schemas/Error'
  5316            description: Forbidden
  5317          "404":
  5318            content:
  5319              application/json:
  5320                schema:
  5321                  $ref: '#/components/schemas/Error'
  5322            description: Resource Not Found
  5323          "412":
  5324            content:
  5325              application/json:
  5326                schema:
  5327                  $ref: '#/components/schemas/Error'
  5328            description: Precondition Failed
  5329          "420":
  5330            description: too many requests
  5331          default:
  5332            content:
  5333              application/json:
  5334                schema:
  5335                  $ref: '#/components/schemas/Error'
  5336            description: Internal Server Error
  5337        tags:
  5338        - objects
  5339        x-validation-exclude-body: true
  5340        x-content-type: multipart/form-data
  5341        x-accepts: application/json
  5342      put:
  5343        deprecated: true
  5344        operationId: stageObject
  5345        parameters:
  5346        - explode: false
  5347          in: path
  5348          name: repository
  5349          required: true
  5350          schema:
  5351            type: string
  5352          style: simple
  5353        - explode: false
  5354          in: path
  5355          name: branch
  5356          required: true
  5357          schema:
  5358            type: string
  5359          style: simple
  5360        - description: relative to the branch
  5361          explode: true
  5362          in: query
  5363          name: path
  5364          required: true
  5365          schema:
  5366            type: string
  5367          style: form
  5368        requestBody:
  5369          content:
  5370            application/json:
  5371              schema:
  5372                $ref: '#/components/schemas/ObjectStageCreation'
  5373          required: true
  5374        responses:
  5375          "201":
  5376            content:
  5377              application/json:
  5378                schema:
  5379                  $ref: '#/components/schemas/ObjectStats'
  5380            description: object metadata
  5381          "400":
  5382            content:
  5383              application/json:
  5384                schema:
  5385                  $ref: '#/components/schemas/Error'
  5386            description: Validation Error
  5387          "401":
  5388            content:
  5389              application/json:
  5390                schema:
  5391                  $ref: '#/components/schemas/Error'
  5392            description: Unauthorized
  5393          "403":
  5394            content:
  5395              application/json:
  5396                schema:
  5397                  $ref: '#/components/schemas/Error'
  5398            description: Forbidden
  5399          "404":
  5400            content:
  5401              application/json:
  5402                schema:
  5403                  $ref: '#/components/schemas/Error'
  5404            description: Resource Not Found
  5405          "420":
  5406            description: too many requests
  5407          default:
  5408            content:
  5409              application/json:
  5410                schema:
  5411                  $ref: '#/components/schemas/Error'
  5412            description: Internal Server Error
  5413        summary: stage an object's metadata for the given branch
  5414        tags:
  5415        - internal
  5416        x-content-type: application/json
  5417        x-accepts: application/json
  5418    /repositories/{repository}/branches/{branch}/objects/delete:
  5419      post:
  5420        operationId: deleteObjects
  5421        parameters:
  5422        - explode: false
  5423          in: path
  5424          name: repository
  5425          required: true
  5426          schema:
  5427            type: string
  5428          style: simple
  5429        - explode: false
  5430          in: path
  5431          name: branch
  5432          required: true
  5433          schema:
  5434            type: string
  5435          style: simple
  5436        - explode: true
  5437          in: query
  5438          name: force
  5439          required: false
  5440          schema:
  5441            default: false
  5442            type: boolean
  5443          style: form
  5444        requestBody:
  5445          content:
  5446            application/json:
  5447              schema:
  5448                $ref: '#/components/schemas/PathList'
  5449          required: true
  5450        responses:
  5451          "200":
  5452            content:
  5453              application/json:
  5454                schema:
  5455                  $ref: '#/components/schemas/ObjectErrorList'
  5456            description: Delete objects response
  5457          "401":
  5458            content:
  5459              application/json:
  5460                schema:
  5461                  $ref: '#/components/schemas/Error'
  5462            description: Unauthorized
  5463          "403":
  5464            content:
  5465              application/json:
  5466                schema:
  5467                  $ref: '#/components/schemas/Error'
  5468            description: Forbidden
  5469          "404":
  5470            content:
  5471              application/json:
  5472                schema:
  5473                  $ref: '#/components/schemas/Error'
  5474            description: Resource Not Found
  5475          "420":
  5476            description: too many requests
  5477          default:
  5478            content:
  5479              application/json:
  5480                schema:
  5481                  $ref: '#/components/schemas/Error'
  5482            description: Internal Server Error
  5483        summary: delete objects. Missing objects will not return a NotFound error.
  5484        tags:
  5485        - objects
  5486        x-content-type: application/json
  5487        x-accepts: application/json
  5488    /repositories/{repository}/branches/{branch}/objects/copy:
  5489      post:
  5490        operationId: copyObject
  5491        parameters:
  5492        - explode: false
  5493          in: path
  5494          name: repository
  5495          required: true
  5496          schema:
  5497            type: string
  5498          style: simple
  5499        - description: destination branch for the copy
  5500          explode: false
  5501          in: path
  5502          name: branch
  5503          required: true
  5504          schema:
  5505            type: string
  5506          style: simple
  5507        - description: destination path relative to the branch
  5508          explode: true
  5509          in: query
  5510          name: dest_path
  5511          required: true
  5512          schema:
  5513            type: string
  5514          style: form
  5515        requestBody:
  5516          content:
  5517            application/json:
  5518              schema:
  5519                $ref: '#/components/schemas/ObjectCopyCreation'
  5520          required: true
  5521        responses:
  5522          "201":
  5523            content:
  5524              application/json:
  5525                schema:
  5526                  $ref: '#/components/schemas/ObjectStats'
  5527            description: Copy object response
  5528          "400":
  5529            content:
  5530              application/json:
  5531                schema:
  5532                  $ref: '#/components/schemas/Error'
  5533            description: Validation Error
  5534          "401":
  5535            content:
  5536              application/json:
  5537                schema:
  5538                  $ref: '#/components/schemas/Error'
  5539            description: Unauthorized
  5540          "403":
  5541            content:
  5542              application/json:
  5543                schema:
  5544                  $ref: '#/components/schemas/Error'
  5545            description: Forbidden
  5546          "404":
  5547            content:
  5548              application/json:
  5549                schema:
  5550                  $ref: '#/components/schemas/Error'
  5551            description: Resource Not Found
  5552          "420":
  5553            description: too many requests
  5554          default:
  5555            content:
  5556              application/json:
  5557                schema:
  5558                  $ref: '#/components/schemas/Error'
  5559            description: Internal Server Error
  5560        summary: create a copy of an object
  5561        tags:
  5562        - objects
  5563        x-content-type: application/json
  5564        x-accepts: application/json
  5565    /repositories/{repository}/refs/{ref}/objects/stat:
  5566      get:
  5567        operationId: statObject
  5568        parameters:
  5569        - explode: false
  5570          in: path
  5571          name: repository
  5572          required: true
  5573          schema:
  5574            type: string
  5575          style: simple
  5576        - description: a reference (could be either a branch or a commit ID)
  5577          explode: false
  5578          in: path
  5579          name: ref
  5580          required: true
  5581          schema:
  5582            type: string
  5583          style: simple
  5584        - description: relative to the branch
  5585          explode: true
  5586          in: query
  5587          name: path
  5588          required: true
  5589          schema:
  5590            type: string
  5591          style: form
  5592        - explode: true
  5593          in: query
  5594          name: user_metadata
  5595          required: false
  5596          schema:
  5597            default: true
  5598            type: boolean
  5599          style: form
  5600        - explode: true
  5601          in: query
  5602          name: presign
  5603          required: false
  5604          schema:
  5605            type: boolean
  5606          style: form
  5607        responses:
  5608          "200":
  5609            content:
  5610              application/json:
  5611                schema:
  5612                  $ref: '#/components/schemas/ObjectStats'
  5613            description: object metadata
  5614          "401":
  5615            content:
  5616              application/json:
  5617                schema:
  5618                  $ref: '#/components/schemas/Error'
  5619            description: Unauthorized
  5620          "404":
  5621            content:
  5622              application/json:
  5623                schema:
  5624                  $ref: '#/components/schemas/Error'
  5625            description: Resource Not Found
  5626          "400":
  5627            content:
  5628              application/json:
  5629                schema:
  5630                  $ref: '#/components/schemas/Error'
  5631            description: Bad Request
  5632          "410":
  5633            description: object gone (but partial metadata may be available)
  5634          "420":
  5635            description: too many requests
  5636          default:
  5637            content:
  5638              application/json:
  5639                schema:
  5640                  $ref: '#/components/schemas/Error'
  5641            description: Internal Server Error
  5642        summary: get object metadata
  5643        tags:
  5644        - objects
  5645        x-accepts: application/json
  5646    /repositories/{repository}/refs/{ref}/objects/underlyingProperties:
  5647      get:
  5648        operationId: getUnderlyingProperties
  5649        parameters:
  5650        - explode: false
  5651          in: path
  5652          name: repository
  5653          required: true
  5654          schema:
  5655            type: string
  5656          style: simple
  5657        - description: a reference (could be either a branch or a commit ID)
  5658          explode: false
  5659          in: path
  5660          name: ref
  5661          required: true
  5662          schema:
  5663            type: string
  5664          style: simple
  5665        - description: relative to the branch
  5666          explode: true
  5667          in: query
  5668          name: path
  5669          required: true
  5670          schema:
  5671            type: string
  5672          style: form
  5673        responses:
  5674          "200":
  5675            content:
  5676              application/json:
  5677                schema:
  5678                  $ref: '#/components/schemas/UnderlyingObjectProperties'
  5679            description: object metadata on underlying storage
  5680          "401":
  5681            content:
  5682              application/json:
  5683                schema:
  5684                  $ref: '#/components/schemas/Error'
  5685            description: Unauthorized
  5686          "404":
  5687            content:
  5688              application/json:
  5689                schema:
  5690                  $ref: '#/components/schemas/Error'
  5691            description: Resource Not Found
  5692          "420":
  5693            description: too many requests
  5694          default:
  5695            content:
  5696              application/json:
  5697                schema:
  5698                  $ref: '#/components/schemas/Error'
  5699            description: Internal Server Error
  5700        summary: get object properties on underlying storage
  5701        tags:
  5702        - objects
  5703        x-accepts: application/json
  5704    /repositories/{repository}/refs/{ref}/objects/ls:
  5705      get:
  5706        operationId: listObjects
  5707        parameters:
  5708        - explode: false
  5709          in: path
  5710          name: repository
  5711          required: true
  5712          schema:
  5713            type: string
  5714          style: simple
  5715        - description: a reference (could be either a branch or a commit ID)
  5716          explode: false
  5717          in: path
  5718          name: ref
  5719          required: true
  5720          schema:
  5721            type: string
  5722          style: simple
  5723        - explode: true
  5724          in: query
  5725          name: user_metadata
  5726          required: false
  5727          schema:
  5728            default: true
  5729            type: boolean
  5730          style: form
  5731        - explode: true
  5732          in: query
  5733          name: presign
  5734          required: false
  5735          schema:
  5736            type: boolean
  5737          style: form
  5738        - description: return items after this value
  5739          explode: true
  5740          in: query
  5741          name: after
  5742          required: false
  5743          schema:
  5744            type: string
  5745          style: form
  5746        - description: how many items to return
  5747          explode: true
  5748          in: query
  5749          name: amount
  5750          required: false
  5751          schema:
  5752            default: 100
  5753            maximum: 1000
  5754            minimum: -1
  5755            type: integer
  5756          style: form
  5757        - description: delimiter used to group common prefixes by
  5758          explode: true
  5759          in: query
  5760          name: delimiter
  5761          required: false
  5762          schema:
  5763            type: string
  5764          style: form
  5765        - description: return items prefixed with this value
  5766          explode: true
  5767          in: query
  5768          name: prefix
  5769          required: false
  5770          schema:
  5771            type: string
  5772          style: form
  5773        responses:
  5774          "200":
  5775            content:
  5776              application/json:
  5777                schema:
  5778                  $ref: '#/components/schemas/ObjectStatsList'
  5779            description: object listing
  5780          "401":
  5781            content:
  5782              application/json:
  5783                schema:
  5784                  $ref: '#/components/schemas/Error'
  5785            description: Unauthorized
  5786          "404":
  5787            content:
  5788              application/json:
  5789                schema:
  5790                  $ref: '#/components/schemas/Error'
  5791            description: Resource Not Found
  5792          "420":
  5793            description: too many requests
  5794          default:
  5795            content:
  5796              application/json:
  5797                schema:
  5798                  $ref: '#/components/schemas/Error'
  5799            description: Internal Server Error
  5800        summary: list objects under a given prefix
  5801        tags:
  5802        - objects
  5803        x-accepts: application/json
  5804    /repositories/{repository}/refs/{branch}/symlink:
  5805      post:
  5806        operationId: createSymlinkFile
  5807        parameters:
  5808        - explode: false
  5809          in: path
  5810          name: repository
  5811          required: true
  5812          schema:
  5813            type: string
  5814          style: simple
  5815        - explode: false
  5816          in: path
  5817          name: branch
  5818          required: true
  5819          schema:
  5820            type: string
  5821          style: simple
  5822        - description: path to the table data
  5823          explode: true
  5824          in: query
  5825          name: location
  5826          required: false
  5827          schema:
  5828            type: string
  5829          style: form
  5830        responses:
  5831          "201":
  5832            content:
  5833              application/json:
  5834                schema:
  5835                  $ref: '#/components/schemas/StorageURI'
  5836            description: location created
  5837          "401":
  5838            content:
  5839              application/json:
  5840                schema:
  5841                  $ref: '#/components/schemas/Error'
  5842            description: Unauthorized
  5843          "404":
  5844            content:
  5845              application/json:
  5846                schema:
  5847                  $ref: '#/components/schemas/Error'
  5848            description: Resource Not Found
  5849          "420":
  5850            description: too many requests
  5851          default:
  5852            content:
  5853              application/json:
  5854                schema:
  5855                  $ref: '#/components/schemas/Error'
  5856            description: Internal Server Error
  5857        summary: creates symlink files corresponding to the given directory
  5858        tags:
  5859        - internal
  5860        x-accepts: application/json
  5861    /repositories/{repository}/actions/runs:
  5862      get:
  5863        operationId: listRepositoryRuns
  5864        parameters:
  5865        - explode: false
  5866          in: path
  5867          name: repository
  5868          required: true
  5869          schema:
  5870            type: string
  5871          style: simple
  5872        - description: return items after this value
  5873          explode: true
  5874          in: query
  5875          name: after
  5876          required: false
  5877          schema:
  5878            type: string
  5879          style: form
  5880        - description: how many items to return
  5881          explode: true
  5882          in: query
  5883          name: amount
  5884          required: false
  5885          schema:
  5886            default: 100
  5887            maximum: 1000
  5888            minimum: -1
  5889            type: integer
  5890          style: form
  5891        - explode: true
  5892          in: query
  5893          name: branch
  5894          required: false
  5895          schema:
  5896            type: string
  5897          style: form
  5898        - explode: true
  5899          in: query
  5900          name: commit
  5901          required: false
  5902          schema:
  5903            type: string
  5904          style: form
  5905        responses:
  5906          "200":
  5907            content:
  5908              application/json:
  5909                schema:
  5910                  $ref: '#/components/schemas/ActionRunList'
  5911            description: list action runs
  5912          "401":
  5913            content:
  5914              application/json:
  5915                schema:
  5916                  $ref: '#/components/schemas/Error'
  5917            description: Unauthorized
  5918          "404":
  5919            content:
  5920              application/json:
  5921                schema:
  5922                  $ref: '#/components/schemas/Error'
  5923            description: Resource Not Found
  5924          "420":
  5925            description: too many requests
  5926          default:
  5927            content:
  5928              application/json:
  5929                schema:
  5930                  $ref: '#/components/schemas/Error'
  5931            description: Internal Server Error
  5932        summary: list runs
  5933        tags:
  5934        - actions
  5935        x-accepts: application/json
  5936    /repositories/{repository}/actions/runs/{run_id}:
  5937      get:
  5938        operationId: getRun
  5939        parameters:
  5940        - explode: false
  5941          in: path
  5942          name: repository
  5943          required: true
  5944          schema:
  5945            type: string
  5946          style: simple
  5947        - explode: false
  5948          in: path
  5949          name: run_id
  5950          required: true
  5951          schema:
  5952            type: string
  5953          style: simple
  5954        responses:
  5955          "200":
  5956            content:
  5957              application/json:
  5958                schema:
  5959                  $ref: '#/components/schemas/ActionRun'
  5960            description: action run result
  5961          "401":
  5962            content:
  5963              application/json:
  5964                schema:
  5965                  $ref: '#/components/schemas/Error'
  5966            description: Unauthorized
  5967          "404":
  5968            content:
  5969              application/json:
  5970                schema:
  5971                  $ref: '#/components/schemas/Error'
  5972            description: Resource Not Found
  5973          "420":
  5974            description: too many requests
  5975          default:
  5976            content:
  5977              application/json:
  5978                schema:
  5979                  $ref: '#/components/schemas/Error'
  5980            description: Internal Server Error
  5981        summary: get a run
  5982        tags:
  5983        - actions
  5984        x-accepts: application/json
  5985    /repositories/{repository}/actions/runs/{run_id}/hooks:
  5986      get:
  5987        operationId: listRunHooks
  5988        parameters:
  5989        - explode: false
  5990          in: path
  5991          name: repository
  5992          required: true
  5993          schema:
  5994            type: string
  5995          style: simple
  5996        - explode: false
  5997          in: path
  5998          name: run_id
  5999          required: true
  6000          schema:
  6001            type: string
  6002          style: simple
  6003        - description: return items after this value
  6004          explode: true
  6005          in: query
  6006          name: after
  6007          required: false
  6008          schema:
  6009            type: string
  6010          style: form
  6011        - description: how many items to return
  6012          explode: true
  6013          in: query
  6014          name: amount
  6015          required: false
  6016          schema:
  6017            default: 100
  6018            maximum: 1000
  6019            minimum: -1
  6020            type: integer
  6021          style: form
  6022        responses:
  6023          "200":
  6024            content:
  6025              application/json:
  6026                schema:
  6027                  $ref: '#/components/schemas/HookRunList'
  6028            description: list specific run hooks
  6029          "401":
  6030            content:
  6031              application/json:
  6032                schema:
  6033                  $ref: '#/components/schemas/Error'
  6034            description: Unauthorized
  6035          "404":
  6036            content:
  6037              application/json:
  6038                schema:
  6039                  $ref: '#/components/schemas/Error'
  6040            description: Resource Not Found
  6041          "420":
  6042            description: too many requests
  6043          default:
  6044            content:
  6045              application/json:
  6046                schema:
  6047                  $ref: '#/components/schemas/Error'
  6048            description: Internal Server Error
  6049        summary: list run hooks
  6050        tags:
  6051        - actions
  6052        x-accepts: application/json
  6053    /repositories/{repository}/actions/runs/{run_id}/hooks/{hook_run_id}/output:
  6054      get:
  6055        operationId: getRunHookOutput
  6056        parameters:
  6057        - explode: false
  6058          in: path
  6059          name: repository
  6060          required: true
  6061          schema:
  6062            type: string
  6063          style: simple
  6064        - explode: false
  6065          in: path
  6066          name: run_id
  6067          required: true
  6068          schema:
  6069            type: string
  6070          style: simple
  6071        - explode: false
  6072          in: path
  6073          name: hook_run_id
  6074          required: true
  6075          schema:
  6076            type: string
  6077          style: simple
  6078        responses:
  6079          "200":
  6080            content:
  6081              application/octet-stream:
  6082                schema:
  6083                  format: binary
  6084                  type: string
  6085            description: run hook output
  6086          "401":
  6087            content:
  6088              application/json:
  6089                schema:
  6090                  $ref: '#/components/schemas/Error'
  6091            description: Unauthorized
  6092          "404":
  6093            content:
  6094              application/json:
  6095                schema:
  6096                  $ref: '#/components/schemas/Error'
  6097            description: Resource Not Found
  6098          "420":
  6099            description: too many requests
  6100          default:
  6101            content:
  6102              application/json:
  6103                schema:
  6104                  $ref: '#/components/schemas/Error'
  6105            description: Internal Server Error
  6106        summary: get run hook output
  6107        tags:
  6108        - actions
  6109        x-accepts: application/json
  6110    /repositories/{repository}/metadata/meta_range/{meta_range}:
  6111      get:
  6112        operationId: getMetaRange
  6113        parameters:
  6114        - explode: false
  6115          in: path
  6116          name: repository
  6117          required: true
  6118          schema:
  6119            type: string
  6120          style: simple
  6121        - explode: false
  6122          in: path
  6123          name: meta_range
  6124          required: true
  6125          schema:
  6126            type: string
  6127          style: simple
  6128        responses:
  6129          "200":
  6130            content:
  6131              application/json:
  6132                schema:
  6133                  $ref: '#/components/schemas/StorageURI'
  6134            description: meta-range URI
  6135            headers:
  6136              Location:
  6137                description: redirect to S3
  6138                explode: false
  6139                schema:
  6140                  type: string
  6141                style: simple
  6142          "401":
  6143            content:
  6144              application/json:
  6145                schema:
  6146                  $ref: '#/components/schemas/Error'
  6147            description: Unauthorized
  6148          "404":
  6149            content:
  6150              application/json:
  6151                schema:
  6152                  $ref: '#/components/schemas/Error'
  6153            description: Resource Not Found
  6154          "420":
  6155            description: too many requests
  6156          default:
  6157            content:
  6158              application/json:
  6159                schema:
  6160                  $ref: '#/components/schemas/Error'
  6161            description: Internal Server Error
  6162        summary: return URI to a meta-range file
  6163        tags:
  6164        - metadata
  6165        x-accepts: application/json
  6166    /repositories/{repository}/metadata/range/{range}:
  6167      get:
  6168        operationId: getRange
  6169        parameters:
  6170        - explode: false
  6171          in: path
  6172          name: repository
  6173          required: true
  6174          schema:
  6175            type: string
  6176          style: simple
  6177        - explode: false
  6178          in: path
  6179          name: range
  6180          required: true
  6181          schema:
  6182            type: string
  6183          style: simple
  6184        responses:
  6185          "200":
  6186            content:
  6187              application/json:
  6188                schema:
  6189                  $ref: '#/components/schemas/StorageURI'
  6190            description: range URI
  6191            headers:
  6192              Location:
  6193                description: redirect to S3
  6194                explode: false
  6195                schema:
  6196                  type: string
  6197                style: simple
  6198          "401":
  6199            content:
  6200              application/json:
  6201                schema:
  6202                  $ref: '#/components/schemas/Error'
  6203            description: Unauthorized
  6204          "404":
  6205            content:
  6206              application/json:
  6207                schema:
  6208                  $ref: '#/components/schemas/Error'
  6209            description: Resource Not Found
  6210          "420":
  6211            description: too many requests
  6212          default:
  6213            content:
  6214              application/json:
  6215                schema:
  6216                  $ref: '#/components/schemas/Error'
  6217            description: Internal Server Error
  6218        summary: return URI to a range file
  6219        tags:
  6220        - metadata
  6221        x-accepts: application/json
  6222    /repositories/{repository}/gc/rules/set_allowed:
  6223      get:
  6224        operationId: setGarbageCollectionRulesPreflight
  6225        parameters:
  6226        - explode: false
  6227          in: path
  6228          name: repository
  6229          required: true
  6230          schema:
  6231            type: string
  6232          style: simple
  6233        responses:
  6234          "204":
  6235            description: User has permissions to set garbage collection rules on this
  6236              repository
  6237          "401":
  6238            content:
  6239              application/json:
  6240                schema:
  6241                  $ref: '#/components/schemas/Error'
  6242            description: Unauthorized
  6243          "404":
  6244            content:
  6245              application/json:
  6246                schema:
  6247                  $ref: '#/components/schemas/Error'
  6248            description: Resource Not Found
  6249          "420":
  6250            description: too many requests
  6251          default:
  6252            content:
  6253              application/json:
  6254                schema:
  6255                  $ref: '#/components/schemas/Error'
  6256            description: Internal Server Error
  6257        tags:
  6258        - internal
  6259        x-accepts: application/json
  6260    /repositories/{repository}/gc/rules:
  6261      delete:
  6262        deprecated: true
  6263        operationId: internalDeleteGarbageCollectionRules
  6264        parameters:
  6265        - explode: false
  6266          in: path
  6267          name: repository
  6268          required: true
  6269          schema:
  6270            type: string
  6271          style: simple
  6272        responses:
  6273          "204":
  6274            description: deleted garbage collection rules successfully
  6275          "401":
  6276            content:
  6277              application/json:
  6278                schema:
  6279                  $ref: '#/components/schemas/Error'
  6280            description: Unauthorized
  6281          "404":
  6282            content:
  6283              application/json:
  6284                schema:
  6285                  $ref: '#/components/schemas/Error'
  6286            description: Resource Not Found
  6287          "420":
  6288            description: too many requests
  6289          default:
  6290            content:
  6291              application/json:
  6292                schema:
  6293                  $ref: '#/components/schemas/Error'
  6294            description: Internal Server Error
  6295        tags:
  6296        - internal
  6297        x-accepts: application/json
  6298      get:
  6299        deprecated: true
  6300        operationId: internalGetGarbageCollectionRules
  6301        parameters:
  6302        - explode: false
  6303          in: path
  6304          name: repository
  6305          required: true
  6306          schema:
  6307            type: string
  6308          style: simple
  6309        responses:
  6310          "200":
  6311            content:
  6312              application/json:
  6313                schema:
  6314                  $ref: '#/components/schemas/GarbageCollectionRules'
  6315            description: gc rule list
  6316          "401":
  6317            content:
  6318              application/json:
  6319                schema:
  6320                  $ref: '#/components/schemas/Error'
  6321            description: Unauthorized
  6322          "404":
  6323            content:
  6324              application/json:
  6325                schema:
  6326                  $ref: '#/components/schemas/Error'
  6327            description: Resource Not Found
  6328          "420":
  6329            description: too many requests
  6330          default:
  6331            content:
  6332              application/json:
  6333                schema:
  6334                  $ref: '#/components/schemas/Error'
  6335            description: Internal Server Error
  6336        tags:
  6337        - internal
  6338        x-accepts: application/json
  6339      post:
  6340        deprecated: true
  6341        operationId: internalSetGarbageCollectionRules
  6342        parameters:
  6343        - explode: false
  6344          in: path
  6345          name: repository
  6346          required: true
  6347          schema:
  6348            type: string
  6349          style: simple
  6350        requestBody:
  6351          content:
  6352            application/json:
  6353              schema:
  6354                $ref: '#/components/schemas/GarbageCollectionRules'
  6355          required: true
  6356        responses:
  6357          "204":
  6358            description: set garbage collection rules successfully
  6359          "401":
  6360            content:
  6361              application/json:
  6362                schema:
  6363                  $ref: '#/components/schemas/Error'
  6364            description: Unauthorized
  6365          "404":
  6366            content:
  6367              application/json:
  6368                schema:
  6369                  $ref: '#/components/schemas/Error'
  6370            description: Resource Not Found
  6371          "420":
  6372            description: too many requests
  6373          default:
  6374            content:
  6375              application/json:
  6376                schema:
  6377                  $ref: '#/components/schemas/Error'
  6378            description: Internal Server Error
  6379        tags:
  6380        - internal
  6381        x-content-type: application/json
  6382        x-accepts: application/json
  6383    /repositories/{repository}/gc/prepare_commits:
  6384      post:
  6385        operationId: prepareGarbageCollectionCommits
  6386        parameters:
  6387        - explode: false
  6388          in: path
  6389          name: repository
  6390          required: true
  6391          schema:
  6392            type: string
  6393          style: simple
  6394        responses:
  6395          "201":
  6396            content:
  6397              application/json:
  6398                schema:
  6399                  $ref: '#/components/schemas/GarbageCollectionPrepareResponse'
  6400            description: paths to commit dataset
  6401          "401":
  6402            content:
  6403              application/json:
  6404                schema:
  6405                  $ref: '#/components/schemas/Error'
  6406            description: Unauthorized
  6407          "403":
  6408            content:
  6409              application/json:
  6410                schema:
  6411                  $ref: '#/components/schemas/Error'
  6412            description: Forbidden
  6413          "404":
  6414            content:
  6415              application/json:
  6416                schema:
  6417                  $ref: '#/components/schemas/Error'
  6418            description: Resource Not Found
  6419          "420":
  6420            description: too many requests
  6421          default:
  6422            content:
  6423              application/json:
  6424                schema:
  6425                  $ref: '#/components/schemas/Error'
  6426            description: Internal Server Error
  6427        summary: save lists of active commits for garbage collection
  6428        tags:
  6429        - internal
  6430        x-accepts: application/json
  6431    /repositories/{repository}/gc/prepare_uncommited:
  6432      post:
  6433        operationId: prepareGarbageCollectionUncommitted
  6434        parameters:
  6435        - explode: false
  6436          in: path
  6437          name: repository
  6438          required: true
  6439          schema:
  6440            type: string
  6441          style: simple
  6442        requestBody:
  6443          content:
  6444            application/json:
  6445              schema:
  6446                $ref: '#/components/schemas/PrepareGCUncommittedRequest'
  6447        responses:
  6448          "201":
  6449            content:
  6450              application/json:
  6451                schema:
  6452                  $ref: '#/components/schemas/PrepareGCUncommittedResponse'
  6453            description: paths to commit dataset
  6454          "400":
  6455            content:
  6456              application/json:
  6457                schema:
  6458                  $ref: '#/components/schemas/Error'
  6459            description: Validation Error
  6460          "401":
  6461            content:
  6462              application/json:
  6463                schema:
  6464                  $ref: '#/components/schemas/Error'
  6465            description: Unauthorized
  6466          "403":
  6467            content:
  6468              application/json:
  6469                schema:
  6470                  $ref: '#/components/schemas/Error'
  6471            description: Forbidden
  6472          "404":
  6473            content:
  6474              application/json:
  6475                schema:
  6476                  $ref: '#/components/schemas/Error'
  6477            description: Resource Not Found
  6478          "420":
  6479            description: too many requests
  6480          default:
  6481            content:
  6482              application/json:
  6483                schema:
  6484                  $ref: '#/components/schemas/Error'
  6485            description: Internal Server Error
  6486        summary: save repository uncommitted metadata for garbage collection
  6487        tags:
  6488        - internal
  6489        x-content-type: application/json
  6490        x-accepts: application/json
  6491    /repositories/{repository}/branch_protection/set_allowed:
  6492      get:
  6493        operationId: createBranchProtectionRulePreflight
  6494        parameters:
  6495        - explode: false
  6496          in: path
  6497          name: repository
  6498          required: true
  6499          schema:
  6500            type: string
  6501          style: simple
  6502        responses:
  6503          "204":
  6504            description: User has permissions to create a branch protection rule in
  6505              this repository
  6506          "401":
  6507            content:
  6508              application/json:
  6509                schema:
  6510                  $ref: '#/components/schemas/Error'
  6511            description: Unauthorized
  6512          "404":
  6513            content:
  6514              application/json:
  6515                schema:
  6516                  $ref: '#/components/schemas/Error'
  6517            description: Resource Not Found
  6518          "409":
  6519            content:
  6520              application/json:
  6521                schema:
  6522                  $ref: '#/components/schemas/Error'
  6523            description: Resource Conflicts With Target
  6524          "420":
  6525            description: too many requests
  6526          default:
  6527            content:
  6528              application/json:
  6529                schema:
  6530                  $ref: '#/components/schemas/Error'
  6531            description: Internal Server Error
  6532        tags:
  6533        - internal
  6534        x-accepts: application/json
  6535    /repositories/{repository}/branch_protection:
  6536      delete:
  6537        deprecated: true
  6538        operationId: internalDeleteBranchProtectionRule
  6539        parameters:
  6540        - explode: false
  6541          in: path
  6542          name: repository
  6543          required: true
  6544          schema:
  6545            type: string
  6546          style: simple
  6547        requestBody:
  6548          content:
  6549            application/json:
  6550              schema:
  6551                $ref: '#/components/schemas/internalDeleteBranchProtectionRule_request'
  6552          required: true
  6553        responses:
  6554          "204":
  6555            description: branch protection rule deleted successfully
  6556          "401":
  6557            content:
  6558              application/json:
  6559                schema:
  6560                  $ref: '#/components/schemas/Error'
  6561            description: Unauthorized
  6562          "404":
  6563            content:
  6564              application/json:
  6565                schema:
  6566                  $ref: '#/components/schemas/Error'
  6567            description: Resource Not Found
  6568          "420":
  6569            description: too many requests
  6570          default:
  6571            content:
  6572              application/json:
  6573                schema:
  6574                  $ref: '#/components/schemas/Error'
  6575            description: Internal Server Error
  6576        tags:
  6577        - internal
  6578        x-content-type: application/json
  6579        x-accepts: application/json
  6580      get:
  6581        deprecated: true
  6582        operationId: internalGetBranchProtectionRules
  6583        parameters:
  6584        - explode: false
  6585          in: path
  6586          name: repository
  6587          required: true
  6588          schema:
  6589            type: string
  6590          style: simple
  6591        responses:
  6592          "200":
  6593            content:
  6594              application/json:
  6595                schema:
  6596                  items:
  6597                    $ref: '#/components/schemas/BranchProtectionRule'
  6598                  type: array
  6599            description: branch protection rules
  6600          "401":
  6601            content:
  6602              application/json:
  6603                schema:
  6604                  $ref: '#/components/schemas/Error'
  6605            description: Unauthorized
  6606          "404":
  6607            content:
  6608              application/json:
  6609                schema:
  6610                  $ref: '#/components/schemas/Error'
  6611            description: Resource Not Found
  6612          "420":
  6613            description: too many requests
  6614          default:
  6615            content:
  6616              application/json:
  6617                schema:
  6618                  $ref: '#/components/schemas/Error'
  6619            description: Internal Server Error
  6620        summary: get branch protection rules
  6621        tags:
  6622        - internal
  6623        x-accepts: application/json
  6624      post:
  6625        deprecated: true
  6626        operationId: internalCreateBranchProtectionRule
  6627        parameters:
  6628        - explode: false
  6629          in: path
  6630          name: repository
  6631          required: true
  6632          schema:
  6633            type: string
  6634          style: simple
  6635        requestBody:
  6636          content:
  6637            application/json:
  6638              schema:
  6639                $ref: '#/components/schemas/BranchProtectionRule'
  6640          required: true
  6641        responses:
  6642          "204":
  6643            description: branch protection rule created successfully
  6644          "401":
  6645            content:
  6646              application/json:
  6647                schema:
  6648                  $ref: '#/components/schemas/Error'
  6649            description: Unauthorized
  6650          "404":
  6651            content:
  6652              application/json:
  6653                schema:
  6654                  $ref: '#/components/schemas/Error'
  6655            description: Resource Not Found
  6656          "420":
  6657            description: too many requests
  6658          default:
  6659            content:
  6660              application/json:
  6661                schema:
  6662                  $ref: '#/components/schemas/Error'
  6663            description: Internal Server Error
  6664        tags:
  6665        - internal
  6666        x-content-type: application/json
  6667        x-accepts: application/json
  6668    /healthcheck:
  6669      get:
  6670        description: check that the API server is up and running
  6671        operationId: healthCheck
  6672        responses:
  6673          "204":
  6674            description: NoContent
  6675        security: []
  6676        tags:
  6677        - healthCheck
  6678        x-accepts: application/json
  6679    /config:
  6680      get:
  6681        description: retrieve lakeFS configuration
  6682        operationId: getConfig
  6683        responses:
  6684          "200":
  6685            content:
  6686              application/json:
  6687                schema:
  6688                  $ref: '#/components/schemas/Config'
  6689            description: lakeFS configuration
  6690          "401":
  6691            content:
  6692              application/json:
  6693                schema:
  6694                  $ref: '#/components/schemas/Error'
  6695            description: Unauthorized
  6696        tags:
  6697        - config
  6698        x-accepts: application/json
  6699    /config/version:
  6700      get:
  6701        deprecated: true
  6702        description: get version of lakeFS server
  6703        operationId: getLakeFSVersion
  6704        responses:
  6705          "200":
  6706            content:
  6707              application/json:
  6708                schema:
  6709                  $ref: '#/components/schemas/VersionConfig'
  6710            description: lakeFS version
  6711          "401":
  6712            content:
  6713              application/json:
  6714                schema:
  6715                  $ref: '#/components/schemas/Error'
  6716            description: Unauthorized
  6717        tags:
  6718        - internal
  6719        x-accepts: application/json
  6720    /config/storage:
  6721      get:
  6722        deprecated: true
  6723        description: retrieve lakeFS storage configuration
  6724        operationId: getStorageConfig
  6725        responses:
  6726          "200":
  6727            content:
  6728              application/json:
  6729                schema:
  6730                  $ref: '#/components/schemas/StorageConfig'
  6731            description: lakeFS storage configuration
  6732          "401":
  6733            content:
  6734              application/json:
  6735                schema:
  6736                  $ref: '#/components/schemas/Error'
  6737            description: Unauthorized
  6738        tags:
  6739        - internal
  6740        x-accepts: application/json
  6741    /config/garbage-collection:
  6742      get:
  6743        description: get information of gc settings
  6744        operationId: getGarbageCollectionConfig
  6745        responses:
  6746          "200":
  6747            content:
  6748              application/json:
  6749                schema:
  6750                  $ref: '#/components/schemas/GarbageCollectionConfig'
  6751            description: lakeFS garbage collection config
  6752          "401":
  6753            content:
  6754              application/json:
  6755                schema:
  6756                  $ref: '#/components/schemas/Error'
  6757            description: Unauthorized
  6758        tags:
  6759        - internal
  6760        x-accepts: application/json
  6761    /statistics:
  6762      post:
  6763        operationId: postStatsEvents
  6764        requestBody:
  6765          content:
  6766            application/json:
  6767              schema:
  6768                $ref: '#/components/schemas/StatsEventsList'
  6769          required: true
  6770        responses:
  6771          "204":
  6772            description: reported successfully
  6773          "400":
  6774            content:
  6775              application/json:
  6776                schema:
  6777                  $ref: '#/components/schemas/Error'
  6778            description: Bad Request
  6779          "401":
  6780            content:
  6781              application/json:
  6782                schema:
  6783                  $ref: '#/components/schemas/Error'
  6784            description: Unauthorized
  6785          "420":
  6786            description: too many requests
  6787          default:
  6788            content:
  6789              application/json:
  6790                schema:
  6791                  $ref: '#/components/schemas/Error'
  6792            description: Internal Server Error
  6793        summary: "post stats events, this endpoint is meant for internal use only"
  6794        tags:
  6795        - internal
  6796        x-content-type: application/json
  6797        x-accepts: application/json
  6798    /usage-report/summary:
  6799      get:
  6800        operationId: getUsageReportSummary
  6801        responses:
  6802          "200":
  6803            content:
  6804              application/json:
  6805                schema:
  6806                  $ref: '#/components/schemas/InstallationUsageReport'
  6807              application/text:
  6808                schema:
  6809                  type: string
  6810            description: Usage report
  6811          "400":
  6812            content:
  6813              application/json:
  6814                schema:
  6815                  $ref: '#/components/schemas/Error'
  6816            description: Bad Request
  6817          "401":
  6818            content:
  6819              application/json:
  6820                schema:
  6821                  $ref: '#/components/schemas/Error'
  6822            description: Unauthorized
  6823          "404":
  6824            content:
  6825              application/json:
  6826                schema:
  6827                  $ref: '#/components/schemas/Error'
  6828            description: Resource Not Found
  6829          "420":
  6830            description: too many requests
  6831          default:
  6832            content:
  6833              application/json:
  6834                schema:
  6835                  $ref: '#/components/schemas/Error'
  6836            description: Internal Server Error
  6837        summary: get usage report summary
  6838        tags:
  6839        - internal
  6840        x-accepts: application/json
  6841  components:
  6842    parameters:
  6843      PaginationPrefix:
  6844        description: return items prefixed with this value
  6845        explode: true
  6846        in: query
  6847        name: prefix
  6848        required: false
  6849        schema:
  6850          type: string
  6851        style: form
  6852      PaginationAfter:
  6853        description: return items after this value
  6854        explode: true
  6855        in: query
  6856        name: after
  6857        required: false
  6858        schema:
  6859          type: string
  6860        style: form
  6861      PaginationAmount:
  6862        description: how many items to return
  6863        explode: true
  6864        in: query
  6865        name: amount
  6866        required: false
  6867        schema:
  6868          default: 100
  6869          maximum: 1000
  6870          minimum: -1
  6871          type: integer
  6872        style: form
  6873      PaginationDelimiter:
  6874        description: delimiter used to group common prefixes by
  6875        explode: true
  6876        in: query
  6877        name: delimiter
  6878        required: false
  6879        schema:
  6880          type: string
  6881        style: form
  6882      IfNoneMatch:
  6883        description: Set to "*" to atomically allow the upload only if the key has no
  6884          object yet. Other values are not supported.
  6885        example: '*'
  6886        explode: false
  6887        in: header
  6888        name: If-None-Match
  6889        required: false
  6890        schema:
  6891          type: string
  6892        style: simple
  6893    responses:
  6894      NotFoundOrNoACL:
  6895        content:
  6896          application/json:
  6897            schema:
  6898              $ref: '#/components/schemas/ErrorNoACL'
  6899        description: "Group not found, or group found but has no ACL"
  6900      Unauthorized:
  6901        content:
  6902          application/json:
  6903            schema:
  6904              $ref: '#/components/schemas/Error'
  6905        description: Unauthorized
  6906      ServerError:
  6907        content:
  6908          application/json:
  6909            schema:
  6910              $ref: '#/components/schemas/Error'
  6911        description: Internal Server Error
  6912      NotFound:
  6913        content:
  6914          application/json:
  6915            schema:
  6916              $ref: '#/components/schemas/Error'
  6917        description: Resource Not Found
  6918      Conflict:
  6919        content:
  6920          application/json:
  6921            schema:
  6922              $ref: '#/components/schemas/Error'
  6923        description: Resource Conflicts With Target
  6924      PreconditionFailed:
  6925        content:
  6926          application/json:
  6927            schema:
  6928              $ref: '#/components/schemas/Error'
  6929        description: Precondition Failed
  6930      BadRequest:
  6931        content:
  6932          application/json:
  6933            schema:
  6934              $ref: '#/components/schemas/Error'
  6935        description: Bad Request
  6936      Forbidden:
  6937        content:
  6938          application/json:
  6939            schema:
  6940              $ref: '#/components/schemas/Error'
  6941        description: Forbidden
  6942      ValidationError:
  6943        content:
  6944          application/json:
  6945            schema:
  6946              $ref: '#/components/schemas/Error'
  6947        description: Validation Error
  6948    schemas:
  6949      Pagination:
  6950        example:
  6951          max_per_page: 0
  6952          has_more: true
  6953          next_offset: next_offset
  6954          results: 0
  6955        properties:
  6956          has_more:
  6957            description: Next page is available
  6958            type: boolean
  6959          next_offset:
  6960            description: Token used to retrieve the next page
  6961            type: string
  6962          results:
  6963            description: Number of values found in the results
  6964            minimum: 0
  6965            type: integer
  6966          max_per_page:
  6967            description: Maximal number of entries per page
  6968            minimum: 0
  6969            type: integer
  6970        required:
  6971        - has_more
  6972        - max_per_page
  6973        - next_offset
  6974        - results
  6975        type: object
  6976      Repository:
  6977        example:
  6978          read_only: true
  6979          default_branch: default_branch
  6980          id: id
  6981          creation_date: 0
  6982          storage_namespace: storage_namespace
  6983        properties:
  6984          id:
  6985            type: string
  6986          creation_date:
  6987            description: Unix Epoch in seconds
  6988            format: int64
  6989            type: integer
  6990          default_branch:
  6991            type: string
  6992          storage_namespace:
  6993            description: Filesystem URI to store the underlying data in (e.g. "s3://my-bucket/some/path/")
  6994            type: string
  6995          read_only:
  6996            description: Whether the repository is a read-only repository- not relevant
  6997              for bare repositories
  6998            type: boolean
  6999        required:
  7000        - creation_date
  7001        - default_branch
  7002        - id
  7003        - storage_namespace
  7004        type: object
  7005      RepositoryMetadata:
  7006        additionalProperties:
  7007          type: string
  7008        type: object
  7009      RepositoryMetadataSet:
  7010        example:
  7011          metadata:
  7012            key: metadata
  7013        properties:
  7014          metadata:
  7015            additionalProperties:
  7016              type: string
  7017            type: object
  7018        required:
  7019        - metadata
  7020        type: object
  7021      RepositoryMetadataKeys:
  7022        example:
  7023          keys:
  7024          - keys
  7025          - keys
  7026        properties:
  7027          keys:
  7028            items:
  7029              description: metadata key
  7030              type: string
  7031            type: array
  7032        required:
  7033        - keys
  7034        type: object
  7035      RepositoryList:
  7036        example:
  7037          pagination:
  7038            max_per_page: 0
  7039            has_more: true
  7040            next_offset: next_offset
  7041            results: 0
  7042          results:
  7043          - read_only: true
  7044            default_branch: default_branch
  7045            id: id
  7046            creation_date: 0
  7047            storage_namespace: storage_namespace
  7048          - read_only: true
  7049            default_branch: default_branch
  7050            id: id
  7051            creation_date: 0
  7052            storage_namespace: storage_namespace
  7053        properties:
  7054          pagination:
  7055            $ref: '#/components/schemas/Pagination'
  7056          results:
  7057            items:
  7058              $ref: '#/components/schemas/Repository'
  7059            type: array
  7060        required:
  7061        - pagination
  7062        - results
  7063        type: object
  7064      FindMergeBaseResult:
  7065        example:
  7066          destination_commit_id: destination_commit_id
  7067          base_commit_id: base_commit_id
  7068          source_commit_id: source_commit_id
  7069        properties:
  7070          source_commit_id:
  7071            description: The commit ID of the merge source
  7072            type: string
  7073          destination_commit_id:
  7074            description: The commit ID of the merge destination
  7075            type: string
  7076          base_commit_id:
  7077            description: The commit ID of the merge base
  7078            type: string
  7079        required:
  7080        - base_commit_id
  7081        - destination_commit_id
  7082        - source_commit_id
  7083        type: object
  7084      MergeResult:
  7085        example:
  7086          reference: reference
  7087        properties:
  7088          reference:
  7089            type: string
  7090        required:
  7091        - reference
  7092        type: object
  7093      RepositoryCreation:
  7094        example:
  7095          sample_data: true
  7096          read_only: true
  7097          name: name
  7098          default_branch: main
  7099          storage_namespace: s3://example-bucket/
  7100        properties:
  7101          name:
  7102            pattern: "^[a-z0-9][a-z0-9-]{2,62}$"
  7103            type: string
  7104          storage_namespace:
  7105            description: Filesystem URI to store the underlying data in (e.g. "s3://my-bucket/some/path/")
  7106            example: s3://example-bucket/
  7107            pattern: ^(s3|gs|https?|mem|local|transient)://.*$
  7108            type: string
  7109          default_branch:
  7110            example: main
  7111            type: string
  7112          sample_data:
  7113            default: false
  7114            example: true
  7115            type: boolean
  7116          read_only:
  7117            default: false
  7118            example: true
  7119            type: boolean
  7120        required:
  7121        - name
  7122        - storage_namespace
  7123        type: object
  7124      PathList:
  7125        example:
  7126          paths:
  7127          - paths
  7128          - paths
  7129        properties:
  7130          paths:
  7131            items:
  7132              description: Object path
  7133              type: string
  7134            type: array
  7135        required:
  7136        - paths
  7137        type: object
  7138      ObjectStats:
  7139        example:
  7140          physical_address: physical_address
  7141          path: path
  7142          metadata:
  7143            key: metadata
  7144          size_bytes: 6
  7145          content_type: content_type
  7146          physical_address_expiry: 0
  7147          checksum: checksum
  7148          path_type: common_prefix
  7149          mtime: 1
  7150        properties:
  7151          path:
  7152            type: string
  7153          path_type:
  7154            enum:
  7155            - common_prefix
  7156            - object
  7157            type: string
  7158          physical_address:
  7159            description: |
  7160              The location of the object on the underlying object store.
  7161              Formatted as a native URI with the object store type as scheme ("s3://...", "gs://...", etc.)
  7162              Or, in the case of presign=true, will be an HTTP URL to be consumed via regular HTTP GET
  7163            type: string
  7164          physical_address_expiry:
  7165            description: |
  7166              If present and nonzero, physical_address is a pre-signed URL and
  7167              will expire at this Unix Epoch time.  This will be shorter than
  7168              the pre-signed URL lifetime if an authentication token is about
  7169              to expire.
  7170  
  7171              This field is *optional*.
  7172            format: int64
  7173            type: integer
  7174          checksum:
  7175            type: string
  7176          size_bytes:
  7177            format: int64
  7178            type: integer
  7179          mtime:
  7180            description: Unix Epoch in seconds
  7181            format: int64
  7182            type: integer
  7183          metadata:
  7184            additionalProperties:
  7185              type: string
  7186            type: object
  7187          content_type:
  7188            description: Object media type
  7189            type: string
  7190        required:
  7191        - checksum
  7192        - mtime
  7193        - path
  7194        - path_type
  7195        - physical_address
  7196        type: object
  7197      ObjectStatsList:
  7198        example:
  7199          pagination:
  7200            max_per_page: 0
  7201            has_more: true
  7202            next_offset: next_offset
  7203            results: 0
  7204          results:
  7205          - physical_address: physical_address
  7206            path: path
  7207            metadata:
  7208              key: metadata
  7209            size_bytes: 6
  7210            content_type: content_type
  7211            physical_address_expiry: 0
  7212            checksum: checksum
  7213            path_type: common_prefix
  7214            mtime: 1
  7215          - physical_address: physical_address
  7216            path: path
  7217            metadata:
  7218              key: metadata
  7219            size_bytes: 6
  7220            content_type: content_type
  7221            physical_address_expiry: 0
  7222            checksum: checksum
  7223            path_type: common_prefix
  7224            mtime: 1
  7225        properties:
  7226          pagination:
  7227            $ref: '#/components/schemas/Pagination'
  7228          results:
  7229            items:
  7230              $ref: '#/components/schemas/ObjectStats'
  7231            type: array
  7232        required:
  7233        - pagination
  7234        - results
  7235        type: object
  7236      ObjectCopyCreation:
  7237        example:
  7238          force: false
  7239          src_path: src_path
  7240          src_ref: src_ref
  7241        properties:
  7242          src_path:
  7243            description: path of the copied object relative to the ref
  7244            type: string
  7245          src_ref:
  7246            description: "a reference, if empty uses the provided branch as ref"
  7247            type: string
  7248          force:
  7249            default: false
  7250            type: boolean
  7251        required:
  7252        - src_path
  7253        type: object
  7254      ObjectStageCreation:
  7255        example:
  7256          physical_address: physical_address
  7257          metadata:
  7258            key: metadata
  7259          size_bytes: 0
  7260          content_type: content_type
  7261          checksum: checksum
  7262          force: false
  7263          mtime: 6
  7264        properties:
  7265          physical_address:
  7266            type: string
  7267          checksum:
  7268            type: string
  7269          size_bytes:
  7270            format: int64
  7271            type: integer
  7272          mtime:
  7273            description: Unix Epoch in seconds
  7274            format: int64
  7275            type: integer
  7276          metadata:
  7277            additionalProperties:
  7278              type: string
  7279            type: object
  7280          content_type:
  7281            description: Object media type
  7282            type: string
  7283          force:
  7284            default: false
  7285            type: boolean
  7286        required:
  7287        - checksum
  7288        - physical_address
  7289        - size_bytes
  7290        type: object
  7291      ObjectUserMetadata:
  7292        additionalProperties:
  7293          type: string
  7294        type: object
  7295      UnderlyingObjectProperties:
  7296        example:
  7297          storage_class: storage_class
  7298        properties:
  7299          storage_class:
  7300            nullable: true
  7301            type: string
  7302        type: object
  7303      Ref:
  7304        example:
  7305          id: id
  7306          commit_id: commit_id
  7307        properties:
  7308          id:
  7309            type: string
  7310          commit_id:
  7311            type: string
  7312        required:
  7313        - commit_id
  7314        - id
  7315        type: object
  7316      RefList:
  7317        example:
  7318          pagination:
  7319            max_per_page: 0
  7320            has_more: true
  7321            next_offset: next_offset
  7322            results: 0
  7323          results:
  7324          - id: id
  7325            commit_id: commit_id
  7326          - id: id
  7327            commit_id: commit_id
  7328        properties:
  7329          pagination:
  7330            $ref: '#/components/schemas/Pagination'
  7331          results:
  7332            items:
  7333              $ref: '#/components/schemas/Ref'
  7334            type: array
  7335        required:
  7336        - pagination
  7337        - results
  7338        type: object
  7339      Diff:
  7340        example:
  7341          path: path
  7342          size_bytes: 0
  7343          path_type: common_prefix
  7344          type: added
  7345        properties:
  7346          type:
  7347            enum:
  7348            - added
  7349            - removed
  7350            - changed
  7351            - conflict
  7352            - prefix_changed
  7353            type: string
  7354          path:
  7355            type: string
  7356          path_type:
  7357            enum:
  7358            - common_prefix
  7359            - object
  7360            type: string
  7361          size_bytes:
  7362            description: represents the size of the added/changed/deleted entry
  7363            format: int64
  7364            type: integer
  7365        required:
  7366        - path
  7367        - path_type
  7368        - type
  7369        type: object
  7370      DiffList:
  7371        example:
  7372          pagination:
  7373            max_per_page: 0
  7374            has_more: true
  7375            next_offset: next_offset
  7376            results: 0
  7377          results:
  7378          - path: path
  7379            size_bytes: 0
  7380            path_type: common_prefix
  7381            type: added
  7382          - path: path
  7383            size_bytes: 0
  7384            path_type: common_prefix
  7385            type: added
  7386        properties:
  7387          pagination:
  7388            $ref: '#/components/schemas/Pagination'
  7389          results:
  7390            items:
  7391              $ref: '#/components/schemas/Diff'
  7392            type: array
  7393        required:
  7394        - pagination
  7395        - results
  7396        type: object
  7397      ResetCreation:
  7398        example:
  7399          path: path
  7400          force: false
  7401          type: object
  7402        properties:
  7403          type:
  7404            description: What to reset according to path.
  7405            enum:
  7406            - object
  7407            - common_prefix
  7408            - reset
  7409            type: string
  7410          path:
  7411            type: string
  7412          force:
  7413            default: false
  7414            type: boolean
  7415        required:
  7416        - type
  7417        type: object
  7418      RevertCreation:
  7419        example:
  7420          ref: ref
  7421          parent_number: 0
  7422          force: false
  7423          allow_empty: false
  7424        properties:
  7425          ref:
  7426            description: "the commit to revert, given by a ref"
  7427            type: string
  7428          parent_number:
  7429            description: "when reverting a merge commit, the parent number (starting\
  7430              \ from 1) relative to which to perform the revert."
  7431            type: integer
  7432          force:
  7433            default: false
  7434            type: boolean
  7435          allow_empty:
  7436            default: false
  7437            description: allow empty commit (revert without changes)
  7438            type: boolean
  7439        required:
  7440        - parent_number
  7441        - ref
  7442        type: object
  7443      CherryPickCreation:
  7444        example:
  7445          ref: ref
  7446          parent_number: 0
  7447          force: false
  7448        properties:
  7449          ref:
  7450            description: "the commit to cherry-pick, given by a ref"
  7451            type: string
  7452          parent_number:
  7453            description: |
  7454              When cherry-picking a merge commit, the parent number (starting from 1) with which to perform the diff.
  7455              The default branch is parent 1.
  7456            type: integer
  7457          force:
  7458            default: false
  7459            type: boolean
  7460        required:
  7461        - ref
  7462        type: object
  7463      Commit:
  7464        example:
  7465          generation: 6
  7466          metadata:
  7467            key: metadata
  7468          committer: committer
  7469          id: id
  7470          creation_date: 0
  7471          meta_range_id: meta_range_id
  7472          message: message
  7473          version: 0
  7474          parents:
  7475          - parents
  7476          - parents
  7477        properties:
  7478          id:
  7479            type: string
  7480          parents:
  7481            items:
  7482              type: string
  7483            type: array
  7484          committer:
  7485            type: string
  7486          message:
  7487            type: string
  7488          creation_date:
  7489            description: Unix Epoch in seconds
  7490            format: int64
  7491            type: integer
  7492          meta_range_id:
  7493            type: string
  7494          metadata:
  7495            additionalProperties:
  7496              type: string
  7497            type: object
  7498          generation:
  7499            format: int64
  7500            type: integer
  7501          version:
  7502            maximum: 1
  7503            minimum: 0
  7504            type: integer
  7505        required:
  7506        - committer
  7507        - creation_date
  7508        - id
  7509        - message
  7510        - meta_range_id
  7511        - parents
  7512        type: object
  7513      CommitList:
  7514        example:
  7515          pagination:
  7516            max_per_page: 0
  7517            has_more: true
  7518            next_offset: next_offset
  7519            results: 0
  7520          results:
  7521          - generation: 6
  7522            metadata:
  7523              key: metadata
  7524            committer: committer
  7525            id: id
  7526            creation_date: 0
  7527            meta_range_id: meta_range_id
  7528            message: message
  7529            version: 0
  7530            parents:
  7531            - parents
  7532            - parents
  7533          - generation: 6
  7534            metadata:
  7535              key: metadata
  7536            committer: committer
  7537            id: id
  7538            creation_date: 0
  7539            meta_range_id: meta_range_id
  7540            message: message
  7541            version: 0
  7542            parents:
  7543            - parents
  7544            - parents
  7545        properties:
  7546          pagination:
  7547            $ref: '#/components/schemas/Pagination'
  7548          results:
  7549            items:
  7550              $ref: '#/components/schemas/Commit'
  7551            type: array
  7552        required:
  7553        - pagination
  7554        - results
  7555        type: object
  7556      CommitCreation:
  7557        example:
  7558          date: 0
  7559          metadata:
  7560            key: metadata
  7561          force: false
  7562          message: message
  7563          allow_empty: false
  7564        properties:
  7565          message:
  7566            type: string
  7567          metadata:
  7568            additionalProperties:
  7569              type: string
  7570            type: object
  7571          date:
  7572            description: set date to override creation date in the commit (Unix Epoch
  7573              in seconds)
  7574            format: int64
  7575            type: integer
  7576          allow_empty:
  7577            default: false
  7578            description: sets whether a commit can contain no changes
  7579            type: boolean
  7580          force:
  7581            default: false
  7582            type: boolean
  7583        required:
  7584        - message
  7585        type: object
  7586      CommitRecordCreation:
  7587        example:
  7588          generation: 1
  7589          metadata:
  7590            key: metadata
  7591          committer: committer
  7592          metarange_id: metarange_id
  7593          force: false
  7594          creation_date: 6
  7595          message: message
  7596          commit_id: commit_id
  7597          version: 0
  7598          parents:
  7599          - parents
  7600          - parents
  7601        properties:
  7602          commit_id:
  7603            description: id of the commit record
  7604            type: string
  7605          version:
  7606            description: version of the commit record
  7607            maximum: 1
  7608            minimum: 0
  7609            type: integer
  7610          committer:
  7611            description: committer of the commit record
  7612            type: string
  7613          message:
  7614            description: message of the commit record
  7615            type: string
  7616          metarange_id:
  7617            description: metarange_id of the commit record
  7618            type: string
  7619          creation_date:
  7620            description: Unix Epoch in seconds
  7621            format: int64
  7622            type: integer
  7623          parents:
  7624            description: parents of the commit record
  7625            items:
  7626              type: string
  7627            type: array
  7628          metadata:
  7629            additionalProperties:
  7630              type: string
  7631            description: metadata of the commit record
  7632            type: object
  7633          generation:
  7634            description: generation of the commit record
  7635            format: int64
  7636            type: integer
  7637          force:
  7638            default: false
  7639            type: boolean
  7640        required:
  7641        - commit_id
  7642        - committer
  7643        - creation_date
  7644        - generation
  7645        - message
  7646        - metarange_id
  7647        - parents
  7648        - version
  7649        type: object
  7650      Merge:
  7651        example:
  7652          metadata:
  7653            key: metadata
  7654          force: false
  7655          message: message
  7656          strategy: strategy
  7657        properties:
  7658          message:
  7659            type: string
  7660          metadata:
  7661            additionalProperties:
  7662              type: string
  7663            type: object
  7664          strategy:
  7665            description: "In case of a merge conflict, this option will force the merge\
  7666              \ process to automatically favor changes from the dest branch ('dest-wins')\
  7667              \ or from the source branch('source-wins'). In case no selection is made,\
  7668              \ the merge process will fail in case of a conflict"
  7669            type: string
  7670          force:
  7671            default: false
  7672            type: boolean
  7673        type: object
  7674      BranchCreation:
  7675        example:
  7676          name: name
  7677          force: false
  7678          source: source
  7679        properties:
  7680          name:
  7681            type: string
  7682          source:
  7683            type: string
  7684          force:
  7685            default: false
  7686            type: boolean
  7687        required:
  7688        - name
  7689        - source
  7690        type: object
  7691      TagCreation:
  7692        description: Make tag ID point at this REF.
  7693        example:
  7694          ref: ref
  7695          force: false
  7696          id: id
  7697        properties:
  7698          id:
  7699            description: ID of tag to create
  7700            type: string
  7701          ref:
  7702            description: the commit to tag
  7703            type: string
  7704          force:
  7705            default: false
  7706            type: boolean
  7707        required:
  7708        - id
  7709        - ref
  7710        type: object
  7711      TaskInfo:
  7712        example:
  7713          id: id
  7714        properties:
  7715          id:
  7716            description: ID of the task
  7717            type: string
  7718        required:
  7719        - id
  7720        type: object
  7721      RepositoryDumpStatus:
  7722        example:
  7723          update_time: 2000-01-23T04:56:07.000+00:00
  7724          refs:
  7725            tags_meta_range_id: tags_meta_range_id
  7726            branches_meta_range_id: branches_meta_range_id
  7727            commits_meta_range_id: commits_meta_range_id
  7728          id: id
  7729          error: error
  7730          done: true
  7731        properties:
  7732          id:
  7733            description: ID of the task
  7734            type: string
  7735          done:
  7736            type: boolean
  7737          update_time:
  7738            format: date-time
  7739            type: string
  7740          error:
  7741            type: string
  7742          refs:
  7743            $ref: '#/components/schemas/RefsDump'
  7744        required:
  7745        - done
  7746        - id
  7747        - update_time
  7748        type: object
  7749      RepositoryRestoreStatus:
  7750        example:
  7751          update_time: 2000-01-23T04:56:07.000+00:00
  7752          id: id
  7753          error: error
  7754          done: true
  7755        properties:
  7756          id:
  7757            description: ID of the task
  7758            type: string
  7759          done:
  7760            type: boolean
  7761          update_time:
  7762            format: date-time
  7763            type: string
  7764          error:
  7765            type: string
  7766        required:
  7767        - done
  7768        - id
  7769        - update_time
  7770        type: object
  7771      RefsDump:
  7772        example:
  7773          tags_meta_range_id: tags_meta_range_id
  7774          branches_meta_range_id: branches_meta_range_id
  7775          commits_meta_range_id: commits_meta_range_id
  7776        properties:
  7777          commits_meta_range_id:
  7778            type: string
  7779          tags_meta_range_id:
  7780            type: string
  7781          branches_meta_range_id:
  7782            type: string
  7783        required:
  7784        - branches_meta_range_id
  7785        - commits_meta_range_id
  7786        - tags_meta_range_id
  7787        type: object
  7788      RefsRestore:
  7789        example:
  7790          tags_meta_range_id: tags_meta_range_id
  7791          branches_meta_range_id: branches_meta_range_id
  7792          force: false
  7793          commits_meta_range_id: commits_meta_range_id
  7794        properties:
  7795          commits_meta_range_id:
  7796            type: string
  7797          tags_meta_range_id:
  7798            type: string
  7799          branches_meta_range_id:
  7800            type: string
  7801          force:
  7802            default: false
  7803            type: boolean
  7804        required:
  7805        - branches_meta_range_id
  7806        - commits_meta_range_id
  7807        - tags_meta_range_id
  7808        type: object
  7809      StorageURI:
  7810        description: URI to a path in a storage provider (e.g. "s3://bucket1/path/to/object")
  7811        example:
  7812          location: location
  7813        properties:
  7814          location:
  7815            type: string
  7816        required:
  7817        - location
  7818        type: object
  7819      Error:
  7820        example:
  7821          message: message
  7822        properties:
  7823          message:
  7824            description: short message explaining the error
  7825            type: string
  7826        required:
  7827        - message
  7828        type: object
  7829      ObjectError:
  7830        example:
  7831          path: path
  7832          status_code: 0
  7833          message: message
  7834        properties:
  7835          status_code:
  7836            description: HTTP status code associated for operation on path
  7837            type: integer
  7838          message:
  7839            description: short message explaining status_code
  7840            type: string
  7841          path:
  7842            description: affected path
  7843            type: string
  7844        required:
  7845        - message
  7846        - status_code
  7847        type: object
  7848      ObjectErrorList:
  7849        example:
  7850          errors:
  7851          - path: path
  7852            status_code: 0
  7853            message: message
  7854          - path: path
  7855            status_code: 0
  7856            message: message
  7857        properties:
  7858          errors:
  7859            items:
  7860              $ref: '#/components/schemas/ObjectError'
  7861            type: array
  7862        required:
  7863        - errors
  7864        type: object
  7865      ErrorNoACL:
  7866        properties:
  7867          message:
  7868            description: short message explaining the error
  7869            type: string
  7870          no_acl:
  7871            description: true if the group exists but has no ACL
  7872            type: boolean
  7873        required:
  7874        - message
  7875        type: object
  7876      User:
  7877        example:
  7878          friendly_name: friendly_name
  7879          id: id
  7880          creation_date: 0
  7881          email: email
  7882        properties:
  7883          id:
  7884            description: A unique identifier for the user. Cannot be edited.
  7885            type: string
  7886          creation_date:
  7887            description: Unix Epoch in seconds
  7888            format: int64
  7889            type: integer
  7890          friendly_name:
  7891            description: |
  7892              A shorter name for the user than the id. Unlike id it does not identify the user (it
  7893              might not be unique). Used in some places in the UI.
  7894            type: string
  7895          email:
  7896            description: "The email address of the user. If API authentication is enabled,\
  7897              \ this field is mandatory and will be invited to login.\nIf API authentication\
  7898              \ is disabled, this field will be ignored. All current APIAuthenticators\
  7899              \ require the email to be \nlowercase and unique, although custom authenticators\
  7900              \ may not enforce this.\n"
  7901            type: string
  7902        required:
  7903        - creation_date
  7904        - id
  7905        type: object
  7906      CurrentUser:
  7907        example:
  7908          user:
  7909            friendly_name: friendly_name
  7910            id: id
  7911            creation_date: 0
  7912            email: email
  7913        properties:
  7914          user:
  7915            $ref: '#/components/schemas/User'
  7916        required:
  7917        - user
  7918        type: object
  7919      UserCreation:
  7920        example:
  7921          invite_user: true
  7922          id: id
  7923        properties:
  7924          id:
  7925            description: a unique identifier for the user.
  7926            type: string
  7927          invite_user:
  7928            type: boolean
  7929        required:
  7930        - id
  7931        type: object
  7932      LoginConfig:
  7933        example:
  7934          login_failed_message: login_failed_message
  7935          logout_url: logout_url
  7936          login_url: login_url
  7937          RBAC: simplified
  7938          fallback_login_url: fallback_login_url
  7939          login_cookie_names:
  7940          - login_cookie_names
  7941          - login_cookie_names
  7942          fallback_login_label: fallback_login_label
  7943        properties:
  7944          RBAC:
  7945            description: |
  7946              RBAC will remain enabled on GUI if "external".  That only works
  7947              with an external auth service.
  7948            enum:
  7949            - simplified
  7950            - external
  7951            type: string
  7952          login_url:
  7953            description: primary URL to use for login.
  7954            type: string
  7955          login_failed_message:
  7956            description: |
  7957              message to display to users who fail to login; a full sentence that is rendered
  7958              in HTML and may contain a link to a secondary login method
  7959            type: string
  7960          fallback_login_url:
  7961            description: secondary URL to offer users to use for login.
  7962            type: string
  7963          fallback_login_label:
  7964            description: label to place on fallback_login_url.
  7965            type: string
  7966          login_cookie_names:
  7967            description: cookie names used to store JWT
  7968            items:
  7969              type: string
  7970            type: array
  7971          logout_url:
  7972            description: URL to use for logging out.
  7973            type: string
  7974        required:
  7975        - login_cookie_names
  7976        - login_url
  7977        - logout_url
  7978        type: object
  7979      SetupState:
  7980        example:
  7981          login_config:
  7982            login_failed_message: login_failed_message
  7983            logout_url: logout_url
  7984            login_url: login_url
  7985            RBAC: simplified
  7986            fallback_login_url: fallback_login_url
  7987            login_cookie_names:
  7988            - login_cookie_names
  7989            - login_cookie_names
  7990            fallback_login_label: fallback_login_label
  7991          state: initialized
  7992          comm_prefs_missing: true
  7993        properties:
  7994          state:
  7995            enum:
  7996            - initialized
  7997            - not_initialized
  7998            type: string
  7999          comm_prefs_missing:
  8000            description: true if the comm prefs are missing.
  8001            type: boolean
  8002          login_config:
  8003            $ref: '#/components/schemas/LoginConfig'
  8004        type: object
  8005      AccessKeyCredentials:
  8006        example:
  8007          access_key_id: AKIAIOSFODNN7EXAMPLE
  8008          secret_access_key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
  8009        properties:
  8010          access_key_id:
  8011            description: access key ID to set for user for use in integration testing.
  8012            example: AKIAIOSFODNN7EXAMPLE
  8013            minLength: 1
  8014            type: string
  8015          secret_access_key:
  8016            description: secret access key to set for user for use in integration testing.
  8017            example: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
  8018            minLength: 1
  8019            type: string
  8020        required:
  8021        - access_key_id
  8022        - secret_access_key
  8023        type: object
  8024      Setup:
  8025        example:
  8026          key:
  8027            access_key_id: AKIAIOSFODNN7EXAMPLE
  8028            secret_access_key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
  8029          username: username
  8030        properties:
  8031          username:
  8032            description: an identifier for the user (e.g. jane.doe)
  8033            type: string
  8034          key:
  8035            $ref: '#/components/schemas/AccessKeyCredentials'
  8036        required:
  8037        - username
  8038        type: object
  8039      CommPrefsInput:
  8040        example:
  8041          featureUpdates: true
  8042          email: email
  8043          securityUpdates: true
  8044        properties:
  8045          email:
  8046            description: the provided email
  8047            type: string
  8048          featureUpdates:
  8049            description: user preference to receive feature updates
  8050            type: boolean
  8051          securityUpdates:
  8052            description: user preference to receive security updates
  8053            type: boolean
  8054        required:
  8055        - featureUpdates
  8056        - securityUpdates
  8057        type: object
  8058      Credentials:
  8059        example:
  8060          access_key_id: access_key_id
  8061          creation_date: 0
  8062        properties:
  8063          access_key_id:
  8064            type: string
  8065          creation_date:
  8066            description: Unix Epoch in seconds
  8067            format: int64
  8068            type: integer
  8069        required:
  8070        - access_key_id
  8071        - creation_date
  8072        type: object
  8073      CredentialsList:
  8074        example:
  8075          pagination:
  8076            max_per_page: 0
  8077            has_more: true
  8078            next_offset: next_offset
  8079            results: 0
  8080          results:
  8081          - access_key_id: access_key_id
  8082            creation_date: 0
  8083          - access_key_id: access_key_id
  8084            creation_date: 0
  8085        properties:
  8086          pagination:
  8087            $ref: '#/components/schemas/Pagination'
  8088          results:
  8089            items:
  8090              $ref: '#/components/schemas/Credentials'
  8091            type: array
  8092        required:
  8093        - pagination
  8094        - results
  8095        type: object
  8096      CredentialsWithSecret:
  8097        example:
  8098          access_key_id: access_key_id
  8099          secret_access_key: secret_access_key
  8100          creation_date: 0
  8101        properties:
  8102          access_key_id:
  8103            type: string
  8104          secret_access_key:
  8105            type: string
  8106          creation_date:
  8107            description: Unix Epoch in seconds
  8108            format: int64
  8109            type: integer
  8110        required:
  8111        - access_key_id
  8112        - creation_date
  8113        - secret_access_key
  8114        type: object
  8115      Group:
  8116        example:
  8117          name: name
  8118          id: id
  8119          creation_date: 0
  8120        properties:
  8121          id:
  8122            type: string
  8123          name:
  8124            type: string
  8125          creation_date:
  8126            description: Unix Epoch in seconds
  8127            format: int64
  8128            type: integer
  8129        required:
  8130        - creation_date
  8131        - id
  8132        type: object
  8133      GroupList:
  8134        example:
  8135          pagination:
  8136            max_per_page: 0
  8137            has_more: true
  8138            next_offset: next_offset
  8139            results: 0
  8140          results:
  8141          - name: name
  8142            id: id
  8143            creation_date: 0
  8144          - name: name
  8145            id: id
  8146            creation_date: 0
  8147        properties:
  8148          pagination:
  8149            $ref: '#/components/schemas/Pagination'
  8150          results:
  8151            items:
  8152              $ref: '#/components/schemas/Group'
  8153            type: array
  8154        required:
  8155        - pagination
  8156        - results
  8157        type: object
  8158      AuthCapabilities:
  8159        example:
  8160          invite_user: true
  8161          forgot_password: true
  8162        properties:
  8163          invite_user:
  8164            type: boolean
  8165          forgot_password:
  8166            type: boolean
  8167        type: object
  8168      UserList:
  8169        example:
  8170          pagination:
  8171            max_per_page: 0
  8172            has_more: true
  8173            next_offset: next_offset
  8174            results: 0
  8175          results:
  8176          - friendly_name: friendly_name
  8177            id: id
  8178            creation_date: 0
  8179            email: email
  8180          - friendly_name: friendly_name
  8181            id: id
  8182            creation_date: 0
  8183            email: email
  8184        properties:
  8185          pagination:
  8186            $ref: '#/components/schemas/Pagination'
  8187          results:
  8188            items:
  8189              $ref: '#/components/schemas/User'
  8190            type: array
  8191        required:
  8192        - pagination
  8193        - results
  8194        type: object
  8195      LoginInformation:
  8196        example:
  8197          access_key_id: access_key_id
  8198          secret_access_key: secret_access_key
  8199        properties:
  8200          access_key_id:
  8201            type: string
  8202          secret_access_key:
  8203            type: string
  8204        required:
  8205        - access_key_id
  8206        - secret_access_key
  8207        type: object
  8208      ExternalLoginInformation:
  8209        example:
  8210          identityRequest: "{}"
  8211          token_expiration_duration: 0
  8212        properties:
  8213          token_expiration_duration:
  8214            type: integer
  8215          identityRequest:
  8216            type: object
  8217        required:
  8218        - identityRequest
  8219        type: object
  8220      StsAuthRequest:
  8221        example:
  8222          code: code
  8223          ttl_seconds: 0
  8224          state: state
  8225          redirect_uri: redirect_uri
  8226        properties:
  8227          code:
  8228            type: string
  8229          state:
  8230            type: string
  8231          redirect_uri:
  8232            type: string
  8233          ttl_seconds:
  8234            description: |
  8235              The time-to-live for the generated token in seconds.  The default
  8236              value is 3600 seconds (1 hour) maximum time allowed is 12 hours.
  8237            format: int64
  8238            type: integer
  8239        required:
  8240        - code
  8241        - redirect_uri
  8242        - state
  8243        type: object
  8244      AuthenticationToken:
  8245        example:
  8246          token_expiration: 0
  8247          token: token
  8248        properties:
  8249          token:
  8250            description: a JWT token that could be used to authenticate requests
  8251            type: string
  8252          token_expiration:
  8253            description: Unix Epoch in seconds
  8254            format: int64
  8255            type: integer
  8256        required:
  8257        - token
  8258        type: object
  8259      GroupCreation:
  8260        example:
  8261          id: id
  8262        properties:
  8263          id:
  8264            type: string
  8265        required:
  8266        - id
  8267        type: object
  8268      Statement:
  8269        example:
  8270          resource: resource
  8271          effect: allow
  8272          action:
  8273          - action
  8274          - action
  8275        properties:
  8276          effect:
  8277            enum:
  8278            - allow
  8279            - deny
  8280            type: string
  8281          resource:
  8282            type: string
  8283          action:
  8284            items:
  8285              type: string
  8286            minItems: 1
  8287            type: array
  8288        required:
  8289        - action
  8290        - effect
  8291        - resource
  8292        type: object
  8293      Policy:
  8294        example:
  8295          statement:
  8296          - resource: resource
  8297            effect: allow
  8298            action:
  8299            - action
  8300            - action
  8301          - resource: resource
  8302            effect: allow
  8303            action:
  8304            - action
  8305            - action
  8306          id: id
  8307          creation_date: 0
  8308        properties:
  8309          id:
  8310            type: string
  8311          creation_date:
  8312            description: Unix Epoch in seconds
  8313            format: int64
  8314            type: integer
  8315          statement:
  8316            items:
  8317              $ref: '#/components/schemas/Statement'
  8318            minItems: 1
  8319            type: array
  8320        required:
  8321        - id
  8322        - statement
  8323        type: object
  8324      PolicyList:
  8325        example:
  8326          pagination:
  8327            max_per_page: 0
  8328            has_more: true
  8329            next_offset: next_offset
  8330            results: 0
  8331          results:
  8332          - statement:
  8333            - resource: resource
  8334              effect: allow
  8335              action:
  8336              - action
  8337              - action
  8338            - resource: resource
  8339              effect: allow
  8340              action:
  8341              - action
  8342              - action
  8343            id: id
  8344            creation_date: 0
  8345          - statement:
  8346            - resource: resource
  8347              effect: allow
  8348              action:
  8349              - action
  8350              - action
  8351            - resource: resource
  8352              effect: allow
  8353              action:
  8354              - action
  8355              - action
  8356            id: id
  8357            creation_date: 0
  8358        properties:
  8359          pagination:
  8360            $ref: '#/components/schemas/Pagination'
  8361          results:
  8362            items:
  8363              $ref: '#/components/schemas/Policy'
  8364            type: array
  8365        required:
  8366        - pagination
  8367        - results
  8368        type: object
  8369      ACL:
  8370        example:
  8371          permission: permission
  8372        properties:
  8373          permission:
  8374            description: |
  8375              Permission level to give this ACL.  "Read", "Write", "Super" and
  8376              "Admin" are all supported.
  8377            type: string
  8378        required:
  8379        - permission
  8380        type: object
  8381      StorageConfig:
  8382        example:
  8383          pre_sign_multipart_upload: true
  8384          blockstore_namespace_example: blockstore_namespace_example
  8385          blockstore_namespace_ValidityRegex: blockstore_namespace_ValidityRegex
  8386          blockstore_type: blockstore_type
  8387          pre_sign_support_ui: true
  8388          import_support: true
  8389          import_validity_regex: import_validity_regex
  8390          default_namespace_prefix: default_namespace_prefix
  8391          pre_sign_support: true
  8392        properties:
  8393          blockstore_type:
  8394            type: string
  8395          blockstore_namespace_example:
  8396            type: string
  8397          blockstore_namespace_ValidityRegex:
  8398            type: string
  8399          default_namespace_prefix:
  8400            type: string
  8401          pre_sign_support:
  8402            type: boolean
  8403          pre_sign_support_ui:
  8404            type: boolean
  8405          import_support:
  8406            type: boolean
  8407          import_validity_regex:
  8408            type: string
  8409          pre_sign_multipart_upload:
  8410            type: boolean
  8411        required:
  8412        - blockstore_namespace_ValidityRegex
  8413        - blockstore_namespace_example
  8414        - blockstore_type
  8415        - import_support
  8416        - import_validity_regex
  8417        - pre_sign_support
  8418        - pre_sign_support_ui
  8419        type: object
  8420      Config:
  8421        example:
  8422          storage_config:
  8423            pre_sign_multipart_upload: true
  8424            blockstore_namespace_example: blockstore_namespace_example
  8425            blockstore_namespace_ValidityRegex: blockstore_namespace_ValidityRegex
  8426            blockstore_type: blockstore_type
  8427            pre_sign_support_ui: true
  8428            import_support: true
  8429            import_validity_regex: import_validity_regex
  8430            default_namespace_prefix: default_namespace_prefix
  8431            pre_sign_support: true
  8432          version_config:
  8433            latest_version: latest_version
  8434            version: version
  8435            upgrade_recommended: true
  8436            upgrade_url: upgrade_url
  8437        properties:
  8438          version_config:
  8439            $ref: '#/components/schemas/VersionConfig'
  8440          storage_config:
  8441            $ref: '#/components/schemas/StorageConfig'
  8442        type: object
  8443      VersionConfig:
  8444        example:
  8445          latest_version: latest_version
  8446          version: version
  8447          upgrade_recommended: true
  8448          upgrade_url: upgrade_url
  8449        properties:
  8450          version:
  8451            type: string
  8452          latest_version:
  8453            type: string
  8454          upgrade_recommended:
  8455            type: boolean
  8456          upgrade_url:
  8457            type: string
  8458        type: object
  8459      GarbageCollectionConfig:
  8460        example:
  8461          grace_period: 0
  8462        properties:
  8463          grace_period:
  8464            description: Duration in seconds. Objects created in the recent grace_period
  8465              will not be collected.
  8466            type: integer
  8467        type: object
  8468      ActionRun:
  8469        example:
  8470          start_time: 2000-01-23T04:56:07.000+00:00
  8471          run_id: run_id
  8472          event_type: event_type
  8473          end_time: 2000-01-23T04:56:07.000+00:00
  8474          branch: branch
  8475          commit_id: commit_id
  8476          status: failed
  8477        properties:
  8478          run_id:
  8479            type: string
  8480          branch:
  8481            type: string
  8482          start_time:
  8483            format: date-time
  8484            type: string
  8485          end_time:
  8486            format: date-time
  8487            type: string
  8488          event_type:
  8489            type: string
  8490          status:
  8491            enum:
  8492            - failed
  8493            - completed
  8494            type: string
  8495          commit_id:
  8496            type: string
  8497        required:
  8498        - branch
  8499        - commit_id
  8500        - event_type
  8501        - run_id
  8502        - start_time
  8503        - status
  8504        type: object
  8505      ActionRunList:
  8506        example:
  8507          pagination:
  8508            max_per_page: 0
  8509            has_more: true
  8510            next_offset: next_offset
  8511            results: 0
  8512          results:
  8513          - start_time: 2000-01-23T04:56:07.000+00:00
  8514            run_id: run_id
  8515            event_type: event_type
  8516            end_time: 2000-01-23T04:56:07.000+00:00
  8517            branch: branch
  8518            commit_id: commit_id
  8519            status: failed
  8520          - start_time: 2000-01-23T04:56:07.000+00:00
  8521            run_id: run_id
  8522            event_type: event_type
  8523            end_time: 2000-01-23T04:56:07.000+00:00
  8524            branch: branch
  8525            commit_id: commit_id
  8526            status: failed
  8527        properties:
  8528          pagination:
  8529            $ref: '#/components/schemas/Pagination'
  8530          results:
  8531            items:
  8532              $ref: '#/components/schemas/ActionRun'
  8533            type: array
  8534        required:
  8535        - pagination
  8536        - results
  8537        type: object
  8538      HookRun:
  8539        example:
  8540          start_time: 2000-01-23T04:56:07.000+00:00
  8541          hook_id: hook_id
  8542          end_time: 2000-01-23T04:56:07.000+00:00
  8543          action: action
  8544          hook_run_id: hook_run_id
  8545          status: failed
  8546        properties:
  8547          hook_run_id:
  8548            type: string
  8549          action:
  8550            type: string
  8551          hook_id:
  8552            type: string
  8553          start_time:
  8554            format: date-time
  8555            type: string
  8556          end_time:
  8557            format: date-time
  8558            type: string
  8559          status:
  8560            enum:
  8561            - failed
  8562            - completed
  8563            type: string
  8564        required:
  8565        - action
  8566        - hook_id
  8567        - hook_run_id
  8568        - start_time
  8569        - status
  8570        type: object
  8571      HookRunList:
  8572        example:
  8573          pagination:
  8574            max_per_page: 0
  8575            has_more: true
  8576            next_offset: next_offset
  8577            results: 0
  8578          results:
  8579          - start_time: 2000-01-23T04:56:07.000+00:00
  8580            hook_id: hook_id
  8581            end_time: 2000-01-23T04:56:07.000+00:00
  8582            action: action
  8583            hook_run_id: hook_run_id
  8584            status: failed
  8585          - start_time: 2000-01-23T04:56:07.000+00:00
  8586            hook_id: hook_id
  8587            end_time: 2000-01-23T04:56:07.000+00:00
  8588            action: action
  8589            hook_run_id: hook_run_id
  8590            status: failed
  8591        properties:
  8592          pagination:
  8593            $ref: '#/components/schemas/Pagination'
  8594          results:
  8595            items:
  8596              $ref: '#/components/schemas/HookRun'
  8597            type: array
  8598        required:
  8599        - pagination
  8600        - results
  8601        type: object
  8602      StagingLocation:
  8603        description: location for placing an object when staging it
  8604        example:
  8605          physical_address: physical_address
  8606          presigned_url: presigned_url
  8607          presigned_url_expiry: 0
  8608        properties:
  8609          physical_address:
  8610            type: string
  8611          presigned_url:
  8612            description: "if presign=true is passed in the request, this field will\
  8613              \ contain a pre-signed URL to use when uploading"
  8614            nullable: true
  8615            type: string
  8616          presigned_url_expiry:
  8617            description: |
  8618              If present and nonzero, physical_address is a pre-signed URL and
  8619              will expire at this Unix Epoch time.  This will be shorter than
  8620              the pre-signed URL lifetime if an authentication token is about
  8621              to expire.
  8622  
  8623              This field is *optional*.
  8624            format: int64
  8625            type: integer
  8626        type: object
  8627      StagingMetadata:
  8628        description: information about uploaded object
  8629        example:
  8630          size_bytes: 0
  8631          user_metadata:
  8632            key: user_metadata
  8633          content_type: content_type
  8634          checksum: checksum
  8635          force: false
  8636          staging:
  8637            physical_address: physical_address
  8638            presigned_url: presigned_url
  8639            presigned_url_expiry: 0
  8640        properties:
  8641          staging:
  8642            $ref: '#/components/schemas/StagingLocation'
  8643          checksum:
  8644            description: unique identifier of object content on backing store (typically
  8645              ETag)
  8646            type: string
  8647          size_bytes:
  8648            format: int64
  8649            type: integer
  8650          user_metadata:
  8651            additionalProperties:
  8652              type: string
  8653            type: object
  8654          content_type:
  8655            description: Object media type
  8656            type: string
  8657          force:
  8658            default: false
  8659            type: boolean
  8660        required:
  8661        - checksum
  8662        - size_bytes
  8663        - staging
  8664        type: object
  8665      GarbageCollectionPrepareResponse:
  8666        example:
  8667          run_id: 64eaa103-d726-4a33-bcb8-7c0b4abfe09e
  8668          gc_addresses_location: s3://my-storage-namespace/_lakefs/retention/addresses
  8669          gc_commits_location: s3://my-storage-namespace/_lakefs/retention/commits
  8670          gc_commits_presigned_url: gc_commits_presigned_url
  8671        properties:
  8672          run_id:
  8673            description: a unique identifier generated for this GC job
  8674            example: 64eaa103-d726-4a33-bcb8-7c0b4abfe09e
  8675            type: string
  8676          gc_commits_location:
  8677            description: location of the resulting commits csv table (partitioned by
  8678              run_id)
  8679            example: s3://my-storage-namespace/_lakefs/retention/commits
  8680            type: string
  8681          gc_addresses_location:
  8682            description: location to use for expired addresses parquet table (partitioned
  8683              by run_id)
  8684            example: s3://my-storage-namespace/_lakefs/retention/addresses
  8685            type: string
  8686          gc_commits_presigned_url:
  8687            description: a presigned url to download the commits csv
  8688            type: string
  8689        required:
  8690        - gc_addresses_location
  8691        - gc_commits_location
  8692        - run_id
  8693        type: object
  8694      PrepareGCUncommittedRequest:
  8695        example:
  8696          continuation_token: continuation_token
  8697        properties:
  8698          continuation_token:
  8699            type: string
  8700        type: object
  8701      PrepareGCUncommittedResponse:
  8702        example:
  8703          continuation_token: continuation_token
  8704          run_id: run_id
  8705          gc_uncommitted_location: gc_uncommitted_location
  8706        properties:
  8707          run_id:
  8708            type: string
  8709          gc_uncommitted_location:
  8710            description: location of uncommitted information data
  8711            type: string
  8712          continuation_token:
  8713            type: string
  8714        required:
  8715        - gc_uncommitted_location
  8716        - run_id
  8717        type: object
  8718      GarbageCollectionRule:
  8719        example:
  8720          branch_id: branch_id
  8721          retention_days: 6
  8722        properties:
  8723          branch_id:
  8724            type: string
  8725          retention_days:
  8726            type: integer
  8727        required:
  8728        - branch_id
  8729        - retention_days
  8730        type: object
  8731      GarbageCollectionRules:
  8732        example:
  8733          branches:
  8734          - branch_id: branch_id
  8735            retention_days: 6
  8736          - branch_id: branch_id
  8737            retention_days: 6
  8738          default_retention_days: 0
  8739        properties:
  8740          default_retention_days:
  8741            type: integer
  8742          branches:
  8743            items:
  8744              $ref: '#/components/schemas/GarbageCollectionRule'
  8745            type: array
  8746        required:
  8747        - branches
  8748        - default_retention_days
  8749        type: object
  8750      BranchProtectionRule:
  8751        example:
  8752          pattern: stable_*
  8753        properties:
  8754          pattern:
  8755            description: "fnmatch pattern for the branch name, supporting * and ? wildcards"
  8756            example: stable_*
  8757            minLength: 1
  8758            type: string
  8759        required:
  8760        - pattern
  8761        type: object
  8762      ImportLocation:
  8763        properties:
  8764          type:
  8765            description: "Path type, can either be 'common_prefix' or 'object'"
  8766            enum:
  8767            - common_prefix
  8768            - object
  8769            type: string
  8770          path:
  8771            description: A source location to a 'common_prefix' or to a single object.
  8772              Must match the lakeFS installation blockstore type.
  8773            example: s3://my-bucket/production/collections/
  8774            type: string
  8775          destination:
  8776            description: |
  8777              Destination for the imported objects on the branch. Must be a relative path to the branch.
  8778              If the type is an 'object', the destination is the exact object name under the branch.
  8779              If the type is a 'common_prefix', the destination is the prefix under the branch.
  8780            example: collections/
  8781            type: string
  8782        required:
  8783        - destination
  8784        - path
  8785        - type
  8786        type: object
  8787      ImportCreation:
  8788        example:
  8789          paths:
  8790          - path: s3://my-bucket/production/collections/
  8791            destination: collections/
  8792            type: common_prefix
  8793          - path: s3://my-bucket/production/collections/file1
  8794            destination: collections/file1
  8795            type: object
  8796        properties:
  8797          paths:
  8798            items:
  8799              $ref: '#/components/schemas/ImportLocation'
  8800            type: array
  8801          commit:
  8802            $ref: '#/components/schemas/CommitCreation'
  8803          force:
  8804            default: false
  8805            type: boolean
  8806        required:
  8807        - commit
  8808        - paths
  8809        type: object
  8810      RangeMetadata:
  8811        properties:
  8812          id:
  8813            description: ID of the range.
  8814            example: 480e19972a6fbe98ab8e81ae5efdfd1a29037587e91244e87abd4adefffdb01c
  8815            type: string
  8816          min_key:
  8817            description: First key in the range.
  8818            example: production/collections/some/file_1.parquet
  8819            type: string
  8820          max_key:
  8821            description: Last key in the range.
  8822            example: production/collections/some/file_8229.parquet
  8823            type: string
  8824          count:
  8825            description: Number of records in the range.
  8826            type: integer
  8827          estimated_size:
  8828            description: Estimated size of the range in bytes
  8829            type: integer
  8830        required:
  8831        - count
  8832        - estimated_size
  8833        - id
  8834        - max_key
  8835        - min_key
  8836        type: object
  8837      ImportStatus:
  8838        example:
  8839          update_time: 2000-01-23T04:56:07.000+00:00
  8840          metarange_id: metarange_id
  8841          ingested_objects: 0
  8842          commit:
  8843            generation: 6
  8844            metadata:
  8845              key: metadata
  8846            committer: committer
  8847            id: id
  8848            creation_date: 0
  8849            meta_range_id: meta_range_id
  8850            message: message
  8851            version: 0
  8852            parents:
  8853            - parents
  8854            - parents
  8855          completed: true
  8856          error:
  8857            message: message
  8858        properties:
  8859          completed:
  8860            type: boolean
  8861          update_time:
  8862            format: date-time
  8863            type: string
  8864          ingested_objects:
  8865            description: Number of objects processed so far
  8866            format: int64
  8867            type: integer
  8868          metarange_id:
  8869            type: string
  8870          commit:
  8871            $ref: '#/components/schemas/Commit'
  8872          error:
  8873            $ref: '#/components/schemas/Error'
  8874        required:
  8875        - completed
  8876        - update_time
  8877        type: object
  8878      ImportCreationResponse:
  8879        example:
  8880          id: id
  8881        properties:
  8882          id:
  8883            description: The id of the import process
  8884            type: string
  8885        required:
  8886        - id
  8887        type: object
  8888      MetaRangeCreation:
  8889        properties:
  8890          ranges:
  8891            items:
  8892              $ref: '#/components/schemas/RangeMetadata'
  8893            minItems: 1
  8894            type: array
  8895        required:
  8896        - ranges
  8897        type: object
  8898      MetaRangeCreationResponse:
  8899        properties:
  8900          id:
  8901            description: The id of the created metarange
  8902            type: string
  8903        type: object
  8904      UpdateToken:
  8905        properties:
  8906          staging_token:
  8907            type: string
  8908        required:
  8909        - staging_token
  8910        type: object
  8911      StatsEvent:
  8912        example:
  8913          name: name
  8914          count: 0
  8915          class: class
  8916        properties:
  8917          class:
  8918            description: "stats event class (e.g. \"s3_gateway\", \"openapi_request\"\
  8919              , \"experimental-feature\", \"ui-event\")"
  8920            type: string
  8921          name:
  8922            description: "stats event name (e.g. \"put_object\", \"create_repository\"\
  8923              , \"<experimental-feature-name>\")"
  8924            type: string
  8925          count:
  8926            description: number of events of the class and name
  8927            type: integer
  8928        required:
  8929        - class
  8930        - count
  8931        - name
  8932        type: object
  8933      StatsEventsList:
  8934        example:
  8935          events:
  8936          - name: name
  8937            count: 0
  8938            class: class
  8939          - name: name
  8940            count: 0
  8941            class: class
  8942        properties:
  8943          events:
  8944            items:
  8945              $ref: '#/components/schemas/StatsEvent'
  8946            type: array
  8947        required:
  8948        - events
  8949        type: object
  8950      PresignMultipartUpload:
  8951        example:
  8952          physical_address: physical_address
  8953          upload_id: upload_id
  8954          presigned_urls:
  8955          - presigned_urls
  8956          - presigned_urls
  8957        properties:
  8958          upload_id:
  8959            type: string
  8960          physical_address:
  8961            type: string
  8962          presigned_urls:
  8963            items:
  8964              type: string
  8965            type: array
  8966        required:
  8967        - physical_address
  8968        - upload_id
  8969        type: object
  8970      UploadPart:
  8971        example:
  8972          part_number: 0
  8973          etag: etag
  8974        properties:
  8975          part_number:
  8976            type: integer
  8977          etag:
  8978            type: string
  8979        required:
  8980        - etag
  8981        - part_number
  8982        type: object
  8983      CompletePresignMultipartUpload:
  8984        example:
  8985          physical_address: physical_address
  8986          user_metadata:
  8987            key: user_metadata
  8988          content_type: content_type
  8989          parts:
  8990          - part_number: 0
  8991            etag: etag
  8992          - part_number: 0
  8993            etag: etag
  8994        properties:
  8995          physical_address:
  8996            type: string
  8997          parts:
  8998            description: "List of uploaded parts, should be ordered by ascending part\
  8999              \ number"
  9000            items:
  9001              $ref: '#/components/schemas/UploadPart'
  9002            type: array
  9003          user_metadata:
  9004            additionalProperties:
  9005              type: string
  9006            type: object
  9007          content_type:
  9008            description: Object media type
  9009            type: string
  9010        required:
  9011        - parts
  9012        - physical_address
  9013        type: object
  9014      AbortPresignMultipartUpload:
  9015        example:
  9016          physical_address: physical_address
  9017        properties:
  9018          physical_address:
  9019            type: string
  9020        required:
  9021        - physical_address
  9022        type: object
  9023      UsageReport:
  9024        example:
  9025          month: 6
  9026          year: 0
  9027          count: 1
  9028        properties:
  9029          year:
  9030            type: integer
  9031          month:
  9032            type: integer
  9033          count:
  9034            format: int64
  9035            type: integer
  9036        required:
  9037        - count
  9038        - month
  9039        - year
  9040        type: object
  9041      InstallationUsageReport:
  9042        example:
  9043          reports:
  9044          - month: 6
  9045            year: 0
  9046            count: 1
  9047          - month: 6
  9048            year: 0
  9049            count: 1
  9050          installation_id: installation_id
  9051        properties:
  9052          installation_id:
  9053            type: string
  9054          reports:
  9055            items:
  9056              $ref: '#/components/schemas/UsageReport'
  9057            type: array
  9058        required:
  9059        - installation_id
  9060        - reports
  9061        type: object
  9062      ExternalPrincipalList:
  9063        example:
  9064          pagination:
  9065            max_per_page: 0
  9066            has_more: true
  9067            next_offset: next_offset
  9068            results: 0
  9069          results:
  9070          - settings:
  9071            - null
  9072            - null
  9073            user_id: user_id
  9074            id: id
  9075          - settings:
  9076            - null
  9077            - null
  9078            user_id: user_id
  9079            id: id
  9080        properties:
  9081          pagination:
  9082            $ref: '#/components/schemas/Pagination'
  9083          results:
  9084            items:
  9085              $ref: '#/components/schemas/ExternalPrincipal'
  9086            type: array
  9087        required:
  9088        - pagination
  9089        - results
  9090        type: object
  9091      ExternalPrincipalSettings:
  9092        additionalProperties:
  9093          type: string
  9094        description: Additional settings to be consumed by the remote authenticator
  9095        type: object
  9096      ExternalPrincipalCreation:
  9097        example:
  9098          settings:
  9099          - null
  9100          - null
  9101        properties:
  9102          settings:
  9103            items:
  9104              $ref: '#/components/schemas/ExternalPrincipalSettings'
  9105            type: array
  9106        type: object
  9107      ExternalPrincipal:
  9108        example:
  9109          settings:
  9110          - null
  9111          - null
  9112          user_id: user_id
  9113          id: id
  9114        properties:
  9115          id:
  9116            description: A unique identifier for the external principal i.e aws:sts::123:assumed-role/role-name
  9117            type: string
  9118          user_id:
  9119            description: |
  9120              lakeFS user ID to associate with an external principal.
  9121            type: string
  9122          settings:
  9123            items:
  9124              $ref: '#/components/schemas/ExternalPrincipalSettings'
  9125            type: array
  9126        required:
  9127        - id
  9128        - user_id
  9129        type: object
  9130      uploadObject_request:
  9131        properties:
  9132          content:
  9133            description: Only a single file per upload which must be named "content".
  9134            format: binary
  9135            type: string
  9136        type: object
  9137      internalDeleteBranchProtectionRule_request:
  9138        properties:
  9139          pattern:
  9140            type: string
  9141        required:
  9142        - pattern
  9143        type: object
  9144    securitySchemes:
  9145      basic_auth:
  9146        scheme: basic
  9147        type: http
  9148      jwt_token:
  9149        bearerFormat: JWT
  9150        scheme: bearer
  9151        type: http
  9152      cookie_auth:
  9153        in: cookie
  9154        name: internal_auth_session
  9155        type: apiKey
  9156      oidc_auth:
  9157        in: cookie
  9158        name: oidc_auth_session
  9159        type: apiKey
  9160      saml_auth:
  9161        in: cookie
  9162        name: saml_auth_session
  9163        type: apiKey
  9164