v52

latestOpenAPI 3.1.1Apache 2.0raw.githubusercontent.com2026-08-0354155395.9 KB
Table
Metadata

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.

post/v1/table/{id}/declare

Path parameters

idstring 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

delimiterstring

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

Request body

{"stackTrail":"components:schemas:DeclareTableRequest:properties:context","oasType":"schema","type":"unknown","description":"Arbitrary context as key-value pairs.\nHow to use the context is custom to the specific implementation.\n\nOn a request, it carries caller-provided context to the implementation.\nOn a response, it carries implementation-provided context back to the caller.\n\nREST NAMESPACE ONLY\nContext entries are mapped to and from HTTP headers using the `header.` prefix:\n- On a request, any entry whose key starts with `header.` is sent as an HTTP\n request header with the prefix stripped. For example, the entry\n `{\"header.Authorization\": \"Bearer abc\"}` is sent as the request header\n `Authorization: Bearer abc`.\n- On a response, every HTTP response header is returned as an entry whose key is the\n header name prefixed with `header.`. For example, the response header\n `x-request-id: abc123` is returned as the entry `{\"header.x-request-id\": \"abc123\"}`.\n"}
idstring[]
locationstring

Optional storage location for the table. If not provided, the namespace implementation should determine the table location.

vend_credentialsboolean

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.

{"stackTrail":"components:schemas:DeclareTableRequest:properties:properties","oasType":"schema","type":"unknown","description":"Business logic properties stored and managed by the namespace implementation outside\nLance context, if supported by the implementation.\n"}

Example request

{
  "identity": {
    "api_key": "api_key",
    "auth_token": "auth_token"
  },
  "context": {
    "key": "context"
  },
  "location": "location",
  "id": [
    "id",
    "id"
  ],
  "properties": {
    "key": "properties"
  },
  "vend_credentials": true
}

Response

Table properties result when declaring a table

{"stackTrail":"components:schemas:DeclareTableResponse:properties:context","oasType":"schema","type":"unknown","description":"Arbitrary context as key-value pairs.\nHow to use the context is custom to the specific implementation.\n\nOn a request, it carries caller-provided context to the implementation.\nOn a response, it carries implementation-provided context back to the caller.\n\nREST NAMESPACE ONLY\nContext entries are mapped to and from HTTP headers using the `header.` prefix:\n- On a request, any entry whose key starts with `header.` is sent as an HTTP\n request header with the prefix stripped. For example, the entry\n `{\"header.Authorization\": \"Bearer abc\"}` is sent as the request header\n `Authorization: Bearer abc`.\n- On a response, every HTTP response header is returned as an entry whose key is the\n header name prefixed with `header.`. For example, the response header\n `x-request-id: abc123` is returned as the entry `{\"header.x-request-id\": \"abc123\"}`.\n"}
transaction_idstring

Optional transaction identifier

locationstring
{"stackTrail":"components:schemas:DeclareTableResponse:properties:storage_options","oasType":"schema","type":"unknown","description":"Configuration options to be used to access storage. The available\noptions depend on the type of storage in use. These will be\npassed directly to Lance to initialize storage access.\n"}
{"stackTrail":"components:schemas:DeclareTableResponse:properties:properties","oasType":"schema","type":"unknown","description":"If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties.\n","example":{"owner":"Ralph","created_at":"1452120468"},"nullable":true}
managed_versioningboolean

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.

Example response

{
  "transaction_id": "transaction_id",
  "context": {
    "key": "context"
  },
  "location": "location",
  "properties": {
    "owner": "Ralph",
    "created_at": "1452120468"
  },
  "managed_versioning": true,
  "storage_options": {
    "key": "storage_options"
  }
}