@@ -68,19 +68,23 @@ security:
6868# Capability tags describe optional functionality and are used to group endpoints together.
6969# In order to support a particular capability, a server is required to implement all endpoints grouped under a particular tag.
7070tags :
71+ - name : tables
72+ description : Required as part of table support
7173 - name : views
7274 description : Required as part of view support
7375 - name : remote-signing
7476 description : Required as part of remote signing support
7577 - name : multi-table-commit
7678 description : Required as part of multi-table commit support
79+ - name : register-table
80+ description : Required as part of register-table support
81+ - name : table-metrics
82+ description : Required as part of table metrics support
7783
7884paths :
7985 /v1/config :
8086
8187 get :
82- tags :
83- - Configuration API
8488 summary : List all catalog configuration settings
8589 operationId : getConfig
8690 parameters :
@@ -115,6 +119,15 @@ paths:
115119
116120 Common catalog configuration settings are documented at
117121 https://iceberg.apache.org/docs/latest/configuration/#catalog-properties
122+
123+
124+ Capabilities are used by the server to signal supported functionality and can be:
125+ - tables (default capability in case the `capabilities` property doesn't exist or is empty in the response)
126+ - views
127+ - remote-signing
128+ - multi-table-commit
129+ - register-table
130+ - table-metrics
118131 "
119132 responses :
120133 200 :
@@ -130,7 +143,7 @@ paths:
130143 " defaults " : {
131144 " clients " : " 4"
132145 },
133- " capabilities " : ["views", "remote_signing "]
146+ " capabilities " : ["tables", " views", "remote-signing "]
134147 }
135148 400 :
136149 $ref : ' #/components/responses/BadRequestErrorResponse'
@@ -148,8 +161,6 @@ paths:
148161 /v1/oauth/tokens :
149162
150163 post :
151- tags :
152- - OAuth2 API
153164 summary : Get a token using an OAuth2 flow
154165 operationId : getToken
155166 description :
@@ -207,7 +218,8 @@ paths:
207218
208219 get :
209220 tags :
210- - Catalog API
221+ - tables
222+ - views
211223 summary : List namespaces, optionally providing a parent namespace to list underneath
212224 description :
213225 List all namespaces at a certain level, optionally starting from a given parent namespace.
@@ -258,7 +270,8 @@ paths:
258270
259271 post :
260272 tags :
261- - Catalog API
273+ - tables
274+ - views
262275 summary : Create a namespace
263276 description :
264277 Create a namespace, with an optional set of properties.
@@ -304,7 +317,8 @@ paths:
304317
305318 get :
306319 tags :
307- - Catalog API
320+ - tables
321+ - views
308322 summary : Load the metadata properties for a namespace
309323 operationId : loadNamespaceMetadata
310324 description : Return all stored metadata properties for a given namespace
@@ -335,7 +349,8 @@ paths:
335349
336350 head :
337351 tags :
338- - Catalog API
352+ - tables
353+ - views
339354 summary : Check if a namespace exists
340355 operationId : namespaceExists
341356 description :
@@ -367,7 +382,8 @@ paths:
367382
368383 delete :
369384 tags :
370- - Catalog API
385+ - tables
386+ - views
371387 summary : Drop a namespace from the catalog. Namespace must be empty.
372388 operationId : dropNamespace
373389 responses :
@@ -402,7 +418,8 @@ paths:
402418
403419 post :
404420 tags :
405- - Catalog API
421+ - tables
422+ - views
406423 summary : Set or remove properties on a namespace
407424 operationId : updateProperties
408425 description :
@@ -465,7 +482,7 @@ paths:
465482
466483 get :
467484 tags :
468- - Catalog API
485+ - tables
469486 summary : List all table identifiers underneath a given namespace
470487 description : Return all table identifiers under this namespace
471488 operationId : listTables
@@ -499,7 +516,7 @@ paths:
499516
500517 post :
501518 tags :
502- - Catalog API
519+ - tables
503520 summary : Create a table in the given namespace
504521 description :
505522 Create a table or start a create transaction, like atomic CTAS.
@@ -564,7 +581,7 @@ paths:
564581
565582 post :
566583 tags :
567- - Catalog API
584+ - register-table
568585 summary : Register a table in the given namespace using given metadata file location
569586 description :
570587 Register a table using given metadata file location.
@@ -618,7 +635,7 @@ paths:
618635
619636 get :
620637 tags :
621- - Catalog API
638+ - tables
622639 summary : Load a table from the catalog
623640 operationId : loadTable
624641 description :
@@ -679,7 +696,7 @@ paths:
679696
680697 post :
681698 tags :
682- - Catalog API
699+ - tables
683700 summary : Commit updates to a table
684701 operationId : updateTable
685702 description :
@@ -795,7 +812,7 @@ paths:
795812
796813 delete :
797814 tags :
798- - Catalog API
815+ - tables
799816 summary : Drop a table from the catalog
800817 operationId : dropTable
801818 description : Remove a table from the catalog
@@ -835,7 +852,7 @@ paths:
835852
836853 head :
837854 tags :
838- - Catalog API
855+ - tables
839856 summary : Check if a table exists
840857 operationId : tableExists
841858 description :
@@ -872,7 +889,7 @@ paths:
872889
873890 post :
874891 tags :
875- - Catalog API
892+ - tables
876893 summary : Rename a table from its current name to a new name
877894 description :
878895 Rename a table from one identifier to another. It's valid to move a table
@@ -936,7 +953,7 @@ paths:
936953
937954 post :
938955 tags :
939- - Catalog API
956+ - table-metrics
940957 summary : Send a metrics report to this endpoint to be processed by the backend
941958 operationId : reportMetrics
942959 requestBody :
@@ -978,7 +995,6 @@ paths:
978995
979996 post :
980997 tags :
981- - Catalog API
982998 - multi-table-commit
983999 summary : Commit updates to multiple tables in an atomic operation
9841000 operationId : commitTransaction
@@ -1094,7 +1110,6 @@ paths:
10941110
10951111 get :
10961112 tags :
1097- - Catalog API
10981113 - views
10991114 summary : List all view identifiers underneath a given namespace
11001115 description : Return all view identifiers under this namespace
@@ -1129,7 +1144,6 @@ paths:
11291144
11301145 post :
11311146 tags :
1132- - Catalog API
11331147 - views
11341148 summary : Create a view in the given namespace
11351149 description :
@@ -1183,7 +1197,6 @@ paths:
11831197
11841198 get :
11851199 tags :
1186- - Catalog API
11871200 - views
11881201 summary : Load a view from the catalog
11891202 operationId : loadView
@@ -1230,7 +1243,6 @@ paths:
12301243
12311244 post :
12321245 tags :
1233- - Catalog API
12341246 - views
12351247 summary : Replace a view
12361248 operationId : replaceView
@@ -1331,7 +1343,6 @@ paths:
13311343
13321344 delete :
13331345 tags :
1334- - Catalog API
13351346 - views
13361347 summary : Drop a view from the catalog
13371348 operationId : dropView
@@ -1364,7 +1375,6 @@ paths:
13641375
13651376 head :
13661377 tags :
1367- - Catalog API
13681378 - views
13691379 summary : Check if a view exists
13701380 operationId : viewExists
@@ -1392,7 +1402,6 @@ paths:
13921402
13931403 post :
13941404 tags :
1395- - Catalog API
13961405 - views
13971406 summary : Rename a view from its current name to a new name
13981407 description :
@@ -1596,13 +1605,10 @@ components:
15961605 uniqueItems : true
15971606 items :
15981607 type : string
1599- enum :
1600- - views
1601- - vended-credentials
1602- - remote-signing
1603- - multi-table-commit
1604- description : Capabilities supported by the server
1605- example : [ "views", "remote-signing" ]
1608+ description :
1609+ Describes capabilities supported by the server. A server is required to implement all endpoints grouped under a particular capability.
1610+ For example, if a server reports the support of `views`, then all endpoints grouped under the `views` capability must be implemented by the server.
1611+ example : [ "tables", "views", "remote-signing", "vended-credentials", "multi-table-commit", "register-table", "table-metrics" ]
16061612
16071613 CreateNamespaceRequest :
16081614 type : object
0 commit comments