Skip to main content
POST
/
v1
/
table
/
{id}
/
version
/
create
Error
A valid request URL is required to generate request examples
{
  "transaction_id": "<string>",
  "version": {
    "version": 1,
    "manifest_path": "<string>",
    "manifest_size": 1,
    "e_tag": "<string>",
    "timestamp_millis": 123,
    "metadata": {}
  }
}

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Path Parameters

id
string
required

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.

Query Parameters

delimiter
string

An optional delimiter of the string identifier, following the Lance Namespace spec. When not specified, the $ delimiter must be used.

Body

application/json

Request to create a new table version entry. This supports put_if_not_exists semantics, where the operation fails if the version already exists.

version
integer<int64>
required

Version number to create

Required range: x >= 0
manifest_path
string
required

Path to the manifest file for this version

identity
object

Identity information of a request.

context
object

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.

id
string[]

The table identifier

manifest_size
integer<int64>

Size of the manifest file in bytes

Required range: x >= 0
e_tag
string

Optional ETag for the manifest file

metadata
object

Optional metadata for the version

naming_scheme
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.

Example:

"V2"

Response

Result of creating a table version

Response for creating a table version

transaction_id
string

Optional transaction identifier

version
object