diff --git a/.github/workflows/java-publish.yml b/.github/workflows/java-publish.yml
index 26354a4c1..3b77aea6b 100644
--- a/.github/workflows/java-publish.yml
+++ b/.github/workflows/java-publish.yml
@@ -106,7 +106,9 @@ jobs:
# List of some artifacts to check
ARTIFACTS=(
"lance-namespace-apache-client"
+ "lance-namespace-async-client"
"lance-namespace-core"
+ "lance-namespace-core-async"
)
echo "Waiting for version $VERSION to be available in Maven Central..."
@@ -137,23 +139,41 @@ jobs:
echo ""
echo "Users can now add the following dependencies to their projects:"
echo ""
- echo "Maven (interface):"
+ echo "Maven (sync interface):"
echo ""
echo " org.lance"
echo " lance-namespace-core"
echo " ${VERSION}"
echo ""
echo ""
- echo "Maven (generated client):"
+ echo "Maven (async interface - Java 11+):"
+ echo ""
+ echo " org.lance"
+ echo " lance-namespace-core-async"
+ echo " ${VERSION}"
+ echo ""
+ echo ""
+ echo "Maven (sync client):"
echo ""
echo " org.lance"
echo " lance-namespace-apache-client"
echo " ${VERSION}"
echo ""
echo ""
- echo "Gradle:"
+ echo "Maven (async client - Java 11+):"
+ echo ""
+ echo " org.lance"
+ echo " lance-namespace-async-client"
+ echo " ${VERSION}"
+ echo ""
+ echo ""
+ echo "Gradle (sync):"
echo "implementation 'org.lance:lance-namespace-core:${VERSION}'"
echo "implementation 'org.lance:lance-namespace-apache-client:${VERSION}'"
+ echo ""
+ echo "Gradle (async - Java 11+):"
+ echo "implementation 'org.lance:lance-namespace-core-async:${VERSION}'"
+ echo "implementation 'org.lance:lance-namespace-async-client:${VERSION}'"
exit 0
fi
diff --git a/java/.async-client-ignore b/java/.async-client-ignore
new file mode 100644
index 000000000..d8132013d
--- /dev/null
+++ b/java/.async-client-ignore
@@ -0,0 +1,12 @@
+**build.gradle
+**.travis.yml
+**build.sbt
+**git_push.sh
+**gradle.properties
+**gradlew
+**gradlew.bat
+**settings.gradle
+**.gitignore
+**/gradle/**
+**/.github/**
+**/src/test/**
diff --git a/java/Makefile b/java/Makefile
index 8c25e23cb..3fff76799 100644
--- a/java/Makefile
+++ b/java/Makefile
@@ -12,6 +12,36 @@
VERSION = 0.5.2
+.PHONY: clean-async-client
+clean-async-client:
+ rm -rf lance-namespace-async-client
+
+.PHONY: gen-async-client
+gen-async-client: clean-async-client
+ uv run openapi-generator-cli generate \
+ -i ../docs/src/rest.yaml \
+ -g java \
+ -o lance-namespace-async-client \
+ --ignore-file-override=.async-client-ignore \
+ --type-mappings=file=byte[] \
+ --additional-properties=groupId=org.lance,artifactId=lance-namespace-async-client,artifactVersion=$(VERSION),parentGroupId=org.lance,parentArtifactId=lance-namespace-root,parentVersion=$(VERSION),parentRelativePath=pom.xml,library=native,asyncNative=true,apiPackage=org.lance.namespace.client.async.api,modelPackage=org.lance.namespace.model,hideGenerationTimestamp=true,licenseName=Apache-2.0,licenseUrl=https://www.apache.org/licenses/LICENSE-2.0.txt
+ rm -rf lance-namespace-async-client/.openapi-generator-ignore
+ rm -rf lance-namespace-async-client/.openapi-generator
+ rm -rf lance-namespace-async-client/pom.xml
+ cp async-client-pom.xml lance-namespace-async-client/pom.xml
+
+.PHONY: lint-async-client
+lint-async-client: gen-async-client
+ ./mvnw spotless:apply -pl lance-namespace-async-client -am
+
+.PHONY: build-async-client
+build-async-client: gen-async-client lint-async-client
+ ./mvnw install -pl lance-namespace-async-client -am
+
+.PHONY: check-async-client
+check-async-client:
+ ./mvnw checkstyle:check spotless:check -pl lance-namespace-async-client -am
+
.PHONY: clean-apache-client
clean-apache-client:
rm -rf lance-namespace-apache-client
@@ -75,11 +105,24 @@ build-core: build-apache-client lint-core
check-core:
./mvnw checkstyle:check spotless:check -pl lance-namespace-core -am
+# lance-namespace-core-async module (hand-written, no codegen)
+.PHONY: lint-core-async
+lint-core-async: gen-async-client
+ ./mvnw spotless:apply -pl lance-namespace-core-async -am
+
+.PHONY: build-core-async
+build-core-async: build-async-client lint-core-async
+ ./mvnw install -pl lance-namespace-core-async -am
+
+.PHONY: check-core-async
+check-core-async:
+ ./mvnw checkstyle:check spotless:check -pl lance-namespace-core-async -am
+
.PHONY: clean
-clean: clean-apache-client clean-springboot-server
+clean: clean-apache-client clean-async-client clean-springboot-server
.PHONY: gen
-gen: gen-apache-client gen-springboot-server lint-apache-client lint-springboot-server
+gen: gen-apache-client gen-async-client gen-springboot-server lint-apache-client lint-async-client lint-springboot-server
.PHONY: check-apache-client
check-apache-client:
@@ -90,10 +133,10 @@ check-springboot-server:
./mvnw checkstyle:check spotless:check -pl lance-namespace-springboot-server -am
.PHONY: check
-check: check-apache-client check-springboot-server check-core
+check: check-apache-client check-async-client check-springboot-server check-core check-core-async
.PHONY: lint
-lint: lint-apache-client lint-springboot-server lint-core
+lint: lint-apache-client lint-async-client lint-springboot-server lint-core lint-core-async
.PHONY: build
-build: build-apache-client build-springboot-server build-core
\ No newline at end of file
+build: build-apache-client build-async-client build-springboot-server build-core build-core-async
\ No newline at end of file
diff --git a/java/async-client-pom.xml b/java/async-client-pom.xml
new file mode 100644
index 000000000..ff5b60596
--- /dev/null
+++ b/java/async-client-pom.xml
@@ -0,0 +1,116 @@
+
+
+ 4.0.0
+
+
+ org.lance
+ lance-namespace-root
+ 0.5.2
+
+
+ lance-namespace-async-client
+ jar
+
+ lance-namespace-async-client
+ Lance Namespace async HTTP client using Java 11+ native HttpClient
+
+
+
+
+ com.fasterxml.jackson.core
+ jackson-core
+ ${jackson-version}
+
+
+ com.fasterxml.jackson.core
+ jackson-annotations
+ ${jackson-version}
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${jackson-version}
+
+
+ com.fasterxml.jackson.datatype
+ jackson-datatype-jsr310
+ ${jackson-version}
+
+
+ org.openapitools
+ jackson-databind-nullable
+ ${jackson-databind-nullable-version}
+
+
+
+
+ com.google.code.findbugs
+ jsr305
+ 3.0.2
+
+
+ jakarta.annotation
+ jakarta.annotation-api
+ ${jakarta-annotation-version}
+ provided
+
+
+
+
+ org.junit.jupiter
+ junit-jupiter-api
+ test
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-enforcer-plugin
+ 3.1.0
+
+
+ enforce-maven
+
+ enforce
+
+
+
+
+ 3
+
+
+ 11
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.10.1
+
+ 11
+ 11
+ 11
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 3.2.5
+
+
+
+
+
+ 2.17.1
+ 0.2.6
+ 1.3.5
+
+
diff --git a/java/checkstyle-suppressions.xml b/java/checkstyle-suppressions.xml
index 6c2ff26b6..30454d983 100644
--- a/java/checkstyle-suppressions.xml
+++ b/java/checkstyle-suppressions.xml
@@ -7,9 +7,13 @@
+
+
+
+
\ No newline at end of file
diff --git a/java/lance-namespace-async-client/README.md b/java/lance-namespace-async-client/README.md
new file mode 100644
index 000000000..26d6a0a80
--- /dev/null
+++ b/java/lance-namespace-async-client/README.md
@@ -0,0 +1,495 @@
+# lance-namespace-async-client
+
+Lance Namespace Specification
+
+- API version: 1.0.0
+
+- Generator version: 7.12.0
+
+This OpenAPI specification is a part of the Lance namespace specification. It contains 2 parts:
+
+The `components/schemas`, `components/responses`, `components/examples`, `tags` sections define
+the request and response shape for each operation in a Lance Namespace across all implementations.
+See https://lance.org/format/namespace/operations for more details.
+
+The `servers`, `security`, `paths`, `components/parameters` sections are for the
+Lance REST Namespace implementation, which defines a complete REST server that can work with Lance datasets.
+See https://lance.org/format/namespace/rest for more details.
+
+
+
+*Automatically generated by the [OpenAPI Generator](https://openapi-generator.tech)*
+
+## Requirements
+
+Building the API client library requires:
+
+1. Java 11+
+2. Maven/Gradle
+
+## Installation
+
+To install the API client library to your local Maven repository, simply execute:
+
+```shell
+mvn clean install
+```
+
+To deploy it to a remote Maven repository instead, configure the settings of the repository and execute:
+
+```shell
+mvn clean deploy
+```
+
+Refer to the [OSSRH Guide](http://central.sonatype.org/pages/ossrh-guide.html) for more information.
+
+### Maven users
+
+Add this dependency to your project's POM:
+
+```xml
+
+ org.lance
+ lance-namespace-async-client
+ 0.5.2
+ compile
+
+```
+
+### Gradle users
+
+Add this dependency to your project's build file:
+
+```groovy
+compile "org.lance:lance-namespace-async-client:0.5.2"
+```
+
+### Others
+
+At first generate the JAR by executing:
+
+```shell
+mvn clean package
+```
+
+Then manually install the following JARs:
+
+- `target/lance-namespace-async-client-0.5.2.jar`
+- `target/lib/*.jar`
+
+## Getting Started
+
+Please follow the [installation](#installation) instruction and execute the following Java code:
+
+```java
+
+import org.lance.namespace.client.async.*;
+import org.lance.namespace.model.*;
+import org.lance.namespace.client.async.api.DataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class DataApiExample {
+
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ // Configure clients using the `defaultClient` object, such as
+ // overriding the host and port, timeout, etc.
+ DataApi apiInstance = new DataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ AlterTableAddColumnsRequest alterTableAddColumnsRequest = new AlterTableAddColumnsRequest(); // AlterTableAddColumnsRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.alterTableAddColumns(id, alterTableAddColumnsRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling DataApi#alterTableAddColumns");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+
+```
+
+## Documentation for API Endpoints
+
+All URIs are relative to *http://localhost:2333*
+
+Class | Method | HTTP request | Description
+------------ | ------------- | ------------- | -------------
+*DataApi* | [**alterTableAddColumns**](docs/DataApi.md#alterTableAddColumns) | **POST** /v1/table/{id}/add_columns | Add new columns to table schema
+*DataApi* | [**alterTableAddColumnsWithHttpInfo**](docs/DataApi.md#alterTableAddColumnsWithHttpInfo) | **POST** /v1/table/{id}/add_columns | Add new columns to table schema
+*DataApi* | [**analyzeTableQueryPlan**](docs/DataApi.md#analyzeTableQueryPlan) | **POST** /v1/table/{id}/analyze_plan | Analyze query execution plan
+*DataApi* | [**analyzeTableQueryPlanWithHttpInfo**](docs/DataApi.md#analyzeTableQueryPlanWithHttpInfo) | **POST** /v1/table/{id}/analyze_plan | Analyze query execution plan
+*DataApi* | [**countTableRows**](docs/DataApi.md#countTableRows) | **POST** /v1/table/{id}/count_rows | Count rows in a table
+*DataApi* | [**countTableRowsWithHttpInfo**](docs/DataApi.md#countTableRowsWithHttpInfo) | **POST** /v1/table/{id}/count_rows | Count rows in a table
+*DataApi* | [**createTable**](docs/DataApi.md#createTable) | **POST** /v1/table/{id}/create | Create a table with the given name
+*DataApi* | [**createTableWithHttpInfo**](docs/DataApi.md#createTableWithHttpInfo) | **POST** /v1/table/{id}/create | Create a table with the given name
+*DataApi* | [**deleteFromTable**](docs/DataApi.md#deleteFromTable) | **POST** /v1/table/{id}/delete | Delete rows from a table
+*DataApi* | [**deleteFromTableWithHttpInfo**](docs/DataApi.md#deleteFromTableWithHttpInfo) | **POST** /v1/table/{id}/delete | Delete rows from a table
+*DataApi* | [**explainTableQueryPlan**](docs/DataApi.md#explainTableQueryPlan) | **POST** /v1/table/{id}/explain_plan | Get query execution plan explanation
+*DataApi* | [**explainTableQueryPlanWithHttpInfo**](docs/DataApi.md#explainTableQueryPlanWithHttpInfo) | **POST** /v1/table/{id}/explain_plan | Get query execution plan explanation
+*DataApi* | [**insertIntoTable**](docs/DataApi.md#insertIntoTable) | **POST** /v1/table/{id}/insert | Insert records into a table
+*DataApi* | [**insertIntoTableWithHttpInfo**](docs/DataApi.md#insertIntoTableWithHttpInfo) | **POST** /v1/table/{id}/insert | Insert records into a table
+*DataApi* | [**mergeInsertIntoTable**](docs/DataApi.md#mergeInsertIntoTable) | **POST** /v1/table/{id}/merge_insert | Merge insert (upsert) records into a table
+*DataApi* | [**mergeInsertIntoTableWithHttpInfo**](docs/DataApi.md#mergeInsertIntoTableWithHttpInfo) | **POST** /v1/table/{id}/merge_insert | Merge insert (upsert) records into a table
+*DataApi* | [**queryTable**](docs/DataApi.md#queryTable) | **POST** /v1/table/{id}/query | Query a table
+*DataApi* | [**queryTableWithHttpInfo**](docs/DataApi.md#queryTableWithHttpInfo) | **POST** /v1/table/{id}/query | Query a table
+*DataApi* | [**updateTable**](docs/DataApi.md#updateTable) | **POST** /v1/table/{id}/update | Update rows in a table
+*DataApi* | [**updateTableWithHttpInfo**](docs/DataApi.md#updateTableWithHttpInfo) | **POST** /v1/table/{id}/update | Update rows in a table
+*IndexApi* | [**createTableIndex**](docs/IndexApi.md#createTableIndex) | **POST** /v1/table/{id}/create_index | Create an index on a table
+*IndexApi* | [**createTableIndexWithHttpInfo**](docs/IndexApi.md#createTableIndexWithHttpInfo) | **POST** /v1/table/{id}/create_index | Create an index on a table
+*IndexApi* | [**createTableScalarIndex**](docs/IndexApi.md#createTableScalarIndex) | **POST** /v1/table/{id}/create_scalar_index | Create a scalar index on a table
+*IndexApi* | [**createTableScalarIndexWithHttpInfo**](docs/IndexApi.md#createTableScalarIndexWithHttpInfo) | **POST** /v1/table/{id}/create_scalar_index | Create a scalar index on a table
+*IndexApi* | [**describeTableIndexStats**](docs/IndexApi.md#describeTableIndexStats) | **POST** /v1/table/{id}/index/{index_name}/stats | Get table index statistics
+*IndexApi* | [**describeTableIndexStatsWithHttpInfo**](docs/IndexApi.md#describeTableIndexStatsWithHttpInfo) | **POST** /v1/table/{id}/index/{index_name}/stats | Get table index statistics
+*IndexApi* | [**dropTableIndex**](docs/IndexApi.md#dropTableIndex) | **POST** /v1/table/{id}/index/{index_name}/drop | Drop a specific index
+*IndexApi* | [**dropTableIndexWithHttpInfo**](docs/IndexApi.md#dropTableIndexWithHttpInfo) | **POST** /v1/table/{id}/index/{index_name}/drop | Drop a specific index
+*IndexApi* | [**listTableIndices**](docs/IndexApi.md#listTableIndices) | **POST** /v1/table/{id}/index/list | List indexes on a table
+*IndexApi* | [**listTableIndicesWithHttpInfo**](docs/IndexApi.md#listTableIndicesWithHttpInfo) | **POST** /v1/table/{id}/index/list | List indexes on a table
+*MetadataApi* | [**alterTableAlterColumns**](docs/MetadataApi.md#alterTableAlterColumns) | **POST** /v1/table/{id}/alter_columns | Modify existing columns
+*MetadataApi* | [**alterTableAlterColumnsWithHttpInfo**](docs/MetadataApi.md#alterTableAlterColumnsWithHttpInfo) | **POST** /v1/table/{id}/alter_columns | Modify existing columns
+*MetadataApi* | [**alterTableDropColumns**](docs/MetadataApi.md#alterTableDropColumns) | **POST** /v1/table/{id}/drop_columns | Remove columns from table
+*MetadataApi* | [**alterTableDropColumnsWithHttpInfo**](docs/MetadataApi.md#alterTableDropColumnsWithHttpInfo) | **POST** /v1/table/{id}/drop_columns | Remove columns from table
+*MetadataApi* | [**alterTransaction**](docs/MetadataApi.md#alterTransaction) | **POST** /v1/transaction/{id}/alter | Alter information of a transaction.
+*MetadataApi* | [**alterTransactionWithHttpInfo**](docs/MetadataApi.md#alterTransactionWithHttpInfo) | **POST** /v1/transaction/{id}/alter | Alter information of a transaction.
+*MetadataApi* | [**batchCreateTableVersions**](docs/MetadataApi.md#batchCreateTableVersions) | **POST** /v1/table/version/batch-create | Atomically create versions for multiple tables
+*MetadataApi* | [**batchCreateTableVersionsWithHttpInfo**](docs/MetadataApi.md#batchCreateTableVersionsWithHttpInfo) | **POST** /v1/table/version/batch-create | Atomically create versions for multiple tables
+*MetadataApi* | [**batchDeleteTableVersions**](docs/MetadataApi.md#batchDeleteTableVersions) | **POST** /v1/table/{id}/version/delete | Delete table version records
+*MetadataApi* | [**batchDeleteTableVersionsWithHttpInfo**](docs/MetadataApi.md#batchDeleteTableVersionsWithHttpInfo) | **POST** /v1/table/{id}/version/delete | Delete table version records
+*MetadataApi* | [**createEmptyTable**](docs/MetadataApi.md#createEmptyTable) | **POST** /v1/table/{id}/create-empty | Create an empty table
+*MetadataApi* | [**createEmptyTableWithHttpInfo**](docs/MetadataApi.md#createEmptyTableWithHttpInfo) | **POST** /v1/table/{id}/create-empty | Create an empty table
+*MetadataApi* | [**createNamespace**](docs/MetadataApi.md#createNamespace) | **POST** /v1/namespace/{id}/create | Create a new namespace
+*MetadataApi* | [**createNamespaceWithHttpInfo**](docs/MetadataApi.md#createNamespaceWithHttpInfo) | **POST** /v1/namespace/{id}/create | Create a new namespace
+*MetadataApi* | [**createTableIndex**](docs/MetadataApi.md#createTableIndex) | **POST** /v1/table/{id}/create_index | Create an index on a table
+*MetadataApi* | [**createTableIndexWithHttpInfo**](docs/MetadataApi.md#createTableIndexWithHttpInfo) | **POST** /v1/table/{id}/create_index | Create an index on a table
+*MetadataApi* | [**createTableScalarIndex**](docs/MetadataApi.md#createTableScalarIndex) | **POST** /v1/table/{id}/create_scalar_index | Create a scalar index on a table
+*MetadataApi* | [**createTableScalarIndexWithHttpInfo**](docs/MetadataApi.md#createTableScalarIndexWithHttpInfo) | **POST** /v1/table/{id}/create_scalar_index | Create a scalar index on a table
+*MetadataApi* | [**createTableTag**](docs/MetadataApi.md#createTableTag) | **POST** /v1/table/{id}/tags/create | Create a new tag
+*MetadataApi* | [**createTableTagWithHttpInfo**](docs/MetadataApi.md#createTableTagWithHttpInfo) | **POST** /v1/table/{id}/tags/create | Create a new tag
+*MetadataApi* | [**createTableVersion**](docs/MetadataApi.md#createTableVersion) | **POST** /v1/table/{id}/version/create | Create a new table version
+*MetadataApi* | [**createTableVersionWithHttpInfo**](docs/MetadataApi.md#createTableVersionWithHttpInfo) | **POST** /v1/table/{id}/version/create | Create a new table version
+*MetadataApi* | [**declareTable**](docs/MetadataApi.md#declareTable) | **POST** /v1/table/{id}/declare | Declare a table
+*MetadataApi* | [**declareTableWithHttpInfo**](docs/MetadataApi.md#declareTableWithHttpInfo) | **POST** /v1/table/{id}/declare | Declare a table
+*MetadataApi* | [**deleteTableTag**](docs/MetadataApi.md#deleteTableTag) | **POST** /v1/table/{id}/tags/delete | Delete a tag
+*MetadataApi* | [**deleteTableTagWithHttpInfo**](docs/MetadataApi.md#deleteTableTagWithHttpInfo) | **POST** /v1/table/{id}/tags/delete | Delete a tag
+*MetadataApi* | [**deregisterTable**](docs/MetadataApi.md#deregisterTable) | **POST** /v1/table/{id}/deregister | Deregister a table
+*MetadataApi* | [**deregisterTableWithHttpInfo**](docs/MetadataApi.md#deregisterTableWithHttpInfo) | **POST** /v1/table/{id}/deregister | Deregister a table
+*MetadataApi* | [**describeNamespace**](docs/MetadataApi.md#describeNamespace) | **POST** /v1/namespace/{id}/describe | Describe a namespace
+*MetadataApi* | [**describeNamespaceWithHttpInfo**](docs/MetadataApi.md#describeNamespaceWithHttpInfo) | **POST** /v1/namespace/{id}/describe | Describe a namespace
+*MetadataApi* | [**describeTable**](docs/MetadataApi.md#describeTable) | **POST** /v1/table/{id}/describe | Describe information of a table
+*MetadataApi* | [**describeTableWithHttpInfo**](docs/MetadataApi.md#describeTableWithHttpInfo) | **POST** /v1/table/{id}/describe | Describe information of a table
+*MetadataApi* | [**describeTableIndexStats**](docs/MetadataApi.md#describeTableIndexStats) | **POST** /v1/table/{id}/index/{index_name}/stats | Get table index statistics
+*MetadataApi* | [**describeTableIndexStatsWithHttpInfo**](docs/MetadataApi.md#describeTableIndexStatsWithHttpInfo) | **POST** /v1/table/{id}/index/{index_name}/stats | Get table index statistics
+*MetadataApi* | [**describeTableVersion**](docs/MetadataApi.md#describeTableVersion) | **POST** /v1/table/{id}/version/describe | Describe a specific table version
+*MetadataApi* | [**describeTableVersionWithHttpInfo**](docs/MetadataApi.md#describeTableVersionWithHttpInfo) | **POST** /v1/table/{id}/version/describe | Describe a specific table version
+*MetadataApi* | [**describeTransaction**](docs/MetadataApi.md#describeTransaction) | **POST** /v1/transaction/{id}/describe | Describe information about a transaction
+*MetadataApi* | [**describeTransactionWithHttpInfo**](docs/MetadataApi.md#describeTransactionWithHttpInfo) | **POST** /v1/transaction/{id}/describe | Describe information about a transaction
+*MetadataApi* | [**dropNamespace**](docs/MetadataApi.md#dropNamespace) | **POST** /v1/namespace/{id}/drop | Drop a namespace
+*MetadataApi* | [**dropNamespaceWithHttpInfo**](docs/MetadataApi.md#dropNamespaceWithHttpInfo) | **POST** /v1/namespace/{id}/drop | Drop a namespace
+*MetadataApi* | [**dropTable**](docs/MetadataApi.md#dropTable) | **POST** /v1/table/{id}/drop | Drop a table
+*MetadataApi* | [**dropTableWithHttpInfo**](docs/MetadataApi.md#dropTableWithHttpInfo) | **POST** /v1/table/{id}/drop | Drop a table
+*MetadataApi* | [**dropTableIndex**](docs/MetadataApi.md#dropTableIndex) | **POST** /v1/table/{id}/index/{index_name}/drop | Drop a specific index
+*MetadataApi* | [**dropTableIndexWithHttpInfo**](docs/MetadataApi.md#dropTableIndexWithHttpInfo) | **POST** /v1/table/{id}/index/{index_name}/drop | Drop a specific index
+*MetadataApi* | [**getTableStats**](docs/MetadataApi.md#getTableStats) | **POST** /v1/table/{id}/stats | Get table statistics
+*MetadataApi* | [**getTableStatsWithHttpInfo**](docs/MetadataApi.md#getTableStatsWithHttpInfo) | **POST** /v1/table/{id}/stats | Get table statistics
+*MetadataApi* | [**getTableTagVersion**](docs/MetadataApi.md#getTableTagVersion) | **POST** /v1/table/{id}/tags/version | Get version for a specific tag
+*MetadataApi* | [**getTableTagVersionWithHttpInfo**](docs/MetadataApi.md#getTableTagVersionWithHttpInfo) | **POST** /v1/table/{id}/tags/version | Get version for a specific tag
+*MetadataApi* | [**listNamespaces**](docs/MetadataApi.md#listNamespaces) | **GET** /v1/namespace/{id}/list | List namespaces
+*MetadataApi* | [**listNamespacesWithHttpInfo**](docs/MetadataApi.md#listNamespacesWithHttpInfo) | **GET** /v1/namespace/{id}/list | List namespaces
+*MetadataApi* | [**listTableIndices**](docs/MetadataApi.md#listTableIndices) | **POST** /v1/table/{id}/index/list | List indexes on a table
+*MetadataApi* | [**listTableIndicesWithHttpInfo**](docs/MetadataApi.md#listTableIndicesWithHttpInfo) | **POST** /v1/table/{id}/index/list | List indexes on a table
+*MetadataApi* | [**listTableTags**](docs/MetadataApi.md#listTableTags) | **POST** /v1/table/{id}/tags/list | List all tags for a table
+*MetadataApi* | [**listTableTagsWithHttpInfo**](docs/MetadataApi.md#listTableTagsWithHttpInfo) | **POST** /v1/table/{id}/tags/list | List all tags for a table
+*MetadataApi* | [**listTableVersions**](docs/MetadataApi.md#listTableVersions) | **POST** /v1/table/{id}/version/list | List all versions of a table
+*MetadataApi* | [**listTableVersionsWithHttpInfo**](docs/MetadataApi.md#listTableVersionsWithHttpInfo) | **POST** /v1/table/{id}/version/list | List all versions of a table
+*MetadataApi* | [**listTables**](docs/MetadataApi.md#listTables) | **GET** /v1/namespace/{id}/table/list | List tables in a namespace
+*MetadataApi* | [**listTablesWithHttpInfo**](docs/MetadataApi.md#listTablesWithHttpInfo) | **GET** /v1/namespace/{id}/table/list | List tables in a namespace
+*MetadataApi* | [**namespaceExists**](docs/MetadataApi.md#namespaceExists) | **POST** /v1/namespace/{id}/exists | Check if a namespace exists
+*MetadataApi* | [**namespaceExistsWithHttpInfo**](docs/MetadataApi.md#namespaceExistsWithHttpInfo) | **POST** /v1/namespace/{id}/exists | Check if a namespace exists
+*MetadataApi* | [**registerTable**](docs/MetadataApi.md#registerTable) | **POST** /v1/table/{id}/register | Register a table to a namespace
+*MetadataApi* | [**registerTableWithHttpInfo**](docs/MetadataApi.md#registerTableWithHttpInfo) | **POST** /v1/table/{id}/register | Register a table to a namespace
+*MetadataApi* | [**renameTable**](docs/MetadataApi.md#renameTable) | **POST** /v1/table/{id}/rename | Rename a table
+*MetadataApi* | [**renameTableWithHttpInfo**](docs/MetadataApi.md#renameTableWithHttpInfo) | **POST** /v1/table/{id}/rename | Rename a table
+*MetadataApi* | [**restoreTable**](docs/MetadataApi.md#restoreTable) | **POST** /v1/table/{id}/restore | Restore table to a specific version
+*MetadataApi* | [**restoreTableWithHttpInfo**](docs/MetadataApi.md#restoreTableWithHttpInfo) | **POST** /v1/table/{id}/restore | Restore table to a specific version
+*MetadataApi* | [**tableExists**](docs/MetadataApi.md#tableExists) | **POST** /v1/table/{id}/exists | Check if a table exists
+*MetadataApi* | [**tableExistsWithHttpInfo**](docs/MetadataApi.md#tableExistsWithHttpInfo) | **POST** /v1/table/{id}/exists | Check if a table exists
+*MetadataApi* | [**updateTableSchemaMetadata**](docs/MetadataApi.md#updateTableSchemaMetadata) | **POST** /v1/table/{id}/schema_metadata/update | Update table schema metadata
+*MetadataApi* | [**updateTableSchemaMetadataWithHttpInfo**](docs/MetadataApi.md#updateTableSchemaMetadataWithHttpInfo) | **POST** /v1/table/{id}/schema_metadata/update | Update table schema metadata
+*MetadataApi* | [**updateTableTag**](docs/MetadataApi.md#updateTableTag) | **POST** /v1/table/{id}/tags/update | Update a tag to point to a different version
+*MetadataApi* | [**updateTableTagWithHttpInfo**](docs/MetadataApi.md#updateTableTagWithHttpInfo) | **POST** /v1/table/{id}/tags/update | Update a tag to point to a different version
+*NamespaceApi* | [**createNamespace**](docs/NamespaceApi.md#createNamespace) | **POST** /v1/namespace/{id}/create | Create a new namespace
+*NamespaceApi* | [**createNamespaceWithHttpInfo**](docs/NamespaceApi.md#createNamespaceWithHttpInfo) | **POST** /v1/namespace/{id}/create | Create a new namespace
+*NamespaceApi* | [**describeNamespace**](docs/NamespaceApi.md#describeNamespace) | **POST** /v1/namespace/{id}/describe | Describe a namespace
+*NamespaceApi* | [**describeNamespaceWithHttpInfo**](docs/NamespaceApi.md#describeNamespaceWithHttpInfo) | **POST** /v1/namespace/{id}/describe | Describe a namespace
+*NamespaceApi* | [**dropNamespace**](docs/NamespaceApi.md#dropNamespace) | **POST** /v1/namespace/{id}/drop | Drop a namespace
+*NamespaceApi* | [**dropNamespaceWithHttpInfo**](docs/NamespaceApi.md#dropNamespaceWithHttpInfo) | **POST** /v1/namespace/{id}/drop | Drop a namespace
+*NamespaceApi* | [**listNamespaces**](docs/NamespaceApi.md#listNamespaces) | **GET** /v1/namespace/{id}/list | List namespaces
+*NamespaceApi* | [**listNamespacesWithHttpInfo**](docs/NamespaceApi.md#listNamespacesWithHttpInfo) | **GET** /v1/namespace/{id}/list | List namespaces
+*NamespaceApi* | [**listTables**](docs/NamespaceApi.md#listTables) | **GET** /v1/namespace/{id}/table/list | List tables in a namespace
+*NamespaceApi* | [**listTablesWithHttpInfo**](docs/NamespaceApi.md#listTablesWithHttpInfo) | **GET** /v1/namespace/{id}/table/list | List tables in a namespace
+*NamespaceApi* | [**namespaceExists**](docs/NamespaceApi.md#namespaceExists) | **POST** /v1/namespace/{id}/exists | Check if a namespace exists
+*NamespaceApi* | [**namespaceExistsWithHttpInfo**](docs/NamespaceApi.md#namespaceExistsWithHttpInfo) | **POST** /v1/namespace/{id}/exists | Check if a namespace exists
+*TableApi* | [**alterTableAddColumns**](docs/TableApi.md#alterTableAddColumns) | **POST** /v1/table/{id}/add_columns | Add new columns to table schema
+*TableApi* | [**alterTableAddColumnsWithHttpInfo**](docs/TableApi.md#alterTableAddColumnsWithHttpInfo) | **POST** /v1/table/{id}/add_columns | Add new columns to table schema
+*TableApi* | [**alterTableAlterColumns**](docs/TableApi.md#alterTableAlterColumns) | **POST** /v1/table/{id}/alter_columns | Modify existing columns
+*TableApi* | [**alterTableAlterColumnsWithHttpInfo**](docs/TableApi.md#alterTableAlterColumnsWithHttpInfo) | **POST** /v1/table/{id}/alter_columns | Modify existing columns
+*TableApi* | [**alterTableDropColumns**](docs/TableApi.md#alterTableDropColumns) | **POST** /v1/table/{id}/drop_columns | Remove columns from table
+*TableApi* | [**alterTableDropColumnsWithHttpInfo**](docs/TableApi.md#alterTableDropColumnsWithHttpInfo) | **POST** /v1/table/{id}/drop_columns | Remove columns from table
+*TableApi* | [**analyzeTableQueryPlan**](docs/TableApi.md#analyzeTableQueryPlan) | **POST** /v1/table/{id}/analyze_plan | Analyze query execution plan
+*TableApi* | [**analyzeTableQueryPlanWithHttpInfo**](docs/TableApi.md#analyzeTableQueryPlanWithHttpInfo) | **POST** /v1/table/{id}/analyze_plan | Analyze query execution plan
+*TableApi* | [**batchCreateTableVersions**](docs/TableApi.md#batchCreateTableVersions) | **POST** /v1/table/version/batch-create | Atomically create versions for multiple tables
+*TableApi* | [**batchCreateTableVersionsWithHttpInfo**](docs/TableApi.md#batchCreateTableVersionsWithHttpInfo) | **POST** /v1/table/version/batch-create | Atomically create versions for multiple tables
+*TableApi* | [**batchDeleteTableVersions**](docs/TableApi.md#batchDeleteTableVersions) | **POST** /v1/table/{id}/version/delete | Delete table version records
+*TableApi* | [**batchDeleteTableVersionsWithHttpInfo**](docs/TableApi.md#batchDeleteTableVersionsWithHttpInfo) | **POST** /v1/table/{id}/version/delete | Delete table version records
+*TableApi* | [**countTableRows**](docs/TableApi.md#countTableRows) | **POST** /v1/table/{id}/count_rows | Count rows in a table
+*TableApi* | [**countTableRowsWithHttpInfo**](docs/TableApi.md#countTableRowsWithHttpInfo) | **POST** /v1/table/{id}/count_rows | Count rows in a table
+*TableApi* | [**createEmptyTable**](docs/TableApi.md#createEmptyTable) | **POST** /v1/table/{id}/create-empty | Create an empty table
+*TableApi* | [**createEmptyTableWithHttpInfo**](docs/TableApi.md#createEmptyTableWithHttpInfo) | **POST** /v1/table/{id}/create-empty | Create an empty table
+*TableApi* | [**createTable**](docs/TableApi.md#createTable) | **POST** /v1/table/{id}/create | Create a table with the given name
+*TableApi* | [**createTableWithHttpInfo**](docs/TableApi.md#createTableWithHttpInfo) | **POST** /v1/table/{id}/create | Create a table with the given name
+*TableApi* | [**createTableIndex**](docs/TableApi.md#createTableIndex) | **POST** /v1/table/{id}/create_index | Create an index on a table
+*TableApi* | [**createTableIndexWithHttpInfo**](docs/TableApi.md#createTableIndexWithHttpInfo) | **POST** /v1/table/{id}/create_index | Create an index on a table
+*TableApi* | [**createTableScalarIndex**](docs/TableApi.md#createTableScalarIndex) | **POST** /v1/table/{id}/create_scalar_index | Create a scalar index on a table
+*TableApi* | [**createTableScalarIndexWithHttpInfo**](docs/TableApi.md#createTableScalarIndexWithHttpInfo) | **POST** /v1/table/{id}/create_scalar_index | Create a scalar index on a table
+*TableApi* | [**createTableTag**](docs/TableApi.md#createTableTag) | **POST** /v1/table/{id}/tags/create | Create a new tag
+*TableApi* | [**createTableTagWithHttpInfo**](docs/TableApi.md#createTableTagWithHttpInfo) | **POST** /v1/table/{id}/tags/create | Create a new tag
+*TableApi* | [**createTableVersion**](docs/TableApi.md#createTableVersion) | **POST** /v1/table/{id}/version/create | Create a new table version
+*TableApi* | [**createTableVersionWithHttpInfo**](docs/TableApi.md#createTableVersionWithHttpInfo) | **POST** /v1/table/{id}/version/create | Create a new table version
+*TableApi* | [**declareTable**](docs/TableApi.md#declareTable) | **POST** /v1/table/{id}/declare | Declare a table
+*TableApi* | [**declareTableWithHttpInfo**](docs/TableApi.md#declareTableWithHttpInfo) | **POST** /v1/table/{id}/declare | Declare a table
+*TableApi* | [**deleteFromTable**](docs/TableApi.md#deleteFromTable) | **POST** /v1/table/{id}/delete | Delete rows from a table
+*TableApi* | [**deleteFromTableWithHttpInfo**](docs/TableApi.md#deleteFromTableWithHttpInfo) | **POST** /v1/table/{id}/delete | Delete rows from a table
+*TableApi* | [**deleteTableTag**](docs/TableApi.md#deleteTableTag) | **POST** /v1/table/{id}/tags/delete | Delete a tag
+*TableApi* | [**deleteTableTagWithHttpInfo**](docs/TableApi.md#deleteTableTagWithHttpInfo) | **POST** /v1/table/{id}/tags/delete | Delete a tag
+*TableApi* | [**deregisterTable**](docs/TableApi.md#deregisterTable) | **POST** /v1/table/{id}/deregister | Deregister a table
+*TableApi* | [**deregisterTableWithHttpInfo**](docs/TableApi.md#deregisterTableWithHttpInfo) | **POST** /v1/table/{id}/deregister | Deregister a table
+*TableApi* | [**describeTable**](docs/TableApi.md#describeTable) | **POST** /v1/table/{id}/describe | Describe information of a table
+*TableApi* | [**describeTableWithHttpInfo**](docs/TableApi.md#describeTableWithHttpInfo) | **POST** /v1/table/{id}/describe | Describe information of a table
+*TableApi* | [**describeTableIndexStats**](docs/TableApi.md#describeTableIndexStats) | **POST** /v1/table/{id}/index/{index_name}/stats | Get table index statistics
+*TableApi* | [**describeTableIndexStatsWithHttpInfo**](docs/TableApi.md#describeTableIndexStatsWithHttpInfo) | **POST** /v1/table/{id}/index/{index_name}/stats | Get table index statistics
+*TableApi* | [**describeTableVersion**](docs/TableApi.md#describeTableVersion) | **POST** /v1/table/{id}/version/describe | Describe a specific table version
+*TableApi* | [**describeTableVersionWithHttpInfo**](docs/TableApi.md#describeTableVersionWithHttpInfo) | **POST** /v1/table/{id}/version/describe | Describe a specific table version
+*TableApi* | [**dropTable**](docs/TableApi.md#dropTable) | **POST** /v1/table/{id}/drop | Drop a table
+*TableApi* | [**dropTableWithHttpInfo**](docs/TableApi.md#dropTableWithHttpInfo) | **POST** /v1/table/{id}/drop | Drop a table
+*TableApi* | [**dropTableIndex**](docs/TableApi.md#dropTableIndex) | **POST** /v1/table/{id}/index/{index_name}/drop | Drop a specific index
+*TableApi* | [**dropTableIndexWithHttpInfo**](docs/TableApi.md#dropTableIndexWithHttpInfo) | **POST** /v1/table/{id}/index/{index_name}/drop | Drop a specific index
+*TableApi* | [**explainTableQueryPlan**](docs/TableApi.md#explainTableQueryPlan) | **POST** /v1/table/{id}/explain_plan | Get query execution plan explanation
+*TableApi* | [**explainTableQueryPlanWithHttpInfo**](docs/TableApi.md#explainTableQueryPlanWithHttpInfo) | **POST** /v1/table/{id}/explain_plan | Get query execution plan explanation
+*TableApi* | [**getTableStats**](docs/TableApi.md#getTableStats) | **POST** /v1/table/{id}/stats | Get table statistics
+*TableApi* | [**getTableStatsWithHttpInfo**](docs/TableApi.md#getTableStatsWithHttpInfo) | **POST** /v1/table/{id}/stats | Get table statistics
+*TableApi* | [**getTableTagVersion**](docs/TableApi.md#getTableTagVersion) | **POST** /v1/table/{id}/tags/version | Get version for a specific tag
+*TableApi* | [**getTableTagVersionWithHttpInfo**](docs/TableApi.md#getTableTagVersionWithHttpInfo) | **POST** /v1/table/{id}/tags/version | Get version for a specific tag
+*TableApi* | [**insertIntoTable**](docs/TableApi.md#insertIntoTable) | **POST** /v1/table/{id}/insert | Insert records into a table
+*TableApi* | [**insertIntoTableWithHttpInfo**](docs/TableApi.md#insertIntoTableWithHttpInfo) | **POST** /v1/table/{id}/insert | Insert records into a table
+*TableApi* | [**listAllTables**](docs/TableApi.md#listAllTables) | **GET** /v1/table | List all tables
+*TableApi* | [**listAllTablesWithHttpInfo**](docs/TableApi.md#listAllTablesWithHttpInfo) | **GET** /v1/table | List all tables
+*TableApi* | [**listTableIndices**](docs/TableApi.md#listTableIndices) | **POST** /v1/table/{id}/index/list | List indexes on a table
+*TableApi* | [**listTableIndicesWithHttpInfo**](docs/TableApi.md#listTableIndicesWithHttpInfo) | **POST** /v1/table/{id}/index/list | List indexes on a table
+*TableApi* | [**listTableTags**](docs/TableApi.md#listTableTags) | **POST** /v1/table/{id}/tags/list | List all tags for a table
+*TableApi* | [**listTableTagsWithHttpInfo**](docs/TableApi.md#listTableTagsWithHttpInfo) | **POST** /v1/table/{id}/tags/list | List all tags for a table
+*TableApi* | [**listTableVersions**](docs/TableApi.md#listTableVersions) | **POST** /v1/table/{id}/version/list | List all versions of a table
+*TableApi* | [**listTableVersionsWithHttpInfo**](docs/TableApi.md#listTableVersionsWithHttpInfo) | **POST** /v1/table/{id}/version/list | List all versions of a table
+*TableApi* | [**listTables**](docs/TableApi.md#listTables) | **GET** /v1/namespace/{id}/table/list | List tables in a namespace
+*TableApi* | [**listTablesWithHttpInfo**](docs/TableApi.md#listTablesWithHttpInfo) | **GET** /v1/namespace/{id}/table/list | List tables in a namespace
+*TableApi* | [**mergeInsertIntoTable**](docs/TableApi.md#mergeInsertIntoTable) | **POST** /v1/table/{id}/merge_insert | Merge insert (upsert) records into a table
+*TableApi* | [**mergeInsertIntoTableWithHttpInfo**](docs/TableApi.md#mergeInsertIntoTableWithHttpInfo) | **POST** /v1/table/{id}/merge_insert | Merge insert (upsert) records into a table
+*TableApi* | [**queryTable**](docs/TableApi.md#queryTable) | **POST** /v1/table/{id}/query | Query a table
+*TableApi* | [**queryTableWithHttpInfo**](docs/TableApi.md#queryTableWithHttpInfo) | **POST** /v1/table/{id}/query | Query a table
+*TableApi* | [**registerTable**](docs/TableApi.md#registerTable) | **POST** /v1/table/{id}/register | Register a table to a namespace
+*TableApi* | [**registerTableWithHttpInfo**](docs/TableApi.md#registerTableWithHttpInfo) | **POST** /v1/table/{id}/register | Register a table to a namespace
+*TableApi* | [**renameTable**](docs/TableApi.md#renameTable) | **POST** /v1/table/{id}/rename | Rename a table
+*TableApi* | [**renameTableWithHttpInfo**](docs/TableApi.md#renameTableWithHttpInfo) | **POST** /v1/table/{id}/rename | Rename a table
+*TableApi* | [**restoreTable**](docs/TableApi.md#restoreTable) | **POST** /v1/table/{id}/restore | Restore table to a specific version
+*TableApi* | [**restoreTableWithHttpInfo**](docs/TableApi.md#restoreTableWithHttpInfo) | **POST** /v1/table/{id}/restore | Restore table to a specific version
+*TableApi* | [**tableExists**](docs/TableApi.md#tableExists) | **POST** /v1/table/{id}/exists | Check if a table exists
+*TableApi* | [**tableExistsWithHttpInfo**](docs/TableApi.md#tableExistsWithHttpInfo) | **POST** /v1/table/{id}/exists | Check if a table exists
+*TableApi* | [**updateTable**](docs/TableApi.md#updateTable) | **POST** /v1/table/{id}/update | Update rows in a table
+*TableApi* | [**updateTableWithHttpInfo**](docs/TableApi.md#updateTableWithHttpInfo) | **POST** /v1/table/{id}/update | Update rows in a table
+*TableApi* | [**updateTableSchemaMetadata**](docs/TableApi.md#updateTableSchemaMetadata) | **POST** /v1/table/{id}/schema_metadata/update | Update table schema metadata
+*TableApi* | [**updateTableSchemaMetadataWithHttpInfo**](docs/TableApi.md#updateTableSchemaMetadataWithHttpInfo) | **POST** /v1/table/{id}/schema_metadata/update | Update table schema metadata
+*TableApi* | [**updateTableTag**](docs/TableApi.md#updateTableTag) | **POST** /v1/table/{id}/tags/update | Update a tag to point to a different version
+*TableApi* | [**updateTableTagWithHttpInfo**](docs/TableApi.md#updateTableTagWithHttpInfo) | **POST** /v1/table/{id}/tags/update | Update a tag to point to a different version
+*TagApi* | [**createTableTag**](docs/TagApi.md#createTableTag) | **POST** /v1/table/{id}/tags/create | Create a new tag
+*TagApi* | [**createTableTagWithHttpInfo**](docs/TagApi.md#createTableTagWithHttpInfo) | **POST** /v1/table/{id}/tags/create | Create a new tag
+*TagApi* | [**deleteTableTag**](docs/TagApi.md#deleteTableTag) | **POST** /v1/table/{id}/tags/delete | Delete a tag
+*TagApi* | [**deleteTableTagWithHttpInfo**](docs/TagApi.md#deleteTableTagWithHttpInfo) | **POST** /v1/table/{id}/tags/delete | Delete a tag
+*TagApi* | [**getTableTagVersion**](docs/TagApi.md#getTableTagVersion) | **POST** /v1/table/{id}/tags/version | Get version for a specific tag
+*TagApi* | [**getTableTagVersionWithHttpInfo**](docs/TagApi.md#getTableTagVersionWithHttpInfo) | **POST** /v1/table/{id}/tags/version | Get version for a specific tag
+*TagApi* | [**listTableTags**](docs/TagApi.md#listTableTags) | **POST** /v1/table/{id}/tags/list | List all tags for a table
+*TagApi* | [**listTableTagsWithHttpInfo**](docs/TagApi.md#listTableTagsWithHttpInfo) | **POST** /v1/table/{id}/tags/list | List all tags for a table
+*TagApi* | [**updateTableTag**](docs/TagApi.md#updateTableTag) | **POST** /v1/table/{id}/tags/update | Update a tag to point to a different version
+*TagApi* | [**updateTableTagWithHttpInfo**](docs/TagApi.md#updateTableTagWithHttpInfo) | **POST** /v1/table/{id}/tags/update | Update a tag to point to a different version
+*TransactionApi* | [**alterTransaction**](docs/TransactionApi.md#alterTransaction) | **POST** /v1/transaction/{id}/alter | Alter information of a transaction.
+*TransactionApi* | [**alterTransactionWithHttpInfo**](docs/TransactionApi.md#alterTransactionWithHttpInfo) | **POST** /v1/transaction/{id}/alter | Alter information of a transaction.
+*TransactionApi* | [**describeTransaction**](docs/TransactionApi.md#describeTransaction) | **POST** /v1/transaction/{id}/describe | Describe information about a transaction
+*TransactionApi* | [**describeTransactionWithHttpInfo**](docs/TransactionApi.md#describeTransactionWithHttpInfo) | **POST** /v1/transaction/{id}/describe | Describe information about a transaction
+
+
+## Documentation for Models
+
+ - [AddVirtualColumnEntry](docs/AddVirtualColumnEntry.md)
+ - [AlterColumnsEntry](docs/AlterColumnsEntry.md)
+ - [AlterTableAddColumnsRequest](docs/AlterTableAddColumnsRequest.md)
+ - [AlterTableAddColumnsResponse](docs/AlterTableAddColumnsResponse.md)
+ - [AlterTableAlterColumnsRequest](docs/AlterTableAlterColumnsRequest.md)
+ - [AlterTableAlterColumnsResponse](docs/AlterTableAlterColumnsResponse.md)
+ - [AlterTableDropColumnsRequest](docs/AlterTableDropColumnsRequest.md)
+ - [AlterTableDropColumnsResponse](docs/AlterTableDropColumnsResponse.md)
+ - [AlterTransactionAction](docs/AlterTransactionAction.md)
+ - [AlterTransactionRequest](docs/AlterTransactionRequest.md)
+ - [AlterTransactionResponse](docs/AlterTransactionResponse.md)
+ - [AlterTransactionSetProperty](docs/AlterTransactionSetProperty.md)
+ - [AlterTransactionSetStatus](docs/AlterTransactionSetStatus.md)
+ - [AlterTransactionUnsetProperty](docs/AlterTransactionUnsetProperty.md)
+ - [AlterVirtualColumnEntry](docs/AlterVirtualColumnEntry.md)
+ - [AnalyzeTableQueryPlanRequest](docs/AnalyzeTableQueryPlanRequest.md)
+ - [AnalyzeTableQueryPlanResponse](docs/AnalyzeTableQueryPlanResponse.md)
+ - [BatchCreateTableVersionsRequest](docs/BatchCreateTableVersionsRequest.md)
+ - [BatchCreateTableVersionsResponse](docs/BatchCreateTableVersionsResponse.md)
+ - [BatchDeleteTableVersionsRequest](docs/BatchDeleteTableVersionsRequest.md)
+ - [BatchDeleteTableVersionsResponse](docs/BatchDeleteTableVersionsResponse.md)
+ - [BooleanQuery](docs/BooleanQuery.md)
+ - [BoostQuery](docs/BoostQuery.md)
+ - [CountTableRowsRequest](docs/CountTableRowsRequest.md)
+ - [CreateEmptyTableRequest](docs/CreateEmptyTableRequest.md)
+ - [CreateEmptyTableResponse](docs/CreateEmptyTableResponse.md)
+ - [CreateNamespaceRequest](docs/CreateNamespaceRequest.md)
+ - [CreateNamespaceResponse](docs/CreateNamespaceResponse.md)
+ - [CreateTableIndexRequest](docs/CreateTableIndexRequest.md)
+ - [CreateTableIndexResponse](docs/CreateTableIndexResponse.md)
+ - [CreateTableRequest](docs/CreateTableRequest.md)
+ - [CreateTableResponse](docs/CreateTableResponse.md)
+ - [CreateTableScalarIndexResponse](docs/CreateTableScalarIndexResponse.md)
+ - [CreateTableTagRequest](docs/CreateTableTagRequest.md)
+ - [CreateTableTagResponse](docs/CreateTableTagResponse.md)
+ - [CreateTableVersionEntry](docs/CreateTableVersionEntry.md)
+ - [CreateTableVersionRequest](docs/CreateTableVersionRequest.md)
+ - [CreateTableVersionResponse](docs/CreateTableVersionResponse.md)
+ - [DeclareTableRequest](docs/DeclareTableRequest.md)
+ - [DeclareTableResponse](docs/DeclareTableResponse.md)
+ - [DeleteFromTableRequest](docs/DeleteFromTableRequest.md)
+ - [DeleteFromTableResponse](docs/DeleteFromTableResponse.md)
+ - [DeleteTableTagRequest](docs/DeleteTableTagRequest.md)
+ - [DeleteTableTagResponse](docs/DeleteTableTagResponse.md)
+ - [DeregisterTableRequest](docs/DeregisterTableRequest.md)
+ - [DeregisterTableResponse](docs/DeregisterTableResponse.md)
+ - [DescribeNamespaceRequest](docs/DescribeNamespaceRequest.md)
+ - [DescribeNamespaceResponse](docs/DescribeNamespaceResponse.md)
+ - [DescribeTableIndexStatsRequest](docs/DescribeTableIndexStatsRequest.md)
+ - [DescribeTableIndexStatsResponse](docs/DescribeTableIndexStatsResponse.md)
+ - [DescribeTableRequest](docs/DescribeTableRequest.md)
+ - [DescribeTableResponse](docs/DescribeTableResponse.md)
+ - [DescribeTableVersionRequest](docs/DescribeTableVersionRequest.md)
+ - [DescribeTableVersionResponse](docs/DescribeTableVersionResponse.md)
+ - [DescribeTransactionRequest](docs/DescribeTransactionRequest.md)
+ - [DescribeTransactionResponse](docs/DescribeTransactionResponse.md)
+ - [DropNamespaceRequest](docs/DropNamespaceRequest.md)
+ - [DropNamespaceResponse](docs/DropNamespaceResponse.md)
+ - [DropTableIndexRequest](docs/DropTableIndexRequest.md)
+ - [DropTableIndexResponse](docs/DropTableIndexResponse.md)
+ - [DropTableRequest](docs/DropTableRequest.md)
+ - [DropTableResponse](docs/DropTableResponse.md)
+ - [ErrorResponse](docs/ErrorResponse.md)
+ - [ExplainTableQueryPlanRequest](docs/ExplainTableQueryPlanRequest.md)
+ - [ExplainTableQueryPlanResponse](docs/ExplainTableQueryPlanResponse.md)
+ - [FragmentStats](docs/FragmentStats.md)
+ - [FragmentSummary](docs/FragmentSummary.md)
+ - [FtsQuery](docs/FtsQuery.md)
+ - [GetTableStatsRequest](docs/GetTableStatsRequest.md)
+ - [GetTableStatsResponse](docs/GetTableStatsResponse.md)
+ - [GetTableTagVersionRequest](docs/GetTableTagVersionRequest.md)
+ - [GetTableTagVersionResponse](docs/GetTableTagVersionResponse.md)
+ - [Identity](docs/Identity.md)
+ - [IndexContent](docs/IndexContent.md)
+ - [InsertIntoTableRequest](docs/InsertIntoTableRequest.md)
+ - [InsertIntoTableResponse](docs/InsertIntoTableResponse.md)
+ - [JsonArrowDataType](docs/JsonArrowDataType.md)
+ - [JsonArrowField](docs/JsonArrowField.md)
+ - [JsonArrowSchema](docs/JsonArrowSchema.md)
+ - [ListNamespacesRequest](docs/ListNamespacesRequest.md)
+ - [ListNamespacesResponse](docs/ListNamespacesResponse.md)
+ - [ListTableIndicesRequest](docs/ListTableIndicesRequest.md)
+ - [ListTableIndicesResponse](docs/ListTableIndicesResponse.md)
+ - [ListTableTagsRequest](docs/ListTableTagsRequest.md)
+ - [ListTableTagsResponse](docs/ListTableTagsResponse.md)
+ - [ListTableVersionsRequest](docs/ListTableVersionsRequest.md)
+ - [ListTableVersionsResponse](docs/ListTableVersionsResponse.md)
+ - [ListTablesRequest](docs/ListTablesRequest.md)
+ - [ListTablesResponse](docs/ListTablesResponse.md)
+ - [MatchQuery](docs/MatchQuery.md)
+ - [MergeInsertIntoTableRequest](docs/MergeInsertIntoTableRequest.md)
+ - [MergeInsertIntoTableResponse](docs/MergeInsertIntoTableResponse.md)
+ - [MultiMatchQuery](docs/MultiMatchQuery.md)
+ - [NamespaceExistsRequest](docs/NamespaceExistsRequest.md)
+ - [NewColumnTransform](docs/NewColumnTransform.md)
+ - [PartitionField](docs/PartitionField.md)
+ - [PartitionSpec](docs/PartitionSpec.md)
+ - [PartitionTransform](docs/PartitionTransform.md)
+ - [PhraseQuery](docs/PhraseQuery.md)
+ - [QueryTableRequest](docs/QueryTableRequest.md)
+ - [QueryTableRequestColumns](docs/QueryTableRequestColumns.md)
+ - [QueryTableRequestFullTextQuery](docs/QueryTableRequestFullTextQuery.md)
+ - [QueryTableRequestVector](docs/QueryTableRequestVector.md)
+ - [RegisterTableRequest](docs/RegisterTableRequest.md)
+ - [RegisterTableResponse](docs/RegisterTableResponse.md)
+ - [RenameTableRequest](docs/RenameTableRequest.md)
+ - [RenameTableResponse](docs/RenameTableResponse.md)
+ - [RestoreTableRequest](docs/RestoreTableRequest.md)
+ - [RestoreTableResponse](docs/RestoreTableResponse.md)
+ - [StringFtsQuery](docs/StringFtsQuery.md)
+ - [StructuredFtsQuery](docs/StructuredFtsQuery.md)
+ - [TableBasicStats](docs/TableBasicStats.md)
+ - [TableExistsRequest](docs/TableExistsRequest.md)
+ - [TableVersion](docs/TableVersion.md)
+ - [TagContents](docs/TagContents.md)
+ - [UpdateTableRequest](docs/UpdateTableRequest.md)
+ - [UpdateTableResponse](docs/UpdateTableResponse.md)
+ - [UpdateTableSchemaMetadataRequest](docs/UpdateTableSchemaMetadataRequest.md)
+ - [UpdateTableSchemaMetadataResponse](docs/UpdateTableSchemaMetadataResponse.md)
+ - [UpdateTableTagRequest](docs/UpdateTableTagRequest.md)
+ - [UpdateTableTagResponse](docs/UpdateTableTagResponse.md)
+ - [VersionRange](docs/VersionRange.md)
+
+
+
+## Documentation for Authorization
+
+
+Authentication schemes defined for the API:
+
+### OAuth2
+
+
+- **Type**: OAuth
+- **Flow**: application
+- **Authorization URL**:
+- **Scopes**: N/A
+
+
+### BearerAuth
+
+
+- **Type**: HTTP Bearer Token authentication
+
+
+### ApiKeyAuth
+
+
+- **Type**: API key
+- **API key parameter name**: x-api-key
+- **Location**: HTTP header
+
+
+## Recommendation
+
+It's recommended to create an instance of `ApiClient` per thread in a multithreaded environment to avoid any potential issues.
+However, the instances of the api clients created from the `ApiClient` are thread-safe and can be re-used.
+
+## Author
+
+
+
diff --git a/java/lance-namespace-async-client/api/openapi.yaml b/java/lance-namespace-async-client/api/openapi.yaml
new file mode 100644
index 000000000..3c0e38ad4
--- /dev/null
+++ b/java/lance-namespace-async-client/api/openapi.yaml
@@ -0,0 +1,7201 @@
+openapi: 3.1.1
+info:
+ description: |
+ This OpenAPI specification is a part of the Lance namespace specification. It contains 2 parts:
+
+ The `components/schemas`, `components/responses`, `components/examples`, `tags` sections define
+ the request and response shape for each operation in a Lance Namespace across all implementations.
+ See https://lance.org/format/namespace/operations for more details.
+
+ The `servers`, `security`, `paths`, `components/parameters` sections are for the
+ Lance REST Namespace implementation, which defines a complete REST server that can work with Lance datasets.
+ See https://lance.org/format/namespace/rest for more details.
+ license:
+ name: Apache 2.0
+ url: https://www.apache.org/licenses/LICENSE-2.0.html
+ title: Lance Namespace Specification
+ version: 1.0.0
+servers:
+- description: Generic server URL with all parts configurable
+ url: "{scheme}://{host}:{port}/{basePath}"
+ variables:
+ scheme:
+ default: http
+ host:
+ default: localhost
+ port:
+ default: "2333"
+ basePath:
+ default: ""
+- description: Server URL when the port can be inferred from the scheme
+ url: "{scheme}://{host}/{basePath}"
+ variables:
+ scheme:
+ default: http
+ host:
+ default: localhost
+ basePath:
+ default: ""
+security:
+- OAuth2: []
+- BearerAuth: []
+- ApiKeyAuth: []
+tags:
+- description: |
+ Operations that are related to a namespace
+ name: Namespace
+- description: |
+ Operations that are related to a table
+ name: Table
+- description: |
+ Operations that are related to an index
+ name: Index
+- description: |
+ Operations that are related to tags
+ name: Tag
+- description: |
+ Operations that are related to a transaction
+ name: Transaction
+- description: |
+ Operations that only interact with object metadata and should be computationally lightweight
+ name: Metadata
+- description: |
+ Operations that interact with object data and might be computationally intensive
+ name: Data
+paths:
+ /v1/namespace/{id}/create:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Create new namespace `id`.
+
+ During the creation process, the implementation may modify user-provided `properties`,
+ such as adding additional properties like `created_at` to user-provided properties,
+ omitting any specific property, or performing actions based on any property value.
+ operationId: CreateNamespace
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateNamespaceRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/CreateNamespaceResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "406":
+ $ref: '#/components/responses/UnsupportedOperationErrorResponse'
+ "409":
+ $ref: '#/components/responses/ConflictErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Create a new namespace
+ tags:
+ - Namespace
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/namespace/{id}/list:
+ get:
+ description: |
+ List all child namespace names of the parent namespace `id`.
+
+ REST NAMESPACE ONLY
+ REST namespace uses GET to perform this operation without a request body.
+ It passes in the `ListNamespacesRequest` information in the following way:
+ - `id`: pass through path parameter of the same name
+ - `page_token`: pass through query parameter of the same name
+ - `limit`: pass through query parameter of the same name
+ operationId: ListNamespaces
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ - $ref: '#/components/parameters/page_token'
+ - $ref: '#/components/parameters/limit'
+ responses:
+ "200":
+ $ref: '#/components/responses/ListNamespacesResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "406":
+ $ref: '#/components/responses/UnsupportedOperationErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: List namespaces
+ tags:
+ - Namespace
+ - Metadata
+ x-accepts:
+ - application/json
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ - $ref: '#/components/parameters/page_token'
+ - $ref: '#/components/parameters/limit'
+ /v1/namespace/{id}/describe:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Describe the detailed information for namespace `id`.
+ operationId: DescribeNamespace
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DescribeNamespaceRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/DescribeNamespaceResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Describe a namespace
+ tags:
+ - Namespace
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/namespace/{id}/drop:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Drop namespace `id` from its parent namespace.
+ operationId: DropNamespace
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DropNamespaceRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/DropNamespaceResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "409":
+ $ref: '#/components/responses/ConflictErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Drop a namespace
+ tags:
+ - Namespace
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/namespace/{id}/exists:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Check if namespace `id` exists.
+
+ This operation must behave exactly like the DescribeNamespace API,
+ except it does not contain a response body.
+ operationId: NamespaceExists
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/NamespaceExistsRequest'
+ required: true
+ responses:
+ "200":
+ description: "Success, no content"
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Check if a namespace exists
+ tags:
+ - Namespace
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/namespace/{id}/table/list:
+ get:
+ description: |
+ List all child table names of the parent namespace `id`.
+
+ REST NAMESPACE ONLY
+ REST namespace uses GET to perform this operation without a request body.
+ It passes in the `ListTablesRequest` information in the following way:
+ - `id`: pass through path parameter of the same name
+ - `page_token`: pass through query parameter of the same name
+ - `limit`: pass through query parameter of the same name
+ operationId: ListTables
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ - $ref: '#/components/parameters/page_token'
+ - $ref: '#/components/parameters/limit'
+ responses:
+ "200":
+ $ref: '#/components/responses/ListTablesResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "406":
+ $ref: '#/components/responses/UnsupportedOperationErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: List tables in a namespace
+ tags:
+ - Namespace
+ - Table
+ - Metadata
+ x-accepts:
+ - application/json
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ - $ref: '#/components/parameters/page_token'
+ - $ref: '#/components/parameters/limit'
+ /v1/table:
+ get:
+ description: |
+ List all tables across all namespaces.
+
+ REST NAMESPACE ONLY
+ REST namespace uses GET to perform this operation without a request body.
+ It passes in the `ListAllTablesRequest` information in the following way:
+ - `page_token`: pass through query parameter of the same name
+ - `limit`: pass through query parameter of the same name
+ - `delimiter`: pass through query parameter of the same name
+ operationId: ListAllTables
+ parameters:
+ - $ref: '#/components/parameters/delimiter'
+ - $ref: '#/components/parameters/page_token'
+ - $ref: '#/components/parameters/limit'
+ responses:
+ "200":
+ $ref: '#/components/responses/ListTablesResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: List all tables
+ tags:
+ - Table
+ x-accepts:
+ - application/json
+ /v1/table/{id}/register:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Register an existing table at a given storage location as `id`.
+ operationId: RegisterTable
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/RegisterTableRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/RegisterTableResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "406":
+ $ref: '#/components/responses/UnsupportedOperationErrorResponse'
+ "409":
+ $ref: '#/components/responses/ConflictErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Register a table to a namespace
+ tags:
+ - Table
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/describe:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ - $ref: '#/components/parameters/with_table_uri'
+ - $ref: '#/components/parameters/load_detailed_metadata'
+ post:
+ description: |
+ Describe the detailed information for table `id`.
+
+ REST NAMESPACE ONLY
+ REST namespace passes `with_table_uri` and `load_detailed_metadata` as query parameters instead of in the request body.
+ operationId: DescribeTable
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ - $ref: '#/components/parameters/with_table_uri'
+ - $ref: '#/components/parameters/load_detailed_metadata'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DescribeTableRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/DescribeTableResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Describe information of a table
+ tags:
+ - Table
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/exists:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Check if table `id` exists.
+
+ This operation should behave exactly like DescribeTable,
+ except it does not contain a response body.
+
+ For DirectoryNamespace implementation, a table exists if either:
+ - The table has Lance data versions (regular table created with CreateTable)
+ - A `.lance-reserved` file exists in the table directory (declared table created with DeclareTable)
+ operationId: TableExists
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/TableExistsRequest'
+ required: true
+ responses:
+ "200":
+ description: "Success, no content"
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Check if a table exists
+ tags:
+ - Table
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/drop:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Drop table `id` and delete its data.
+
+ REST NAMESPACE ONLY
+ REST namespace does not use a request body for this operation.
+ The `DropTableRequest` information is passed in the following way:
+ - `id`: pass through path parameter of the same name
+ operationId: DropTable
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ responses:
+ "200":
+ $ref: '#/components/responses/DropTableResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Drop a table
+ tags:
+ - Table
+ - Metadata
+ x-accepts:
+ - application/json
+ /v1/table/{id}/deregister:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Deregister table `id` from its namespace.
+ operationId: DeregisterTable
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DeregisterTableRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/DeregisterTableResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Deregister a table
+ tags:
+ - Table
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/restore:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Restore table `id` to a specific version.
+ operationId: RestoreTable
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/RestoreTableRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/RestoreTableResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Restore table to a specific version
+ tags:
+ - Table
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/rename:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Rename table `id` to a new name.
+ operationId: RenameTable
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/RenameTableRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/RenameTableResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "409":
+ $ref: '#/components/responses/ConflictErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Rename a table
+ tags:
+ - Table
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/schema_metadata/update:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Replace the schema metadata for table `id` with the provided key-value pairs.
+
+ REST NAMESPACE ONLY
+ REST namespace uses a direct object (map of string to string) as both request and response body
+ instead of the wrapped `UpdateTableSchemaMetadataRequest` and `UpdateTableSchemaMetadataResponse`.
+ operationId: UpdateTableSchemaMetadata
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ additionalProperties:
+ type: string
+ description: Schema metadata key-value pairs
+ required: true
+ responses:
+ "200":
+ content:
+ application/json:
+ schema:
+ additionalProperties:
+ type: string
+ description: The updated schema metadata
+ description: Schema metadata update result
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Update table schema metadata
+ tags:
+ - Table
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/version/list:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ - $ref: '#/components/parameters/page_token'
+ - $ref: '#/components/parameters/limit'
+ - description: |
+ When true, versions are guaranteed to be returned in descending order (latest to oldest).
+ When false or not specified, the ordering is implementation-defined.
+ explode: true
+ in: query
+ name: descending
+ required: false
+ schema:
+ type: boolean
+ style: form
+ post:
+ description: |
+ List all versions (commits) of table `id` with their metadata.
+
+ Use `descending=true` to guarantee versions are returned in descending order (latest to oldest).
+ Otherwise, the ordering is implementation-defined.
+
+ REST NAMESPACE ONLY
+ REST namespace does not use a request body for this operation.
+ The `ListTableVersionsRequest` information is passed in the following way:
+ - `id`: pass through path parameter of the same name
+ - `page_token`: pass through query parameter of the same name
+ - `limit`: pass through query parameter of the same name
+ - `descending`: pass through query parameter of the same name
+ operationId: ListTableVersions
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ - $ref: '#/components/parameters/page_token'
+ - $ref: '#/components/parameters/limit'
+ - description: |
+ When true, versions are guaranteed to be returned in descending order (latest to oldest).
+ When false or not specified, the ordering is implementation-defined.
+ explode: true
+ in: query
+ name: descending
+ required: false
+ schema:
+ type: boolean
+ style: form
+ responses:
+ "200":
+ $ref: '#/components/responses/ListTableVersionsResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: List all versions of a table
+ tags:
+ - Table
+ - Metadata
+ x-accepts:
+ - application/json
+ /v1/table/{id}/version/create:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Create a new version entry for table `id`.
+
+ This operation supports `put_if_not_exists` semantics.
+ The operation will fail with 409 Conflict if the version already exists.
+ operationId: CreateTableVersion
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateTableVersionRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/CreateTableVersionResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "409":
+ $ref: '#/components/responses/ConflictErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Create a new table version
+ tags:
+ - Table
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/version/describe:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Describe the detailed information for a specific version of table `id`.
+
+ Returns the manifest path and metadata for the specified version.
+ operationId: DescribeTableVersion
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DescribeTableVersionRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/DescribeTableVersionResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Describe a specific table version
+ tags:
+ - Table
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/version/delete:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Delete version metadata records for table `id`.
+
+ This operation deletes version tracking records, NOT the actual table data.
+ It supports deleting ranges of versions for efficient bulk cleanup.
+
+ Special range values:
+ - `start_version: 0` with `end_version: -1` means delete ALL version records
+ operationId: BatchDeleteTableVersions
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/BatchDeleteTableVersionsRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/BatchDeleteTableVersionsResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Delete table version records
+ tags:
+ - Table
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/version/batch-create:
+ parameters:
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Atomically create new version entries for multiple tables.
+
+ This operation is atomic: either all table versions are created successfully,
+ or none are created. If any version creation fails (e.g., due to conflict),
+ the entire batch operation fails.
+
+ Each entry in the request specifies the table identifier and version details.
+ This supports `put_if_not_exists` semantics for each version entry.
+ operationId: BatchCreateTableVersions
+ parameters:
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/BatchCreateTableVersionsRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/BatchCreateTableVersionsResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "409":
+ $ref: '#/components/responses/ConflictErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Atomically create versions for multiple tables
+ tags:
+ - Table
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/alter_columns:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Modify existing columns in table `id`, such as renaming or changing data types.
+ operationId: AlterTableAlterColumns
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AlterTableAlterColumnsRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/AlterTableAlterColumnsResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Modify existing columns
+ tags:
+ - Table
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/drop_columns:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Remove specified columns from table `id`.
+ operationId: AlterTableDropColumns
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AlterTableDropColumnsRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/AlterTableDropColumnsResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Remove columns from table
+ tags:
+ - Table
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/stats:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Get statistics for table `id`, including row counts, data sizes, and column statistics.
+ operationId: GetTableStats
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GetTableStatsRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/GetTableStatsResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Get table statistics
+ tags:
+ - Table
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/insert:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ - description: |
+ How the insert should behave. Case insensitive, supports both PascalCase and snake_case. Valid values are:
+ - Append (default): insert data to the existing table
+ - Overwrite: remove all data in the table and then insert data to it
+ explode: true
+ in: query
+ name: mode
+ required: false
+ schema:
+ default: append
+ type: string
+ style: form
+ post:
+ description: |
+ Insert new records into table `id`.
+
+ REST NAMESPACE ONLY
+ REST namespace uses Arrow IPC stream as the request body.
+ It passes in the `InsertIntoTableRequest` information in the following way:
+ - `id`: pass through path parameter of the same name
+ - `mode`: pass through query parameter of the same name
+ operationId: InsertIntoTable
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ - description: |
+ How the insert should behave. Case insensitive, supports both PascalCase and snake_case. Valid values are:
+ - Append (default): insert data to the existing table
+ - Overwrite: remove all data in the table and then insert data to it
+ explode: true
+ in: query
+ name: mode
+ required: false
+ schema:
+ default: append
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/vnd.apache.arrow.stream:
+ schema:
+ format: binary
+ type: string
+ description: Arrow IPC stream containing the records to insert
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/InsertIntoTableResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Insert records into a table
+ tags:
+ - Table
+ - Data
+ x-content-type: application/vnd.apache.arrow.stream
+ x-accepts:
+ - application/json
+ /v1/table/{id}/merge_insert:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ - description: Column name to use for matching rows (required)
+ explode: true
+ in: query
+ name: "on"
+ required: true
+ schema:
+ type: string
+ style: form
+ - description: Update all columns when rows match
+ explode: true
+ in: query
+ name: when_matched_update_all
+ required: false
+ schema:
+ default: false
+ type: boolean
+ style: form
+ - description: The row is updated (similar to UpdateAll) only for rows where the
+ SQL expression evaluates to true
+ explode: true
+ in: query
+ name: when_matched_update_all_filt
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Insert all columns when rows don't match
+ explode: true
+ in: query
+ name: when_not_matched_insert_all
+ required: false
+ schema:
+ default: false
+ type: boolean
+ style: form
+ - description: Delete all rows from target table that don't match a row in the
+ source table
+ explode: true
+ in: query
+ name: when_not_matched_by_source_delete
+ required: false
+ schema:
+ default: false
+ type: boolean
+ style: form
+ - description: Delete rows from the target table if there is no match AND the
+ SQL expression evaluates to true
+ explode: true
+ in: query
+ name: when_not_matched_by_source_delete_filt
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: "Timeout for the operation (e.g., \"30s\", \"5m\")"
+ explode: true
+ in: query
+ name: timeout
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Whether to use index for matching rows
+ explode: true
+ in: query
+ name: use_index
+ required: false
+ schema:
+ default: false
+ type: boolean
+ style: form
+ post:
+ description: |
+ Performs a merge insert (upsert) operation on table `id`.
+ This operation updates existing rows
+ based on a matching column and inserts new rows that don't match.
+ It returns the number of rows inserted and updated.
+
+ REST NAMESPACE ONLY
+ REST namespace uses Arrow IPC stream as the request body.
+ It passes in the `MergeInsertIntoTableRequest` information in the following way:
+ - `id`: pass through path parameter of the same name
+ - `on`: pass through query parameter of the same name
+ - `when_matched_update_all`: pass through query parameter of the same name
+ - `when_matched_update_all_filt`: pass through query parameter of the same name
+ - `when_not_matched_insert_all`: pass through query parameter of the same name
+ - `when_not_matched_by_source_delete`: pass through query parameter of the same name
+ - `when_not_matched_by_source_delete_filt`: pass through query parameter of the same name
+ operationId: MergeInsertIntoTable
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ - description: Column name to use for matching rows (required)
+ explode: true
+ in: query
+ name: "on"
+ required: true
+ schema:
+ type: string
+ style: form
+ - description: Update all columns when rows match
+ explode: true
+ in: query
+ name: when_matched_update_all
+ required: false
+ schema:
+ default: false
+ type: boolean
+ style: form
+ - description: The row is updated (similar to UpdateAll) only for rows where
+ the SQL expression evaluates to true
+ explode: true
+ in: query
+ name: when_matched_update_all_filt
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Insert all columns when rows don't match
+ explode: true
+ in: query
+ name: when_not_matched_insert_all
+ required: false
+ schema:
+ default: false
+ type: boolean
+ style: form
+ - description: Delete all rows from target table that don't match a row in the
+ source table
+ explode: true
+ in: query
+ name: when_not_matched_by_source_delete
+ required: false
+ schema:
+ default: false
+ type: boolean
+ style: form
+ - description: Delete rows from the target table if there is no match AND the
+ SQL expression evaluates to true
+ explode: true
+ in: query
+ name: when_not_matched_by_source_delete_filt
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: "Timeout for the operation (e.g., \"30s\", \"5m\")"
+ explode: true
+ in: query
+ name: timeout
+ required: false
+ schema:
+ type: string
+ style: form
+ - description: Whether to use index for matching rows
+ explode: true
+ in: query
+ name: use_index
+ required: false
+ schema:
+ default: false
+ type: boolean
+ style: form
+ requestBody:
+ content:
+ application/vnd.apache.arrow.stream:
+ schema:
+ format: binary
+ type: string
+ description: Arrow IPC stream containing the records to merge
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/MergeInsertIntoTableResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Merge insert (upsert) records into a table
+ tags:
+ - Table
+ - Data
+ x-content-type: application/vnd.apache.arrow.stream
+ x-accepts:
+ - application/json
+ /v1/table/{id}/update:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Update existing rows in table `id`.
+ operationId: UpdateTable
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UpdateTableRequest'
+ description: Update request
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/UpdateTableResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Update rows in a table
+ tags:
+ - Table
+ - Data
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/delete:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Delete rows from table `id`.
+ operationId: DeleteFromTable
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DeleteFromTableRequest'
+ description: Delete request
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/DeleteFromTableResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Delete rows from a table
+ tags:
+ - Table
+ - Data
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/query:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Query table `id` with vector search, full text search and optional SQL filtering.
+ Returns results in Arrow IPC file or stream format.
+
+ REST NAMESPACE ONLY
+ REST namespace returns the response as Arrow IPC file binary data
+ instead of the `QueryTableResponse` JSON object.
+ operationId: QueryTable
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/QueryTableRequest'
+ description: Query request
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/QueryTableResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Query a table
+ tags:
+ - Table
+ - Data
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ - application/vnd.apache.arrow.file
+ /v1/table/{id}/count_rows:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Count the number of rows in table `id`
+
+ REST NAMESPACE ONLY
+ REST namespace returns the response as a plain integer
+ instead of the `CountTableRowsResponse` JSON object.
+ operationId: CountTableRows
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CountTableRowsRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/CountTableRowsResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Count rows in a table
+ tags:
+ - Table
+ - Data
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/create:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ - explode: true
+ in: query
+ name: mode
+ required: false
+ schema:
+ type: string
+ style: form
+ post:
+ description: |
+ Create table `id` in the namespace with the given data in Arrow IPC stream.
+
+ The schema of the Arrow IPC stream is used as the table schema.
+ If the stream is empty, the API creates a new empty table.
+
+ REST NAMESPACE ONLY
+ REST namespace uses Arrow IPC stream as the request body.
+ It passes in the `CreateTableRequest` information in the following way:
+ - `id`: pass through path parameter of the same name
+ - `mode`: pass through query parameter of the same name
+ operationId: CreateTable
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ - explode: true
+ in: query
+ name: mode
+ required: false
+ schema:
+ type: string
+ style: form
+ requestBody:
+ content:
+ application/vnd.apache.arrow.stream:
+ schema:
+ format: binary
+ type: string
+ description: Arrow IPC data
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/CreateTableResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Create a table with the given name
+ tags:
+ - Table
+ - Data
+ x-content-type: application/vnd.apache.arrow.stream
+ x-accepts:
+ - application/json
+ /v1/table/{id}/explain_plan:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Get the query execution plan for a query against table `id`.
+ Returns a human-readable explanation of how the query will be executed.
+
+ REST NAMESPACE ONLY
+ REST namespace returns the response as a plain string
+ instead of the `ExplainTableQueryPlanResponse` JSON object.
+ operationId: ExplainTableQueryPlan
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ExplainTableQueryPlanRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/ExplainTableQueryPlanResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Get query execution plan explanation
+ tags:
+ - Table
+ - Data
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/analyze_plan:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Analyze the query execution plan for a query against table `id`.
+ Returns detailed statistics and analysis of the query execution plan.
+
+ REST NAMESPACE ONLY
+ REST namespace returns the response as a plain string
+ instead of the `AnalyzeTableQueryPlanResponse` JSON object.
+ operationId: AnalyzeTableQueryPlan
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AnalyzeTableQueryPlanRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/AnalyzeTableQueryPlanResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Analyze query execution plan
+ tags:
+ - Table
+ - Data
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/add_columns:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Add new columns to table `id` using SQL expressions or default values.
+ operationId: AlterTableAddColumns
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AlterTableAddColumnsRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/AlterTableAddColumnsResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Add new columns to table schema
+ tags:
+ - Table
+ - Data
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/create_index:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Create an index on a table column for faster search operations.
+ Supports vector indexes (IVF_FLAT, IVF_HNSW_SQ, IVF_PQ, etc.) and scalar indexes (BTREE, BITMAP, FTS, etc.).
+ Index creation is handled asynchronously.
+ Use the `ListTableIndices` and `DescribeTableIndexStats` operations to monitor index creation progress.
+ operationId: CreateTableIndex
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateTableIndexRequest'
+ description: Index creation request
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/CreateTableIndexResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Create an index on a table
+ tags:
+ - Table
+ - Index
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/create_scalar_index:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Create a scalar index on a table column for faster filtering operations.
+ Supports scalar indexes (BTREE, BITMAP, LABEL_LIST, FTS, etc.).
+ This is an alias for CreateTableIndex specifically for scalar indexes.
+ Index creation is handled asynchronously.
+ Use the `ListTableIndices` and `DescribeTableIndexStats` operations to monitor index creation progress.
+ operationId: CreateTableScalarIndex
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateTableIndexRequest'
+ description: Scalar index creation request
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/CreateTableScalarIndexResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Create a scalar index on a table
+ tags:
+ - Table
+ - Index
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/index/list:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ List all indices created on a table. Returns information about each index
+ including name, columns, status, and UUID.
+ operationId: ListTableIndices
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ListTableIndicesRequest'
+ description: Index list request
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/ListTableIndicesResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: List indexes on a table
+ tags:
+ - Table
+ - Index
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/index/{index_name}/stats:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ - description: Name of the index to get stats for
+ explode: false
+ in: path
+ name: index_name
+ required: true
+ schema:
+ type: string
+ style: simple
+ post:
+ description: |
+ Get statistics for a specific index on a table. Returns information about
+ the index type, distance type (for vector indices), and row counts.
+ operationId: DescribeTableIndexStats
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ - description: Name of the index to get stats for
+ explode: false
+ in: path
+ name: index_name
+ required: true
+ schema:
+ type: string
+ style: simple
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DescribeTableIndexStatsRequest'
+ description: Index stats request
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/DescribeTableIndexStatsResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Get table index statistics
+ tags:
+ - Table
+ - Index
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/index/{index_name}/drop:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ - description: Name of the index to drop
+ explode: false
+ in: path
+ name: index_name
+ required: true
+ schema:
+ type: string
+ style: simple
+ post:
+ description: |
+ Drop the specified index from table `id`.
+
+ REST NAMESPACE ONLY
+ REST namespace does not use a request body for this operation.
+ The `DropTableIndexRequest` information is passed in the following way:
+ - `id`: pass through path parameter of the same name
+ - `index_name`: pass through path parameter of the same name
+ operationId: DropTableIndex
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ - description: Name of the index to drop
+ explode: false
+ in: path
+ name: index_name
+ required: true
+ schema:
+ type: string
+ style: simple
+ responses:
+ "200":
+ $ref: '#/components/responses/DropTableIndexResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Drop a specific index
+ tags:
+ - Table
+ - Index
+ - Metadata
+ x-accepts:
+ - application/json
+ /v1/table/{id}/tags/list:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ - $ref: '#/components/parameters/page_token'
+ - $ref: '#/components/parameters/limit'
+ post:
+ description: |
+ List all tags that have been created for table `id`.
+ Returns a map of tag names to their corresponding version numbers and metadata.
+
+ REST NAMESPACE ONLY
+ REST namespace does not use a request body for this operation.
+ The `ListTableTagsRequest` information is passed in the following way:
+ - `id`: pass through path parameter of the same name
+ - `page_token`: pass through query parameter of the same name
+ - `limit`: pass through query parameter of the same name
+ operationId: ListTableTags
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ - $ref: '#/components/parameters/page_token'
+ - $ref: '#/components/parameters/limit'
+ responses:
+ "200":
+ $ref: '#/components/responses/ListTableTagsResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: List all tags for a table
+ tags:
+ - Table
+ - Tag
+ - Metadata
+ x-accepts:
+ - application/json
+ /v1/table/{id}/tags/version:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Get the version number that a specific tag points to for table `id`.
+ operationId: GetTableTagVersion
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GetTableTagVersionRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/GetTableTagVersionResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Get version for a specific tag
+ tags:
+ - Table
+ - Tag
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/declare:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Declare a table with the given name without touching storage.
+ This is a metadata-only operation that records the table existence and sets up aspects like access control.
+
+ For DirectoryNamespace implementation, this creates a `.lance-reserved` file in the table directory
+ to mark the table's existence without creating actual Lance data files.
+ operationId: DeclareTable
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DeclareTableRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/DeclareTableResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "409":
+ $ref: '#/components/responses/ConflictErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Declare a table
+ tags:
+ - Table
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/create-empty:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ deprecated: true
+ description: |
+ Create an empty table with the given name without touching storage.
+ This is a metadata-only operation that records the table existence and sets up aspects like access control.
+
+ For DirectoryNamespace implementation, this creates a `.lance-reserved` file in the table directory
+ to mark the table's existence without creating actual Lance data files.
+
+ **Deprecated**: Use `DeclareTable` instead.
+ operationId: CreateEmptyTable
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateEmptyTableRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/CreateEmptyTableResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "409":
+ $ref: '#/components/responses/ConflictErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Create an empty table
+ tags:
+ - Table
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/tags/create:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Create a new tag for table `id` that points to a specific version.
+ operationId: CreateTableTag
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateTableTagRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/CreateTableTagResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "409":
+ $ref: '#/components/responses/ConflictErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Create a new tag
+ tags:
+ - Table
+ - Tag
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/tags/delete:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Delete an existing tag from table `id`.
+ operationId: DeleteTableTag
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DeleteTableTagRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/DeleteTableTagResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Delete a tag
+ tags:
+ - Table
+ - Tag
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/table/{id}/tags/update:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Update an existing tag for table `id` to point to a different version.
+ operationId: UpdateTableTag
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UpdateTableTagRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/UpdateTableTagResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Update a tag to point to a different version
+ tags:
+ - Table
+ - Tag
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/transaction/{id}/describe:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Return a detailed information for a given transaction
+ operationId: DescribeTransaction
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DescribeTransactionRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/DescribeTransactionResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Describe information about a transaction
+ tags:
+ - Transaction
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+ /v1/transaction/{id}/alter:
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ post:
+ description: |
+ Alter a transaction with a list of actions such as setting status or properties.
+ The server should either succeed and apply all actions, or fail and apply no action.
+ operationId: AlterTransaction
+ parameters:
+ - $ref: '#/components/parameters/id'
+ - $ref: '#/components/parameters/delimiter'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AlterTransactionRequest'
+ required: true
+ responses:
+ "200":
+ $ref: '#/components/responses/AlterTransactionResponse'
+ "400":
+ $ref: '#/components/responses/BadRequestErrorResponse'
+ "401":
+ $ref: '#/components/responses/UnauthorizedErrorResponse'
+ "403":
+ $ref: '#/components/responses/ForbiddenErrorResponse'
+ "404":
+ $ref: '#/components/responses/NotFoundErrorResponse'
+ "409":
+ $ref: '#/components/responses/ConflictErrorResponse'
+ "503":
+ $ref: '#/components/responses/ServiceUnavailableErrorResponse'
+ "5XX":
+ $ref: '#/components/responses/ServerErrorResponse'
+ summary: Alter information of a transaction.
+ tags:
+ - Transaction
+ - Metadata
+ x-content-type: application/json
+ x-accepts:
+ - application/json
+components:
+ examples:
+ ListNamespacesEmptyExample:
+ summary: An empty list of namespaces
+ value:
+ namespaces: []
+ ListNamespacesNonEmptyExample:
+ summary: A non-empty list of namespaces
+ value:
+ namespaces:
+ - accounting
+ - credits
+ parameters:
+ id:
+ description: |
+ `string identifier` of an object in a namespace, following the Lance Namespace spec.
+ When the value is equal to the delimiter, it represents the root namespace.
+ For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ explode: false
+ in: path
+ name: id
+ required: true
+ schema:
+ type: string
+ style: simple
+ delimiter:
+ description: |
+ An optional delimiter of the `string identifier`, following the Lance Namespace spec.
+ When not specified, the `$` delimiter must be used.
+ explode: true
+ in: query
+ name: delimiter
+ required: false
+ schema:
+ type: string
+ style: form
+ page_token:
+ description: Pagination token from a previous request
+ explode: true
+ in: query
+ name: page_token
+ required: false
+ schema:
+ $ref: '#/components/schemas/PageToken'
+ style: form
+ limit:
+ description: Maximum number of items to return
+ explode: true
+ in: query
+ name: limit
+ required: false
+ schema:
+ $ref: '#/components/schemas/PageLimit'
+ style: form
+ with_table_uri:
+ description: Whether to include the table URI in the response
+ explode: true
+ in: query
+ name: with_table_uri
+ required: false
+ schema:
+ default: false
+ type: boolean
+ style: form
+ load_detailed_metadata:
+ description: |
+ Whether to load detailed metadata that requires opening the dataset.
+ When false (default), only `location` is required in the response.
+ When true, the response includes additional metadata such as `version`, `schema`, and `stats`.
+ explode: true
+ in: query
+ name: load_detailed_metadata
+ required: false
+ schema:
+ default: false
+ type: boolean
+ style: form
+ responses:
+ ListNamespacesResponse:
+ content:
+ application/json:
+ examples:
+ NonEmptyResponse:
+ $ref: '#/components/examples/ListNamespacesNonEmptyExample'
+ EmptyResponse:
+ $ref: '#/components/examples/ListNamespacesEmptyExample'
+ schema:
+ $ref: '#/components/schemas/ListNamespacesResponse'
+ description: A list of namespaces
+ DescribeNamespaceResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DescribeNamespaceResponse'
+ description: "Returns a namespace, as well as any properties stored on the namespace\
+ \ if namespace properties are supported by the server."
+ CreateNamespaceResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateNamespaceResponse'
+ description: Result of creating a namespace
+ DropNamespaceResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DropNamespaceResponse'
+ description: Result of dropping a namespace
+ ListTablesResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ListTablesResponse'
+ description: A list of tables
+ DescribeTableResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DescribeTableResponse'
+ description: Table properties result when loading a table
+ CountTableRowsResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CountTableRowsResponse'
+ description: Result of counting rows in a table
+ CreateTableResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateTableResponse'
+ description: Table properties result when creating a table
+ InsertIntoTableResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/InsertIntoTableResponse'
+ description: Result of inserting records into a table
+ MergeInsertIntoTableResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/MergeInsertIntoTableResponse'
+ description: Result of merge insert operation
+ RegisterTableResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/RegisterTableResponse'
+ description: Table properties result when registering a table
+ DescribeTransactionResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DescribeTransactionResponse'
+ description: Response of DescribeTransaction
+ AlterTransactionResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AlterTransactionResponse'
+ description: Response of AlterTransaction
+ DropTableResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DropTableResponse'
+ description: Response of DropTable
+ DeregisterTableResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DeregisterTableResponse'
+ description: Response of DeregisterTable
+ UpdateTableResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UpdateTableResponse'
+ description: Update successful
+ DeleteFromTableResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DeleteFromTableResponse'
+ description: Delete successful
+ QueryTableResponse:
+ content:
+ application/vnd.apache.arrow.file:
+ schema:
+ format: binary
+ type: string
+ description: Query results in Arrow IPC file format
+ CreateTableIndexResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateTableIndexResponse'
+ description: Index created successfully
+ CreateTableScalarIndexResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateTableScalarIndexResponse'
+ description: Scalar index created successfully
+ ListTableIndicesResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ListTableIndicesResponse'
+ description: List of indices on the table
+ DescribeTableIndexStatsResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DescribeTableIndexStatsResponse'
+ description: Index statistics
+ ListTableTagsResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ListTableTagsResponse'
+ description: List of table tags
+ GetTableTagVersionResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GetTableTagVersionResponse'
+ description: Tag version information
+ CreateTableTagResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateTableTagResponse'
+ description: Create tag response
+ DeleteTableTagResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DeleteTableTagResponse'
+ description: Delete tag response
+ UpdateTableTagResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UpdateTableTagResponse'
+ description: Update tag response
+ ListTableVersionsResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ListTableVersionsResponse'
+ description: List of table versions
+ CreateTableVersionResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateTableVersionResponse'
+ description: Result of creating a table version
+ DescribeTableVersionResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DescribeTableVersionResponse'
+ description: Table version information
+ BatchDeleteTableVersionsResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/BatchDeleteTableVersionsResponse'
+ description: Result of deleting table version records
+ BatchCreateTableVersionsResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/BatchCreateTableVersionsResponse'
+ description: Result of atomically creating table versions
+ ExplainTableQueryPlanResponse:
+ content:
+ application/json:
+ schema:
+ description: Human-readable query execution plan
+ type: string
+ description: Query execution plan explanation
+ AnalyzeTableQueryPlanResponse:
+ content:
+ application/json:
+ schema:
+ description: Human-readable query execution plan analysis
+ type: string
+ description: Query execution plan analysis
+ AlterTableAddColumnsResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AlterTableAddColumnsResponse'
+ description: Add columns operation result
+ AlterTableAlterColumnsResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AlterTableAlterColumnsResponse'
+ description: Alter columns operation result
+ AlterTableDropColumnsResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/AlterTableDropColumnsResponse'
+ description: Drop columns operation result
+ GetTableStatsResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/GetTableStatsResponse'
+ description: Table statistics
+ RestoreTableResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/RestoreTableResponse'
+ description: Table restore operation result
+ RenameTableResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/RenameTableResponse'
+ description: Table rename operation result
+ DropTableIndexResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DropTableIndexResponse'
+ description: Index drop operation result
+ DeclareTableResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/DeclareTableResponse'
+ description: Table properties result when declaring a table
+ CreateEmptyTableResponse:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CreateEmptyTableResponse'
+ description: Table properties result when creating an empty table
+ BadRequestErrorResponse:
+ content:
+ application/json:
+ example:
+ type: /errors/bad-request
+ title: Malformed request
+ status: 400
+ detail: ""
+ instance: /v1/namespaces
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: "Indicates a bad request error. It could be caused by an unexpected\
+ \ request body format or other forms of request validation failure, such as\
+ \ invalid json. Usually serves application/json content, although in some\
+ \ cases simple text/plain content might be returned by the server's middleware."
+ UnauthorizedErrorResponse:
+ content:
+ application/json:
+ example:
+ type: /errors/unauthorized-request
+ title: No valid authentication credentials for the operation
+ status: 401
+ detail: ""
+ instance: /v1/namespaces
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: Unauthorized. The request lacks valid authentication credentials
+ for the operation.
+ ForbiddenErrorResponse:
+ content:
+ application/json:
+ example:
+ type: /errors/forbidden-request
+ title: Not authorized to make this request
+ status: 403
+ detail: ""
+ instance: /v1/namespaces
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: Forbidden. Authenticated user does not have the necessary permissions.
+ NotFoundErrorResponse:
+ content:
+ application/json:
+ example:
+ type: /errors/not-found-error
+ title: Not found Error
+ status: 404
+ detail: ""
+ instance: "/v1/namespaces/{ns}"
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: A server-side problem that means can not find the specified resource.
+ UnsupportedOperationErrorResponse:
+ content:
+ application/json:
+ example:
+ type: /errors/unsupported-operation
+ title: The server does not support this operation
+ status: 406
+ detail: ""
+ instance: /v1/namespaces
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: Not Acceptable / Unsupported Operation. The server does not support
+ this operation.
+ ConflictErrorResponse:
+ content:
+ application/json:
+ example:
+ type: /errors/conflict
+ title: The namespace has been concurrently modified
+ status: 409
+ detail: ""
+ instance: "/v1/namespaces/{ns}"
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: The request conflicts with the current state of the target resource.
+ ServiceUnavailableErrorResponse:
+ content:
+ application/json:
+ example:
+ type: /errors/service-unavailable
+ title: Slow down
+ status: 503
+ detail: ""
+ instance: /v1/namespaces
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: The service is not ready to handle the request. The client should
+ wait and retry. The service may additionally send a Retry-After header to
+ indicate when to retry.
+ ServerErrorResponse:
+ content:
+ application/json:
+ example:
+ type: /errors/server-error
+ title: Internal Server Error
+ status: 500
+ detail: ""
+ instance: /v1/namespaces
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ description: A server-side problem that might not be addressable from the client
+ side. Used for server 5xx errors without more specific documentation in individual
+ routes.
+ schemas:
+ ErrorResponse:
+ description: Common JSON error response model
+ example:
+ code: 4
+ instance: /v1/table/production$users/describe
+ detail: The table may have been dropped or renamed
+ error: Table 'users' not found in namespace 'production'
+ properties:
+ error:
+ description: "A brief, human-readable message about the error."
+ example: Table 'users' not found in namespace 'production'
+ type: string
+ code:
+ description: |
+ Lance Namespace error code identifying the error type.
+
+ Error codes:
+ 0 - Unsupported: Operation not supported by this backend
+ 1 - NamespaceNotFound: The specified namespace does not exist
+ 2 - NamespaceAlreadyExists: A namespace with this name already exists
+ 3 - NamespaceNotEmpty: Namespace contains tables or child namespaces
+ 4 - TableNotFound: The specified table does not exist
+ 5 - TableAlreadyExists: A table with this name already exists
+ 6 - TableIndexNotFound: The specified table index does not exist
+ 7 - TableIndexAlreadyExists: A table index with this name already exists
+ 8 - TableTagNotFound: The specified table tag does not exist
+ 9 - TableTagAlreadyExists: A table tag with this name already exists
+ 10 - TransactionNotFound: The specified transaction does not exist
+ 11 - TableVersionNotFound: The specified table version does not exist
+ 12 - TableColumnNotFound: The specified table column does not exist
+ 13 - InvalidInput: Malformed request or invalid parameters
+ 14 - ConcurrentModification: Optimistic concurrency conflict
+ 15 - PermissionDenied: User lacks permission for this operation
+ 16 - Unauthenticated: Authentication credentials are missing or invalid
+ 17 - ServiceUnavailable: Service is temporarily unavailable
+ 18 - Internal: Unexpected server/implementation error
+ 19 - InvalidTableState: Table is in an invalid state for the operation
+ 20 - TableSchemaValidationError: Table schema validation failed
+ example: 4
+ minimum: 0
+ type: integer
+ detail:
+ description: |
+ An optional human-readable explanation of the error.
+ This can be used to record additional information such as stack trace.
+ example: The table may have been dropped or renamed
+ type: string
+ instance:
+ description: |
+ A string that identifies the specific occurrence of the error.
+ This can be a URI, a request or response ID,
+ or anything that the implementation can recognize to trace specific occurrence of the error.
+ example: /v1/table/production$users/describe
+ type: string
+ required:
+ - code
+ Identity:
+ description: |
+ Identity information of a request.
+ example:
+ api_key: api_key
+ auth_token: auth_token
+ properties:
+ api_key:
+ description: |
+ API key for authentication.
+
+ REST NAMESPACE ONLY
+ This is passed via the `x-api-key` header.
+ type: string
+ auth_token:
+ description: |
+ Bearer token for authentication.
+
+ REST NAMESPACE ONLY
+ This is passed via the `Authorization` header
+ with the Bearer scheme (e.g., `Bearer `).
+ type: string
+ Context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ CreateNamespaceRequest:
+ example:
+ mode: mode
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ id:
+ - id
+ - id
+ properties:
+ key: properties
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ mode:
+ description: |
+ There are three modes when trying to create a namespace,
+ to differentiate the behavior when a namespace of the same name already exists.
+ Case insensitive, supports both PascalCase and snake_case. Valid values are:
+ * Create: the operation fails with 409.
+ * ExistOk: the operation succeeds and the existing namespace is kept.
+ * Overwrite: the existing namespace is dropped and a new empty namespace with this name is created.
+ type: string
+ properties:
+ additionalProperties:
+ type: string
+ description: |
+ Properties stored on the namespace, if supported by the implementation.
+ CreateNamespaceResponse:
+ example:
+ transaction_id: transaction_id
+ properties:
+ key: properties
+ properties:
+ transaction_id:
+ description: Optional transaction identifier
+ type: string
+ properties:
+ additionalProperties:
+ type: string
+ description: |
+ Properties after the namespace is created.
+
+ If the server does not support namespace properties, it should return null for this field.
+ If namespace properties are supported, but none are set, it should return an empty object.
+ ListNamespacesRequest:
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ page_token:
+ description: |
+ An opaque token that allows pagination for list operations (e.g. ListNamespaces).
+
+ For an initial request of a list operation,
+ if the implementation cannot return all items in one response,
+ or if there are more items than the page limit specified in the request,
+ the implementation must return a page token in the response,
+ indicating there are more results available.
+
+ After the initial request,
+ the value of the page token from each response must be used
+ as the page token value for the next request.
+
+ Caller must interpret either `null`,
+ missing value or empty string value of the page token from
+ the implementation's response as the end of the listing results.
+ type: string
+ nullable: true
+ limit:
+ description: |
+ An inclusive upper bound of the
+ number of results that a caller will receive.
+ type: integer
+ nullable: true
+ ListNamespacesResponse:
+ example:
+ page_token: page_token
+ namespaces:
+ - namespaces
+ - namespaces
+ properties:
+ namespaces:
+ description: |
+ The list of names of the child namespaces relative to the parent namespace `id` in the request.
+ items:
+ type: string
+ type: array
+ uniqueItems: true
+ page_token:
+ description: |
+ An opaque token that allows pagination for list operations (e.g. ListNamespaces).
+
+ For an initial request of a list operation,
+ if the implementation cannot return all items in one response,
+ or if there are more items than the page limit specified in the request,
+ the implementation must return a page token in the response,
+ indicating there are more results available.
+
+ After the initial request,
+ the value of the page token from each response must be used
+ as the page token value for the next request.
+
+ Caller must interpret either `null`,
+ missing value or empty string value of the page token from
+ the implementation's response as the end of the listing results.
+ type: string
+ nullable: true
+ required:
+ - namespaces
+ DescribeNamespaceRequest:
+ example:
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ id:
+ - id
+ - id
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ DescribeNamespaceResponse:
+ example:
+ properties:
+ owner: Ralph
+ created_at: "1452120468"
+ properties:
+ properties:
+ additionalProperties:
+ type: string
+ default: {}
+ description: "Properties stored on the namespace, if supported by the server.\
+ \ If the server does not support namespace properties, it should return\
+ \ null for this field. If namespace properties are supported, but none\
+ \ are set, it should return an empty object."
+ example:
+ owner: Ralph
+ created_at: "1452120468"
+ nullable: true
+ DropNamespaceRequest:
+ example:
+ mode: mode
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ id:
+ - id
+ - id
+ behavior: behavior
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ mode:
+ description: |
+ The mode for dropping a namespace, deciding the server behavior when the namespace to drop is not found.
+ Case insensitive, supports both PascalCase and snake_case. Valid values are:
+ - Fail (default): the server must return 400 indicating the namespace to drop does not exist.
+ - Skip: the server must return 204 indicating the drop operation has succeeded.
+ type: string
+ behavior:
+ description: |
+ The behavior for dropping a namespace.
+ Case insensitive, supports both PascalCase and snake_case. Valid values are:
+ - Restrict (default): the namespace should not contain any table or child namespace when drop is initiated.
+ If tables are found, the server should return error and not drop the namespace.
+ - Cascade: all tables and child namespaces in the namespace are dropped before the namespace is dropped.
+ type: string
+ DropNamespaceResponse:
+ example:
+ transaction_id:
+ - transaction_id
+ - transaction_id
+ properties:
+ key: properties
+ properties:
+ properties:
+ additionalProperties:
+ type: string
+ description: |
+ If the implementation does not support namespace properties, it should return null for this field. Otherwise it should return the properties.
+ transaction_id:
+ description: |
+ If present, indicating the operation is long running and should be tracked using DescribeTransaction
+ items:
+ type: string
+ type: array
+ NamespaceExistsRequest:
+ example:
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ id:
+ - id
+ - id
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ PageToken:
+ description: |
+ An opaque token that allows pagination for list operations (e.g. ListNamespaces).
+
+ For an initial request of a list operation,
+ if the implementation cannot return all items in one response,
+ or if there are more items than the page limit specified in the request,
+ the implementation must return a page token in the response,
+ indicating there are more results available.
+
+ After the initial request,
+ the value of the page token from each response must be used
+ as the page token value for the next request.
+
+ Caller must interpret either `null`,
+ missing value or empty string value of the page token from
+ the implementation's response as the end of the listing results.
+ type: string
+ nullable: true
+ PageLimit:
+ description: |
+ An inclusive upper bound of the
+ number of results that a caller will receive.
+ type: integer
+ nullable: true
+ RegisterTableRequest:
+ example:
+ mode: mode
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ location: location
+ id:
+ - id
+ - id
+ properties:
+ key: properties
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ location:
+ type: string
+ mode:
+ description: |
+ There are two modes when trying to register a table,
+ to differentiate the behavior when a table of the same name already exists.
+ Case insensitive, supports both PascalCase and snake_case. Valid values are:
+ * Create (default): the operation fails with 409.
+ * Overwrite: the existing table registration is replaced with the new registration.
+ type: string
+ properties:
+ additionalProperties:
+ type: string
+ description: |
+ Properties stored on the table, if supported by the implementation.
+ required:
+ - location
+ RegisterTableResponse:
+ example:
+ transaction_id: transaction_id
+ location: location
+ properties:
+ key: properties
+ properties:
+ transaction_id:
+ description: Optional transaction identifier
+ type: string
+ location:
+ type: string
+ properties:
+ additionalProperties:
+ type: string
+ description: |
+ If the implementation does not support table properties, it should return null for this field. Otherwise, it should return the properties.
+ ListTablesRequest:
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ page_token:
+ description: |
+ An opaque token that allows pagination for list operations (e.g. ListNamespaces).
+
+ For an initial request of a list operation,
+ if the implementation cannot return all items in one response,
+ or if there are more items than the page limit specified in the request,
+ the implementation must return a page token in the response,
+ indicating there are more results available.
+
+ After the initial request,
+ the value of the page token from each response must be used
+ as the page token value for the next request.
+
+ Caller must interpret either `null`,
+ missing value or empty string value of the page token from
+ the implementation's response as the end of the listing results.
+ type: string
+ nullable: true
+ limit:
+ description: |
+ An inclusive upper bound of the
+ number of results that a caller will receive.
+ type: integer
+ nullable: true
+ ListTablesResponse:
+ example:
+ tables:
+ - tables
+ - tables
+ page_token: page_token
+ properties:
+ tables:
+ description: |
+ The list of names of all the tables under the connected namespace implementation.
+ This should recursively list all the tables in all child namespaces.
+ Each string in the list is the full identifier in string form.
+ items:
+ type: string
+ type: array
+ uniqueItems: true
+ page_token:
+ description: |
+ An opaque token that allows pagination for list operations (e.g. ListNamespaces).
+
+ For an initial request of a list operation,
+ if the implementation cannot return all items in one response,
+ or if there are more items than the page limit specified in the request,
+ the implementation must return a page token in the response,
+ indicating there are more results available.
+
+ After the initial request,
+ the value of the page token from each response must be used
+ as the page token value for the next request.
+
+ Caller must interpret either `null`,
+ missing value or empty string value of the page token from
+ the implementation's response as the end of the listing results.
+ type: string
+ nullable: true
+ required:
+ - tables
+ DescribeTableRequest:
+ example:
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ id:
+ - id
+ - id
+ version: 0
+ with_table_uri: false
+ load_detailed_metadata: true
+ vend_credentials: true
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ version:
+ description: |
+ Version of the table to describe.
+ If not specified, server should resolve it to the latest version.
+ format: int64
+ minimum: 0
+ type: integer
+ with_table_uri:
+ default: false
+ description: |
+ Whether to include the table URI in the response.
+ Default is false.
+ type: boolean
+ load_detailed_metadata:
+ description: |
+ Whether to load detailed metadata that requires opening the dataset.
+ When true, the response must include all detailed metadata such as `version`, `schema`, and `stats`
+ which require reading the dataset.
+ When not set, the implementation can decide whether to return detailed metadata
+ and which parts of detailed metadata to return.
+ type: boolean
+ vend_credentials:
+ description: |
+ Whether to include vended credentials in the response `storage_options`.
+ When true, the implementation should provide vended credentials for accessing storage.
+ When not set, the implementation can decide whether to return vended credentials.
+ type: boolean
+ DescribeTableResponse:
+ example:
+ schema:
+ metadata:
+ key: metadata
+ fields:
+ - metadata:
+ key: metadata
+ nullable: true
+ name: name
+ type:
+ length: 0
+ fields:
+ - null
+ - null
+ type: type
+ - metadata:
+ key: metadata
+ nullable: true
+ name: name
+ type:
+ length: 0
+ fields:
+ - null
+ - null
+ type: type
+ metadata:
+ key: metadata
+ table_uri: table_uri
+ stats:
+ num_deleted_rows: 0
+ num_fragments: 0
+ namespace:
+ - namespace
+ - namespace
+ location: location
+ version: 0
+ table: table
+ properties:
+ owner: Ralph
+ created_at: "1452120468"
+ managed_versioning: true
+ storage_options:
+ key: storage_options
+ properties:
+ table:
+ description: |
+ Table name.
+ Only populated when `load_detailed_metadata` is true.
+ type: string
+ namespace:
+ description: |
+ The namespace identifier as a list of parts.
+ Only populated when `load_detailed_metadata` is true.
+ items:
+ type: string
+ type: array
+ version:
+ description: |
+ Table version number.
+ Only populated when `load_detailed_metadata` is true.
+ format: int64
+ minimum: 0
+ type: integer
+ location:
+ description: |
+ Table storage location (e.g., S3/GCS path).
+ type: string
+ table_uri:
+ description: |
+ Table URI. Unlike location, this field must be a complete and valid URI.
+ Only returned when `with_table_uri` is true.
+ type: string
+ schema:
+ $ref: '#/components/schemas/JsonArrowSchema'
+ storage_options:
+ additionalProperties:
+ type: string
+ description: |
+ Configuration options to be used to access storage. The available
+ options depend on the type of storage in use. These will be
+ passed directly to Lance to initialize storage access.
+ When `vend_credentials` is true, this field may include vended credentials.
+ If the vended credentials are temporary, the `expires_at_millis` key should be
+ included to indicate the millisecond timestamp when the credentials expire.
+ stats:
+ $ref: '#/components/schemas/TableBasicStats'
+ metadata:
+ additionalProperties:
+ type: string
+ description: |
+ Optional table metadata as key-value pairs. This records the information of the table
+ and requires loading the table.
+ It is only populated when `load_detailed_metadata` is true.
+ properties:
+ additionalProperties:
+ type: string
+ default: {}
+ description: "Properties stored on the table, if supported by the server.\
+ \ This records the information managed by the namespace. If the server\
+ \ does not support table properties, it should return null for this field.\
+ \ If table properties are supported, but none are set, it should return\
+ \ an empty object."
+ example:
+ owner: Ralph
+ created_at: "1452120468"
+ nullable: true
+ managed_versioning:
+ description: |
+ When true, the caller should use namespace table version operations
+ (CreateTableVersion, BatchCreateTableVersions, DescribeTableVersion, ListTableVersions, BatchDeleteTableVersions)
+ to manage table versions instead of relying on Lance's native version management.
+ type: boolean
+ TableBasicStats:
+ example:
+ num_deleted_rows: 0
+ num_fragments: 0
+ properties:
+ num_deleted_rows:
+ description: Number of deleted rows in the table
+ minimum: 0
+ type: integer
+ num_fragments:
+ description: Number of fragments in the table
+ minimum: 0
+ type: integer
+ required:
+ - num_deleted_rows
+ - num_fragments
+ CountTableRowsRequest:
+ example:
+ predicate: predicate
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ id:
+ - id
+ - id
+ version: 0
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ version:
+ description: |
+ Version of the table to describe.
+ If not specified, server should resolve it to the latest version.
+ format: int64
+ minimum: 0
+ type: integer
+ predicate:
+ description: |
+ Optional SQL predicate to filter rows for counting
+ type: string
+ CountTableRowsResponse:
+ description: |
+ Response containing the count of rows.
+ Serializes transparently as just the number for backward compatibility.
+ format: int64
+ minimum: 0
+ type: integer
+ InsertIntoTableRequest:
+ description: |
+ Request for inserting records into a table, excluding the Arrow IPC stream.
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ mode:
+ default: append
+ description: |
+ How the insert should behave. Case insensitive, supports both PascalCase and snake_case. Valid values are:
+ - Append (default): insert data to the existing table
+ - Overwrite: remove all data in the table and then insert data to it
+ type: string
+ InsertIntoTableResponse:
+ description: Response from inserting records into a table
+ example:
+ transaction_id: transaction_id
+ properties:
+ transaction_id:
+ description: Optional transaction identifier
+ type: string
+ MergeInsertIntoTableRequest:
+ description: |
+ Request for merging or inserting records into a table, excluding the Arrow IPC stream.
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ "on":
+ description: Column name to use for matching rows (required)
+ type: string
+ when_matched_update_all:
+ default: false
+ description: Update all columns when rows match
+ type: boolean
+ when_matched_update_all_filt:
+ description: The row is updated (similar to UpdateAll) only for rows where
+ the SQL expression evaluates to true
+ type: string
+ when_not_matched_insert_all:
+ default: false
+ description: Insert all columns when rows don't match
+ type: boolean
+ when_not_matched_by_source_delete:
+ default: false
+ description: Delete all rows from target table that don't match a row in
+ the source table
+ type: boolean
+ when_not_matched_by_source_delete_filt:
+ description: Delete rows from the target table if there is no match AND
+ the SQL expression evaluates to true
+ type: string
+ timeout:
+ description: "Timeout for the operation (e.g., \"30s\", \"5m\")"
+ type: string
+ use_index:
+ default: false
+ description: Whether to use index for matching rows
+ type: boolean
+ MergeInsertIntoTableResponse:
+ description: Response from merge insert operation
+ example:
+ transaction_id: transaction_id
+ num_inserted_rows: 0
+ num_updated_rows: 0
+ num_deleted_rows: 0
+ version: 0
+ properties:
+ transaction_id:
+ description: Optional transaction identifier
+ type: string
+ num_updated_rows:
+ description: Number of rows updated
+ format: int64
+ minimum: 0
+ type: integer
+ num_inserted_rows:
+ description: Number of rows inserted
+ format: int64
+ minimum: 0
+ type: integer
+ num_deleted_rows:
+ description: Number of rows deleted (typically 0 for merge insert)
+ format: int64
+ minimum: 0
+ type: integer
+ version:
+ description: The commit version associated with the operation
+ format: int64
+ minimum: 0
+ type: integer
+ UpdateTableRequest:
+ description: |
+ Each update consists of a column name and an SQL expression that will be
+ evaluated against the current row's value. Optionally, a predicate can be
+ provided to filter which rows to update.
+ example:
+ predicate: predicate
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ id:
+ - id
+ - id
+ updates:
+ - - updates
+ - updates
+ - - updates
+ - updates
+ properties:
+ key: properties
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ predicate:
+ description: Optional SQL predicate to filter rows for update
+ type: string
+ nullable: true
+ updates:
+ description: "List of column updates as [column_name, expression] pairs"
+ items:
+ items:
+ type: string
+ maxItems: 2
+ minItems: 2
+ type: array
+ type: array
+ properties:
+ additionalProperties:
+ type: string
+ description: |
+ Properties stored on the table, if supported by the implementation.
+ required:
+ - updates
+ UpdateTableResponse:
+ example:
+ transaction_id: transaction_id
+ updated_rows: 0
+ version: 0
+ properties:
+ key: properties
+ properties:
+ transaction_id:
+ description: Optional transaction identifier
+ type: string
+ updated_rows:
+ description: Number of rows updated
+ format: int64
+ minimum: 0
+ type: integer
+ version:
+ description: The commit version associated with the operation
+ format: int64
+ minimum: 0
+ type: integer
+ properties:
+ additionalProperties:
+ type: string
+ description: |
+ If the implementation does not support table properties, it should return null for this field. Otherwise, it should return the properties.
+ required:
+ - updated_rows
+ - version
+ DeleteFromTableRequest:
+ description: |
+ Delete data from table based on a SQL predicate.
+ Returns the number of rows that were deleted.
+ example:
+ predicate: predicate
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ id:
+ - id
+ - id
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ description: The namespace identifier
+ items:
+ type: string
+ type: array
+ predicate:
+ description: SQL predicate to filter rows for deletion
+ type: string
+ required:
+ - predicate
+ DeleteFromTableResponse:
+ example:
+ transaction_id: transaction_id
+ version: 0
+ properties:
+ transaction_id:
+ description: Optional transaction identifier
+ type: string
+ version:
+ description: The commit version associated with the operation
+ format: int64
+ minimum: 0
+ type: integer
+ QueryTableRequest:
+ example:
+ ef: 0
+ offset: 0
+ columns:
+ column_aliases:
+ key: column_aliases
+ column_names:
+ - column_names
+ - column_names
+ vector_column: vector_column
+ fast_search: true
+ k: 0
+ upper_bound: 1.2315135
+ version: 0
+ with_row_id: true
+ prefilter: true
+ filter: filter
+ refine_factor: 0
+ full_text_query:
+ string_query:
+ columns:
+ - columns
+ - columns
+ query: query
+ structured_query:
+ query:
+ boolean:
+ must_not:
+ - null
+ - null
+ should:
+ - null
+ - null
+ must:
+ - null
+ - null
+ phrase:
+ terms: terms
+ column: column
+ slop: 0
+ match:
+ fuzziness: 0
+ terms: terms
+ column: column
+ boost: 6.0274563
+ prefix_length: 0
+ operator: operator
+ max_expansions: 0
+ boost:
+ negative: null
+ negative_boost: 7.0614014
+ positive: null
+ multi_match:
+ match_queries:
+ - fuzziness: 0
+ terms: terms
+ column: column
+ boost: 6.0274563
+ prefix_length: 0
+ operator: operator
+ max_expansions: 0
+ - fuzziness: 0
+ terms: terms
+ column: column
+ boost: 6.0274563
+ prefix_length: 0
+ operator: operator
+ max_expansions: 0
+ distance_type: distance_type
+ lower_bound: 3.6160767
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ bypass_vector_index: true
+ nprobes: 0
+ context:
+ key: context
+ vector:
+ single_vector:
+ - 1.0246457
+ - 1.0246457
+ multi_vector:
+ - - 1.4894159
+ - 1.4894159
+ - - 1.4894159
+ - 1.4894159
+ id:
+ - id
+ - id
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ bypass_vector_index:
+ description: Whether to bypass vector index
+ type: boolean
+ columns:
+ $ref: '#/components/schemas/QueryTableRequest_columns'
+ distance_type:
+ description: Distance metric to use
+ type: string
+ ef:
+ description: Search effort parameter for HNSW index
+ minimum: 0
+ type: integer
+ fast_search:
+ description: Whether to use fast search
+ type: boolean
+ filter:
+ description: Optional SQL filter expression
+ type: string
+ full_text_query:
+ $ref: '#/components/schemas/QueryTableRequest_full_text_query'
+ k:
+ description: Number of results to return
+ minimum: 0
+ type: integer
+ lower_bound:
+ description: Lower bound for search
+ format: float
+ type: number
+ nprobes:
+ description: Number of probes for IVF index
+ minimum: 0
+ type: integer
+ offset:
+ description: Number of results to skip
+ minimum: 0
+ type: integer
+ prefilter:
+ description: Whether to apply filtering before vector search
+ type: boolean
+ refine_factor:
+ description: Refine factor for search
+ format: int32
+ minimum: 0
+ type: integer
+ upper_bound:
+ description: Upper bound for search
+ format: float
+ type: number
+ vector:
+ $ref: '#/components/schemas/QueryTableRequest_vector'
+ vector_column:
+ description: Name of the vector column to search
+ type: string
+ version:
+ description: Table version to query
+ format: int64
+ minimum: 0
+ type: integer
+ with_row_id:
+ description: "If true, return the row id as a column called `_rowid`"
+ type: boolean
+ required:
+ - k
+ - vector
+ CreateTableIndexRequest:
+ example:
+ base_tokenizer: base_tokenizer
+ column: column
+ max_token_length: 0
+ language: language
+ index_type: index_type
+ with_position: true
+ lower_case: true
+ distance_type: distance_type
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ name: name
+ ascii_folding: true
+ id:
+ - id
+ - id
+ remove_stop_words: true
+ stem: true
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ column:
+ description: Name of the column to create index on
+ type: string
+ index_type:
+ description: "Type of index to create (e.g., BTREE, BITMAP, LABEL_LIST,\
+ \ IVF_FLAT, IVF_PQ, IVF_HNSW_SQ, FTS)"
+ type: string
+ name:
+ description: "Optional name for the index. If not provided, a name will\
+ \ be auto-generated."
+ type: string
+ nullable: true
+ distance_type:
+ description: "Distance metric type for vector indexes (e.g., l2, cosine,\
+ \ dot)"
+ type: string
+ with_position:
+ description: Optional FTS parameter for position tracking
+ type: boolean
+ nullable: true
+ base_tokenizer:
+ description: Optional FTS parameter for base tokenizer
+ type: string
+ nullable: true
+ language:
+ description: Optional FTS parameter for language
+ type: string
+ nullable: true
+ max_token_length:
+ description: Optional FTS parameter for maximum token length
+ minimum: 0
+ type: integer
+ nullable: true
+ lower_case:
+ description: Optional FTS parameter for lowercase conversion
+ type: boolean
+ nullable: true
+ stem:
+ description: Optional FTS parameter for stemming
+ type: boolean
+ nullable: true
+ remove_stop_words:
+ description: Optional FTS parameter for stop word removal
+ type: boolean
+ nullable: true
+ ascii_folding:
+ description: Optional FTS parameter for ASCII folding
+ type: boolean
+ nullable: true
+ required:
+ - column
+ - index_type
+ CreateTableIndexResponse:
+ description: Response for create index operation
+ example:
+ transaction_id: transaction_id
+ properties:
+ transaction_id:
+ description: Optional transaction identifier
+ type: string
+ CreateTableScalarIndexResponse:
+ description: Response for create scalar index operation
+ example:
+ transaction_id: transaction_id
+ properties:
+ transaction_id:
+ description: Optional transaction identifier
+ type: string
+ ListTableIndicesRequest:
+ example:
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ page_token: page_token
+ limit: 6
+ id:
+ - id
+ - id
+ version: 0
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ description: The namespace identifier
+ items:
+ type: string
+ type: array
+ version:
+ description: Optional table version to list indexes from
+ format: int64
+ minimum: 0
+ type: integer
+ nullable: true
+ page_token:
+ description: |
+ An opaque token that allows pagination for list operations (e.g. ListNamespaces).
+
+ For an initial request of a list operation,
+ if the implementation cannot return all items in one response,
+ or if there are more items than the page limit specified in the request,
+ the implementation must return a page token in the response,
+ indicating there are more results available.
+
+ After the initial request,
+ the value of the page token from each response must be used
+ as the page token value for the next request.
+
+ Caller must interpret either `null`,
+ missing value or empty string value of the page token from
+ the implementation's response as the end of the listing results.
+ type: string
+ nullable: true
+ limit:
+ description: |
+ An inclusive upper bound of the
+ number of results that a caller will receive.
+ type: integer
+ nullable: true
+ ListTableIndicesResponse:
+ example:
+ indexes:
+ - index_uuid: index_uuid
+ columns:
+ - columns
+ - columns
+ index_name: index_name
+ status: status
+ - index_uuid: index_uuid
+ columns:
+ - columns
+ - columns
+ index_name: index_name
+ status: status
+ page_token: page_token
+ properties:
+ indexes:
+ description: List of indexes on the table
+ items:
+ $ref: '#/components/schemas/IndexContent'
+ type: array
+ page_token:
+ description: |
+ An opaque token that allows pagination for list operations (e.g. ListNamespaces).
+
+ For an initial request of a list operation,
+ if the implementation cannot return all items in one response,
+ or if there are more items than the page limit specified in the request,
+ the implementation must return a page token in the response,
+ indicating there are more results available.
+
+ After the initial request,
+ the value of the page token from each response must be used
+ as the page token value for the next request.
+
+ Caller must interpret either `null`,
+ missing value or empty string value of the page token from
+ the implementation's response as the end of the listing results.
+ type: string
+ nullable: true
+ required:
+ - indexes
+ IndexContent:
+ example:
+ index_uuid: index_uuid
+ columns:
+ - columns
+ - columns
+ index_name: index_name
+ status: status
+ properties:
+ index_name:
+ description: Name of the index
+ type: string
+ index_uuid:
+ description: Unique identifier for the index
+ type: string
+ columns:
+ description: Columns covered by this index
+ items:
+ type: string
+ type: array
+ status:
+ description: Current status of the index
+ type: string
+ required:
+ - columns
+ - index_name
+ - index_uuid
+ - status
+ DescribeTableIndexStatsRequest:
+ example:
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ id:
+ - id
+ - id
+ version: 0
+ index_name: index_name
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ version:
+ description: Optional table version to get stats for
+ format: int64
+ minimum: 0
+ type: integer
+ nullable: true
+ index_name:
+ description: Name of the index
+ type: string
+ DescribeTableIndexStatsResponse:
+ example:
+ num_indices: 0
+ distance_type: distance_type
+ num_unindexed_rows: 0
+ num_indexed_rows: 0
+ index_type: index_type
+ properties:
+ distance_type:
+ description: Distance type for vector indexes
+ type: string
+ nullable: true
+ index_type:
+ description: Type of the index
+ type: string
+ nullable: true
+ num_indexed_rows:
+ description: Number of indexed rows
+ format: int64
+ minimum: 0
+ type: integer
+ nullable: true
+ num_unindexed_rows:
+ description: Number of unindexed rows
+ format: int64
+ minimum: 0
+ type: integer
+ nullable: true
+ num_indices:
+ description: Number of indices
+ format: int32
+ minimum: 0
+ type: integer
+ nullable: true
+ JsonArrowSchema:
+ description: |
+ JSON representation of a Apache Arrow schema.
+ example:
+ metadata:
+ key: metadata
+ fields:
+ - metadata:
+ key: metadata
+ nullable: true
+ name: name
+ type:
+ length: 0
+ fields:
+ - null
+ - null
+ type: type
+ - metadata:
+ key: metadata
+ nullable: true
+ name: name
+ type:
+ length: 0
+ fields:
+ - null
+ - null
+ type: type
+ properties:
+ fields:
+ items:
+ $ref: '#/components/schemas/JsonArrowField'
+ type: array
+ metadata:
+ additionalProperties:
+ type: string
+ required:
+ - fields
+ JsonArrowField:
+ description: |
+ JSON representation of an Apache Arrow field.
+ example:
+ metadata:
+ key: metadata
+ nullable: true
+ name: name
+ type:
+ length: 0
+ fields:
+ - null
+ - null
+ type: type
+ properties:
+ metadata:
+ additionalProperties:
+ type: string
+ name:
+ type: string
+ nullable:
+ type: boolean
+ type:
+ $ref: '#/components/schemas/JsonArrowDataType'
+ required:
+ - name
+ - nullable
+ - type
+ JsonArrowDataType:
+ description: JSON representation of an Apache Arrow DataType
+ example:
+ length: 0
+ fields:
+ - null
+ - null
+ type: type
+ properties:
+ fields:
+ description: "Fields for complex types like Struct, Union, etc."
+ items:
+ $ref: '#/components/schemas/JsonArrowField'
+ type: array
+ length:
+ description: Length for fixed-size types
+ format: int64
+ minimum: 0
+ type: integer
+ type:
+ description: The data type name
+ type: string
+ required:
+ - type
+ Binary:
+ format: binary
+ type: string
+ CreateTableRequest:
+ description: |
+ Request for creating a table, excluding the Arrow IPC stream.
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ mode:
+ description: |
+ There are three modes when trying to create a table,
+ to differentiate the behavior when a table of the same name already exists.
+ Case insensitive, supports both PascalCase and snake_case. Valid values are:
+ * Create: the operation fails with 409.
+ * ExistOk: the operation succeeds and the existing table is kept.
+ * Overwrite: the existing table is dropped and a new table with this name is created.
+ type: string
+ properties:
+ additionalProperties:
+ type: string
+ description: |
+ Properties stored on the table, if supported by the implementation.
+ CreateTableResponse:
+ example:
+ transaction_id: transaction_id
+ location: location
+ version: 0
+ properties:
+ owner: Ralph
+ created_at: "1452120468"
+ storage_options:
+ key: storage_options
+ properties:
+ transaction_id:
+ description: Optional transaction identifier
+ type: string
+ location:
+ type: string
+ version:
+ format: int64
+ minimum: 0
+ type: integer
+ storage_options:
+ additionalProperties:
+ type: string
+ description: |
+ Configuration options to be used to access storage. The available
+ options depend on the type of storage in use. These will be
+ passed directly to Lance to initialize storage access.
+ properties:
+ additionalProperties:
+ type: string
+ default: {}
+ description: |
+ If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties.
+ example:
+ owner: Ralph
+ created_at: "1452120468"
+ nullable: true
+ CreateEmptyTableRequest:
+ deprecated: true
+ description: |
+ Request for creating an empty table.
+
+ **Deprecated**: Use `DeclareTableRequest` instead.
+ example:
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ location: location
+ id:
+ - id
+ - id
+ properties:
+ key: properties
+ vend_credentials: true
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ location:
+ description: |
+ Optional storage location for the table.
+ If not provided, the namespace implementation should determine the table location.
+ type: string
+ vend_credentials:
+ description: |
+ Whether to include vended credentials in the response `storage_options`.
+ When true, the implementation should provide vended credentials for accessing storage.
+ When not set, the implementation can decide whether to return vended credentials.
+ type: boolean
+ properties:
+ additionalProperties:
+ type: string
+ description: |
+ Properties stored on the table, if supported by the server.
+ CreateEmptyTableResponse:
+ deprecated: true
+ description: |
+ Response for creating an empty table.
+
+ **Deprecated**: Use `DeclareTableResponse` instead.
+ example:
+ transaction_id: transaction_id
+ location: location
+ properties:
+ owner: Ralph
+ created_at: "1452120468"
+ storage_options:
+ key: storage_options
+ properties:
+ transaction_id:
+ description: Optional transaction identifier
+ type: string
+ location:
+ type: string
+ storage_options:
+ additionalProperties:
+ type: string
+ description: |
+ Configuration options to be used to access storage. The available
+ options depend on the type of storage in use. These will be
+ passed directly to Lance to initialize storage access.
+ properties:
+ additionalProperties:
+ type: string
+ default: {}
+ description: |
+ If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties.
+ example:
+ owner: Ralph
+ created_at: "1452120468"
+ nullable: true
+ DeclareTableRequest:
+ description: |
+ Request for declaring a table.
+ example:
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ location: location
+ id:
+ - id
+ - id
+ properties:
+ key: properties
+ vend_credentials: true
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ location:
+ description: |
+ Optional storage location for the table.
+ If not provided, the namespace implementation should determine the table location.
+ type: string
+ vend_credentials:
+ description: |
+ Whether to include vended credentials in the response `storage_options`.
+ When true, the implementation should provide vended credentials for accessing storage.
+ When not set, the implementation can decide whether to return vended credentials.
+ type: boolean
+ properties:
+ additionalProperties:
+ type: string
+ description: |
+ Properties stored on the table, if supported by the server.
+ DeclareTableResponse:
+ description: |
+ Response for declaring a table.
+ example:
+ transaction_id: transaction_id
+ location: location
+ properties:
+ owner: Ralph
+ created_at: "1452120468"
+ managed_versioning: true
+ storage_options:
+ key: storage_options
+ properties:
+ transaction_id:
+ description: Optional transaction identifier
+ type: string
+ location:
+ type: string
+ storage_options:
+ additionalProperties:
+ type: string
+ description: |
+ Configuration options to be used to access storage. The available
+ options depend on the type of storage in use. These will be
+ passed directly to Lance to initialize storage access.
+ properties:
+ additionalProperties:
+ type: string
+ default: {}
+ description: |
+ If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties.
+ example:
+ owner: Ralph
+ created_at: "1452120468"
+ nullable: true
+ managed_versioning:
+ description: |
+ When true, the caller should use namespace table version operations
+ (CreateTableVersion, BatchCreateTableVersions, DescribeTableVersion, ListTableVersions, BatchDeleteTableVersions)
+ to manage table versions instead of relying on Lance's native version management.
+ type: boolean
+ TableExistsRequest:
+ example:
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ id:
+ - id
+ - id
+ version: 0
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ version:
+ description: |
+ Version of the table to check existence.
+ If not specified, server should resolve it to the latest version.
+ format: int64
+ minimum: 0
+ type: integer
+ TransactionStatus:
+ description: |
+ The status of a transaction.
+ Case insensitive, supports both PascalCase and snake_case. Valid values are:
+ - Queued: the transaction is queued and not yet started
+ - Running: the transaction is currently running
+ - Succeeded: the transaction has completed successfully
+ - Failed: the transaction has failed
+ - Canceled: the transaction was canceled
+ type: string
+ DescribeTransactionRequest:
+ example:
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ id:
+ - id
+ - id
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ DescribeTransactionResponse:
+ example:
+ properties:
+ key: properties
+ status: status
+ properties:
+ status:
+ description: |
+ The status of a transaction.
+ Case insensitive, supports both PascalCase and snake_case. Valid values are:
+ - Queued: the transaction is queued and not yet started
+ - Running: the transaction is currently running
+ - Succeeded: the transaction has completed successfully
+ - Failed: the transaction has failed
+ - Canceled: the transaction was canceled
+ type: string
+ properties:
+ additionalProperties:
+ type: string
+ required:
+ - status
+ AlterTransactionSetStatus:
+ example:
+ status: status
+ properties:
+ status:
+ description: |
+ The status of a transaction.
+ Case insensitive, supports both PascalCase and snake_case. Valid values are:
+ - Queued: the transaction is queued and not yet started
+ - Running: the transaction is currently running
+ - Succeeded: the transaction has completed successfully
+ - Failed: the transaction has failed
+ - Canceled: the transaction was canceled
+ type: string
+ AlterTransactionSetProperty:
+ example:
+ mode: mode
+ value: value
+ key: key
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ mode:
+ description: |
+ The behavior if the property key already exists.
+ Case insensitive, supports both PascalCase and snake_case. Valid values are:
+ - Overwrite (default): overwrite the existing value with the provided value
+ - Fail: fail the entire operation
+ - Skip: keep the existing value and skip setting the provided value
+ type: string
+ SetPropertyMode:
+ description: |
+ The behavior if the property key already exists.
+ Case insensitive, supports both PascalCase and snake_case. Valid values are:
+ - Overwrite (default): overwrite the existing value with the provided value
+ - Fail: fail the entire operation
+ - Skip: keep the existing value and skip setting the provided value
+ type: string
+ AlterTransactionUnsetProperty:
+ example:
+ mode: mode
+ key: key
+ properties:
+ key:
+ type: string
+ mode:
+ description: |
+ The behavior if the property key to unset does not exist.
+ Case insensitive, supports both PascalCase and snake_case. Valid values are:
+ - Skip (default): skip the property to unset
+ - Fail: fail the entire operation
+ type: string
+ UnsetPropertyMode:
+ description: |
+ The behavior if the property key to unset does not exist.
+ Case insensitive, supports both PascalCase and snake_case. Valid values are:
+ - Skip (default): skip the property to unset
+ - Fail: fail the entire operation
+ type: string
+ AlterTransactionAction:
+ description: |
+ A single action that could be performed to alter a transaction.
+ This action holds the model definition for all types of specific actions models,
+ this is to minimize difference and compatibility issue across codegen in different languages.
+ When used, only one of the actions should be non-null for each action.
+ If you would like to perform multiple actions, set a list of actions in the AlterTransactionRequest.
+ example:
+ setStatusAction:
+ status: status
+ unsetPropertyAction:
+ mode: mode
+ key: key
+ setPropertyAction:
+ mode: mode
+ value: value
+ key: key
+ properties:
+ setStatusAction:
+ $ref: '#/components/schemas/AlterTransactionSetStatus'
+ setPropertyAction:
+ $ref: '#/components/schemas/AlterTransactionSetProperty'
+ unsetPropertyAction:
+ $ref: '#/components/schemas/AlterTransactionUnsetProperty'
+ AlterTransactionRequest:
+ description: |
+ Alter a transaction with a list of actions.
+ The server should either succeed and apply all actions, or fail and apply no action.
+ example:
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ id:
+ - id
+ - id
+ actions:
+ - setStatusAction:
+ status: status
+ unsetPropertyAction:
+ mode: mode
+ key: key
+ setPropertyAction:
+ mode: mode
+ value: value
+ key: key
+ - setStatusAction:
+ status: status
+ unsetPropertyAction:
+ mode: mode
+ key: key
+ setPropertyAction:
+ mode: mode
+ value: value
+ key: key
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ actions:
+ items:
+ $ref: '#/components/schemas/AlterTransactionAction'
+ minItems: 1
+ type: array
+ required:
+ - actions
+ AlterTransactionResponse:
+ example:
+ properties:
+ key: properties
+ status: status
+ properties:
+ status:
+ description: |
+ The status of a transaction.
+ Case insensitive, supports both PascalCase and snake_case. Valid values are:
+ - Queued: the transaction is queued and not yet started
+ - Running: the transaction is currently running
+ - Succeeded: the transaction has completed successfully
+ - Failed: the transaction has failed
+ - Canceled: the transaction was canceled
+ type: string
+ properties:
+ additionalProperties:
+ type: string
+ required:
+ - status
+ DropTableRequest:
+ description: |
+ If the table and its data can be immediately deleted, return information of the deleted table.
+ Otherwise, return a transaction ID that client can use to track deletion progress.
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ DropTableResponse:
+ example:
+ transaction_id: transaction_id
+ location: location
+ id:
+ - id
+ - id
+ properties:
+ owner: Ralph
+ created_at: "1452120468"
+ properties:
+ transaction_id:
+ description: Optional transaction identifier
+ type: string
+ id:
+ items:
+ type: string
+ type: array
+ location:
+ type: string
+ properties:
+ additionalProperties:
+ type: string
+ default: {}
+ description: |
+ If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties.
+ example:
+ owner: Ralph
+ created_at: "1452120468"
+ nullable: true
+ DeregisterTableRequest:
+ description: |
+ The table content remains available in the storage.
+ example:
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ id:
+ - id
+ - id
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ DeregisterTableResponse:
+ example:
+ transaction_id: transaction_id
+ location: location
+ id:
+ - id
+ - id
+ properties:
+ owner: Ralph
+ created_at: "1452120468"
+ properties:
+ transaction_id:
+ description: Optional transaction identifier
+ type: string
+ id:
+ items:
+ type: string
+ type: array
+ location:
+ type: string
+ properties:
+ additionalProperties:
+ type: string
+ default: {}
+ description: |
+ If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties.
+ example:
+ owner: Ralph
+ created_at: "1452120468"
+ nullable: true
+ StringFtsQuery:
+ example:
+ columns:
+ - columns
+ - columns
+ query: query
+ properties:
+ columns:
+ items:
+ type: string
+ type: array
+ query:
+ type: string
+ required:
+ - query
+ StructuredFtsQuery:
+ example:
+ query:
+ boolean:
+ must_not:
+ - null
+ - null
+ should:
+ - null
+ - null
+ must:
+ - null
+ - null
+ phrase:
+ terms: terms
+ column: column
+ slop: 0
+ match:
+ fuzziness: 0
+ terms: terms
+ column: column
+ boost: 6.0274563
+ prefix_length: 0
+ operator: operator
+ max_expansions: 0
+ boost:
+ negative: null
+ negative_boost: 7.0614014
+ positive: null
+ multi_match:
+ match_queries:
+ - fuzziness: 0
+ terms: terms
+ column: column
+ boost: 6.0274563
+ prefix_length: 0
+ operator: operator
+ max_expansions: 0
+ - fuzziness: 0
+ terms: terms
+ column: column
+ boost: 6.0274563
+ prefix_length: 0
+ operator: operator
+ max_expansions: 0
+ properties:
+ query:
+ $ref: '#/components/schemas/FtsQuery'
+ required:
+ - query
+ FtsQuery:
+ description: |
+ Full-text search query. Exactly one query type field must be provided.
+ This structure follows the same pattern as AlterTransactionAction to minimize
+ differences and compatibility issues across codegen in different languages.
+ example:
+ boolean:
+ must_not:
+ - null
+ - null
+ should:
+ - null
+ - null
+ must:
+ - null
+ - null
+ phrase:
+ terms: terms
+ column: column
+ slop: 0
+ match:
+ fuzziness: 0
+ terms: terms
+ column: column
+ boost: 6.0274563
+ prefix_length: 0
+ operator: operator
+ max_expansions: 0
+ boost:
+ negative: null
+ negative_boost: 7.0614014
+ positive: null
+ multi_match:
+ match_queries:
+ - fuzziness: 0
+ terms: terms
+ column: column
+ boost: 6.0274563
+ prefix_length: 0
+ operator: operator
+ max_expansions: 0
+ - fuzziness: 0
+ terms: terms
+ column: column
+ boost: 6.0274563
+ prefix_length: 0
+ operator: operator
+ max_expansions: 0
+ properties:
+ match:
+ $ref: '#/components/schemas/MatchQuery'
+ phrase:
+ $ref: '#/components/schemas/PhraseQuery'
+ boost:
+ $ref: '#/components/schemas/BoostQuery'
+ multi_match:
+ $ref: '#/components/schemas/MultiMatchQuery'
+ boolean:
+ $ref: '#/components/schemas/BooleanQuery'
+ MatchQuery:
+ example:
+ fuzziness: 0
+ terms: terms
+ column: column
+ boost: 6.0274563
+ prefix_length: 0
+ operator: operator
+ max_expansions: 0
+ properties:
+ boost:
+ format: float
+ type: number
+ column:
+ type: string
+ fuzziness:
+ format: int32
+ minimum: 0
+ type: integer
+ max_expansions:
+ description: |-
+ The maximum number of terms to expand for fuzzy matching.
+ Default to 50.
+ minimum: 0
+ type: integer
+ operator:
+ description: |
+ The operator to use for combining terms.
+ Case insensitive, supports both PascalCase and snake_case. Valid values are:
+ - And: All terms must match.
+ - Or: At least one term must match.
+ type: string
+ prefix_length:
+ description: |-
+ The number of beginning characters being unchanged for fuzzy matching.
+ Default to 0.
+ format: int32
+ minimum: 0
+ type: integer
+ terms:
+ type: string
+ required:
+ - terms
+ PhraseQuery:
+ example:
+ terms: terms
+ column: column
+ slop: 0
+ properties:
+ column:
+ type: string
+ slop:
+ format: int32
+ minimum: 0
+ type: integer
+ terms:
+ type: string
+ required:
+ - terms
+ BoostQuery:
+ description: Boost query that scores documents matching positive query higher
+ and negative query lower
+ example:
+ negative: null
+ negative_boost: 7.0614014
+ positive: null
+ properties:
+ positive:
+ $ref: '#/components/schemas/FtsQuery'
+ negative:
+ $ref: '#/components/schemas/FtsQuery'
+ negative_boost:
+ default: 0.5
+ description: "Boost factor for negative query (default: 0.5)"
+ format: float
+ type: number
+ required:
+ - negative
+ - positive
+ MultiMatchQuery:
+ example:
+ match_queries:
+ - fuzziness: 0
+ terms: terms
+ column: column
+ boost: 6.0274563
+ prefix_length: 0
+ operator: operator
+ max_expansions: 0
+ - fuzziness: 0
+ terms: terms
+ column: column
+ boost: 6.0274563
+ prefix_length: 0
+ operator: operator
+ max_expansions: 0
+ properties:
+ match_queries:
+ items:
+ $ref: '#/components/schemas/MatchQuery'
+ type: array
+ required:
+ - match_queries
+ BooleanQuery:
+ description: "Boolean query with must, should, and must_not clauses"
+ example:
+ must_not:
+ - null
+ - null
+ should:
+ - null
+ - null
+ must:
+ - null
+ - null
+ properties:
+ must:
+ description: Queries that must match (AND)
+ items:
+ $ref: '#/components/schemas/FtsQuery'
+ type: array
+ must_not:
+ description: Queries that must not match (NOT)
+ items:
+ $ref: '#/components/schemas/FtsQuery'
+ type: array
+ should:
+ description: Queries that should match (OR)
+ items:
+ $ref: '#/components/schemas/FtsQuery'
+ type: array
+ required:
+ - must
+ - must_not
+ - should
+ Operator:
+ description: |
+ The operator to use for combining terms.
+ Case insensitive, supports both PascalCase and snake_case. Valid values are:
+ - And: All terms must match.
+ - Or: At least one term must match.
+ type: string
+ GetTableTagVersionRequest:
+ example:
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ id:
+ - id
+ - id
+ tag: tag
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ tag:
+ description: Name of the tag to get version for
+ type: string
+ required:
+ - tag
+ GetTableTagVersionResponse:
+ example:
+ version: 0
+ properties:
+ version:
+ description: version number that the tag points to
+ format: int64
+ minimum: 0
+ type: integer
+ required:
+ - version
+ CreateTableTagRequest:
+ example:
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ id:
+ - id
+ - id
+ tag: tag
+ version: 0
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ tag:
+ description: Name of the tag to create
+ type: string
+ version:
+ description: Version number for the tag to point to
+ format: int64
+ minimum: 0
+ type: integer
+ required:
+ - tag
+ - version
+ CreateTableTagResponse:
+ description: Response for create tag operation
+ example:
+ transaction_id: transaction_id
+ properties:
+ transaction_id:
+ description: Optional transaction identifier
+ type: string
+ DeleteTableTagRequest:
+ example:
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ id:
+ - id
+ - id
+ tag: tag
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ tag:
+ description: Name of the tag to delete
+ type: string
+ required:
+ - tag
+ DeleteTableTagResponse:
+ description: Response for delete tag operation
+ example:
+ transaction_id: transaction_id
+ properties:
+ transaction_id:
+ description: Optional transaction identifier
+ type: string
+ UpdateTableTagRequest:
+ example:
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ id:
+ - id
+ - id
+ tag: tag
+ version: 0
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ tag:
+ description: Name of the tag to update
+ type: string
+ version:
+ description: New version number for the tag to point to
+ format: int64
+ minimum: 0
+ type: integer
+ required:
+ - tag
+ - version
+ UpdateTableTagResponse:
+ description: Response for update tag operation
+ example:
+ transaction_id: transaction_id
+ properties:
+ transaction_id:
+ description: Optional transaction identifier
+ type: string
+ ListTableTagsRequest:
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ description: The table identifier
+ items:
+ type: string
+ type: array
+ page_token:
+ description: |
+ An opaque token that allows pagination for list operations (e.g. ListNamespaces).
+
+ For an initial request of a list operation,
+ if the implementation cannot return all items in one response,
+ or if there are more items than the page limit specified in the request,
+ the implementation must return a page token in the response,
+ indicating there are more results available.
+
+ After the initial request,
+ the value of the page token from each response must be used
+ as the page token value for the next request.
+
+ Caller must interpret either `null`,
+ missing value or empty string value of the page token from
+ the implementation's response as the end of the listing results.
+ type: string
+ nullable: true
+ limit:
+ description: |
+ An inclusive upper bound of the
+ number of results that a caller will receive.
+ type: integer
+ nullable: true
+ ListTableTagsResponse:
+ description: Response containing table tags
+ example:
+ page_token: page_token
+ tags:
+ key:
+ branch: branch
+ version: 0
+ manifestSize: 0
+ properties:
+ tags:
+ additionalProperties:
+ $ref: '#/components/schemas/TagContents'
+ description: Map of tag names to their contents
+ page_token:
+ description: |
+ An opaque token that allows pagination for list operations (e.g. ListNamespaces).
+
+ For an initial request of a list operation,
+ if the implementation cannot return all items in one response,
+ or if there are more items than the page limit specified in the request,
+ the implementation must return a page token in the response,
+ indicating there are more results available.
+
+ After the initial request,
+ the value of the page token from each response must be used
+ as the page token value for the next request.
+
+ Caller must interpret either `null`,
+ missing value or empty string value of the page token from
+ the implementation's response as the end of the listing results.
+ type: string
+ nullable: true
+ required:
+ - tags
+ TagContents:
+ example:
+ branch: branch
+ version: 0
+ manifestSize: 0
+ properties:
+ branch:
+ description: Branch name that the tag was created on (if any)
+ type: string
+ version:
+ description: Version number that the tag points to
+ format: int64
+ minimum: 0
+ type: integer
+ manifestSize:
+ description: Size of the manifest file in bytes
+ format: int64
+ minimum: 0
+ type: integer
+ required:
+ - manifestSize
+ - version
+ RestoreTableRequest:
+ example:
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ id:
+ - id
+ - id
+ version: 0
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ version:
+ description: Version to restore to
+ format: int64
+ minimum: 0
+ type: integer
+ required:
+ - version
+ RestoreTableResponse:
+ description: Response for restore table operation
+ example:
+ transaction_id: transaction_id
+ properties:
+ transaction_id:
+ description: Optional transaction identifier
+ type: string
+ RenameTableRequest:
+ example:
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ new_table_name: new_table_name
+ id:
+ - id
+ - id
+ new_namespace_id:
+ - new_namespace_id
+ - new_namespace_id
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ description: The table identifier
+ items:
+ type: string
+ type: array
+ new_table_name:
+ description: New name for the table
+ type: string
+ new_namespace_id:
+ description: "New namespace identifier to move the table to (optional, if\
+ \ not specified the table stays in the same namespace)"
+ items:
+ type: string
+ type: array
+ required:
+ - new_table_name
+ RenameTableResponse:
+ example:
+ transaction_id: transaction_id
+ properties:
+ transaction_id:
+ description: Optional transaction identifier
+ type: string
+ UpdateTableSchemaMetadataRequest:
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ description: The table identifier
+ items:
+ type: string
+ type: array
+ metadata:
+ additionalProperties:
+ type: string
+ description: Schema metadata key-value pairs to set
+ UpdateTableSchemaMetadataResponse:
+ properties:
+ metadata:
+ additionalProperties:
+ type: string
+ description: The updated schema metadata
+ transaction_id:
+ description: Optional transaction identifier
+ type: string
+ ListTableVersionsRequest:
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ page_token:
+ description: |
+ An opaque token that allows pagination for list operations (e.g. ListNamespaces).
+
+ For an initial request of a list operation,
+ if the implementation cannot return all items in one response,
+ or if there are more items than the page limit specified in the request,
+ the implementation must return a page token in the response,
+ indicating there are more results available.
+
+ After the initial request,
+ the value of the page token from each response must be used
+ as the page token value for the next request.
+
+ Caller must interpret either `null`,
+ missing value or empty string value of the page token from
+ the implementation's response as the end of the listing results.
+ type: string
+ nullable: true
+ limit:
+ description: |
+ An inclusive upper bound of the
+ number of results that a caller will receive.
+ type: integer
+ nullable: true
+ descending:
+ description: |
+ When true, versions are guaranteed to be returned in descending order (latest to oldest).
+ When false or not specified, the ordering is implementation-defined.
+ type: boolean
+ ListTableVersionsResponse:
+ example:
+ versions:
+ - metadata:
+ key: metadata
+ manifest_path: manifest_path
+ timestamp_millis: 1
+ manifest_size: 0
+ e_tag: e_tag
+ version: 0
+ - metadata:
+ key: metadata
+ manifest_path: manifest_path
+ timestamp_millis: 1
+ manifest_size: 0
+ e_tag: e_tag
+ version: 0
+ page_token: page_token
+ properties:
+ versions:
+ description: |
+ List of table versions. When `descending=true`, guaranteed to be ordered from latest to oldest.
+ Otherwise, ordering is implementation-defined.
+ items:
+ $ref: '#/components/schemas/TableVersion'
+ type: array
+ page_token:
+ description: |
+ An opaque token that allows pagination for list operations (e.g. ListNamespaces).
+
+ For an initial request of a list operation,
+ if the implementation cannot return all items in one response,
+ or if there are more items than the page limit specified in the request,
+ the implementation must return a page token in the response,
+ indicating there are more results available.
+
+ After the initial request,
+ the value of the page token from each response must be used
+ as the page token value for the next request.
+
+ Caller must interpret either `null`,
+ missing value or empty string value of the page token from
+ the implementation's response as the end of the listing results.
+ type: string
+ nullable: true
+ required:
+ - versions
+ CreateTableVersionRequest:
+ description: |
+ Request to create a new table version entry.
+ This supports `put_if_not_exists` semantics,
+ where the operation fails if the version already exists.
+ example:
+ naming_scheme: V2
+ metadata:
+ key: metadata
+ manifest_path: manifest_path
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ manifest_size: 0
+ context:
+ key: context
+ id:
+ - id
+ - id
+ e_tag: e_tag
+ version: 0
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ description: The table identifier
+ items:
+ type: string
+ type: array
+ version:
+ description: Version number to create
+ format: int64
+ minimum: 0
+ type: integer
+ manifest_path:
+ description: Path to the manifest file for this version
+ type: string
+ manifest_size:
+ description: Size of the manifest file in bytes
+ format: int64
+ minimum: 0
+ type: integer
+ e_tag:
+ description: Optional ETag for the manifest file
+ type: string
+ metadata:
+ additionalProperties:
+ type: string
+ description: Optional metadata for the version
+ naming_scheme:
+ description: |
+ The naming scheme used for manifest files in the `_versions/` directory.
+
+ Known values:
+ - `V1`: `_versions/{version}.manifest` - Simple version-based naming
+ - `V2`: `_versions/{inverted_version}.manifest` - Zero-padded, reversed version number
+ (uses `u64::MAX - version`) for O(1) lookup of latest version on object stores
+
+ V2 is preferred for new tables as it enables efficient latest-version discovery
+ without needing to list all versions.
+ example: V2
+ type: string
+ required:
+ - manifest_path
+ - version
+ CreateTableVersionResponse:
+ description: Response for creating a table version
+ example:
+ transaction_id: transaction_id
+ version:
+ metadata:
+ key: metadata
+ manifest_path: manifest_path
+ timestamp_millis: 1
+ manifest_size: 0
+ e_tag: e_tag
+ version: 0
+ properties:
+ transaction_id:
+ description: Optional transaction identifier
+ type: string
+ version:
+ $ref: '#/components/schemas/TableVersion'
+ DescribeTableVersionRequest:
+ description: Request to describe a specific table version
+ example:
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ id:
+ - id
+ - id
+ version: 0
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ description: The table identifier
+ items:
+ type: string
+ type: array
+ version:
+ description: Version number to describe
+ format: int64
+ minimum: 0
+ type: integer
+ DescribeTableVersionResponse:
+ description: Response containing the table version information
+ example:
+ version:
+ metadata:
+ key: metadata
+ manifest_path: manifest_path
+ timestamp_millis: 1
+ manifest_size: 0
+ e_tag: e_tag
+ version: 0
+ properties:
+ version:
+ $ref: '#/components/schemas/TableVersion'
+ required:
+ - version
+ BatchDeleteTableVersionsRequest:
+ description: |
+ Request to delete table version records.
+ Supports deleting ranges of versions for efficient bulk cleanup.
+ example:
+ ranges:
+ - start_version: 0
+ end_version: 6
+ - start_version: 0
+ end_version: 6
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ id:
+ - id
+ - id
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ description: The table identifier
+ items:
+ type: string
+ type: array
+ ranges:
+ description: |
+ List of version ranges to delete.
+ Each range specifies start (inclusive) and end (exclusive) versions.
+ items:
+ $ref: '#/components/schemas/VersionRange'
+ type: array
+ required:
+ - ranges
+ VersionRange:
+ description: |
+ A range of versions to delete (start inclusive, end exclusive).
+ Special values:
+ - `start_version: 0` with `end_version: -1` means ALL versions
+ example:
+ start_version: 0
+ end_version: 6
+ properties:
+ start_version:
+ description: |
+ Start version of the range (inclusive).
+ Use 0 to start from the first version.
+ format: int64
+ type: integer
+ end_version:
+ description: |
+ End version of the range (exclusive).
+ Use -1 to indicate all versions up to and including the latest.
+ format: int64
+ type: integer
+ required:
+ - end_version
+ - start_version
+ BatchDeleteTableVersionsResponse:
+ description: Response for deleting table version records
+ example:
+ transaction_id: transaction_id
+ deleted_count: 0
+ properties:
+ deleted_count:
+ description: Number of version records deleted
+ format: int64
+ minimum: 0
+ type: integer
+ transaction_id:
+ description: Optional transaction identifier
+ type: string
+ BatchCreateTableVersionsRequest:
+ description: |
+ Request to atomically create new version entries for multiple tables.
+ The operation is atomic: all versions are created or none are.
+ example:
+ entries:
+ - naming_scheme: V2
+ metadata:
+ key: metadata
+ manifest_path: manifest_path
+ manifest_size: 0
+ id:
+ - id
+ - id
+ e_tag: e_tag
+ version: 0
+ - naming_scheme: V2
+ metadata:
+ key: metadata
+ manifest_path: manifest_path
+ manifest_size: 0
+ id:
+ - id
+ - id
+ e_tag: e_tag
+ version: 0
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ entries:
+ description: List of table version entries to create atomically
+ items:
+ $ref: '#/components/schemas/CreateTableVersionEntry'
+ type: array
+ required:
+ - entries
+ CreateTableVersionEntry:
+ description: |
+ An entry for creating a new table version in a batch operation.
+ This supports `put_if_not_exists` semantics,
+ where the operation fails if the version already exists.
+ example:
+ naming_scheme: V2
+ metadata:
+ key: metadata
+ manifest_path: manifest_path
+ manifest_size: 0
+ id:
+ - id
+ - id
+ e_tag: e_tag
+ version: 0
+ properties:
+ id:
+ description: The table identifier
+ items:
+ type: string
+ type: array
+ version:
+ description: Version number to create
+ format: int64
+ minimum: 0
+ type: integer
+ manifest_path:
+ description: Path to the manifest file for this version
+ type: string
+ manifest_size:
+ description: Size of the manifest file in bytes
+ format: int64
+ minimum: 0
+ type: integer
+ e_tag:
+ description: Optional ETag for the manifest file
+ type: string
+ metadata:
+ additionalProperties:
+ type: string
+ description: Optional metadata for the version
+ naming_scheme:
+ description: |
+ The naming scheme used for manifest files in the `_versions/` directory.
+
+ Known values:
+ - `V1`: `_versions/{version}.manifest` - Simple version-based naming
+ - `V2`: `_versions/{inverted_version}.manifest` - Zero-padded, reversed version number
+ (uses `u64::MAX - version`) for O(1) lookup of latest version on object stores
+
+ V2 is preferred for new tables as it enables efficient latest-version discovery
+ without needing to list all versions.
+ example: V2
+ type: string
+ required:
+ - id
+ - manifest_path
+ - version
+ BatchCreateTableVersionsResponse:
+ description: |
+ Response for batch creating table versions.
+ Contains the created versions for each table in the same order as the request.
+ example:
+ transaction_id: transaction_id
+ versions:
+ - metadata:
+ key: metadata
+ manifest_path: manifest_path
+ timestamp_millis: 1
+ manifest_size: 0
+ e_tag: e_tag
+ version: 0
+ - metadata:
+ key: metadata
+ manifest_path: manifest_path
+ timestamp_millis: 1
+ manifest_size: 0
+ e_tag: e_tag
+ version: 0
+ properties:
+ transaction_id:
+ description: Optional transaction identifier
+ type: string
+ versions:
+ description: List of created table versions in the same order as the request
+ entries
+ items:
+ $ref: '#/components/schemas/TableVersion'
+ type: array
+ required:
+ - versions
+ TableVersion:
+ example:
+ metadata:
+ key: metadata
+ manifest_path: manifest_path
+ timestamp_millis: 1
+ manifest_size: 0
+ e_tag: e_tag
+ version: 0
+ properties:
+ version:
+ description: Version number
+ format: int64
+ minimum: 0
+ type: integer
+ manifest_path:
+ description: Path to the manifest file for this version.
+ type: string
+ manifest_size:
+ description: Size of the manifest file in bytes
+ format: int64
+ minimum: 0
+ type: integer
+ e_tag:
+ description: |
+ Optional ETag for optimistic concurrency control.
+ Useful for S3 and similar object stores.
+ type: string
+ timestamp_millis:
+ description: "Timestamp when the version was created, in milliseconds since\
+ \ epoch (Unix time)"
+ format: int64
+ type: integer
+ metadata:
+ additionalProperties:
+ type: string
+ description: Optional key-value pairs of metadata
+ required:
+ - manifest_path
+ - version
+ ManifestNamingScheme:
+ description: |
+ The naming scheme used for manifest files in the `_versions/` directory.
+
+ Known values:
+ - `V1`: `_versions/{version}.manifest` - Simple version-based naming
+ - `V2`: `_versions/{inverted_version}.manifest` - Zero-padded, reversed version number
+ (uses `u64::MAX - version`) for O(1) lookup of latest version on object stores
+
+ V2 is preferred for new tables as it enables efficient latest-version discovery
+ without needing to list all versions.
+ example: V2
+ type: string
+ ExplainTableQueryPlanRequest:
+ example:
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ query:
+ ef: 0
+ offset: 0
+ columns:
+ column_aliases:
+ key: column_aliases
+ column_names:
+ - column_names
+ - column_names
+ vector_column: vector_column
+ fast_search: true
+ k: 0
+ upper_bound: 1.2315135
+ version: 0
+ with_row_id: true
+ prefilter: true
+ filter: filter
+ refine_factor: 0
+ full_text_query:
+ string_query:
+ columns:
+ - columns
+ - columns
+ query: query
+ structured_query:
+ query:
+ boolean:
+ must_not:
+ - null
+ - null
+ should:
+ - null
+ - null
+ must:
+ - null
+ - null
+ phrase:
+ terms: terms
+ column: column
+ slop: 0
+ match:
+ fuzziness: 0
+ terms: terms
+ column: column
+ boost: 6.0274563
+ prefix_length: 0
+ operator: operator
+ max_expansions: 0
+ boost:
+ negative: null
+ negative_boost: 7.0614014
+ positive: null
+ multi_match:
+ match_queries:
+ - fuzziness: 0
+ terms: terms
+ column: column
+ boost: 6.0274563
+ prefix_length: 0
+ operator: operator
+ max_expansions: 0
+ - fuzziness: 0
+ terms: terms
+ column: column
+ boost: 6.0274563
+ prefix_length: 0
+ operator: operator
+ max_expansions: 0
+ distance_type: distance_type
+ lower_bound: 3.6160767
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ bypass_vector_index: true
+ nprobes: 0
+ context:
+ key: context
+ vector:
+ single_vector:
+ - 1.0246457
+ - 1.0246457
+ multi_vector:
+ - - 1.4894159
+ - 1.4894159
+ - - 1.4894159
+ - 1.4894159
+ id:
+ - id
+ - id
+ context:
+ key: context
+ id:
+ - id
+ - id
+ verbose: false
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ query:
+ $ref: '#/components/schemas/QueryTableRequest'
+ verbose:
+ default: false
+ description: Whether to return verbose explanation
+ type: boolean
+ required:
+ - query
+ ExplainTableQueryPlanResponse:
+ properties:
+ plan:
+ description: Human-readable query execution plan
+ type: string
+ required:
+ - plan
+ AnalyzeTableQueryPlanRequest:
+ example:
+ ef: 0
+ offset: 0
+ columns:
+ column_aliases:
+ key: column_aliases
+ column_names:
+ - column_names
+ - column_names
+ vector_column: vector_column
+ fast_search: true
+ k: 0
+ upper_bound: 1.2315135
+ version: 0
+ with_row_id: true
+ prefilter: true
+ filter: filter
+ refine_factor: 0
+ full_text_query:
+ string_query:
+ columns:
+ - columns
+ - columns
+ query: query
+ structured_query:
+ query:
+ boolean:
+ must_not:
+ - null
+ - null
+ should:
+ - null
+ - null
+ must:
+ - null
+ - null
+ phrase:
+ terms: terms
+ column: column
+ slop: 0
+ match:
+ fuzziness: 0
+ terms: terms
+ column: column
+ boost: 6.0274563
+ prefix_length: 0
+ operator: operator
+ max_expansions: 0
+ boost:
+ negative: null
+ negative_boost: 7.0614014
+ positive: null
+ multi_match:
+ match_queries:
+ - fuzziness: 0
+ terms: terms
+ column: column
+ boost: 6.0274563
+ prefix_length: 0
+ operator: operator
+ max_expansions: 0
+ - fuzziness: 0
+ terms: terms
+ column: column
+ boost: 6.0274563
+ prefix_length: 0
+ operator: operator
+ max_expansions: 0
+ distance_type: distance_type
+ lower_bound: 3.6160767
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ bypass_vector_index: true
+ nprobes: 0
+ context:
+ key: context
+ vector:
+ single_vector:
+ - 1.0246457
+ - 1.0246457
+ multi_vector:
+ - - 1.4894159
+ - 1.4894159
+ - - 1.4894159
+ - 1.4894159
+ id:
+ - id
+ - id
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ bypass_vector_index:
+ description: Whether to bypass vector index
+ type: boolean
+ columns:
+ $ref: '#/components/schemas/QueryTableRequest_columns'
+ distance_type:
+ description: Distance metric to use
+ type: string
+ ef:
+ description: Search effort parameter for HNSW index
+ minimum: 0
+ type: integer
+ fast_search:
+ description: Whether to use fast search
+ type: boolean
+ filter:
+ description: Optional SQL filter expression
+ type: string
+ full_text_query:
+ $ref: '#/components/schemas/QueryTableRequest_full_text_query'
+ k:
+ description: Number of results to return
+ minimum: 0
+ type: integer
+ lower_bound:
+ description: Lower bound for search
+ format: float
+ type: number
+ nprobes:
+ description: Number of probes for IVF index
+ minimum: 0
+ type: integer
+ offset:
+ description: Number of results to skip
+ minimum: 0
+ type: integer
+ prefilter:
+ description: Whether to apply filtering before vector search
+ type: boolean
+ refine_factor:
+ description: Refine factor for search
+ format: int32
+ minimum: 0
+ type: integer
+ upper_bound:
+ description: Upper bound for search
+ format: float
+ type: number
+ vector:
+ $ref: '#/components/schemas/QueryTableRequest_vector'
+ vector_column:
+ description: Name of the vector column to search
+ type: string
+ version:
+ description: Table version to query
+ format: int64
+ minimum: 0
+ type: integer
+ with_row_id:
+ description: "If true, return the row id as a column called `_rowid`"
+ type: boolean
+ required:
+ - k
+ - vector
+ AnalyzeTableQueryPlanResponse:
+ properties:
+ analysis:
+ description: Detailed analysis of the query execution plan
+ type: string
+ required:
+ - analysis
+ AlterTableAddColumnsRequest:
+ example:
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ new_columns:
+ - expression: expression
+ name: name
+ virtual_column:
+ image: image
+ udf: udf
+ udf_name: udf_name
+ input_columns:
+ - input_columns
+ - input_columns
+ data_type: "{}"
+ udf_version: udf_version
+ - expression: expression
+ name: name
+ virtual_column:
+ image: image
+ udf: udf
+ udf_name: udf_name
+ input_columns:
+ - input_columns
+ - input_columns
+ data_type: "{}"
+ udf_version: udf_version
+ context:
+ key: context
+ id:
+ - id
+ - id
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ new_columns:
+ description: List of new columns to add
+ items:
+ $ref: '#/components/schemas/NewColumnTransform'
+ type: array
+ required:
+ - new_columns
+ NewColumnTransform:
+ example:
+ expression: expression
+ name: name
+ virtual_column:
+ image: image
+ udf: udf
+ udf_name: udf_name
+ input_columns:
+ - input_columns
+ - input_columns
+ data_type: "{}"
+ udf_version: udf_version
+ properties:
+ name:
+ description: Name of the new column
+ type: string
+ expression:
+ description: SQL expression to compute the column value (optional if virtual_column
+ is specified)
+ type: string
+ nullable: true
+ virtual_column:
+ $ref: '#/components/schemas/AddVirtualColumnEntry'
+ required:
+ - name
+ AddVirtualColumnEntry:
+ example:
+ image: image
+ udf: udf
+ udf_name: udf_name
+ input_columns:
+ - input_columns
+ - input_columns
+ data_type: "{}"
+ udf_version: udf_version
+ properties:
+ input_columns:
+ description: List of input column names for the virtual column
+ items:
+ type: string
+ type: array
+ data_type:
+ description: Data type of the virtual column using JSON representation
+ type: object
+ image:
+ description: Docker image to use for the UDF
+ type: string
+ udf:
+ description: Base64 encoded pickled UDF
+ type: string
+ udf_name:
+ description: Name of the UDF
+ type: string
+ udf_version:
+ description: Version of the UDF
+ type: string
+ required:
+ - data_type
+ - image
+ - input_columns
+ - udf
+ - udf_name
+ - udf_version
+ AlterTableAddColumnsResponse:
+ example:
+ transaction_id: transaction_id
+ version: 0
+ properties:
+ transaction_id:
+ description: Optional transaction identifier
+ type: string
+ version:
+ description: Version of the table after adding columns
+ format: int64
+ minimum: 0
+ type: integer
+ required:
+ - version
+ AlterTableAlterColumnsRequest:
+ example:
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ alterations:
+ - path: path
+ nullable: true
+ rename: rename
+ data_type: "{}"
+ virtual_column:
+ image: image
+ udf: udf
+ udf_name: udf_name
+ input_columns:
+ - input_columns
+ - input_columns
+ udf_version: udf_version
+ - path: path
+ nullable: true
+ rename: rename
+ data_type: "{}"
+ virtual_column:
+ image: image
+ udf: udf
+ udf_name: udf_name
+ input_columns:
+ - input_columns
+ - input_columns
+ udf_version: udf_version
+ id:
+ - id
+ - id
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ alterations:
+ description: List of column alterations to perform
+ items:
+ $ref: '#/components/schemas/AlterColumnsEntry'
+ type: array
+ required:
+ - alterations
+ AlterColumnsEntry:
+ example:
+ path: path
+ nullable: true
+ rename: rename
+ data_type: "{}"
+ virtual_column:
+ image: image
+ udf: udf
+ udf_name: udf_name
+ input_columns:
+ - input_columns
+ - input_columns
+ udf_version: udf_version
+ properties:
+ path:
+ description: Column path to alter
+ type: string
+ data_type:
+ description: New data type for the column using JSON representation (optional)
+ type: object
+ rename:
+ description: New name for the column (optional)
+ type: string
+ nullable: true
+ nullable:
+ description: Whether the column should be nullable (optional)
+ type: boolean
+ nullable: true
+ virtual_column:
+ $ref: '#/components/schemas/AlterVirtualColumnEntry'
+ required:
+ - data_type
+ - path
+ AlterVirtualColumnEntry:
+ example:
+ image: image
+ udf: udf
+ udf_name: udf_name
+ input_columns:
+ - input_columns
+ - input_columns
+ udf_version: udf_version
+ properties:
+ input_columns:
+ description: List of input column names for the virtual column (optional)
+ items:
+ type: string
+ type: array
+ nullable: true
+ image:
+ description: Docker image to use for the UDF (optional)
+ type: string
+ nullable: true
+ udf:
+ description: Base64 encoded pickled UDF (optional)
+ type: string
+ nullable: true
+ udf_name:
+ description: Name of the UDF (optional)
+ type: string
+ nullable: true
+ udf_version:
+ description: Version of the UDF (optional)
+ type: string
+ nullable: true
+ AlterTableAlterColumnsResponse:
+ example:
+ transaction_id: transaction_id
+ version: 0
+ properties:
+ transaction_id:
+ description: Optional transaction identifier
+ type: string
+ version:
+ description: Version of the table after altering columns
+ format: int64
+ minimum: 0
+ type: integer
+ required:
+ - version
+ AlterTableDropColumnsRequest:
+ example:
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ columns:
+ - columns
+ - columns
+ context:
+ key: context
+ id:
+ - id
+ - id
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ columns:
+ description: Names of columns to drop
+ items:
+ type: string
+ type: array
+ required:
+ - columns
+ AlterTableDropColumnsResponse:
+ example:
+ transaction_id: transaction_id
+ version: 0
+ properties:
+ transaction_id:
+ description: Optional transaction identifier
+ type: string
+ version:
+ description: Version of the table after dropping columns
+ format: int64
+ minimum: 0
+ type: integer
+ required:
+ - version
+ GetTableStatsRequest:
+ example:
+ identity:
+ api_key: api_key
+ auth_token: auth_token
+ context:
+ key: context
+ id:
+ - id
+ - id
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ GetTableStatsResponse:
+ example:
+ num_indices: 0
+ total_bytes: 0
+ num_rows: 0
+ fragment_stats:
+ num_small_fragments: 0
+ lengths:
+ p99: 0
+ p25: 0
+ min: 0
+ max: 0
+ mean: 0
+ p50: 0
+ p75: 0
+ num_fragments: 0
+ properties:
+ total_bytes:
+ description: The total number of bytes in the table
+ format: int64
+ minimum: 0
+ type: integer
+ num_rows:
+ description: The number of rows in the table
+ format: int64
+ minimum: 0
+ type: integer
+ num_indices:
+ description: The number of indices in the table
+ format: int64
+ minimum: 0
+ type: integer
+ fragment_stats:
+ $ref: '#/components/schemas/FragmentStats'
+ required:
+ - fragment_stats
+ - num_indices
+ - num_rows
+ - total_bytes
+ FragmentStats:
+ example:
+ num_small_fragments: 0
+ lengths:
+ p99: 0
+ p25: 0
+ min: 0
+ max: 0
+ mean: 0
+ p50: 0
+ p75: 0
+ num_fragments: 0
+ properties:
+ num_fragments:
+ description: The number of fragments in the table
+ format: int64
+ minimum: 0
+ type: integer
+ num_small_fragments:
+ description: The number of uncompacted fragments in the table
+ format: int64
+ minimum: 0
+ type: integer
+ lengths:
+ $ref: '#/components/schemas/FragmentSummary'
+ required:
+ - lengths
+ - num_fragments
+ - num_small_fragments
+ FragmentSummary:
+ example:
+ p99: 0
+ p25: 0
+ min: 0
+ max: 0
+ mean: 0
+ p50: 0
+ p75: 0
+ properties:
+ min:
+ format: int64
+ minimum: 0
+ type: integer
+ max:
+ format: int64
+ minimum: 0
+ type: integer
+ mean:
+ format: int64
+ minimum: 0
+ type: integer
+ p25:
+ format: int64
+ minimum: 0
+ type: integer
+ p50:
+ format: int64
+ minimum: 0
+ type: integer
+ p75:
+ format: int64
+ minimum: 0
+ type: integer
+ p99:
+ format: int64
+ minimum: 0
+ type: integer
+ required:
+ - max
+ - mean
+ - min
+ - p25
+ - p50
+ - p75
+ - p99
+ DropTableIndexRequest:
+ properties:
+ identity:
+ $ref: '#/components/schemas/Identity'
+ context:
+ additionalProperties:
+ type: string
+ description: |
+ Arbitrary context for a request as key-value pairs.
+ How to use the context is custom to the specific implementation.
+
+ REST NAMESPACE ONLY
+ Context entries are passed via HTTP headers using the naming convention
+ `x-lance-ctx-: `. For example, a context entry
+ `{"trace_id": "abc123"}` would be sent as the header `x-lance-ctx-trace_id: abc123`.
+ id:
+ items:
+ type: string
+ type: array
+ index_name:
+ description: Name of the index to drop
+ type: string
+ DropTableIndexResponse:
+ description: Response for drop index operation
+ example:
+ transaction_id: transaction_id
+ properties:
+ transaction_id:
+ description: Optional transaction identifier
+ type: string
+ PartitionTransform:
+ description: Well-known partition transform
+ properties:
+ type:
+ description: "Transform type (identity, year, month, day, hour, bucket,\
+ \ multi_bucket, truncate)"
+ type: string
+ num_buckets:
+ description: Number of buckets for bucket transforms
+ type: integer
+ width:
+ description: Truncation width for truncate transforms
+ type: integer
+ required:
+ - type
+ PartitionField:
+ description: Partition field definition
+ properties:
+ field_id:
+ description: Unique identifier for this partition field (must not be renamed)
+ example: event_year
+ type: string
+ source_ids:
+ description: Field IDs of the source columns in the schema
+ example:
+ - 1
+ items:
+ type: integer
+ type: array
+ transform:
+ $ref: '#/components/schemas/PartitionTransform'
+ expression:
+ description: "DataFusion SQL expression using col0, col1, ... as column\
+ \ references. Exactly one of transform or expression must be specified."
+ example: "date_part('year', col0)"
+ type: string
+ result_type:
+ $ref: '#/components/schemas/JsonArrowDataType'
+ required:
+ - field_id
+ - result_type
+ - source_ids
+ PartitionSpec:
+ description: Partition spec definition
+ properties:
+ id:
+ description: The spec version ID
+ example: 1
+ type: integer
+ fields:
+ description: Array of partition field definitions
+ items:
+ $ref: '#/components/schemas/PartitionField'
+ type: array
+ required:
+ - fields
+ - id
+ QueryTableRequest_columns:
+ description: |
+ Optional columns to return. Provide either column_names or column_aliases, not both.
+ example:
+ column_aliases:
+ key: column_aliases
+ column_names:
+ - column_names
+ - column_names
+ properties:
+ column_names:
+ description: List of column names to return
+ items:
+ type: string
+ type: array
+ column_aliases:
+ additionalProperties:
+ type: string
+ description: Object mapping output aliases to source column names
+ nullable: true
+ QueryTableRequest_full_text_query:
+ description: "Optional full-text search query. Provide either string_query or\
+ \ structured_query, not both."
+ example:
+ string_query:
+ columns:
+ - columns
+ - columns
+ query: query
+ structured_query:
+ query:
+ boolean:
+ must_not:
+ - null
+ - null
+ should:
+ - null
+ - null
+ must:
+ - null
+ - null
+ phrase:
+ terms: terms
+ column: column
+ slop: 0
+ match:
+ fuzziness: 0
+ terms: terms
+ column: column
+ boost: 6.0274563
+ prefix_length: 0
+ operator: operator
+ max_expansions: 0
+ boost:
+ negative: null
+ negative_boost: 7.0614014
+ positive: null
+ multi_match:
+ match_queries:
+ - fuzziness: 0
+ terms: terms
+ column: column
+ boost: 6.0274563
+ prefix_length: 0
+ operator: operator
+ max_expansions: 0
+ - fuzziness: 0
+ terms: terms
+ column: column
+ boost: 6.0274563
+ prefix_length: 0
+ operator: operator
+ max_expansions: 0
+ properties:
+ string_query:
+ $ref: '#/components/schemas/StringFtsQuery'
+ structured_query:
+ $ref: '#/components/schemas/StructuredFtsQuery'
+ nullable: true
+ QueryTableRequest_vector:
+ description: "Query vector(s) for similarity search. Provide either single_vector\
+ \ or multi_vector, not both."
+ example:
+ single_vector:
+ - 1.0246457
+ - 1.0246457
+ multi_vector:
+ - - 1.4894159
+ - 1.4894159
+ - - 1.4894159
+ - 1.4894159
+ properties:
+ single_vector:
+ description: Single query vector
+ items:
+ format: float
+ type: number
+ type: array
+ multi_vector:
+ description: Multiple query vectors for batch search
+ items:
+ items:
+ format: float
+ type: number
+ type: array
+ type: array
+ nullable: true
+ securitySchemes:
+ OAuth2:
+ flows:
+ clientCredentials:
+ scopes: {}
+ tokenUrl: /oauth/token
+ type: oauth2
+ BearerAuth:
+ scheme: bearer
+ type: http
+ ApiKeyAuth:
+ in: header
+ name: x-api-key
+ type: apiKey
+
diff --git a/java/lance-namespace-async-client/docs/AddVirtualColumnEntry.md b/java/lance-namespace-async-client/docs/AddVirtualColumnEntry.md
new file mode 100644
index 000000000..652921e9d
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/AddVirtualColumnEntry.md
@@ -0,0 +1,18 @@
+
+
+# AddVirtualColumnEntry
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**inputColumns** | **List<String>** | List of input column names for the virtual column | |
+|**dataType** | **Object** | Data type of the virtual column using JSON representation | |
+|**image** | **String** | Docker image to use for the UDF | |
+|**udf** | **String** | Base64 encoded pickled UDF | |
+|**udfName** | **String** | Name of the UDF | |
+|**udfVersion** | **String** | Version of the UDF | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/AlterColumnsEntry.md b/java/lance-namespace-async-client/docs/AlterColumnsEntry.md
new file mode 100644
index 000000000..83925d4fd
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/AlterColumnsEntry.md
@@ -0,0 +1,17 @@
+
+
+# AlterColumnsEntry
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**path** | **String** | Column path to alter | |
+|**dataType** | **Object** | New data type for the column using JSON representation (optional) | |
+|**rename** | **String** | New name for the column (optional) | [optional] |
+|**nullable** | **Boolean** | Whether the column should be nullable (optional) | [optional] |
+|**virtualColumn** | [**AlterVirtualColumnEntry**](AlterVirtualColumnEntry.md) | Virtual column alterations (optional) | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/AlterTableAddColumnsRequest.md b/java/lance-namespace-async-client/docs/AlterTableAddColumnsRequest.md
new file mode 100644
index 000000000..ea151f04a
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/AlterTableAddColumnsRequest.md
@@ -0,0 +1,16 @@
+
+
+# AlterTableAddColumnsRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+|**newColumns** | [**List<NewColumnTransform>**](NewColumnTransform.md) | List of new columns to add | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/AlterTableAddColumnsResponse.md b/java/lance-namespace-async-client/docs/AlterTableAddColumnsResponse.md
new file mode 100644
index 000000000..480e055c7
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/AlterTableAddColumnsResponse.md
@@ -0,0 +1,14 @@
+
+
+# AlterTableAddColumnsResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**transactionId** | **String** | Optional transaction identifier | [optional] |
+|**version** | **Long** | Version of the table after adding columns | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/AlterTableAlterColumnsRequest.md b/java/lance-namespace-async-client/docs/AlterTableAlterColumnsRequest.md
new file mode 100644
index 000000000..ff5520c83
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/AlterTableAlterColumnsRequest.md
@@ -0,0 +1,16 @@
+
+
+# AlterTableAlterColumnsRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+|**alterations** | [**List<AlterColumnsEntry>**](AlterColumnsEntry.md) | List of column alterations to perform | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/AlterTableAlterColumnsResponse.md b/java/lance-namespace-async-client/docs/AlterTableAlterColumnsResponse.md
new file mode 100644
index 000000000..ec6418ca1
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/AlterTableAlterColumnsResponse.md
@@ -0,0 +1,14 @@
+
+
+# AlterTableAlterColumnsResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**transactionId** | **String** | Optional transaction identifier | [optional] |
+|**version** | **Long** | Version of the table after altering columns | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/AlterTableDropColumnsRequest.md b/java/lance-namespace-async-client/docs/AlterTableDropColumnsRequest.md
new file mode 100644
index 000000000..038eb1119
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/AlterTableDropColumnsRequest.md
@@ -0,0 +1,16 @@
+
+
+# AlterTableDropColumnsRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+|**columns** | **List<String>** | Names of columns to drop | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/AlterTableDropColumnsResponse.md b/java/lance-namespace-async-client/docs/AlterTableDropColumnsResponse.md
new file mode 100644
index 000000000..fb6c06c7b
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/AlterTableDropColumnsResponse.md
@@ -0,0 +1,14 @@
+
+
+# AlterTableDropColumnsResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**transactionId** | **String** | Optional transaction identifier | [optional] |
+|**version** | **Long** | Version of the table after dropping columns | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/AlterTransactionAction.md b/java/lance-namespace-async-client/docs/AlterTransactionAction.md
new file mode 100644
index 000000000..384adc8e2
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/AlterTransactionAction.md
@@ -0,0 +1,16 @@
+
+
+# AlterTransactionAction
+
+A single action that could be performed to alter a transaction. This action holds the model definition for all types of specific actions models, this is to minimize difference and compatibility issue across codegen in different languages. When used, only one of the actions should be non-null for each action. If you would like to perform multiple actions, set a list of actions in the AlterTransactionRequest.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**setStatusAction** | [**AlterTransactionSetStatus**](AlterTransactionSetStatus.md) | | [optional] |
+|**setPropertyAction** | [**AlterTransactionSetProperty**](AlterTransactionSetProperty.md) | | [optional] |
+|**unsetPropertyAction** | [**AlterTransactionUnsetProperty**](AlterTransactionUnsetProperty.md) | | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/AlterTransactionRequest.md b/java/lance-namespace-async-client/docs/AlterTransactionRequest.md
new file mode 100644
index 000000000..9d455e8a9
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/AlterTransactionRequest.md
@@ -0,0 +1,17 @@
+
+
+# AlterTransactionRequest
+
+Alter a transaction with a list of actions. The server should either succeed and apply all actions, or fail and apply no action.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+|**actions** | [**List<AlterTransactionAction>**](AlterTransactionAction.md) | | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/AlterTransactionResponse.md b/java/lance-namespace-async-client/docs/AlterTransactionResponse.md
new file mode 100644
index 000000000..26dad8c45
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/AlterTransactionResponse.md
@@ -0,0 +1,14 @@
+
+
+# AlterTransactionResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**status** | **String** | The status of a transaction. Case insensitive, supports both PascalCase and snake_case. Valid values are: - Queued: the transaction is queued and not yet started - Running: the transaction is currently running - Succeeded: the transaction has completed successfully - Failed: the transaction has failed - Canceled: the transaction was canceled | |
+|**properties** | **Map<String, String>** | | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/AlterTransactionSetProperty.md b/java/lance-namespace-async-client/docs/AlterTransactionSetProperty.md
new file mode 100644
index 000000000..e9cf8efca
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/AlterTransactionSetProperty.md
@@ -0,0 +1,15 @@
+
+
+# AlterTransactionSetProperty
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**key** | **String** | | [optional] |
+|**value** | **String** | | [optional] |
+|**mode** | **String** | The behavior if the property key already exists. Case insensitive, supports both PascalCase and snake_case. Valid values are: - Overwrite (default): overwrite the existing value with the provided value - Fail: fail the entire operation - Skip: keep the existing value and skip setting the provided value | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/AlterTransactionSetStatus.md b/java/lance-namespace-async-client/docs/AlterTransactionSetStatus.md
new file mode 100644
index 000000000..faf8aef9b
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/AlterTransactionSetStatus.md
@@ -0,0 +1,13 @@
+
+
+# AlterTransactionSetStatus
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**status** | **String** | The status of a transaction. Case insensitive, supports both PascalCase and snake_case. Valid values are: - Queued: the transaction is queued and not yet started - Running: the transaction is currently running - Succeeded: the transaction has completed successfully - Failed: the transaction has failed - Canceled: the transaction was canceled | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/AlterTransactionUnsetProperty.md b/java/lance-namespace-async-client/docs/AlterTransactionUnsetProperty.md
new file mode 100644
index 000000000..67fbe94db
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/AlterTransactionUnsetProperty.md
@@ -0,0 +1,14 @@
+
+
+# AlterTransactionUnsetProperty
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**key** | **String** | | [optional] |
+|**mode** | **String** | The behavior if the property key to unset does not exist. Case insensitive, supports both PascalCase and snake_case. Valid values are: - Skip (default): skip the property to unset - Fail: fail the entire operation | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/AlterVirtualColumnEntry.md b/java/lance-namespace-async-client/docs/AlterVirtualColumnEntry.md
new file mode 100644
index 000000000..cc10bbffa
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/AlterVirtualColumnEntry.md
@@ -0,0 +1,17 @@
+
+
+# AlterVirtualColumnEntry
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**inputColumns** | **List<String>** | List of input column names for the virtual column (optional) | [optional] |
+|**image** | **String** | Docker image to use for the UDF (optional) | [optional] |
+|**udf** | **String** | Base64 encoded pickled UDF (optional) | [optional] |
+|**udfName** | **String** | Name of the UDF (optional) | [optional] |
+|**udfVersion** | **String** | Version of the UDF (optional) | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/AnalyzeTableQueryPlanRequest.md b/java/lance-namespace-async-client/docs/AnalyzeTableQueryPlanRequest.md
new file mode 100644
index 000000000..66f5a8cc4
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/AnalyzeTableQueryPlanRequest.md
@@ -0,0 +1,33 @@
+
+
+# AnalyzeTableQueryPlanRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+|**bypassVectorIndex** | **Boolean** | Whether to bypass vector index | [optional] |
+|**columns** | [**QueryTableRequestColumns**](QueryTableRequestColumns.md) | | [optional] |
+|**distanceType** | **String** | Distance metric to use | [optional] |
+|**ef** | **Integer** | Search effort parameter for HNSW index | [optional] |
+|**fastSearch** | **Boolean** | Whether to use fast search | [optional] |
+|**filter** | **String** | Optional SQL filter expression | [optional] |
+|**fullTextQuery** | [**QueryTableRequestFullTextQuery**](QueryTableRequestFullTextQuery.md) | | [optional] |
+|**k** | **Integer** | Number of results to return | |
+|**lowerBound** | **Float** | Lower bound for search | [optional] |
+|**nprobes** | **Integer** | Number of probes for IVF index | [optional] |
+|**offset** | **Integer** | Number of results to skip | [optional] |
+|**prefilter** | **Boolean** | Whether to apply filtering before vector search | [optional] |
+|**refineFactor** | **Integer** | Refine factor for search | [optional] |
+|**upperBound** | **Float** | Upper bound for search | [optional] |
+|**vector** | [**QueryTableRequestVector**](QueryTableRequestVector.md) | | |
+|**vectorColumn** | **String** | Name of the vector column to search | [optional] |
+|**version** | **Long** | Table version to query | [optional] |
+|**withRowId** | **Boolean** | If true, return the row id as a column called `_rowid` | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/AnalyzeTableQueryPlanResponse.md b/java/lance-namespace-async-client/docs/AnalyzeTableQueryPlanResponse.md
new file mode 100644
index 000000000..d629aaabe
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/AnalyzeTableQueryPlanResponse.md
@@ -0,0 +1,13 @@
+
+
+# AnalyzeTableQueryPlanResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**analysis** | **String** | Detailed analysis of the query execution plan | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/BatchCreateTableVersionsRequest.md b/java/lance-namespace-async-client/docs/BatchCreateTableVersionsRequest.md
new file mode 100644
index 000000000..77a320599
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/BatchCreateTableVersionsRequest.md
@@ -0,0 +1,16 @@
+
+
+# BatchCreateTableVersionsRequest
+
+Request to atomically create new version entries for multiple tables. The operation is atomic: all versions are created or none are.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**entries** | [**List<CreateTableVersionEntry>**](CreateTableVersionEntry.md) | List of table version entries to create atomically | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/BatchCreateTableVersionsResponse.md b/java/lance-namespace-async-client/docs/BatchCreateTableVersionsResponse.md
new file mode 100644
index 000000000..ec5bccd34
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/BatchCreateTableVersionsResponse.md
@@ -0,0 +1,15 @@
+
+
+# BatchCreateTableVersionsResponse
+
+Response for batch creating table versions. Contains the created versions for each table in the same order as the request.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**transactionId** | **String** | Optional transaction identifier | [optional] |
+|**versions** | [**List<TableVersion>**](TableVersion.md) | List of created table versions in the same order as the request entries | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/BatchDeleteTableVersionsRequest.md b/java/lance-namespace-async-client/docs/BatchDeleteTableVersionsRequest.md
new file mode 100644
index 000000000..3988e8e35
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/BatchDeleteTableVersionsRequest.md
@@ -0,0 +1,17 @@
+
+
+# BatchDeleteTableVersionsRequest
+
+Request to delete table version records. Supports deleting ranges of versions for efficient bulk cleanup.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | The table identifier | [optional] |
+|**ranges** | [**List<VersionRange>**](VersionRange.md) | List of version ranges to delete. Each range specifies start (inclusive) and end (exclusive) versions. | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/BatchDeleteTableVersionsResponse.md b/java/lance-namespace-async-client/docs/BatchDeleteTableVersionsResponse.md
new file mode 100644
index 000000000..c2e37f115
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/BatchDeleteTableVersionsResponse.md
@@ -0,0 +1,15 @@
+
+
+# BatchDeleteTableVersionsResponse
+
+Response for deleting table version records
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**deletedCount** | **Long** | Number of version records deleted | [optional] |
+|**transactionId** | **String** | Optional transaction identifier | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/BooleanQuery.md b/java/lance-namespace-async-client/docs/BooleanQuery.md
new file mode 100644
index 000000000..ddf031cce
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/BooleanQuery.md
@@ -0,0 +1,16 @@
+
+
+# BooleanQuery
+
+Boolean query with must, should, and must_not clauses
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**must** | [**List<FtsQuery>**](FtsQuery.md) | Queries that must match (AND) | |
+|**mustNot** | [**List<FtsQuery>**](FtsQuery.md) | Queries that must not match (NOT) | |
+|**should** | [**List<FtsQuery>**](FtsQuery.md) | Queries that should match (OR) | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/BoostQuery.md b/java/lance-namespace-async-client/docs/BoostQuery.md
new file mode 100644
index 000000000..84a0f560b
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/BoostQuery.md
@@ -0,0 +1,16 @@
+
+
+# BoostQuery
+
+Boost query that scores documents matching positive query higher and negative query lower
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**positive** | [**FtsQuery**](FtsQuery.md) | | |
+|**negative** | [**FtsQuery**](FtsQuery.md) | | |
+|**negativeBoost** | **Float** | Boost factor for negative query (default: 0.5) | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/CountTableRowsRequest.md b/java/lance-namespace-async-client/docs/CountTableRowsRequest.md
new file mode 100644
index 000000000..b03c81794
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/CountTableRowsRequest.md
@@ -0,0 +1,17 @@
+
+
+# CountTableRowsRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+|**version** | **Long** | Version of the table to describe. If not specified, server should resolve it to the latest version. | [optional] |
+|**predicate** | **String** | Optional SQL predicate to filter rows for counting | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/CreateEmptyTableRequest.md b/java/lance-namespace-async-client/docs/CreateEmptyTableRequest.md
new file mode 100644
index 000000000..ed3845f46
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/CreateEmptyTableRequest.md
@@ -0,0 +1,19 @@
+
+
+# CreateEmptyTableRequest
+
+Request for creating an empty table. **Deprecated**: Use `DeclareTableRequest` instead.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+|**location** | **String** | Optional storage location for the table. If not provided, the namespace implementation should determine the table location. | [optional] |
+|**vendCredentials** | **Boolean** | Whether to include vended credentials in the response `storage_options`. When true, the implementation should provide vended credentials for accessing storage. When not set, the implementation can decide whether to return vended credentials. | [optional] |
+|**properties** | **Map<String, String>** | Properties stored on the table, if supported by the server. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/CreateEmptyTableResponse.md b/java/lance-namespace-async-client/docs/CreateEmptyTableResponse.md
new file mode 100644
index 000000000..39ce092a1
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/CreateEmptyTableResponse.md
@@ -0,0 +1,17 @@
+
+
+# CreateEmptyTableResponse
+
+Response for creating an empty table. **Deprecated**: Use `DeclareTableResponse` instead.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**transactionId** | **String** | Optional transaction identifier | [optional] |
+|**location** | **String** | | [optional] |
+|**storageOptions** | **Map<String, String>** | Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access. | [optional] |
+|**properties** | **Map<String, String>** | If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/CreateNamespaceRequest.md b/java/lance-namespace-async-client/docs/CreateNamespaceRequest.md
new file mode 100644
index 000000000..592fe0c1f
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/CreateNamespaceRequest.md
@@ -0,0 +1,17 @@
+
+
+# CreateNamespaceRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+|**mode** | **String** | There are three modes when trying to create a namespace, to differentiate the behavior when a namespace of the same name already exists. Case insensitive, supports both PascalCase and snake_case. Valid values are: * Create: the operation fails with 409. * ExistOk: the operation succeeds and the existing namespace is kept. * Overwrite: the existing namespace is dropped and a new empty namespace with this name is created. | [optional] |
+|**properties** | **Map<String, String>** | Properties stored on the namespace, if supported by the implementation. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/CreateNamespaceResponse.md b/java/lance-namespace-async-client/docs/CreateNamespaceResponse.md
new file mode 100644
index 000000000..92ed5d6a5
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/CreateNamespaceResponse.md
@@ -0,0 +1,14 @@
+
+
+# CreateNamespaceResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**transactionId** | **String** | Optional transaction identifier | [optional] |
+|**properties** | **Map<String, String>** | Properties after the namespace is created. If the server does not support namespace properties, it should return null for this field. If namespace properties are supported, but none are set, it should return an empty object. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/CreateTableIndexRequest.md b/java/lance-namespace-async-client/docs/CreateTableIndexRequest.md
new file mode 100644
index 000000000..aa0acca48
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/CreateTableIndexRequest.md
@@ -0,0 +1,27 @@
+
+
+# CreateTableIndexRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+|**column** | **String** | Name of the column to create index on | |
+|**indexType** | **String** | Type of index to create (e.g., BTREE, BITMAP, LABEL_LIST, IVF_FLAT, IVF_PQ, IVF_HNSW_SQ, FTS) | |
+|**name** | **String** | Optional name for the index. If not provided, a name will be auto-generated. | [optional] |
+|**distanceType** | **String** | Distance metric type for vector indexes (e.g., l2, cosine, dot) | [optional] |
+|**withPosition** | **Boolean** | Optional FTS parameter for position tracking | [optional] |
+|**baseTokenizer** | **String** | Optional FTS parameter for base tokenizer | [optional] |
+|**language** | **String** | Optional FTS parameter for language | [optional] |
+|**maxTokenLength** | **Integer** | Optional FTS parameter for maximum token length | [optional] |
+|**lowerCase** | **Boolean** | Optional FTS parameter for lowercase conversion | [optional] |
+|**stem** | **Boolean** | Optional FTS parameter for stemming | [optional] |
+|**removeStopWords** | **Boolean** | Optional FTS parameter for stop word removal | [optional] |
+|**asciiFolding** | **Boolean** | Optional FTS parameter for ASCII folding | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/CreateTableIndexResponse.md b/java/lance-namespace-async-client/docs/CreateTableIndexResponse.md
new file mode 100644
index 000000000..0e26afa32
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/CreateTableIndexResponse.md
@@ -0,0 +1,14 @@
+
+
+# CreateTableIndexResponse
+
+Response for create index operation
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**transactionId** | **String** | Optional transaction identifier | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/CreateTableRequest.md b/java/lance-namespace-async-client/docs/CreateTableRequest.md
new file mode 100644
index 000000000..38a18ebaf
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/CreateTableRequest.md
@@ -0,0 +1,18 @@
+
+
+# CreateTableRequest
+
+Request for creating a table, excluding the Arrow IPC stream.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+|**mode** | **String** | There are three modes when trying to create a table, to differentiate the behavior when a table of the same name already exists. Case insensitive, supports both PascalCase and snake_case. Valid values are: * Create: the operation fails with 409. * ExistOk: the operation succeeds and the existing table is kept. * Overwrite: the existing table is dropped and a new table with this name is created. | [optional] |
+|**properties** | **Map<String, String>** | Properties stored on the table, if supported by the implementation. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/CreateTableResponse.md b/java/lance-namespace-async-client/docs/CreateTableResponse.md
new file mode 100644
index 000000000..3997eb4d1
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/CreateTableResponse.md
@@ -0,0 +1,17 @@
+
+
+# CreateTableResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**transactionId** | **String** | Optional transaction identifier | [optional] |
+|**location** | **String** | | [optional] |
+|**version** | **Long** | | [optional] |
+|**storageOptions** | **Map<String, String>** | Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access. | [optional] |
+|**properties** | **Map<String, String>** | If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/CreateTableScalarIndexResponse.md b/java/lance-namespace-async-client/docs/CreateTableScalarIndexResponse.md
new file mode 100644
index 000000000..9d1760def
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/CreateTableScalarIndexResponse.md
@@ -0,0 +1,14 @@
+
+
+# CreateTableScalarIndexResponse
+
+Response for create scalar index operation
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**transactionId** | **String** | Optional transaction identifier | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/CreateTableTagRequest.md b/java/lance-namespace-async-client/docs/CreateTableTagRequest.md
new file mode 100644
index 000000000..94612d5b4
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/CreateTableTagRequest.md
@@ -0,0 +1,17 @@
+
+
+# CreateTableTagRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+|**tag** | **String** | Name of the tag to create | |
+|**version** | **Long** | Version number for the tag to point to | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/CreateTableTagResponse.md b/java/lance-namespace-async-client/docs/CreateTableTagResponse.md
new file mode 100644
index 000000000..24090f218
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/CreateTableTagResponse.md
@@ -0,0 +1,14 @@
+
+
+# CreateTableTagResponse
+
+Response for create tag operation
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**transactionId** | **String** | Optional transaction identifier | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/CreateTableVersionEntry.md b/java/lance-namespace-async-client/docs/CreateTableVersionEntry.md
new file mode 100644
index 000000000..77a1adec2
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/CreateTableVersionEntry.md
@@ -0,0 +1,20 @@
+
+
+# CreateTableVersionEntry
+
+An entry for creating a new table version in a batch operation. This supports `put_if_not_exists` semantics, where the operation fails if the version already exists.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**id** | **List<String>** | The table identifier | |
+|**version** | **Long** | Version number to create | |
+|**manifestPath** | **String** | Path to the manifest file for this version | |
+|**manifestSize** | **Long** | Size of the manifest file in bytes | [optional] |
+|**eTag** | **String** | Optional ETag for the manifest file | [optional] |
+|**metadata** | **Map<String, String>** | Optional metadata for the version | [optional] |
+|**namingScheme** | **String** | The naming scheme used for manifest files in the `_versions/` directory. Known values: - `V1`: `_versions/{version}.manifest` - Simple version-based naming - `V2`: `_versions/{inverted_version}.manifest` - Zero-padded, reversed version number (uses `u64::MAX - version`) for O(1) lookup of latest version on object stores V2 is preferred for new tables as it enables efficient latest-version discovery without needing to list all versions. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/CreateTableVersionRequest.md b/java/lance-namespace-async-client/docs/CreateTableVersionRequest.md
new file mode 100644
index 000000000..30802f114
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/CreateTableVersionRequest.md
@@ -0,0 +1,22 @@
+
+
+# CreateTableVersionRequest
+
+Request to create a new table version entry. This supports `put_if_not_exists` semantics, where the operation fails if the version already exists.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | The table identifier | [optional] |
+|**version** | **Long** | Version number to create | |
+|**manifestPath** | **String** | Path to the manifest file for this version | |
+|**manifestSize** | **Long** | Size of the manifest file in bytes | [optional] |
+|**eTag** | **String** | Optional ETag for the manifest file | [optional] |
+|**metadata** | **Map<String, String>** | Optional metadata for the version | [optional] |
+|**namingScheme** | **String** | The naming scheme used for manifest files in the `_versions/` directory. Known values: - `V1`: `_versions/{version}.manifest` - Simple version-based naming - `V2`: `_versions/{inverted_version}.manifest` - Zero-padded, reversed version number (uses `u64::MAX - version`) for O(1) lookup of latest version on object stores V2 is preferred for new tables as it enables efficient latest-version discovery without needing to list all versions. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/CreateTableVersionResponse.md b/java/lance-namespace-async-client/docs/CreateTableVersionResponse.md
new file mode 100644
index 000000000..e5acc8a54
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/CreateTableVersionResponse.md
@@ -0,0 +1,15 @@
+
+
+# CreateTableVersionResponse
+
+Response for creating a table version
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**transactionId** | **String** | Optional transaction identifier | [optional] |
+|**version** | [**TableVersion**](TableVersion.md) | | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/DataApi.md b/java/lance-namespace-async-client/docs/DataApi.md
new file mode 100644
index 000000000..15f0caae1
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/DataApi.md
@@ -0,0 +1,1998 @@
+# DataApi
+
+All URIs are relative to *http://localhost:2333*
+
+| Method | HTTP request | Description |
+|------------- | ------------- | -------------|
+| [**alterTableAddColumns**](DataApi.md#alterTableAddColumns) | **POST** /v1/table/{id}/add_columns | Add new columns to table schema |
+| [**alterTableAddColumnsWithHttpInfo**](DataApi.md#alterTableAddColumnsWithHttpInfo) | **POST** /v1/table/{id}/add_columns | Add new columns to table schema |
+| [**analyzeTableQueryPlan**](DataApi.md#analyzeTableQueryPlan) | **POST** /v1/table/{id}/analyze_plan | Analyze query execution plan |
+| [**analyzeTableQueryPlanWithHttpInfo**](DataApi.md#analyzeTableQueryPlanWithHttpInfo) | **POST** /v1/table/{id}/analyze_plan | Analyze query execution plan |
+| [**countTableRows**](DataApi.md#countTableRows) | **POST** /v1/table/{id}/count_rows | Count rows in a table |
+| [**countTableRowsWithHttpInfo**](DataApi.md#countTableRowsWithHttpInfo) | **POST** /v1/table/{id}/count_rows | Count rows in a table |
+| [**createTable**](DataApi.md#createTable) | **POST** /v1/table/{id}/create | Create a table with the given name |
+| [**createTableWithHttpInfo**](DataApi.md#createTableWithHttpInfo) | **POST** /v1/table/{id}/create | Create a table with the given name |
+| [**deleteFromTable**](DataApi.md#deleteFromTable) | **POST** /v1/table/{id}/delete | Delete rows from a table |
+| [**deleteFromTableWithHttpInfo**](DataApi.md#deleteFromTableWithHttpInfo) | **POST** /v1/table/{id}/delete | Delete rows from a table |
+| [**explainTableQueryPlan**](DataApi.md#explainTableQueryPlan) | **POST** /v1/table/{id}/explain_plan | Get query execution plan explanation |
+| [**explainTableQueryPlanWithHttpInfo**](DataApi.md#explainTableQueryPlanWithHttpInfo) | **POST** /v1/table/{id}/explain_plan | Get query execution plan explanation |
+| [**insertIntoTable**](DataApi.md#insertIntoTable) | **POST** /v1/table/{id}/insert | Insert records into a table |
+| [**insertIntoTableWithHttpInfo**](DataApi.md#insertIntoTableWithHttpInfo) | **POST** /v1/table/{id}/insert | Insert records into a table |
+| [**mergeInsertIntoTable**](DataApi.md#mergeInsertIntoTable) | **POST** /v1/table/{id}/merge_insert | Merge insert (upsert) records into a table |
+| [**mergeInsertIntoTableWithHttpInfo**](DataApi.md#mergeInsertIntoTableWithHttpInfo) | **POST** /v1/table/{id}/merge_insert | Merge insert (upsert) records into a table |
+| [**queryTable**](DataApi.md#queryTable) | **POST** /v1/table/{id}/query | Query a table |
+| [**queryTableWithHttpInfo**](DataApi.md#queryTableWithHttpInfo) | **POST** /v1/table/{id}/query | Query a table |
+| [**updateTable**](DataApi.md#updateTable) | **POST** /v1/table/{id}/update | Update rows in a table |
+| [**updateTableWithHttpInfo**](DataApi.md#updateTableWithHttpInfo) | **POST** /v1/table/{id}/update | Update rows in a table |
+
+
+
+## alterTableAddColumns
+
+> CompletableFuture alterTableAddColumns(id, alterTableAddColumnsRequest, delimiter)
+
+Add new columns to table schema
+
+Add new columns to table `id` using SQL expressions or default values.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.DataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ DataApi apiInstance = new DataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ AlterTableAddColumnsRequest alterTableAddColumnsRequest = new AlterTableAddColumnsRequest(); // AlterTableAddColumnsRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.alterTableAddColumns(id, alterTableAddColumnsRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling DataApi#alterTableAddColumns");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **alterTableAddColumnsRequest** | [**AlterTableAddColumnsRequest**](AlterTableAddColumnsRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<[**AlterTableAddColumnsResponse**](AlterTableAddColumnsResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Add columns operation result | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## alterTableAddColumnsWithHttpInfo
+
+> CompletableFuture> alterTableAddColumns alterTableAddColumnsWithHttpInfo(id, alterTableAddColumnsRequest, delimiter)
+
+Add new columns to table schema
+
+Add new columns to table `id` using SQL expressions or default values.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.DataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ DataApi apiInstance = new DataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ AlterTableAddColumnsRequest alterTableAddColumnsRequest = new AlterTableAddColumnsRequest(); // AlterTableAddColumnsRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.alterTableAddColumnsWithHttpInfo(id, alterTableAddColumnsRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling DataApi#alterTableAddColumns");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling DataApi#alterTableAddColumns");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **alterTableAddColumnsRequest** | [**AlterTableAddColumnsRequest**](AlterTableAddColumnsRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Add columns operation result | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## analyzeTableQueryPlan
+
+> CompletableFuture analyzeTableQueryPlan(id, analyzeTableQueryPlanRequest, delimiter)
+
+Analyze query execution plan
+
+Analyze the query execution plan for a query against table `id`. Returns detailed statistics and analysis of the query execution plan. REST NAMESPACE ONLY REST namespace returns the response as a plain string instead of the `AnalyzeTableQueryPlanResponse` JSON object.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.DataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ DataApi apiInstance = new DataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ AnalyzeTableQueryPlanRequest analyzeTableQueryPlanRequest = new AnalyzeTableQueryPlanRequest(); // AnalyzeTableQueryPlanRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.analyzeTableQueryPlan(id, analyzeTableQueryPlanRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling DataApi#analyzeTableQueryPlan");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **analyzeTableQueryPlanRequest** | [**AnalyzeTableQueryPlanRequest**](AnalyzeTableQueryPlanRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<**String**>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Query execution plan analysis | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## analyzeTableQueryPlanWithHttpInfo
+
+> CompletableFuture> analyzeTableQueryPlan analyzeTableQueryPlanWithHttpInfo(id, analyzeTableQueryPlanRequest, delimiter)
+
+Analyze query execution plan
+
+Analyze the query execution plan for a query against table `id`. Returns detailed statistics and analysis of the query execution plan. REST NAMESPACE ONLY REST namespace returns the response as a plain string instead of the `AnalyzeTableQueryPlanResponse` JSON object.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.DataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ DataApi apiInstance = new DataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ AnalyzeTableQueryPlanRequest analyzeTableQueryPlanRequest = new AnalyzeTableQueryPlanRequest(); // AnalyzeTableQueryPlanRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.analyzeTableQueryPlanWithHttpInfo(id, analyzeTableQueryPlanRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling DataApi#analyzeTableQueryPlan");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling DataApi#analyzeTableQueryPlan");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **analyzeTableQueryPlanRequest** | [**AnalyzeTableQueryPlanRequest**](AnalyzeTableQueryPlanRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Query execution plan analysis | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## countTableRows
+
+> CompletableFuture countTableRows(id, countTableRowsRequest, delimiter)
+
+Count rows in a table
+
+Count the number of rows in table `id` REST NAMESPACE ONLY REST namespace returns the response as a plain integer instead of the `CountTableRowsResponse` JSON object.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.DataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ DataApi apiInstance = new DataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ CountTableRowsRequest countTableRowsRequest = new CountTableRowsRequest(); // CountTableRowsRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.countTableRows(id, countTableRowsRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling DataApi#countTableRows");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **countTableRowsRequest** | [**CountTableRowsRequest**](CountTableRowsRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<**Long**>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Result of counting rows in a table | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## countTableRowsWithHttpInfo
+
+> CompletableFuture> countTableRows countTableRowsWithHttpInfo(id, countTableRowsRequest, delimiter)
+
+Count rows in a table
+
+Count the number of rows in table `id` REST NAMESPACE ONLY REST namespace returns the response as a plain integer instead of the `CountTableRowsResponse` JSON object.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.DataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ DataApi apiInstance = new DataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ CountTableRowsRequest countTableRowsRequest = new CountTableRowsRequest(); // CountTableRowsRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.countTableRowsWithHttpInfo(id, countTableRowsRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling DataApi#countTableRows");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling DataApi#countTableRows");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **countTableRowsRequest** | [**CountTableRowsRequest**](CountTableRowsRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Result of counting rows in a table | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## createTable
+
+> CompletableFuture createTable(id, body, delimiter, mode)
+
+Create a table with the given name
+
+Create table `id` in the namespace with the given data in Arrow IPC stream. The schema of the Arrow IPC stream is used as the table schema. If the stream is empty, the API creates a new empty table. REST NAMESPACE ONLY REST namespace uses Arrow IPC stream as the request body. It passes in the `CreateTableRequest` information in the following way: - `id`: pass through path parameter of the same name - `mode`: pass through query parameter of the same name
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.DataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ DataApi apiInstance = new DataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ byte[] body = null; // byte[] | Arrow IPC data
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ String mode = "mode_example"; // String |
+ try {
+ CompletableFuture result = apiInstance.createTable(id, body, delimiter, mode);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling DataApi#createTable");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **body** | **byte[]**| Arrow IPC data | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+| **mode** | **String**| | [optional] |
+
+### Return type
+
+CompletableFuture<[**CreateTableResponse**](CreateTableResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/vnd.apache.arrow.stream
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Table properties result when creating a table | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## createTableWithHttpInfo
+
+> CompletableFuture> createTable createTableWithHttpInfo(id, body, delimiter, mode)
+
+Create a table with the given name
+
+Create table `id` in the namespace with the given data in Arrow IPC stream. The schema of the Arrow IPC stream is used as the table schema. If the stream is empty, the API creates a new empty table. REST NAMESPACE ONLY REST namespace uses Arrow IPC stream as the request body. It passes in the `CreateTableRequest` information in the following way: - `id`: pass through path parameter of the same name - `mode`: pass through query parameter of the same name
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.DataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ DataApi apiInstance = new DataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ byte[] body = null; // byte[] | Arrow IPC data
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ String mode = "mode_example"; // String |
+ try {
+ CompletableFuture> response = apiInstance.createTableWithHttpInfo(id, body, delimiter, mode);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling DataApi#createTable");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling DataApi#createTable");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **body** | **byte[]**| Arrow IPC data | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+| **mode** | **String**| | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/vnd.apache.arrow.stream
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Table properties result when creating a table | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## deleteFromTable
+
+> CompletableFuture deleteFromTable(id, deleteFromTableRequest, delimiter)
+
+Delete rows from a table
+
+Delete rows from table `id`.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.DataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ DataApi apiInstance = new DataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ DeleteFromTableRequest deleteFromTableRequest = new DeleteFromTableRequest(); // DeleteFromTableRequest | Delete request
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.deleteFromTable(id, deleteFromTableRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling DataApi#deleteFromTable");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **deleteFromTableRequest** | [**DeleteFromTableRequest**](DeleteFromTableRequest.md)| Delete request | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<[**DeleteFromTableResponse**](DeleteFromTableResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Delete successful | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## deleteFromTableWithHttpInfo
+
+> CompletableFuture> deleteFromTable deleteFromTableWithHttpInfo(id, deleteFromTableRequest, delimiter)
+
+Delete rows from a table
+
+Delete rows from table `id`.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.DataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ DataApi apiInstance = new DataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ DeleteFromTableRequest deleteFromTableRequest = new DeleteFromTableRequest(); // DeleteFromTableRequest | Delete request
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.deleteFromTableWithHttpInfo(id, deleteFromTableRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling DataApi#deleteFromTable");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling DataApi#deleteFromTable");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **deleteFromTableRequest** | [**DeleteFromTableRequest**](DeleteFromTableRequest.md)| Delete request | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Delete successful | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## explainTableQueryPlan
+
+> CompletableFuture explainTableQueryPlan(id, explainTableQueryPlanRequest, delimiter)
+
+Get query execution plan explanation
+
+Get the query execution plan for a query against table `id`. Returns a human-readable explanation of how the query will be executed. REST NAMESPACE ONLY REST namespace returns the response as a plain string instead of the `ExplainTableQueryPlanResponse` JSON object.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.DataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ DataApi apiInstance = new DataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ ExplainTableQueryPlanRequest explainTableQueryPlanRequest = new ExplainTableQueryPlanRequest(); // ExplainTableQueryPlanRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.explainTableQueryPlan(id, explainTableQueryPlanRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling DataApi#explainTableQueryPlan");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **explainTableQueryPlanRequest** | [**ExplainTableQueryPlanRequest**](ExplainTableQueryPlanRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<**String**>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Query execution plan explanation | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## explainTableQueryPlanWithHttpInfo
+
+> CompletableFuture> explainTableQueryPlan explainTableQueryPlanWithHttpInfo(id, explainTableQueryPlanRequest, delimiter)
+
+Get query execution plan explanation
+
+Get the query execution plan for a query against table `id`. Returns a human-readable explanation of how the query will be executed. REST NAMESPACE ONLY REST namespace returns the response as a plain string instead of the `ExplainTableQueryPlanResponse` JSON object.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.DataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ DataApi apiInstance = new DataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ ExplainTableQueryPlanRequest explainTableQueryPlanRequest = new ExplainTableQueryPlanRequest(); // ExplainTableQueryPlanRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.explainTableQueryPlanWithHttpInfo(id, explainTableQueryPlanRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling DataApi#explainTableQueryPlan");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling DataApi#explainTableQueryPlan");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **explainTableQueryPlanRequest** | [**ExplainTableQueryPlanRequest**](ExplainTableQueryPlanRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Query execution plan explanation | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## insertIntoTable
+
+> CompletableFuture insertIntoTable(id, body, delimiter, mode)
+
+Insert records into a table
+
+Insert new records into table `id`. REST NAMESPACE ONLY REST namespace uses Arrow IPC stream as the request body. It passes in the `InsertIntoTableRequest` information in the following way: - `id`: pass through path parameter of the same name - `mode`: pass through query parameter of the same name
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.DataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ DataApi apiInstance = new DataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ byte[] body = null; // byte[] | Arrow IPC stream containing the records to insert
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ String mode = "append"; // String | How the insert should behave. Case insensitive, supports both PascalCase and snake_case. Valid values are: - Append (default): insert data to the existing table - Overwrite: remove all data in the table and then insert data to it
+ try {
+ CompletableFuture result = apiInstance.insertIntoTable(id, body, delimiter, mode);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling DataApi#insertIntoTable");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **body** | **byte[]**| Arrow IPC stream containing the records to insert | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+| **mode** | **String**| How the insert should behave. Case insensitive, supports both PascalCase and snake_case. Valid values are: - Append (default): insert data to the existing table - Overwrite: remove all data in the table and then insert data to it | [optional] [default to append] |
+
+### Return type
+
+CompletableFuture<[**InsertIntoTableResponse**](InsertIntoTableResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/vnd.apache.arrow.stream
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Result of inserting records into a table | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## insertIntoTableWithHttpInfo
+
+> CompletableFuture> insertIntoTable insertIntoTableWithHttpInfo(id, body, delimiter, mode)
+
+Insert records into a table
+
+Insert new records into table `id`. REST NAMESPACE ONLY REST namespace uses Arrow IPC stream as the request body. It passes in the `InsertIntoTableRequest` information in the following way: - `id`: pass through path parameter of the same name - `mode`: pass through query parameter of the same name
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.DataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ DataApi apiInstance = new DataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ byte[] body = null; // byte[] | Arrow IPC stream containing the records to insert
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ String mode = "append"; // String | How the insert should behave. Case insensitive, supports both PascalCase and snake_case. Valid values are: - Append (default): insert data to the existing table - Overwrite: remove all data in the table and then insert data to it
+ try {
+ CompletableFuture> response = apiInstance.insertIntoTableWithHttpInfo(id, body, delimiter, mode);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling DataApi#insertIntoTable");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling DataApi#insertIntoTable");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **body** | **byte[]**| Arrow IPC stream containing the records to insert | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+| **mode** | **String**| How the insert should behave. Case insensitive, supports both PascalCase and snake_case. Valid values are: - Append (default): insert data to the existing table - Overwrite: remove all data in the table and then insert data to it | [optional] [default to append] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/vnd.apache.arrow.stream
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Result of inserting records into a table | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## mergeInsertIntoTable
+
+> CompletableFuture mergeInsertIntoTable(id, on, body, delimiter, whenMatchedUpdateAll, whenMatchedUpdateAllFilt, whenNotMatchedInsertAll, whenNotMatchedBySourceDelete, whenNotMatchedBySourceDeleteFilt, timeout, useIndex)
+
+Merge insert (upsert) records into a table
+
+Performs a merge insert (upsert) operation on table `id`. This operation updates existing rows based on a matching column and inserts new rows that don't match. It returns the number of rows inserted and updated. REST NAMESPACE ONLY REST namespace uses Arrow IPC stream as the request body. It passes in the `MergeInsertIntoTableRequest` information in the following way: - `id`: pass through path parameter of the same name - `on`: pass through query parameter of the same name - `when_matched_update_all`: pass through query parameter of the same name - `when_matched_update_all_filt`: pass through query parameter of the same name - `when_not_matched_insert_all`: pass through query parameter of the same name - `when_not_matched_by_source_delete`: pass through query parameter of the same name - `when_not_matched_by_source_delete_filt`: pass through query parameter of the same name
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.DataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ DataApi apiInstance = new DataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ String on = "on_example"; // String | Column name to use for matching rows (required)
+ byte[] body = null; // byte[] | Arrow IPC stream containing the records to merge
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ Boolean whenMatchedUpdateAll = false; // Boolean | Update all columns when rows match
+ String whenMatchedUpdateAllFilt = "whenMatchedUpdateAllFilt_example"; // String | The row is updated (similar to UpdateAll) only for rows where the SQL expression evaluates to true
+ Boolean whenNotMatchedInsertAll = false; // Boolean | Insert all columns when rows don't match
+ Boolean whenNotMatchedBySourceDelete = false; // Boolean | Delete all rows from target table that don't match a row in the source table
+ String whenNotMatchedBySourceDeleteFilt = "whenNotMatchedBySourceDeleteFilt_example"; // String | Delete rows from the target table if there is no match AND the SQL expression evaluates to true
+ String timeout = "timeout_example"; // String | Timeout for the operation (e.g., \"30s\", \"5m\")
+ Boolean useIndex = false; // Boolean | Whether to use index for matching rows
+ try {
+ CompletableFuture result = apiInstance.mergeInsertIntoTable(id, on, body, delimiter, whenMatchedUpdateAll, whenMatchedUpdateAllFilt, whenNotMatchedInsertAll, whenNotMatchedBySourceDelete, whenNotMatchedBySourceDeleteFilt, timeout, useIndex);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling DataApi#mergeInsertIntoTable");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **on** | **String**| Column name to use for matching rows (required) | |
+| **body** | **byte[]**| Arrow IPC stream containing the records to merge | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+| **whenMatchedUpdateAll** | **Boolean**| Update all columns when rows match | [optional] [default to false] |
+| **whenMatchedUpdateAllFilt** | **String**| The row is updated (similar to UpdateAll) only for rows where the SQL expression evaluates to true | [optional] |
+| **whenNotMatchedInsertAll** | **Boolean**| Insert all columns when rows don't match | [optional] [default to false] |
+| **whenNotMatchedBySourceDelete** | **Boolean**| Delete all rows from target table that don't match a row in the source table | [optional] [default to false] |
+| **whenNotMatchedBySourceDeleteFilt** | **String**| Delete rows from the target table if there is no match AND the SQL expression evaluates to true | [optional] |
+| **timeout** | **String**| Timeout for the operation (e.g., \"30s\", \"5m\") | [optional] |
+| **useIndex** | **Boolean**| Whether to use index for matching rows | [optional] [default to false] |
+
+### Return type
+
+CompletableFuture<[**MergeInsertIntoTableResponse**](MergeInsertIntoTableResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/vnd.apache.arrow.stream
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Result of merge insert operation | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## mergeInsertIntoTableWithHttpInfo
+
+> CompletableFuture> mergeInsertIntoTable mergeInsertIntoTableWithHttpInfo(id, on, body, delimiter, whenMatchedUpdateAll, whenMatchedUpdateAllFilt, whenNotMatchedInsertAll, whenNotMatchedBySourceDelete, whenNotMatchedBySourceDeleteFilt, timeout, useIndex)
+
+Merge insert (upsert) records into a table
+
+Performs a merge insert (upsert) operation on table `id`. This operation updates existing rows based on a matching column and inserts new rows that don't match. It returns the number of rows inserted and updated. REST NAMESPACE ONLY REST namespace uses Arrow IPC stream as the request body. It passes in the `MergeInsertIntoTableRequest` information in the following way: - `id`: pass through path parameter of the same name - `on`: pass through query parameter of the same name - `when_matched_update_all`: pass through query parameter of the same name - `when_matched_update_all_filt`: pass through query parameter of the same name - `when_not_matched_insert_all`: pass through query parameter of the same name - `when_not_matched_by_source_delete`: pass through query parameter of the same name - `when_not_matched_by_source_delete_filt`: pass through query parameter of the same name
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.DataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ DataApi apiInstance = new DataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ String on = "on_example"; // String | Column name to use for matching rows (required)
+ byte[] body = null; // byte[] | Arrow IPC stream containing the records to merge
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ Boolean whenMatchedUpdateAll = false; // Boolean | Update all columns when rows match
+ String whenMatchedUpdateAllFilt = "whenMatchedUpdateAllFilt_example"; // String | The row is updated (similar to UpdateAll) only for rows where the SQL expression evaluates to true
+ Boolean whenNotMatchedInsertAll = false; // Boolean | Insert all columns when rows don't match
+ Boolean whenNotMatchedBySourceDelete = false; // Boolean | Delete all rows from target table that don't match a row in the source table
+ String whenNotMatchedBySourceDeleteFilt = "whenNotMatchedBySourceDeleteFilt_example"; // String | Delete rows from the target table if there is no match AND the SQL expression evaluates to true
+ String timeout = "timeout_example"; // String | Timeout for the operation (e.g., \"30s\", \"5m\")
+ Boolean useIndex = false; // Boolean | Whether to use index for matching rows
+ try {
+ CompletableFuture> response = apiInstance.mergeInsertIntoTableWithHttpInfo(id, on, body, delimiter, whenMatchedUpdateAll, whenMatchedUpdateAllFilt, whenNotMatchedInsertAll, whenNotMatchedBySourceDelete, whenNotMatchedBySourceDeleteFilt, timeout, useIndex);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling DataApi#mergeInsertIntoTable");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling DataApi#mergeInsertIntoTable");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **on** | **String**| Column name to use for matching rows (required) | |
+| **body** | **byte[]**| Arrow IPC stream containing the records to merge | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+| **whenMatchedUpdateAll** | **Boolean**| Update all columns when rows match | [optional] [default to false] |
+| **whenMatchedUpdateAllFilt** | **String**| The row is updated (similar to UpdateAll) only for rows where the SQL expression evaluates to true | [optional] |
+| **whenNotMatchedInsertAll** | **Boolean**| Insert all columns when rows don't match | [optional] [default to false] |
+| **whenNotMatchedBySourceDelete** | **Boolean**| Delete all rows from target table that don't match a row in the source table | [optional] [default to false] |
+| **whenNotMatchedBySourceDeleteFilt** | **String**| Delete rows from the target table if there is no match AND the SQL expression evaluates to true | [optional] |
+| **timeout** | **String**| Timeout for the operation (e.g., \"30s\", \"5m\") | [optional] |
+| **useIndex** | **Boolean**| Whether to use index for matching rows | [optional] [default to false] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/vnd.apache.arrow.stream
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Result of merge insert operation | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## queryTable
+
+> CompletableFuture queryTable(id, queryTableRequest, delimiter)
+
+Query a table
+
+Query table `id` with vector search, full text search and optional SQL filtering. Returns results in Arrow IPC file or stream format. REST NAMESPACE ONLY REST namespace returns the response as Arrow IPC file binary data instead of the `QueryTableResponse` JSON object.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.DataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ DataApi apiInstance = new DataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ QueryTableRequest queryTableRequest = new QueryTableRequest(); // QueryTableRequest | Query request
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.queryTable(id, queryTableRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling DataApi#queryTable");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **queryTableRequest** | [**QueryTableRequest**](QueryTableRequest.md)| Query request | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<**byte[]**>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/vnd.apache.arrow.file, application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Query results in Arrow IPC file format | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## queryTableWithHttpInfo
+
+> CompletableFuture> queryTable queryTableWithHttpInfo(id, queryTableRequest, delimiter)
+
+Query a table
+
+Query table `id` with vector search, full text search and optional SQL filtering. Returns results in Arrow IPC file or stream format. REST NAMESPACE ONLY REST namespace returns the response as Arrow IPC file binary data instead of the `QueryTableResponse` JSON object.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.DataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ DataApi apiInstance = new DataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ QueryTableRequest queryTableRequest = new QueryTableRequest(); // QueryTableRequest | Query request
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.queryTableWithHttpInfo(id, queryTableRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling DataApi#queryTable");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling DataApi#queryTable");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **queryTableRequest** | [**QueryTableRequest**](QueryTableRequest.md)| Query request | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/vnd.apache.arrow.file, application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Query results in Arrow IPC file format | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## updateTable
+
+> CompletableFuture updateTable(id, updateTableRequest, delimiter)
+
+Update rows in a table
+
+Update existing rows in table `id`.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.DataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ DataApi apiInstance = new DataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ UpdateTableRequest updateTableRequest = new UpdateTableRequest(); // UpdateTableRequest | Update request
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.updateTable(id, updateTableRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling DataApi#updateTable");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **updateTableRequest** | [**UpdateTableRequest**](UpdateTableRequest.md)| Update request | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<[**UpdateTableResponse**](UpdateTableResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Update successful | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## updateTableWithHttpInfo
+
+> CompletableFuture> updateTable updateTableWithHttpInfo(id, updateTableRequest, delimiter)
+
+Update rows in a table
+
+Update existing rows in table `id`.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.DataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ DataApi apiInstance = new DataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ UpdateTableRequest updateTableRequest = new UpdateTableRequest(); // UpdateTableRequest | Update request
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.updateTableWithHttpInfo(id, updateTableRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling DataApi#updateTable");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling DataApi#updateTable");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **updateTableRequest** | [**UpdateTableRequest**](UpdateTableRequest.md)| Update request | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Update successful | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
diff --git a/java/lance-namespace-async-client/docs/DeclareTableRequest.md b/java/lance-namespace-async-client/docs/DeclareTableRequest.md
new file mode 100644
index 000000000..7a58a8315
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/DeclareTableRequest.md
@@ -0,0 +1,19 @@
+
+
+# DeclareTableRequest
+
+Request for declaring a table.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+|**location** | **String** | Optional storage location for the table. If not provided, the namespace implementation should determine the table location. | [optional] |
+|**vendCredentials** | **Boolean** | Whether to include vended credentials in the response `storage_options`. When true, the implementation should provide vended credentials for accessing storage. When not set, the implementation can decide whether to return vended credentials. | [optional] |
+|**properties** | **Map<String, String>** | Properties stored on the table, if supported by the server. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/DeclareTableResponse.md b/java/lance-namespace-async-client/docs/DeclareTableResponse.md
new file mode 100644
index 000000000..4d475011e
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/DeclareTableResponse.md
@@ -0,0 +1,18 @@
+
+
+# DeclareTableResponse
+
+Response for declaring a table.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**transactionId** | **String** | Optional transaction identifier | [optional] |
+|**location** | **String** | | [optional] |
+|**storageOptions** | **Map<String, String>** | Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access. | [optional] |
+|**properties** | **Map<String, String>** | If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. | [optional] |
+|**managedVersioning** | **Boolean** | When true, the caller should use namespace table version operations (CreateTableVersion, BatchCreateTableVersions, DescribeTableVersion, ListTableVersions, BatchDeleteTableVersions) to manage table versions instead of relying on Lance's native version management. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/DeleteFromTableRequest.md b/java/lance-namespace-async-client/docs/DeleteFromTableRequest.md
new file mode 100644
index 000000000..0ef5b076b
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/DeleteFromTableRequest.md
@@ -0,0 +1,17 @@
+
+
+# DeleteFromTableRequest
+
+Delete data from table based on a SQL predicate. Returns the number of rows that were deleted.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | The namespace identifier | [optional] |
+|**predicate** | **String** | SQL predicate to filter rows for deletion | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/DeleteFromTableResponse.md b/java/lance-namespace-async-client/docs/DeleteFromTableResponse.md
new file mode 100644
index 000000000..60a98458c
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/DeleteFromTableResponse.md
@@ -0,0 +1,14 @@
+
+
+# DeleteFromTableResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**transactionId** | **String** | Optional transaction identifier | [optional] |
+|**version** | **Long** | The commit version associated with the operation | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/DeleteTableTagRequest.md b/java/lance-namespace-async-client/docs/DeleteTableTagRequest.md
new file mode 100644
index 000000000..6d80549cc
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/DeleteTableTagRequest.md
@@ -0,0 +1,16 @@
+
+
+# DeleteTableTagRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+|**tag** | **String** | Name of the tag to delete | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/DeleteTableTagResponse.md b/java/lance-namespace-async-client/docs/DeleteTableTagResponse.md
new file mode 100644
index 000000000..e4c018aa8
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/DeleteTableTagResponse.md
@@ -0,0 +1,14 @@
+
+
+# DeleteTableTagResponse
+
+Response for delete tag operation
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**transactionId** | **String** | Optional transaction identifier | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/DeregisterTableRequest.md b/java/lance-namespace-async-client/docs/DeregisterTableRequest.md
new file mode 100644
index 000000000..273f3fc7b
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/DeregisterTableRequest.md
@@ -0,0 +1,16 @@
+
+
+# DeregisterTableRequest
+
+The table content remains available in the storage.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/DeregisterTableResponse.md b/java/lance-namespace-async-client/docs/DeregisterTableResponse.md
new file mode 100644
index 000000000..cddb62408
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/DeregisterTableResponse.md
@@ -0,0 +1,16 @@
+
+
+# DeregisterTableResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**transactionId** | **String** | Optional transaction identifier | [optional] |
+|**id** | **List<String>** | | [optional] |
+|**location** | **String** | | [optional] |
+|**properties** | **Map<String, String>** | If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/DescribeNamespaceRequest.md b/java/lance-namespace-async-client/docs/DescribeNamespaceRequest.md
new file mode 100644
index 000000000..6a5a3491e
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/DescribeNamespaceRequest.md
@@ -0,0 +1,15 @@
+
+
+# DescribeNamespaceRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/DescribeNamespaceResponse.md b/java/lance-namespace-async-client/docs/DescribeNamespaceResponse.md
new file mode 100644
index 000000000..44b52ed56
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/DescribeNamespaceResponse.md
@@ -0,0 +1,13 @@
+
+
+# DescribeNamespaceResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**properties** | **Map<String, String>** | Properties stored on the namespace, if supported by the server. If the server does not support namespace properties, it should return null for this field. If namespace properties are supported, but none are set, it should return an empty object. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/DescribeTableIndexStatsRequest.md b/java/lance-namespace-async-client/docs/DescribeTableIndexStatsRequest.md
new file mode 100644
index 000000000..30a40099c
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/DescribeTableIndexStatsRequest.md
@@ -0,0 +1,17 @@
+
+
+# DescribeTableIndexStatsRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+|**version** | **Long** | Optional table version to get stats for | [optional] |
+|**indexName** | **String** | Name of the index | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/DescribeTableIndexStatsResponse.md b/java/lance-namespace-async-client/docs/DescribeTableIndexStatsResponse.md
new file mode 100644
index 000000000..6d7260e7e
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/DescribeTableIndexStatsResponse.md
@@ -0,0 +1,17 @@
+
+
+# DescribeTableIndexStatsResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**distanceType** | **String** | Distance type for vector indexes | [optional] |
+|**indexType** | **String** | Type of the index | [optional] |
+|**numIndexedRows** | **Long** | Number of indexed rows | [optional] |
+|**numUnindexedRows** | **Long** | Number of unindexed rows | [optional] |
+|**numIndices** | **Integer** | Number of indices | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/DescribeTableRequest.md b/java/lance-namespace-async-client/docs/DescribeTableRequest.md
new file mode 100644
index 000000000..b60c5d622
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/DescribeTableRequest.md
@@ -0,0 +1,19 @@
+
+
+# DescribeTableRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+|**version** | **Long** | Version of the table to describe. If not specified, server should resolve it to the latest version. | [optional] |
+|**withTableUri** | **Boolean** | Whether to include the table URI in the response. Default is false. | [optional] |
+|**loadDetailedMetadata** | **Boolean** | Whether to load detailed metadata that requires opening the dataset. When true, the response must include all detailed metadata such as `version`, `schema`, and `stats` which require reading the dataset. When not set, the implementation can decide whether to return detailed metadata and which parts of detailed metadata to return. | [optional] |
+|**vendCredentials** | **Boolean** | Whether to include vended credentials in the response `storage_options`. When true, the implementation should provide vended credentials for accessing storage. When not set, the implementation can decide whether to return vended credentials. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/DescribeTableResponse.md b/java/lance-namespace-async-client/docs/DescribeTableResponse.md
new file mode 100644
index 000000000..233dfd6a9
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/DescribeTableResponse.md
@@ -0,0 +1,23 @@
+
+
+# DescribeTableResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**table** | **String** | Table name. Only populated when `load_detailed_metadata` is true. | [optional] |
+|**namespace** | **List<String>** | The namespace identifier as a list of parts. Only populated when `load_detailed_metadata` is true. | [optional] |
+|**version** | **Long** | Table version number. Only populated when `load_detailed_metadata` is true. | [optional] |
+|**location** | **String** | Table storage location (e.g., S3/GCS path). | [optional] |
+|**tableUri** | **String** | Table URI. Unlike location, this field must be a complete and valid URI. Only returned when `with_table_uri` is true. | [optional] |
+|**schema** | [**JsonArrowSchema**](JsonArrowSchema.md) | Table schema in JSON Arrow format. Only populated when `load_detailed_metadata` is true. | [optional] |
+|**storageOptions** | **Map<String, String>** | Configuration options to be used to access storage. The available options depend on the type of storage in use. These will be passed directly to Lance to initialize storage access. When `vend_credentials` is true, this field may include vended credentials. If the vended credentials are temporary, the `expires_at_millis` key should be included to indicate the millisecond timestamp when the credentials expire. | [optional] |
+|**stats** | [**TableBasicStats**](TableBasicStats.md) | Table statistics. Only populated when `load_detailed_metadata` is true. | [optional] |
+|**metadata** | **Map<String, String>** | Optional table metadata as key-value pairs. This records the information of the table and requires loading the table. It is only populated when `load_detailed_metadata` is true. | [optional] |
+|**properties** | **Map<String, String>** | Properties stored on the table, if supported by the server. This records the information managed by the namespace. If the server does not support table properties, it should return null for this field. If table properties are supported, but none are set, it should return an empty object. | [optional] |
+|**managedVersioning** | **Boolean** | When true, the caller should use namespace table version operations (CreateTableVersion, BatchCreateTableVersions, DescribeTableVersion, ListTableVersions, BatchDeleteTableVersions) to manage table versions instead of relying on Lance's native version management. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/DescribeTableVersionRequest.md b/java/lance-namespace-async-client/docs/DescribeTableVersionRequest.md
new file mode 100644
index 000000000..5d10901f4
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/DescribeTableVersionRequest.md
@@ -0,0 +1,17 @@
+
+
+# DescribeTableVersionRequest
+
+Request to describe a specific table version
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | The table identifier | [optional] |
+|**version** | **Long** | Version number to describe | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/DescribeTableVersionResponse.md b/java/lance-namespace-async-client/docs/DescribeTableVersionResponse.md
new file mode 100644
index 000000000..86ea56899
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/DescribeTableVersionResponse.md
@@ -0,0 +1,14 @@
+
+
+# DescribeTableVersionResponse
+
+Response containing the table version information
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**version** | [**TableVersion**](TableVersion.md) | The table version information | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/DescribeTransactionRequest.md b/java/lance-namespace-async-client/docs/DescribeTransactionRequest.md
new file mode 100644
index 000000000..f8c163e77
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/DescribeTransactionRequest.md
@@ -0,0 +1,15 @@
+
+
+# DescribeTransactionRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/DescribeTransactionResponse.md b/java/lance-namespace-async-client/docs/DescribeTransactionResponse.md
new file mode 100644
index 000000000..3c496cbc4
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/DescribeTransactionResponse.md
@@ -0,0 +1,14 @@
+
+
+# DescribeTransactionResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**status** | **String** | The status of a transaction. Case insensitive, supports both PascalCase and snake_case. Valid values are: - Queued: the transaction is queued and not yet started - Running: the transaction is currently running - Succeeded: the transaction has completed successfully - Failed: the transaction has failed - Canceled: the transaction was canceled | |
+|**properties** | **Map<String, String>** | | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/DropNamespaceRequest.md b/java/lance-namespace-async-client/docs/DropNamespaceRequest.md
new file mode 100644
index 000000000..e615e179d
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/DropNamespaceRequest.md
@@ -0,0 +1,17 @@
+
+
+# DropNamespaceRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+|**mode** | **String** | The mode for dropping a namespace, deciding the server behavior when the namespace to drop is not found. Case insensitive, supports both PascalCase and snake_case. Valid values are: - Fail (default): the server must return 400 indicating the namespace to drop does not exist. - Skip: the server must return 204 indicating the drop operation has succeeded. | [optional] |
+|**behavior** | **String** | The behavior for dropping a namespace. Case insensitive, supports both PascalCase and snake_case. Valid values are: - Restrict (default): the namespace should not contain any table or child namespace when drop is initiated. If tables are found, the server should return error and not drop the namespace. - Cascade: all tables and child namespaces in the namespace are dropped before the namespace is dropped. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/DropNamespaceResponse.md b/java/lance-namespace-async-client/docs/DropNamespaceResponse.md
new file mode 100644
index 000000000..6eacbdec9
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/DropNamespaceResponse.md
@@ -0,0 +1,14 @@
+
+
+# DropNamespaceResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**properties** | **Map<String, String>** | If the implementation does not support namespace properties, it should return null for this field. Otherwise it should return the properties. | [optional] |
+|**transactionId** | **List<String>** | If present, indicating the operation is long running and should be tracked using DescribeTransaction | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/DropTableIndexRequest.md b/java/lance-namespace-async-client/docs/DropTableIndexRequest.md
new file mode 100644
index 000000000..36a69b6b7
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/DropTableIndexRequest.md
@@ -0,0 +1,16 @@
+
+
+# DropTableIndexRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+|**indexName** | **String** | Name of the index to drop | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/DropTableIndexResponse.md b/java/lance-namespace-async-client/docs/DropTableIndexResponse.md
new file mode 100644
index 000000000..bae62a1f6
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/DropTableIndexResponse.md
@@ -0,0 +1,14 @@
+
+
+# DropTableIndexResponse
+
+Response for drop index operation
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**transactionId** | **String** | Optional transaction identifier | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/DropTableRequest.md b/java/lance-namespace-async-client/docs/DropTableRequest.md
new file mode 100644
index 000000000..39789434e
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/DropTableRequest.md
@@ -0,0 +1,16 @@
+
+
+# DropTableRequest
+
+If the table and its data can be immediately deleted, return information of the deleted table. Otherwise, return a transaction ID that client can use to track deletion progress.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/DropTableResponse.md b/java/lance-namespace-async-client/docs/DropTableResponse.md
new file mode 100644
index 000000000..bbc9a98eb
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/DropTableResponse.md
@@ -0,0 +1,16 @@
+
+
+# DropTableResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**transactionId** | **String** | Optional transaction identifier | [optional] |
+|**id** | **List<String>** | | [optional] |
+|**location** | **String** | | [optional] |
+|**properties** | **Map<String, String>** | If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/ErrorResponse.md b/java/lance-namespace-async-client/docs/ErrorResponse.md
new file mode 100644
index 000000000..dc84633d2
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/ErrorResponse.md
@@ -0,0 +1,17 @@
+
+
+# ErrorResponse
+
+Common JSON error response model
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**error** | **String** | A brief, human-readable message about the error. | [optional] |
+|**code** | **Integer** | Lance Namespace error code identifying the error type. Error codes: 0 - Unsupported: Operation not supported by this backend 1 - NamespaceNotFound: The specified namespace does not exist 2 - NamespaceAlreadyExists: A namespace with this name already exists 3 - NamespaceNotEmpty: Namespace contains tables or child namespaces 4 - TableNotFound: The specified table does not exist 5 - TableAlreadyExists: A table with this name already exists 6 - TableIndexNotFound: The specified table index does not exist 7 - TableIndexAlreadyExists: A table index with this name already exists 8 - TableTagNotFound: The specified table tag does not exist 9 - TableTagAlreadyExists: A table tag with this name already exists 10 - TransactionNotFound: The specified transaction does not exist 11 - TableVersionNotFound: The specified table version does not exist 12 - TableColumnNotFound: The specified table column does not exist 13 - InvalidInput: Malformed request or invalid parameters 14 - ConcurrentModification: Optimistic concurrency conflict 15 - PermissionDenied: User lacks permission for this operation 16 - Unauthenticated: Authentication credentials are missing or invalid 17 - ServiceUnavailable: Service is temporarily unavailable 18 - Internal: Unexpected server/implementation error 19 - InvalidTableState: Table is in an invalid state for the operation 20 - TableSchemaValidationError: Table schema validation failed | |
+|**detail** | **String** | An optional human-readable explanation of the error. This can be used to record additional information such as stack trace. | [optional] |
+|**instance** | **String** | A string that identifies the specific occurrence of the error. This can be a URI, a request or response ID, or anything that the implementation can recognize to trace specific occurrence of the error. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/ExplainTableQueryPlanRequest.md b/java/lance-namespace-async-client/docs/ExplainTableQueryPlanRequest.md
new file mode 100644
index 000000000..a6c0cbf5b
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/ExplainTableQueryPlanRequest.md
@@ -0,0 +1,17 @@
+
+
+# ExplainTableQueryPlanRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+|**query** | [**QueryTableRequest**](QueryTableRequest.md) | | |
+|**verbose** | **Boolean** | Whether to return verbose explanation | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/ExplainTableQueryPlanResponse.md b/java/lance-namespace-async-client/docs/ExplainTableQueryPlanResponse.md
new file mode 100644
index 000000000..0da336dfe
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/ExplainTableQueryPlanResponse.md
@@ -0,0 +1,13 @@
+
+
+# ExplainTableQueryPlanResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**plan** | **String** | Human-readable query execution plan | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/FragmentStats.md b/java/lance-namespace-async-client/docs/FragmentStats.md
new file mode 100644
index 000000000..803b68456
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/FragmentStats.md
@@ -0,0 +1,15 @@
+
+
+# FragmentStats
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**numFragments** | **Long** | The number of fragments in the table | |
+|**numSmallFragments** | **Long** | The number of uncompacted fragments in the table | |
+|**lengths** | [**FragmentSummary**](FragmentSummary.md) | Statistics on the number of rows in the table fragments | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/FragmentSummary.md b/java/lance-namespace-async-client/docs/FragmentSummary.md
new file mode 100644
index 000000000..b86d69b70
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/FragmentSummary.md
@@ -0,0 +1,19 @@
+
+
+# FragmentSummary
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**min** | **Long** | | |
+|**max** | **Long** | | |
+|**mean** | **Long** | | |
+|**p25** | **Long** | | |
+|**p50** | **Long** | | |
+|**p75** | **Long** | | |
+|**p99** | **Long** | | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/FtsQuery.md b/java/lance-namespace-async-client/docs/FtsQuery.md
new file mode 100644
index 000000000..f080383b1
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/FtsQuery.md
@@ -0,0 +1,18 @@
+
+
+# FtsQuery
+
+Full-text search query. Exactly one query type field must be provided. This structure follows the same pattern as AlterTransactionAction to minimize differences and compatibility issues across codegen in different languages.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**match** | [**MatchQuery**](MatchQuery.md) | | [optional] |
+|**phrase** | [**PhraseQuery**](PhraseQuery.md) | | [optional] |
+|**boost** | [**BoostQuery**](BoostQuery.md) | | [optional] |
+|**multiMatch** | [**MultiMatchQuery**](MultiMatchQuery.md) | | [optional] |
+|**_boolean** | [**BooleanQuery**](BooleanQuery.md) | | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/GetTableStatsRequest.md b/java/lance-namespace-async-client/docs/GetTableStatsRequest.md
new file mode 100644
index 000000000..89057661f
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/GetTableStatsRequest.md
@@ -0,0 +1,15 @@
+
+
+# GetTableStatsRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/GetTableStatsResponse.md b/java/lance-namespace-async-client/docs/GetTableStatsResponse.md
new file mode 100644
index 000000000..b9efb81e3
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/GetTableStatsResponse.md
@@ -0,0 +1,16 @@
+
+
+# GetTableStatsResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**totalBytes** | **Long** | The total number of bytes in the table | |
+|**numRows** | **Long** | The number of rows in the table | |
+|**numIndices** | **Long** | The number of indices in the table | |
+|**fragmentStats** | [**FragmentStats**](FragmentStats.md) | Statistics on table fragments | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/GetTableTagVersionRequest.md b/java/lance-namespace-async-client/docs/GetTableTagVersionRequest.md
new file mode 100644
index 000000000..db878da20
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/GetTableTagVersionRequest.md
@@ -0,0 +1,16 @@
+
+
+# GetTableTagVersionRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+|**tag** | **String** | Name of the tag to get version for | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/GetTableTagVersionResponse.md b/java/lance-namespace-async-client/docs/GetTableTagVersionResponse.md
new file mode 100644
index 000000000..90de59aa5
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/GetTableTagVersionResponse.md
@@ -0,0 +1,13 @@
+
+
+# GetTableTagVersionResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**version** | **Long** | version number that the tag points to | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/Identity.md b/java/lance-namespace-async-client/docs/Identity.md
new file mode 100644
index 000000000..a543e8275
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/Identity.md
@@ -0,0 +1,15 @@
+
+
+# Identity
+
+Identity information of a request.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**apiKey** | **String** | API key for authentication. REST NAMESPACE ONLY This is passed via the `x-api-key` header. | [optional] |
+|**authToken** | **String** | Bearer token for authentication. REST NAMESPACE ONLY This is passed via the `Authorization` header with the Bearer scheme (e.g., `Bearer <token>`). | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/IndexApi.md b/java/lance-namespace-async-client/docs/IndexApi.md
new file mode 100644
index 000000000..73bda3c23
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/IndexApi.md
@@ -0,0 +1,987 @@
+# IndexApi
+
+All URIs are relative to *http://localhost:2333*
+
+| Method | HTTP request | Description |
+|------------- | ------------- | -------------|
+| [**createTableIndex**](IndexApi.md#createTableIndex) | **POST** /v1/table/{id}/create_index | Create an index on a table |
+| [**createTableIndexWithHttpInfo**](IndexApi.md#createTableIndexWithHttpInfo) | **POST** /v1/table/{id}/create_index | Create an index on a table |
+| [**createTableScalarIndex**](IndexApi.md#createTableScalarIndex) | **POST** /v1/table/{id}/create_scalar_index | Create a scalar index on a table |
+| [**createTableScalarIndexWithHttpInfo**](IndexApi.md#createTableScalarIndexWithHttpInfo) | **POST** /v1/table/{id}/create_scalar_index | Create a scalar index on a table |
+| [**describeTableIndexStats**](IndexApi.md#describeTableIndexStats) | **POST** /v1/table/{id}/index/{index_name}/stats | Get table index statistics |
+| [**describeTableIndexStatsWithHttpInfo**](IndexApi.md#describeTableIndexStatsWithHttpInfo) | **POST** /v1/table/{id}/index/{index_name}/stats | Get table index statistics |
+| [**dropTableIndex**](IndexApi.md#dropTableIndex) | **POST** /v1/table/{id}/index/{index_name}/drop | Drop a specific index |
+| [**dropTableIndexWithHttpInfo**](IndexApi.md#dropTableIndexWithHttpInfo) | **POST** /v1/table/{id}/index/{index_name}/drop | Drop a specific index |
+| [**listTableIndices**](IndexApi.md#listTableIndices) | **POST** /v1/table/{id}/index/list | List indexes on a table |
+| [**listTableIndicesWithHttpInfo**](IndexApi.md#listTableIndicesWithHttpInfo) | **POST** /v1/table/{id}/index/list | List indexes on a table |
+
+
+
+## createTableIndex
+
+> CompletableFuture createTableIndex(id, createTableIndexRequest, delimiter)
+
+Create an index on a table
+
+Create an index on a table column for faster search operations. Supports vector indexes (IVF_FLAT, IVF_HNSW_SQ, IVF_PQ, etc.) and scalar indexes (BTREE, BITMAP, FTS, etc.). Index creation is handled asynchronously. Use the `ListTableIndices` and `DescribeTableIndexStats` operations to monitor index creation progress.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.IndexApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ IndexApi apiInstance = new IndexApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ CreateTableIndexRequest createTableIndexRequest = new CreateTableIndexRequest(); // CreateTableIndexRequest | Index creation request
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.createTableIndex(id, createTableIndexRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling IndexApi#createTableIndex");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **createTableIndexRequest** | [**CreateTableIndexRequest**](CreateTableIndexRequest.md)| Index creation request | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<[**CreateTableIndexResponse**](CreateTableIndexResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Index created successfully | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## createTableIndexWithHttpInfo
+
+> CompletableFuture> createTableIndex createTableIndexWithHttpInfo(id, createTableIndexRequest, delimiter)
+
+Create an index on a table
+
+Create an index on a table column for faster search operations. Supports vector indexes (IVF_FLAT, IVF_HNSW_SQ, IVF_PQ, etc.) and scalar indexes (BTREE, BITMAP, FTS, etc.). Index creation is handled asynchronously. Use the `ListTableIndices` and `DescribeTableIndexStats` operations to monitor index creation progress.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.IndexApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ IndexApi apiInstance = new IndexApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ CreateTableIndexRequest createTableIndexRequest = new CreateTableIndexRequest(); // CreateTableIndexRequest | Index creation request
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.createTableIndexWithHttpInfo(id, createTableIndexRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling IndexApi#createTableIndex");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling IndexApi#createTableIndex");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **createTableIndexRequest** | [**CreateTableIndexRequest**](CreateTableIndexRequest.md)| Index creation request | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Index created successfully | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## createTableScalarIndex
+
+> CompletableFuture createTableScalarIndex(id, createTableIndexRequest, delimiter)
+
+Create a scalar index on a table
+
+Create a scalar index on a table column for faster filtering operations. Supports scalar indexes (BTREE, BITMAP, LABEL_LIST, FTS, etc.). This is an alias for CreateTableIndex specifically for scalar indexes. Index creation is handled asynchronously. Use the `ListTableIndices` and `DescribeTableIndexStats` operations to monitor index creation progress.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.IndexApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ IndexApi apiInstance = new IndexApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ CreateTableIndexRequest createTableIndexRequest = new CreateTableIndexRequest(); // CreateTableIndexRequest | Scalar index creation request
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.createTableScalarIndex(id, createTableIndexRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling IndexApi#createTableScalarIndex");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **createTableIndexRequest** | [**CreateTableIndexRequest**](CreateTableIndexRequest.md)| Scalar index creation request | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<[**CreateTableScalarIndexResponse**](CreateTableScalarIndexResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Scalar index created successfully | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## createTableScalarIndexWithHttpInfo
+
+> CompletableFuture> createTableScalarIndex createTableScalarIndexWithHttpInfo(id, createTableIndexRequest, delimiter)
+
+Create a scalar index on a table
+
+Create a scalar index on a table column for faster filtering operations. Supports scalar indexes (BTREE, BITMAP, LABEL_LIST, FTS, etc.). This is an alias for CreateTableIndex specifically for scalar indexes. Index creation is handled asynchronously. Use the `ListTableIndices` and `DescribeTableIndexStats` operations to monitor index creation progress.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.IndexApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ IndexApi apiInstance = new IndexApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ CreateTableIndexRequest createTableIndexRequest = new CreateTableIndexRequest(); // CreateTableIndexRequest | Scalar index creation request
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.createTableScalarIndexWithHttpInfo(id, createTableIndexRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling IndexApi#createTableScalarIndex");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling IndexApi#createTableScalarIndex");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **createTableIndexRequest** | [**CreateTableIndexRequest**](CreateTableIndexRequest.md)| Scalar index creation request | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Scalar index created successfully | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## describeTableIndexStats
+
+> CompletableFuture describeTableIndexStats(id, indexName, describeTableIndexStatsRequest, delimiter)
+
+Get table index statistics
+
+Get statistics for a specific index on a table. Returns information about the index type, distance type (for vector indices), and row counts.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.IndexApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ IndexApi apiInstance = new IndexApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ String indexName = "indexName_example"; // String | Name of the index to get stats for
+ DescribeTableIndexStatsRequest describeTableIndexStatsRequest = new DescribeTableIndexStatsRequest(); // DescribeTableIndexStatsRequest | Index stats request
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.describeTableIndexStats(id, indexName, describeTableIndexStatsRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling IndexApi#describeTableIndexStats");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **indexName** | **String**| Name of the index to get stats for | |
+| **describeTableIndexStatsRequest** | [**DescribeTableIndexStatsRequest**](DescribeTableIndexStatsRequest.md)| Index stats request | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<[**DescribeTableIndexStatsResponse**](DescribeTableIndexStatsResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Index statistics | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## describeTableIndexStatsWithHttpInfo
+
+> CompletableFuture> describeTableIndexStats describeTableIndexStatsWithHttpInfo(id, indexName, describeTableIndexStatsRequest, delimiter)
+
+Get table index statistics
+
+Get statistics for a specific index on a table. Returns information about the index type, distance type (for vector indices), and row counts.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.IndexApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ IndexApi apiInstance = new IndexApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ String indexName = "indexName_example"; // String | Name of the index to get stats for
+ DescribeTableIndexStatsRequest describeTableIndexStatsRequest = new DescribeTableIndexStatsRequest(); // DescribeTableIndexStatsRequest | Index stats request
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.describeTableIndexStatsWithHttpInfo(id, indexName, describeTableIndexStatsRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling IndexApi#describeTableIndexStats");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling IndexApi#describeTableIndexStats");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **indexName** | **String**| Name of the index to get stats for | |
+| **describeTableIndexStatsRequest** | [**DescribeTableIndexStatsRequest**](DescribeTableIndexStatsRequest.md)| Index stats request | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Index statistics | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## dropTableIndex
+
+> CompletableFuture dropTableIndex(id, indexName, delimiter)
+
+Drop a specific index
+
+Drop the specified index from table `id`. REST NAMESPACE ONLY REST namespace does not use a request body for this operation. The `DropTableIndexRequest` information is passed in the following way: - `id`: pass through path parameter of the same name - `index_name`: pass through path parameter of the same name
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.IndexApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ IndexApi apiInstance = new IndexApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ String indexName = "indexName_example"; // String | Name of the index to drop
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.dropTableIndex(id, indexName, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling IndexApi#dropTableIndex");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **indexName** | **String**| Name of the index to drop | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<[**DropTableIndexResponse**](DropTableIndexResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Index drop operation result | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## dropTableIndexWithHttpInfo
+
+> CompletableFuture> dropTableIndex dropTableIndexWithHttpInfo(id, indexName, delimiter)
+
+Drop a specific index
+
+Drop the specified index from table `id`. REST NAMESPACE ONLY REST namespace does not use a request body for this operation. The `DropTableIndexRequest` information is passed in the following way: - `id`: pass through path parameter of the same name - `index_name`: pass through path parameter of the same name
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.IndexApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ IndexApi apiInstance = new IndexApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ String indexName = "indexName_example"; // String | Name of the index to drop
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.dropTableIndexWithHttpInfo(id, indexName, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling IndexApi#dropTableIndex");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling IndexApi#dropTableIndex");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **indexName** | **String**| Name of the index to drop | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: Not defined
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Index drop operation result | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## listTableIndices
+
+> CompletableFuture listTableIndices(id, listTableIndicesRequest, delimiter)
+
+List indexes on a table
+
+List all indices created on a table. Returns information about each index including name, columns, status, and UUID.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.IndexApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ IndexApi apiInstance = new IndexApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ ListTableIndicesRequest listTableIndicesRequest = new ListTableIndicesRequest(); // ListTableIndicesRequest | Index list request
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.listTableIndices(id, listTableIndicesRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling IndexApi#listTableIndices");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **listTableIndicesRequest** | [**ListTableIndicesRequest**](ListTableIndicesRequest.md)| Index list request | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<[**ListTableIndicesResponse**](ListTableIndicesResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | List of indices on the table | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## listTableIndicesWithHttpInfo
+
+> CompletableFuture> listTableIndices listTableIndicesWithHttpInfo(id, listTableIndicesRequest, delimiter)
+
+List indexes on a table
+
+List all indices created on a table. Returns information about each index including name, columns, status, and UUID.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.IndexApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ IndexApi apiInstance = new IndexApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ ListTableIndicesRequest listTableIndicesRequest = new ListTableIndicesRequest(); // ListTableIndicesRequest | Index list request
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.listTableIndicesWithHttpInfo(id, listTableIndicesRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling IndexApi#listTableIndices");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling IndexApi#listTableIndices");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **listTableIndicesRequest** | [**ListTableIndicesRequest**](ListTableIndicesRequest.md)| Index list request | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | List of indices on the table | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
diff --git a/java/lance-namespace-async-client/docs/IndexContent.md b/java/lance-namespace-async-client/docs/IndexContent.md
new file mode 100644
index 000000000..131589588
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/IndexContent.md
@@ -0,0 +1,16 @@
+
+
+# IndexContent
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**indexName** | **String** | Name of the index | |
+|**indexUuid** | **String** | Unique identifier for the index | |
+|**columns** | **List<String>** | Columns covered by this index | |
+|**status** | **String** | Current status of the index | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/InsertIntoTableRequest.md b/java/lance-namespace-async-client/docs/InsertIntoTableRequest.md
new file mode 100644
index 000000000..e1c1d1214
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/InsertIntoTableRequest.md
@@ -0,0 +1,17 @@
+
+
+# InsertIntoTableRequest
+
+Request for inserting records into a table, excluding the Arrow IPC stream.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+|**mode** | **String** | How the insert should behave. Case insensitive, supports both PascalCase and snake_case. Valid values are: - Append (default): insert data to the existing table - Overwrite: remove all data in the table and then insert data to it | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/InsertIntoTableResponse.md b/java/lance-namespace-async-client/docs/InsertIntoTableResponse.md
new file mode 100644
index 000000000..0b6f70c89
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/InsertIntoTableResponse.md
@@ -0,0 +1,14 @@
+
+
+# InsertIntoTableResponse
+
+Response from inserting records into a table
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**transactionId** | **String** | Optional transaction identifier | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/JsonArrowDataType.md b/java/lance-namespace-async-client/docs/JsonArrowDataType.md
new file mode 100644
index 000000000..29ba70d7d
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/JsonArrowDataType.md
@@ -0,0 +1,16 @@
+
+
+# JsonArrowDataType
+
+JSON representation of an Apache Arrow DataType
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**fields** | [**List<JsonArrowField>**](JsonArrowField.md) | Fields for complex types like Struct, Union, etc. | [optional] |
+|**length** | **Long** | Length for fixed-size types | [optional] |
+|**type** | **String** | The data type name | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/JsonArrowField.md b/java/lance-namespace-async-client/docs/JsonArrowField.md
new file mode 100644
index 000000000..3917807a0
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/JsonArrowField.md
@@ -0,0 +1,17 @@
+
+
+# JsonArrowField
+
+JSON representation of an Apache Arrow field.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**metadata** | **Map<String, String>** | | [optional] |
+|**name** | **String** | | |
+|**nullable** | **Boolean** | | |
+|**type** | [**JsonArrowDataType**](JsonArrowDataType.md) | | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/JsonArrowSchema.md b/java/lance-namespace-async-client/docs/JsonArrowSchema.md
new file mode 100644
index 000000000..cbff9b533
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/JsonArrowSchema.md
@@ -0,0 +1,15 @@
+
+
+# JsonArrowSchema
+
+JSON representation of a Apache Arrow schema.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**fields** | [**List<JsonArrowField>**](JsonArrowField.md) | | |
+|**metadata** | **Map<String, String>** | | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/ListNamespacesRequest.md b/java/lance-namespace-async-client/docs/ListNamespacesRequest.md
new file mode 100644
index 000000000..dcc8ee6a8
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/ListNamespacesRequest.md
@@ -0,0 +1,17 @@
+
+
+# ListNamespacesRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+|**pageToken** | **String** | An opaque token that allows pagination for list operations (e.g. ListNamespaces). For an initial request of a list operation, if the implementation cannot return all items in one response, or if there are more items than the page limit specified in the request, the implementation must return a page token in the response, indicating there are more results available. After the initial request, the value of the page token from each response must be used as the page token value for the next request. Caller must interpret either `null`, missing value or empty string value of the page token from the implementation's response as the end of the listing results. | [optional] |
+|**limit** | **Integer** | An inclusive upper bound of the number of results that a caller will receive. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/ListNamespacesResponse.md b/java/lance-namespace-async-client/docs/ListNamespacesResponse.md
new file mode 100644
index 000000000..45da8ba3c
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/ListNamespacesResponse.md
@@ -0,0 +1,14 @@
+
+
+# ListNamespacesResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**namespaces** | **Set<String>** | The list of names of the child namespaces relative to the parent namespace `id` in the request. | |
+|**pageToken** | **String** | An opaque token that allows pagination for list operations (e.g. ListNamespaces). For an initial request of a list operation, if the implementation cannot return all items in one response, or if there are more items than the page limit specified in the request, the implementation must return a page token in the response, indicating there are more results available. After the initial request, the value of the page token from each response must be used as the page token value for the next request. Caller must interpret either `null`, missing value or empty string value of the page token from the implementation's response as the end of the listing results. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/ListTableIndicesRequest.md b/java/lance-namespace-async-client/docs/ListTableIndicesRequest.md
new file mode 100644
index 000000000..f5c614e15
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/ListTableIndicesRequest.md
@@ -0,0 +1,18 @@
+
+
+# ListTableIndicesRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | The namespace identifier | [optional] |
+|**version** | **Long** | Optional table version to list indexes from | [optional] |
+|**pageToken** | **String** | An opaque token that allows pagination for list operations (e.g. ListNamespaces). For an initial request of a list operation, if the implementation cannot return all items in one response, or if there are more items than the page limit specified in the request, the implementation must return a page token in the response, indicating there are more results available. After the initial request, the value of the page token from each response must be used as the page token value for the next request. Caller must interpret either `null`, missing value or empty string value of the page token from the implementation's response as the end of the listing results. | [optional] |
+|**limit** | **Integer** | An inclusive upper bound of the number of results that a caller will receive. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/ListTableIndicesResponse.md b/java/lance-namespace-async-client/docs/ListTableIndicesResponse.md
new file mode 100644
index 000000000..dc0a1465e
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/ListTableIndicesResponse.md
@@ -0,0 +1,14 @@
+
+
+# ListTableIndicesResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**indexes** | [**List<IndexContent>**](IndexContent.md) | List of indexes on the table | |
+|**pageToken** | **String** | An opaque token that allows pagination for list operations (e.g. ListNamespaces). For an initial request of a list operation, if the implementation cannot return all items in one response, or if there are more items than the page limit specified in the request, the implementation must return a page token in the response, indicating there are more results available. After the initial request, the value of the page token from each response must be used as the page token value for the next request. Caller must interpret either `null`, missing value or empty string value of the page token from the implementation's response as the end of the listing results. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/ListTableTagsRequest.md b/java/lance-namespace-async-client/docs/ListTableTagsRequest.md
new file mode 100644
index 000000000..b40551985
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/ListTableTagsRequest.md
@@ -0,0 +1,17 @@
+
+
+# ListTableTagsRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | The table identifier | [optional] |
+|**pageToken** | **String** | An opaque token that allows pagination for list operations (e.g. ListNamespaces). For an initial request of a list operation, if the implementation cannot return all items in one response, or if there are more items than the page limit specified in the request, the implementation must return a page token in the response, indicating there are more results available. After the initial request, the value of the page token from each response must be used as the page token value for the next request. Caller must interpret either `null`, missing value or empty string value of the page token from the implementation's response as the end of the listing results. | [optional] |
+|**limit** | **Integer** | An inclusive upper bound of the number of results that a caller will receive. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/ListTableTagsResponse.md b/java/lance-namespace-async-client/docs/ListTableTagsResponse.md
new file mode 100644
index 000000000..f0ab67ede
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/ListTableTagsResponse.md
@@ -0,0 +1,15 @@
+
+
+# ListTableTagsResponse
+
+Response containing table tags
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**tags** | [**Map<String, TagContents>**](TagContents.md) | Map of tag names to their contents | |
+|**pageToken** | **String** | An opaque token that allows pagination for list operations (e.g. ListNamespaces). For an initial request of a list operation, if the implementation cannot return all items in one response, or if there are more items than the page limit specified in the request, the implementation must return a page token in the response, indicating there are more results available. After the initial request, the value of the page token from each response must be used as the page token value for the next request. Caller must interpret either `null`, missing value or empty string value of the page token from the implementation's response as the end of the listing results. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/ListTableVersionsRequest.md b/java/lance-namespace-async-client/docs/ListTableVersionsRequest.md
new file mode 100644
index 000000000..a68855f77
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/ListTableVersionsRequest.md
@@ -0,0 +1,18 @@
+
+
+# ListTableVersionsRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+|**pageToken** | **String** | An opaque token that allows pagination for list operations (e.g. ListNamespaces). For an initial request of a list operation, if the implementation cannot return all items in one response, or if there are more items than the page limit specified in the request, the implementation must return a page token in the response, indicating there are more results available. After the initial request, the value of the page token from each response must be used as the page token value for the next request. Caller must interpret either `null`, missing value or empty string value of the page token from the implementation's response as the end of the listing results. | [optional] |
+|**limit** | **Integer** | An inclusive upper bound of the number of results that a caller will receive. | [optional] |
+|**descending** | **Boolean** | When true, versions are guaranteed to be returned in descending order (latest to oldest). When false or not specified, the ordering is implementation-defined. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/ListTableVersionsResponse.md b/java/lance-namespace-async-client/docs/ListTableVersionsResponse.md
new file mode 100644
index 000000000..91107ba7a
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/ListTableVersionsResponse.md
@@ -0,0 +1,14 @@
+
+
+# ListTableVersionsResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**versions** | [**List<TableVersion>**](TableVersion.md) | List of table versions. When `descending=true`, guaranteed to be ordered from latest to oldest. Otherwise, ordering is implementation-defined. | |
+|**pageToken** | **String** | An opaque token that allows pagination for list operations (e.g. ListNamespaces). For an initial request of a list operation, if the implementation cannot return all items in one response, or if there are more items than the page limit specified in the request, the implementation must return a page token in the response, indicating there are more results available. After the initial request, the value of the page token from each response must be used as the page token value for the next request. Caller must interpret either `null`, missing value or empty string value of the page token from the implementation's response as the end of the listing results. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/ListTablesRequest.md b/java/lance-namespace-async-client/docs/ListTablesRequest.md
new file mode 100644
index 000000000..e9da9f756
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/ListTablesRequest.md
@@ -0,0 +1,17 @@
+
+
+# ListTablesRequest
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+|**pageToken** | **String** | An opaque token that allows pagination for list operations (e.g. ListNamespaces). For an initial request of a list operation, if the implementation cannot return all items in one response, or if there are more items than the page limit specified in the request, the implementation must return a page token in the response, indicating there are more results available. After the initial request, the value of the page token from each response must be used as the page token value for the next request. Caller must interpret either `null`, missing value or empty string value of the page token from the implementation's response as the end of the listing results. | [optional] |
+|**limit** | **Integer** | An inclusive upper bound of the number of results that a caller will receive. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/ListTablesResponse.md b/java/lance-namespace-async-client/docs/ListTablesResponse.md
new file mode 100644
index 000000000..98897718e
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/ListTablesResponse.md
@@ -0,0 +1,14 @@
+
+
+# ListTablesResponse
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**tables** | **Set<String>** | The list of names of all the tables under the connected namespace implementation. This should recursively list all the tables in all child namespaces. Each string in the list is the full identifier in string form. | |
+|**pageToken** | **String** | An opaque token that allows pagination for list operations (e.g. ListNamespaces). For an initial request of a list operation, if the implementation cannot return all items in one response, or if there are more items than the page limit specified in the request, the implementation must return a page token in the response, indicating there are more results available. After the initial request, the value of the page token from each response must be used as the page token value for the next request. Caller must interpret either `null`, missing value or empty string value of the page token from the implementation's response as the end of the listing results. | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/MatchQuery.md b/java/lance-namespace-async-client/docs/MatchQuery.md
new file mode 100644
index 000000000..db14a6a04
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/MatchQuery.md
@@ -0,0 +1,19 @@
+
+
+# MatchQuery
+
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**boost** | **Float** | | [optional] |
+|**column** | **String** | | [optional] |
+|**fuzziness** | **Integer** | | [optional] |
+|**maxExpansions** | **Integer** | The maximum number of terms to expand for fuzzy matching. Default to 50. | [optional] |
+|**operator** | **String** | The operator to use for combining terms. Case insensitive, supports both PascalCase and snake_case. Valid values are: - And: All terms must match. - Or: At least one term must match. | [optional] |
+|**prefixLength** | **Integer** | The number of beginning characters being unchanged for fuzzy matching. Default to 0. | [optional] |
+|**terms** | **String** | | |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/MergeInsertIntoTableRequest.md b/java/lance-namespace-async-client/docs/MergeInsertIntoTableRequest.md
new file mode 100644
index 000000000..4cd78c210
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/MergeInsertIntoTableRequest.md
@@ -0,0 +1,24 @@
+
+
+# MergeInsertIntoTableRequest
+
+Request for merging or inserting records into a table, excluding the Arrow IPC stream.
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**identity** | [**Identity**](Identity.md) | | [optional] |
+|**context** | **Map<String, String>** | Arbitrary context for a request as key-value pairs. How to use the context is custom to the specific implementation. REST NAMESPACE ONLY Context entries are passed via HTTP headers using the naming convention `x-lance-ctx-<key>: <value>`. For example, a context entry `{\"trace_id\": \"abc123\"}` would be sent as the header `x-lance-ctx-trace_id: abc123`. | [optional] |
+|**id** | **List<String>** | | [optional] |
+|**on** | **String** | Column name to use for matching rows (required) | [optional] |
+|**whenMatchedUpdateAll** | **Boolean** | Update all columns when rows match | [optional] |
+|**whenMatchedUpdateAllFilt** | **String** | The row is updated (similar to UpdateAll) only for rows where the SQL expression evaluates to true | [optional] |
+|**whenNotMatchedInsertAll** | **Boolean** | Insert all columns when rows don't match | [optional] |
+|**whenNotMatchedBySourceDelete** | **Boolean** | Delete all rows from target table that don't match a row in the source table | [optional] |
+|**whenNotMatchedBySourceDeleteFilt** | **String** | Delete rows from the target table if there is no match AND the SQL expression evaluates to true | [optional] |
+|**timeout** | **String** | Timeout for the operation (e.g., \"30s\", \"5m\") | [optional] |
+|**useIndex** | **Boolean** | Whether to use index for matching rows | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/MergeInsertIntoTableResponse.md b/java/lance-namespace-async-client/docs/MergeInsertIntoTableResponse.md
new file mode 100644
index 000000000..0edcc90b4
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/MergeInsertIntoTableResponse.md
@@ -0,0 +1,18 @@
+
+
+# MergeInsertIntoTableResponse
+
+Response from merge insert operation
+
+## Properties
+
+| Name | Type | Description | Notes |
+|------------ | ------------- | ------------- | -------------|
+|**transactionId** | **String** | Optional transaction identifier | [optional] |
+|**numUpdatedRows** | **Long** | Number of rows updated | [optional] |
+|**numInsertedRows** | **Long** | Number of rows inserted | [optional] |
+|**numDeletedRows** | **Long** | Number of rows deleted (typically 0 for merge insert) | [optional] |
+|**version** | **Long** | The commit version associated with the operation | [optional] |
+
+
+
diff --git a/java/lance-namespace-async-client/docs/MetadataApi.md b/java/lance-namespace-async-client/docs/MetadataApi.md
new file mode 100644
index 000000000..ba70a9ca6
--- /dev/null
+++ b/java/lance-namespace-async-client/docs/MetadataApi.md
@@ -0,0 +1,7076 @@
+# MetadataApi
+
+All URIs are relative to *http://localhost:2333*
+
+| Method | HTTP request | Description |
+|------------- | ------------- | -------------|
+| [**alterTableAlterColumns**](MetadataApi.md#alterTableAlterColumns) | **POST** /v1/table/{id}/alter_columns | Modify existing columns |
+| [**alterTableAlterColumnsWithHttpInfo**](MetadataApi.md#alterTableAlterColumnsWithHttpInfo) | **POST** /v1/table/{id}/alter_columns | Modify existing columns |
+| [**alterTableDropColumns**](MetadataApi.md#alterTableDropColumns) | **POST** /v1/table/{id}/drop_columns | Remove columns from table |
+| [**alterTableDropColumnsWithHttpInfo**](MetadataApi.md#alterTableDropColumnsWithHttpInfo) | **POST** /v1/table/{id}/drop_columns | Remove columns from table |
+| [**alterTransaction**](MetadataApi.md#alterTransaction) | **POST** /v1/transaction/{id}/alter | Alter information of a transaction. |
+| [**alterTransactionWithHttpInfo**](MetadataApi.md#alterTransactionWithHttpInfo) | **POST** /v1/transaction/{id}/alter | Alter information of a transaction. |
+| [**batchCreateTableVersions**](MetadataApi.md#batchCreateTableVersions) | **POST** /v1/table/version/batch-create | Atomically create versions for multiple tables |
+| [**batchCreateTableVersionsWithHttpInfo**](MetadataApi.md#batchCreateTableVersionsWithHttpInfo) | **POST** /v1/table/version/batch-create | Atomically create versions for multiple tables |
+| [**batchDeleteTableVersions**](MetadataApi.md#batchDeleteTableVersions) | **POST** /v1/table/{id}/version/delete | Delete table version records |
+| [**batchDeleteTableVersionsWithHttpInfo**](MetadataApi.md#batchDeleteTableVersionsWithHttpInfo) | **POST** /v1/table/{id}/version/delete | Delete table version records |
+| [**createEmptyTable**](MetadataApi.md#createEmptyTable) | **POST** /v1/table/{id}/create-empty | Create an empty table |
+| [**createEmptyTableWithHttpInfo**](MetadataApi.md#createEmptyTableWithHttpInfo) | **POST** /v1/table/{id}/create-empty | Create an empty table |
+| [**createNamespace**](MetadataApi.md#createNamespace) | **POST** /v1/namespace/{id}/create | Create a new namespace |
+| [**createNamespaceWithHttpInfo**](MetadataApi.md#createNamespaceWithHttpInfo) | **POST** /v1/namespace/{id}/create | Create a new namespace |
+| [**createTableIndex**](MetadataApi.md#createTableIndex) | **POST** /v1/table/{id}/create_index | Create an index on a table |
+| [**createTableIndexWithHttpInfo**](MetadataApi.md#createTableIndexWithHttpInfo) | **POST** /v1/table/{id}/create_index | Create an index on a table |
+| [**createTableScalarIndex**](MetadataApi.md#createTableScalarIndex) | **POST** /v1/table/{id}/create_scalar_index | Create a scalar index on a table |
+| [**createTableScalarIndexWithHttpInfo**](MetadataApi.md#createTableScalarIndexWithHttpInfo) | **POST** /v1/table/{id}/create_scalar_index | Create a scalar index on a table |
+| [**createTableTag**](MetadataApi.md#createTableTag) | **POST** /v1/table/{id}/tags/create | Create a new tag |
+| [**createTableTagWithHttpInfo**](MetadataApi.md#createTableTagWithHttpInfo) | **POST** /v1/table/{id}/tags/create | Create a new tag |
+| [**createTableVersion**](MetadataApi.md#createTableVersion) | **POST** /v1/table/{id}/version/create | Create a new table version |
+| [**createTableVersionWithHttpInfo**](MetadataApi.md#createTableVersionWithHttpInfo) | **POST** /v1/table/{id}/version/create | Create a new table version |
+| [**declareTable**](MetadataApi.md#declareTable) | **POST** /v1/table/{id}/declare | Declare a table |
+| [**declareTableWithHttpInfo**](MetadataApi.md#declareTableWithHttpInfo) | **POST** /v1/table/{id}/declare | Declare a table |
+| [**deleteTableTag**](MetadataApi.md#deleteTableTag) | **POST** /v1/table/{id}/tags/delete | Delete a tag |
+| [**deleteTableTagWithHttpInfo**](MetadataApi.md#deleteTableTagWithHttpInfo) | **POST** /v1/table/{id}/tags/delete | Delete a tag |
+| [**deregisterTable**](MetadataApi.md#deregisterTable) | **POST** /v1/table/{id}/deregister | Deregister a table |
+| [**deregisterTableWithHttpInfo**](MetadataApi.md#deregisterTableWithHttpInfo) | **POST** /v1/table/{id}/deregister | Deregister a table |
+| [**describeNamespace**](MetadataApi.md#describeNamespace) | **POST** /v1/namespace/{id}/describe | Describe a namespace |
+| [**describeNamespaceWithHttpInfo**](MetadataApi.md#describeNamespaceWithHttpInfo) | **POST** /v1/namespace/{id}/describe | Describe a namespace |
+| [**describeTable**](MetadataApi.md#describeTable) | **POST** /v1/table/{id}/describe | Describe information of a table |
+| [**describeTableWithHttpInfo**](MetadataApi.md#describeTableWithHttpInfo) | **POST** /v1/table/{id}/describe | Describe information of a table |
+| [**describeTableIndexStats**](MetadataApi.md#describeTableIndexStats) | **POST** /v1/table/{id}/index/{index_name}/stats | Get table index statistics |
+| [**describeTableIndexStatsWithHttpInfo**](MetadataApi.md#describeTableIndexStatsWithHttpInfo) | **POST** /v1/table/{id}/index/{index_name}/stats | Get table index statistics |
+| [**describeTableVersion**](MetadataApi.md#describeTableVersion) | **POST** /v1/table/{id}/version/describe | Describe a specific table version |
+| [**describeTableVersionWithHttpInfo**](MetadataApi.md#describeTableVersionWithHttpInfo) | **POST** /v1/table/{id}/version/describe | Describe a specific table version |
+| [**describeTransaction**](MetadataApi.md#describeTransaction) | **POST** /v1/transaction/{id}/describe | Describe information about a transaction |
+| [**describeTransactionWithHttpInfo**](MetadataApi.md#describeTransactionWithHttpInfo) | **POST** /v1/transaction/{id}/describe | Describe information about a transaction |
+| [**dropNamespace**](MetadataApi.md#dropNamespace) | **POST** /v1/namespace/{id}/drop | Drop a namespace |
+| [**dropNamespaceWithHttpInfo**](MetadataApi.md#dropNamespaceWithHttpInfo) | **POST** /v1/namespace/{id}/drop | Drop a namespace |
+| [**dropTable**](MetadataApi.md#dropTable) | **POST** /v1/table/{id}/drop | Drop a table |
+| [**dropTableWithHttpInfo**](MetadataApi.md#dropTableWithHttpInfo) | **POST** /v1/table/{id}/drop | Drop a table |
+| [**dropTableIndex**](MetadataApi.md#dropTableIndex) | **POST** /v1/table/{id}/index/{index_name}/drop | Drop a specific index |
+| [**dropTableIndexWithHttpInfo**](MetadataApi.md#dropTableIndexWithHttpInfo) | **POST** /v1/table/{id}/index/{index_name}/drop | Drop a specific index |
+| [**getTableStats**](MetadataApi.md#getTableStats) | **POST** /v1/table/{id}/stats | Get table statistics |
+| [**getTableStatsWithHttpInfo**](MetadataApi.md#getTableStatsWithHttpInfo) | **POST** /v1/table/{id}/stats | Get table statistics |
+| [**getTableTagVersion**](MetadataApi.md#getTableTagVersion) | **POST** /v1/table/{id}/tags/version | Get version for a specific tag |
+| [**getTableTagVersionWithHttpInfo**](MetadataApi.md#getTableTagVersionWithHttpInfo) | **POST** /v1/table/{id}/tags/version | Get version for a specific tag |
+| [**listNamespaces**](MetadataApi.md#listNamespaces) | **GET** /v1/namespace/{id}/list | List namespaces |
+| [**listNamespacesWithHttpInfo**](MetadataApi.md#listNamespacesWithHttpInfo) | **GET** /v1/namespace/{id}/list | List namespaces |
+| [**listTableIndices**](MetadataApi.md#listTableIndices) | **POST** /v1/table/{id}/index/list | List indexes on a table |
+| [**listTableIndicesWithHttpInfo**](MetadataApi.md#listTableIndicesWithHttpInfo) | **POST** /v1/table/{id}/index/list | List indexes on a table |
+| [**listTableTags**](MetadataApi.md#listTableTags) | **POST** /v1/table/{id}/tags/list | List all tags for a table |
+| [**listTableTagsWithHttpInfo**](MetadataApi.md#listTableTagsWithHttpInfo) | **POST** /v1/table/{id}/tags/list | List all tags for a table |
+| [**listTableVersions**](MetadataApi.md#listTableVersions) | **POST** /v1/table/{id}/version/list | List all versions of a table |
+| [**listTableVersionsWithHttpInfo**](MetadataApi.md#listTableVersionsWithHttpInfo) | **POST** /v1/table/{id}/version/list | List all versions of a table |
+| [**listTables**](MetadataApi.md#listTables) | **GET** /v1/namespace/{id}/table/list | List tables in a namespace |
+| [**listTablesWithHttpInfo**](MetadataApi.md#listTablesWithHttpInfo) | **GET** /v1/namespace/{id}/table/list | List tables in a namespace |
+| [**namespaceExists**](MetadataApi.md#namespaceExists) | **POST** /v1/namespace/{id}/exists | Check if a namespace exists |
+| [**namespaceExistsWithHttpInfo**](MetadataApi.md#namespaceExistsWithHttpInfo) | **POST** /v1/namespace/{id}/exists | Check if a namespace exists |
+| [**registerTable**](MetadataApi.md#registerTable) | **POST** /v1/table/{id}/register | Register a table to a namespace |
+| [**registerTableWithHttpInfo**](MetadataApi.md#registerTableWithHttpInfo) | **POST** /v1/table/{id}/register | Register a table to a namespace |
+| [**renameTable**](MetadataApi.md#renameTable) | **POST** /v1/table/{id}/rename | Rename a table |
+| [**renameTableWithHttpInfo**](MetadataApi.md#renameTableWithHttpInfo) | **POST** /v1/table/{id}/rename | Rename a table |
+| [**restoreTable**](MetadataApi.md#restoreTable) | **POST** /v1/table/{id}/restore | Restore table to a specific version |
+| [**restoreTableWithHttpInfo**](MetadataApi.md#restoreTableWithHttpInfo) | **POST** /v1/table/{id}/restore | Restore table to a specific version |
+| [**tableExists**](MetadataApi.md#tableExists) | **POST** /v1/table/{id}/exists | Check if a table exists |
+| [**tableExistsWithHttpInfo**](MetadataApi.md#tableExistsWithHttpInfo) | **POST** /v1/table/{id}/exists | Check if a table exists |
+| [**updateTableSchemaMetadata**](MetadataApi.md#updateTableSchemaMetadata) | **POST** /v1/table/{id}/schema_metadata/update | Update table schema metadata |
+| [**updateTableSchemaMetadataWithHttpInfo**](MetadataApi.md#updateTableSchemaMetadataWithHttpInfo) | **POST** /v1/table/{id}/schema_metadata/update | Update table schema metadata |
+| [**updateTableTag**](MetadataApi.md#updateTableTag) | **POST** /v1/table/{id}/tags/update | Update a tag to point to a different version |
+| [**updateTableTagWithHttpInfo**](MetadataApi.md#updateTableTagWithHttpInfo) | **POST** /v1/table/{id}/tags/update | Update a tag to point to a different version |
+
+
+
+## alterTableAlterColumns
+
+> CompletableFuture alterTableAlterColumns(id, alterTableAlterColumnsRequest, delimiter)
+
+Modify existing columns
+
+Modify existing columns in table `id`, such as renaming or changing data types.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ AlterTableAlterColumnsRequest alterTableAlterColumnsRequest = new AlterTableAlterColumnsRequest(); // AlterTableAlterColumnsRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.alterTableAlterColumns(id, alterTableAlterColumnsRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#alterTableAlterColumns");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **alterTableAlterColumnsRequest** | [**AlterTableAlterColumnsRequest**](AlterTableAlterColumnsRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<[**AlterTableAlterColumnsResponse**](AlterTableAlterColumnsResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Alter columns operation result | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## alterTableAlterColumnsWithHttpInfo
+
+> CompletableFuture> alterTableAlterColumns alterTableAlterColumnsWithHttpInfo(id, alterTableAlterColumnsRequest, delimiter)
+
+Modify existing columns
+
+Modify existing columns in table `id`, such as renaming or changing data types.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ AlterTableAlterColumnsRequest alterTableAlterColumnsRequest = new AlterTableAlterColumnsRequest(); // AlterTableAlterColumnsRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.alterTableAlterColumnsWithHttpInfo(id, alterTableAlterColumnsRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling MetadataApi#alterTableAlterColumns");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#alterTableAlterColumns");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **alterTableAlterColumnsRequest** | [**AlterTableAlterColumnsRequest**](AlterTableAlterColumnsRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Alter columns operation result | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## alterTableDropColumns
+
+> CompletableFuture alterTableDropColumns(id, alterTableDropColumnsRequest, delimiter)
+
+Remove columns from table
+
+Remove specified columns from table `id`.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ AlterTableDropColumnsRequest alterTableDropColumnsRequest = new AlterTableDropColumnsRequest(); // AlterTableDropColumnsRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.alterTableDropColumns(id, alterTableDropColumnsRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#alterTableDropColumns");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **alterTableDropColumnsRequest** | [**AlterTableDropColumnsRequest**](AlterTableDropColumnsRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<[**AlterTableDropColumnsResponse**](AlterTableDropColumnsResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Drop columns operation result | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## alterTableDropColumnsWithHttpInfo
+
+> CompletableFuture> alterTableDropColumns alterTableDropColumnsWithHttpInfo(id, alterTableDropColumnsRequest, delimiter)
+
+Remove columns from table
+
+Remove specified columns from table `id`.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ AlterTableDropColumnsRequest alterTableDropColumnsRequest = new AlterTableDropColumnsRequest(); // AlterTableDropColumnsRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.alterTableDropColumnsWithHttpInfo(id, alterTableDropColumnsRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling MetadataApi#alterTableDropColumns");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#alterTableDropColumns");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **alterTableDropColumnsRequest** | [**AlterTableDropColumnsRequest**](AlterTableDropColumnsRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Drop columns operation result | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## alterTransaction
+
+> CompletableFuture alterTransaction(id, alterTransactionRequest, delimiter)
+
+Alter information of a transaction.
+
+Alter a transaction with a list of actions such as setting status or properties. The server should either succeed and apply all actions, or fail and apply no action.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ AlterTransactionRequest alterTransactionRequest = new AlterTransactionRequest(); // AlterTransactionRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.alterTransaction(id, alterTransactionRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#alterTransaction");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **alterTransactionRequest** | [**AlterTransactionRequest**](AlterTransactionRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<[**AlterTransactionResponse**](AlterTransactionResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Response of AlterTransaction | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **409** | The request conflicts with the current state of the target resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## alterTransactionWithHttpInfo
+
+> CompletableFuture> alterTransaction alterTransactionWithHttpInfo(id, alterTransactionRequest, delimiter)
+
+Alter information of a transaction.
+
+Alter a transaction with a list of actions such as setting status or properties. The server should either succeed and apply all actions, or fail and apply no action.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ AlterTransactionRequest alterTransactionRequest = new AlterTransactionRequest(); // AlterTransactionRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.alterTransactionWithHttpInfo(id, alterTransactionRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling MetadataApi#alterTransaction");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#alterTransaction");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **alterTransactionRequest** | [**AlterTransactionRequest**](AlterTransactionRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Response of AlterTransaction | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **409** | The request conflicts with the current state of the target resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## batchCreateTableVersions
+
+> CompletableFuture batchCreateTableVersions(batchCreateTableVersionsRequest, delimiter)
+
+Atomically create versions for multiple tables
+
+Atomically create new version entries for multiple tables. This operation is atomic: either all table versions are created successfully, or none are created. If any version creation fails (e.g., due to conflict), the entire batch operation fails. Each entry in the request specifies the table identifier and version details. This supports `put_if_not_exists` semantics for each version entry.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ BatchCreateTableVersionsRequest batchCreateTableVersionsRequest = new BatchCreateTableVersionsRequest(); // BatchCreateTableVersionsRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.batchCreateTableVersions(batchCreateTableVersionsRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#batchCreateTableVersions");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **batchCreateTableVersionsRequest** | [**BatchCreateTableVersionsRequest**](BatchCreateTableVersionsRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<[**BatchCreateTableVersionsResponse**](BatchCreateTableVersionsResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Result of atomically creating table versions | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **409** | The request conflicts with the current state of the target resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## batchCreateTableVersionsWithHttpInfo
+
+> CompletableFuture> batchCreateTableVersions batchCreateTableVersionsWithHttpInfo(batchCreateTableVersionsRequest, delimiter)
+
+Atomically create versions for multiple tables
+
+Atomically create new version entries for multiple tables. This operation is atomic: either all table versions are created successfully, or none are created. If any version creation fails (e.g., due to conflict), the entire batch operation fails. Each entry in the request specifies the table identifier and version details. This supports `put_if_not_exists` semantics for each version entry.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ BatchCreateTableVersionsRequest batchCreateTableVersionsRequest = new BatchCreateTableVersionsRequest(); // BatchCreateTableVersionsRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.batchCreateTableVersionsWithHttpInfo(batchCreateTableVersionsRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling MetadataApi#batchCreateTableVersions");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#batchCreateTableVersions");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **batchCreateTableVersionsRequest** | [**BatchCreateTableVersionsRequest**](BatchCreateTableVersionsRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Result of atomically creating table versions | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **409** | The request conflicts with the current state of the target resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## batchDeleteTableVersions
+
+> CompletableFuture batchDeleteTableVersions(id, batchDeleteTableVersionsRequest, delimiter)
+
+Delete table version records
+
+Delete version metadata records for table `id`. This operation deletes version tracking records, NOT the actual table data. It supports deleting ranges of versions for efficient bulk cleanup. Special range values: - `start_version: 0` with `end_version: -1` means delete ALL version records
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ BatchDeleteTableVersionsRequest batchDeleteTableVersionsRequest = new BatchDeleteTableVersionsRequest(); // BatchDeleteTableVersionsRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.batchDeleteTableVersions(id, batchDeleteTableVersionsRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#batchDeleteTableVersions");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **batchDeleteTableVersionsRequest** | [**BatchDeleteTableVersionsRequest**](BatchDeleteTableVersionsRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<[**BatchDeleteTableVersionsResponse**](BatchDeleteTableVersionsResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Result of deleting table version records | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## batchDeleteTableVersionsWithHttpInfo
+
+> CompletableFuture> batchDeleteTableVersions batchDeleteTableVersionsWithHttpInfo(id, batchDeleteTableVersionsRequest, delimiter)
+
+Delete table version records
+
+Delete version metadata records for table `id`. This operation deletes version tracking records, NOT the actual table data. It supports deleting ranges of versions for efficient bulk cleanup. Special range values: - `start_version: 0` with `end_version: -1` means delete ALL version records
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ BatchDeleteTableVersionsRequest batchDeleteTableVersionsRequest = new BatchDeleteTableVersionsRequest(); // BatchDeleteTableVersionsRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.batchDeleteTableVersionsWithHttpInfo(id, batchDeleteTableVersionsRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling MetadataApi#batchDeleteTableVersions");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#batchDeleteTableVersions");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **batchDeleteTableVersionsRequest** | [**BatchDeleteTableVersionsRequest**](BatchDeleteTableVersionsRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Result of deleting table version records | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## createEmptyTable
+
+> CompletableFuture createEmptyTable(id, createEmptyTableRequest, delimiter)
+
+Create an empty table
+
+Create an empty table with the given name without touching storage. This is a metadata-only operation that records the table existence and sets up aspects like access control. For DirectoryNamespace implementation, this creates a `.lance-reserved` file in the table directory to mark the table's existence without creating actual Lance data files. **Deprecated**: Use `DeclareTable` instead.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ CreateEmptyTableRequest createEmptyTableRequest = new CreateEmptyTableRequest(); // CreateEmptyTableRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.createEmptyTable(id, createEmptyTableRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#createEmptyTable");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **createEmptyTableRequest** | [**CreateEmptyTableRequest**](CreateEmptyTableRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<[**CreateEmptyTableResponse**](CreateEmptyTableResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Table properties result when creating an empty table | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **409** | The request conflicts with the current state of the target resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## createEmptyTableWithHttpInfo
+
+> CompletableFuture> createEmptyTable createEmptyTableWithHttpInfo(id, createEmptyTableRequest, delimiter)
+
+Create an empty table
+
+Create an empty table with the given name without touching storage. This is a metadata-only operation that records the table existence and sets up aspects like access control. For DirectoryNamespace implementation, this creates a `.lance-reserved` file in the table directory to mark the table's existence without creating actual Lance data files. **Deprecated**: Use `DeclareTable` instead.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ CreateEmptyTableRequest createEmptyTableRequest = new CreateEmptyTableRequest(); // CreateEmptyTableRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.createEmptyTableWithHttpInfo(id, createEmptyTableRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling MetadataApi#createEmptyTable");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#createEmptyTable");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **createEmptyTableRequest** | [**CreateEmptyTableRequest**](CreateEmptyTableRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Table properties result when creating an empty table | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **409** | The request conflicts with the current state of the target resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## createNamespace
+
+> CompletableFuture createNamespace(id, createNamespaceRequest, delimiter)
+
+Create a new namespace
+
+Create new namespace `id`. During the creation process, the implementation may modify user-provided `properties`, such as adding additional properties like `created_at` to user-provided properties, omitting any specific property, or performing actions based on any property value.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ CreateNamespaceRequest createNamespaceRequest = new CreateNamespaceRequest(); // CreateNamespaceRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.createNamespace(id, createNamespaceRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#createNamespace");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **createNamespaceRequest** | [**CreateNamespaceRequest**](CreateNamespaceRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<[**CreateNamespaceResponse**](CreateNamespaceResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Result of creating a namespace | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **406** | Not Acceptable / Unsupported Operation. The server does not support this operation. | - |
+| **409** | The request conflicts with the current state of the target resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## createNamespaceWithHttpInfo
+
+> CompletableFuture> createNamespace createNamespaceWithHttpInfo(id, createNamespaceRequest, delimiter)
+
+Create a new namespace
+
+Create new namespace `id`. During the creation process, the implementation may modify user-provided `properties`, such as adding additional properties like `created_at` to user-provided properties, omitting any specific property, or performing actions based on any property value.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ CreateNamespaceRequest createNamespaceRequest = new CreateNamespaceRequest(); // CreateNamespaceRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.createNamespaceWithHttpInfo(id, createNamespaceRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling MetadataApi#createNamespace");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#createNamespace");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **createNamespaceRequest** | [**CreateNamespaceRequest**](CreateNamespaceRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Result of creating a namespace | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **406** | Not Acceptable / Unsupported Operation. The server does not support this operation. | - |
+| **409** | The request conflicts with the current state of the target resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## createTableIndex
+
+> CompletableFuture createTableIndex(id, createTableIndexRequest, delimiter)
+
+Create an index on a table
+
+Create an index on a table column for faster search operations. Supports vector indexes (IVF_FLAT, IVF_HNSW_SQ, IVF_PQ, etc.) and scalar indexes (BTREE, BITMAP, FTS, etc.). Index creation is handled asynchronously. Use the `ListTableIndices` and `DescribeTableIndexStats` operations to monitor index creation progress.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ CreateTableIndexRequest createTableIndexRequest = new CreateTableIndexRequest(); // CreateTableIndexRequest | Index creation request
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.createTableIndex(id, createTableIndexRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#createTableIndex");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **createTableIndexRequest** | [**CreateTableIndexRequest**](CreateTableIndexRequest.md)| Index creation request | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<[**CreateTableIndexResponse**](CreateTableIndexResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Index created successfully | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## createTableIndexWithHttpInfo
+
+> CompletableFuture> createTableIndex createTableIndexWithHttpInfo(id, createTableIndexRequest, delimiter)
+
+Create an index on a table
+
+Create an index on a table column for faster search operations. Supports vector indexes (IVF_FLAT, IVF_HNSW_SQ, IVF_PQ, etc.) and scalar indexes (BTREE, BITMAP, FTS, etc.). Index creation is handled asynchronously. Use the `ListTableIndices` and `DescribeTableIndexStats` operations to monitor index creation progress.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ CreateTableIndexRequest createTableIndexRequest = new CreateTableIndexRequest(); // CreateTableIndexRequest | Index creation request
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.createTableIndexWithHttpInfo(id, createTableIndexRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling MetadataApi#createTableIndex");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#createTableIndex");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **createTableIndexRequest** | [**CreateTableIndexRequest**](CreateTableIndexRequest.md)| Index creation request | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Index created successfully | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## createTableScalarIndex
+
+> CompletableFuture createTableScalarIndex(id, createTableIndexRequest, delimiter)
+
+Create a scalar index on a table
+
+Create a scalar index on a table column for faster filtering operations. Supports scalar indexes (BTREE, BITMAP, LABEL_LIST, FTS, etc.). This is an alias for CreateTableIndex specifically for scalar indexes. Index creation is handled asynchronously. Use the `ListTableIndices` and `DescribeTableIndexStats` operations to monitor index creation progress.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ CreateTableIndexRequest createTableIndexRequest = new CreateTableIndexRequest(); // CreateTableIndexRequest | Scalar index creation request
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.createTableScalarIndex(id, createTableIndexRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#createTableScalarIndex");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **createTableIndexRequest** | [**CreateTableIndexRequest**](CreateTableIndexRequest.md)| Scalar index creation request | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<[**CreateTableScalarIndexResponse**](CreateTableScalarIndexResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Scalar index created successfully | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## createTableScalarIndexWithHttpInfo
+
+> CompletableFuture> createTableScalarIndex createTableScalarIndexWithHttpInfo(id, createTableIndexRequest, delimiter)
+
+Create a scalar index on a table
+
+Create a scalar index on a table column for faster filtering operations. Supports scalar indexes (BTREE, BITMAP, LABEL_LIST, FTS, etc.). This is an alias for CreateTableIndex specifically for scalar indexes. Index creation is handled asynchronously. Use the `ListTableIndices` and `DescribeTableIndexStats` operations to monitor index creation progress.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ CreateTableIndexRequest createTableIndexRequest = new CreateTableIndexRequest(); // CreateTableIndexRequest | Scalar index creation request
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.createTableScalarIndexWithHttpInfo(id, createTableIndexRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling MetadataApi#createTableScalarIndex");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#createTableScalarIndex");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **createTableIndexRequest** | [**CreateTableIndexRequest**](CreateTableIndexRequest.md)| Scalar index creation request | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Scalar index created successfully | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## createTableTag
+
+> CompletableFuture createTableTag(id, createTableTagRequest, delimiter)
+
+Create a new tag
+
+Create a new tag for table `id` that points to a specific version.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ CreateTableTagRequest createTableTagRequest = new CreateTableTagRequest(); // CreateTableTagRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.createTableTag(id, createTableTagRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#createTableTag");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **createTableTagRequest** | [**CreateTableTagRequest**](CreateTableTagRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<[**CreateTableTagResponse**](CreateTableTagResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Create tag response | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **409** | The request conflicts with the current state of the target resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## createTableTagWithHttpInfo
+
+> CompletableFuture> createTableTag createTableTagWithHttpInfo(id, createTableTagRequest, delimiter)
+
+Create a new tag
+
+Create a new tag for table `id` that points to a specific version.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ CreateTableTagRequest createTableTagRequest = new CreateTableTagRequest(); // CreateTableTagRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.createTableTagWithHttpInfo(id, createTableTagRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling MetadataApi#createTableTag");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#createTableTag");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **createTableTagRequest** | [**CreateTableTagRequest**](CreateTableTagRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Create tag response | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **409** | The request conflicts with the current state of the target resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## createTableVersion
+
+> CompletableFuture createTableVersion(id, createTableVersionRequest, delimiter)
+
+Create a new table version
+
+Create a new version entry for table `id`. This operation supports `put_if_not_exists` semantics. The operation will fail with 409 Conflict if the version already exists.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ CreateTableVersionRequest createTableVersionRequest = new CreateTableVersionRequest(); // CreateTableVersionRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.createTableVersion(id, createTableVersionRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#createTableVersion");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **createTableVersionRequest** | [**CreateTableVersionRequest**](CreateTableVersionRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<[**CreateTableVersionResponse**](CreateTableVersionResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Result of creating a table version | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **409** | The request conflicts with the current state of the target resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## createTableVersionWithHttpInfo
+
+> CompletableFuture> createTableVersion createTableVersionWithHttpInfo(id, createTableVersionRequest, delimiter)
+
+Create a new table version
+
+Create a new version entry for table `id`. This operation supports `put_if_not_exists` semantics. The operation will fail with 409 Conflict if the version already exists.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ CreateTableVersionRequest createTableVersionRequest = new CreateTableVersionRequest(); // CreateTableVersionRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.createTableVersionWithHttpInfo(id, createTableVersionRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling MetadataApi#createTableVersion");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#createTableVersion");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **createTableVersionRequest** | [**CreateTableVersionRequest**](CreateTableVersionRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Result of creating a table version | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **409** | The request conflicts with the current state of the target resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## declareTable
+
+> CompletableFuture declareTable(id, declareTableRequest, delimiter)
+
+Declare a table
+
+Declare a table with the given name without touching storage. This is a metadata-only operation that records the table existence and sets up aspects like access control. For DirectoryNamespace implementation, this creates a `.lance-reserved` file in the table directory to mark the table's existence without creating actual Lance data files.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ DeclareTableRequest declareTableRequest = new DeclareTableRequest(); // DeclareTableRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.declareTable(id, declareTableRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#declareTable");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **declareTableRequest** | [**DeclareTableRequest**](DeclareTableRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<[**DeclareTableResponse**](DeclareTableResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Table properties result when declaring a table | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **409** | The request conflicts with the current state of the target resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## declareTableWithHttpInfo
+
+> CompletableFuture> declareTable declareTableWithHttpInfo(id, declareTableRequest, delimiter)
+
+Declare a table
+
+Declare a table with the given name without touching storage. This is a metadata-only operation that records the table existence and sets up aspects like access control. For DirectoryNamespace implementation, this creates a `.lance-reserved` file in the table directory to mark the table's existence without creating actual Lance data files.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ DeclareTableRequest declareTableRequest = new DeclareTableRequest(); // DeclareTableRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.declareTableWithHttpInfo(id, declareTableRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling MetadataApi#declareTable");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#declareTable");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **declareTableRequest** | [**DeclareTableRequest**](DeclareTableRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Table properties result when declaring a table | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **409** | The request conflicts with the current state of the target resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## deleteTableTag
+
+> CompletableFuture deleteTableTag(id, deleteTableTagRequest, delimiter)
+
+Delete a tag
+
+Delete an existing tag from table `id`.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ DeleteTableTagRequest deleteTableTagRequest = new DeleteTableTagRequest(); // DeleteTableTagRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.deleteTableTag(id, deleteTableTagRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#deleteTableTag");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **deleteTableTagRequest** | [**DeleteTableTagRequest**](DeleteTableTagRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<[**DeleteTableTagResponse**](DeleteTableTagResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Delete tag response | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## deleteTableTagWithHttpInfo
+
+> CompletableFuture> deleteTableTag deleteTableTagWithHttpInfo(id, deleteTableTagRequest, delimiter)
+
+Delete a tag
+
+Delete an existing tag from table `id`.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ DeleteTableTagRequest deleteTableTagRequest = new DeleteTableTagRequest(); // DeleteTableTagRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.deleteTableTagWithHttpInfo(id, deleteTableTagRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling MetadataApi#deleteTableTag");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#deleteTableTag");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **deleteTableTagRequest** | [**DeleteTableTagRequest**](DeleteTableTagRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Delete tag response | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## deregisterTable
+
+> CompletableFuture deregisterTable(id, deregisterTableRequest, delimiter)
+
+Deregister a table
+
+Deregister table `id` from its namespace.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ DeregisterTableRequest deregisterTableRequest = new DeregisterTableRequest(); // DeregisterTableRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.deregisterTable(id, deregisterTableRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#deregisterTable");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **deregisterTableRequest** | [**DeregisterTableRequest**](DeregisterTableRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<[**DeregisterTableResponse**](DeregisterTableResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Response of DeregisterTable | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## deregisterTableWithHttpInfo
+
+> CompletableFuture> deregisterTable deregisterTableWithHttpInfo(id, deregisterTableRequest, delimiter)
+
+Deregister a table
+
+Deregister table `id` from its namespace.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ DeregisterTableRequest deregisterTableRequest = new DeregisterTableRequest(); // DeregisterTableRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.deregisterTableWithHttpInfo(id, deregisterTableRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling MetadataApi#deregisterTable");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#deregisterTable");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **deregisterTableRequest** | [**DeregisterTableRequest**](DeregisterTableRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Response of DeregisterTable | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## describeNamespace
+
+> CompletableFuture describeNamespace(id, describeNamespaceRequest, delimiter)
+
+Describe a namespace
+
+Describe the detailed information for namespace `id`.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ DescribeNamespaceRequest describeNamespaceRequest = new DescribeNamespaceRequest(); // DescribeNamespaceRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.describeNamespace(id, describeNamespaceRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#describeNamespace");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **describeNamespaceRequest** | [**DescribeNamespaceRequest**](DescribeNamespaceRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<[**DescribeNamespaceResponse**](DescribeNamespaceResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Returns a namespace, as well as any properties stored on the namespace if namespace properties are supported by the server. | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## describeNamespaceWithHttpInfo
+
+> CompletableFuture> describeNamespace describeNamespaceWithHttpInfo(id, describeNamespaceRequest, delimiter)
+
+Describe a namespace
+
+Describe the detailed information for namespace `id`.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ DescribeNamespaceRequest describeNamespaceRequest = new DescribeNamespaceRequest(); // DescribeNamespaceRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.describeNamespaceWithHttpInfo(id, describeNamespaceRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling MetadataApi#describeNamespace");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#describeNamespace");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **describeNamespaceRequest** | [**DescribeNamespaceRequest**](DescribeNamespaceRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Returns a namespace, as well as any properties stored on the namespace if namespace properties are supported by the server. | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## describeTable
+
+> CompletableFuture describeTable(id, describeTableRequest, delimiter, withTableUri, loadDetailedMetadata)
+
+Describe information of a table
+
+Describe the detailed information for table `id`. REST NAMESPACE ONLY REST namespace passes `with_table_uri` and `load_detailed_metadata` as query parameters instead of in the request body.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ DescribeTableRequest describeTableRequest = new DescribeTableRequest(); // DescribeTableRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ Boolean withTableUri = false; // Boolean | Whether to include the table URI in the response
+ Boolean loadDetailedMetadata = false; // Boolean | Whether to load detailed metadata that requires opening the dataset. When false (default), only `location` is required in the response. When true, the response includes additional metadata such as `version`, `schema`, and `stats`.
+ try {
+ CompletableFuture result = apiInstance.describeTable(id, describeTableRequest, delimiter, withTableUri, loadDetailedMetadata);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#describeTable");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **describeTableRequest** | [**DescribeTableRequest**](DescribeTableRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+| **withTableUri** | **Boolean**| Whether to include the table URI in the response | [optional] [default to false] |
+| **loadDetailedMetadata** | **Boolean**| Whether to load detailed metadata that requires opening the dataset. When false (default), only `location` is required in the response. When true, the response includes additional metadata such as `version`, `schema`, and `stats`. | [optional] [default to false] |
+
+### Return type
+
+CompletableFuture<[**DescribeTableResponse**](DescribeTableResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Table properties result when loading a table | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## describeTableWithHttpInfo
+
+> CompletableFuture> describeTable describeTableWithHttpInfo(id, describeTableRequest, delimiter, withTableUri, loadDetailedMetadata)
+
+Describe information of a table
+
+Describe the detailed information for table `id`. REST NAMESPACE ONLY REST namespace passes `with_table_uri` and `load_detailed_metadata` as query parameters instead of in the request body.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ DescribeTableRequest describeTableRequest = new DescribeTableRequest(); // DescribeTableRequest |
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ Boolean withTableUri = false; // Boolean | Whether to include the table URI in the response
+ Boolean loadDetailedMetadata = false; // Boolean | Whether to load detailed metadata that requires opening the dataset. When false (default), only `location` is required in the response. When true, the response includes additional metadata such as `version`, `schema`, and `stats`.
+ try {
+ CompletableFuture> response = apiInstance.describeTableWithHttpInfo(id, describeTableRequest, delimiter, withTableUri, loadDetailedMetadata);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling MetadataApi#describeTable");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#describeTable");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **describeTableRequest** | [**DescribeTableRequest**](DescribeTableRequest.md)| | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+| **withTableUri** | **Boolean**| Whether to include the table URI in the response | [optional] [default to false] |
+| **loadDetailedMetadata** | **Boolean**| Whether to load detailed metadata that requires opening the dataset. When false (default), only `location` is required in the response. When true, the response includes additional metadata such as `version`, `schema`, and `stats`. | [optional] [default to false] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Table properties result when loading a table | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## describeTableIndexStats
+
+> CompletableFuture describeTableIndexStats(id, indexName, describeTableIndexStatsRequest, delimiter)
+
+Get table index statistics
+
+Get statistics for a specific index on a table. Returns information about the index type, distance type (for vector indices), and row counts.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ String indexName = "indexName_example"; // String | Name of the index to get stats for
+ DescribeTableIndexStatsRequest describeTableIndexStatsRequest = new DescribeTableIndexStatsRequest(); // DescribeTableIndexStatsRequest | Index stats request
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture result = apiInstance.describeTableIndexStats(id, indexName, describeTableIndexStatsRequest, delimiter);
+ System.out.println(result.get());
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#describeTableIndexStats");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Reason: " + e.getResponseBody());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **indexName** | **String**| Name of the index to get stats for | |
+| **describeTableIndexStatsRequest** | [**DescribeTableIndexStatsRequest**](DescribeTableIndexStatsRequest.md)| Index stats request | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture<[**DescribeTableIndexStatsResponse**](DescribeTableIndexStatsResponse.md)>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Index statistics | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+## describeTableIndexStatsWithHttpInfo
+
+> CompletableFuture> describeTableIndexStats describeTableIndexStatsWithHttpInfo(id, indexName, describeTableIndexStatsRequest, delimiter)
+
+Get table index statistics
+
+Get statistics for a specific index on a table. Returns information about the index type, distance type (for vector indices), and row counts.
+
+### Example
+
+```java
+// Import classes:
+import org.lance.namespace.client.async.ApiClient;
+import org.lance.namespace.client.async.ApiException;
+import org.lance.namespace.client.async.ApiResponse;
+import org.lance.namespace.client.async.Configuration;
+import org.lance.namespace.client.async.auth.*;
+import org.lance.namespace.client.async.models.*;
+import org.lance.namespace.client.async.api.MetadataApi;
+import java.util.concurrent.CompletableFuture;
+
+public class Example {
+ public static void main(String[] args) {
+ ApiClient defaultClient = Configuration.getDefaultApiClient();
+ defaultClient.setBasePath("http://localhost:2333");
+
+ // Configure OAuth2 access token for authorization: OAuth2
+ OAuth OAuth2 = (OAuth) defaultClient.getAuthentication("OAuth2");
+ OAuth2.setAccessToken("YOUR ACCESS TOKEN");
+
+ // Configure API key authorization: ApiKeyAuth
+ ApiKeyAuth ApiKeyAuth = (ApiKeyAuth) defaultClient.getAuthentication("ApiKeyAuth");
+ ApiKeyAuth.setApiKey("YOUR API KEY");
+ // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
+ //ApiKeyAuth.setApiKeyPrefix("Token");
+
+ // Configure HTTP bearer authorization: BearerAuth
+ HttpBearerAuth BearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("BearerAuth");
+ BearerAuth.setBearerToken("BEARER TOKEN");
+
+ MetadataApi apiInstance = new MetadataApi(defaultClient);
+ String id = "id_example"; // String | `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.
+ String indexName = "indexName_example"; // String | Name of the index to get stats for
+ DescribeTableIndexStatsRequest describeTableIndexStatsRequest = new DescribeTableIndexStatsRequest(); // DescribeTableIndexStatsRequest | Index stats request
+ String delimiter = "delimiter_example"; // String | An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used.
+ try {
+ CompletableFuture> response = apiInstance.describeTableIndexStatsWithHttpInfo(id, indexName, describeTableIndexStatsRequest, delimiter);
+ System.out.println("Status code: " + response.get().getStatusCode());
+ System.out.println("Response headers: " + response.get().getHeaders());
+ System.out.println("Response body: " + response.get().getData());
+ } catch (InterruptedException | ExecutionException e) {
+ ApiException apiException = (ApiException)e.getCause();
+ System.err.println("Exception when calling MetadataApi#describeTableIndexStats");
+ System.err.println("Status code: " + apiException.getCode());
+ System.err.println("Response headers: " + apiException.getResponseHeaders());
+ System.err.println("Reason: " + apiException.getResponseBody());
+ e.printStackTrace();
+ } catch (ApiException e) {
+ System.err.println("Exception when calling MetadataApi#describeTableIndexStats");
+ System.err.println("Status code: " + e.getCode());
+ System.err.println("Response headers: " + e.getResponseHeaders());
+ System.err.println("Reason: " + e.getResponseBody());
+ e.printStackTrace();
+ }
+ }
+}
+```
+
+### Parameters
+
+
+| Name | Type | Description | Notes |
+|------------- | ------------- | ------------- | -------------|
+| **id** | **String**| `string identifier` of an object in a namespace, following the Lance Namespace spec. When the value is equal to the delimiter, it represents the root namespace. For example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace. | |
+| **indexName** | **String**| Name of the index to get stats for | |
+| **describeTableIndexStatsRequest** | [**DescribeTableIndexStatsRequest**](DescribeTableIndexStatsRequest.md)| Index stats request | |
+| **delimiter** | **String**| An optional delimiter of the `string identifier`, following the Lance Namespace spec. When not specified, the `$` delimiter must be used. | [optional] |
+
+### Return type
+
+CompletableFuture>
+
+
+### Authorization
+
+[OAuth2](../README.md#OAuth2), [ApiKeyAuth](../README.md#ApiKeyAuth), [BearerAuth](../README.md#BearerAuth)
+
+### HTTP request headers
+
+- **Content-Type**: application/json
+- **Accept**: application/json
+
+### HTTP response details
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+| **200** | Index statistics | - |
+| **400** | Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware. | - |
+| **401** | Unauthorized. The request lacks valid authentication credentials for the operation. | - |
+| **403** | Forbidden. Authenticated user does not have the necessary permissions. | - |
+| **404** | A server-side problem that means can not find the specified resource. | - |
+| **503** | The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry. | - |
+| **5XX** | A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes. | - |
+
+
+## describeTableVersion
+
+> CompletableFuture