v52

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

Describe information of a table

Describe the detailed information for table id.

REST NAMESPACE ONLY REST namespace passes with_table_uri, load_detailed_metadata, and check_declared as query parameters instead of in the request body.

post/v1/table/{id}/describe

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.

with_table_uriboolean

Whether to include the table URI in the response

load_detailed_metadataboolean

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.

check_declaredboolean

Whether to check if the table exists only as a namespace declaration without storage data. When false (default), the response should return null for is_only_declared unless another option such as load_detailed_metadata requires the check.

Request body

{"stackTrail":"components:schemas:DescribeTableRequest: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[]
versioninteger

Version of the table to describe. If not specified, server should resolve it to the latest version.

tagstring

Tag name to describe the table at. If specified, the server should resolve the tag to a version number and describe that version. Cannot be used together with version or branch.

branchstring

Branch to target. When not specified, the main branch is used.

with_table_uriboolean

Whether to include the table URI in the response. Default is false.

load_detailed_metadataboolean

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.

check_declaredboolean

Whether to check if the table exists only as a namespace declaration without storage data. Default is false. When true, the response should populate is_only_declared. When false, the implementation should return null for is_only_declared unless another option such as load_detailed_metadata requires checking declared-only table state.

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.

Example request

{
  "identity": {
    "api_key": "api_key",
    "auth_token": "auth_token"
  },
  "context": {
    "key": "context"
  },
  "check_declared": false,
  "id": [
    "id",
    "id"
  ],
  "tag": "tag",
  "version": 0,
  "branch": "branch",
  "with_table_uri": false,
  "load_detailed_metadata": true,
  "vend_credentials": true
}

Response

Table properties result when loading a table

{"stackTrail":"components:schemas:DescribeTableResponse: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"}
tablestring

Table name. Only populated when load_detailed_metadata is true.

namespacestring[]

The namespace identifier as a list of parts. Only populated when load_detailed_metadata is true.

versioninteger

Table version number. Only populated when load_detailed_metadata is true.

locationstring

Table storage location (e.g., S3/GCS path).

table_uristring

Table URI. Unlike location, this field must be a complete and valid URI. Only returned when with_table_uri is true.

{"stackTrail":"components:schemas:DescribeTableResponse: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.\nWhen `vend_credentials` is true, this field may include vended credentials.\nIf the vended credentials are temporary, the `expires_at_millis` key should be\nincluded to indicate the millisecond timestamp when the credentials expire.\n"}
{"stackTrail":"components:schemas:DescribeTableResponse:properties:metadata","oasType":"schema","type":"unknown","description":"Optional table metadata as key-value pairs. This records the information of the table\nand requires loading the table.\nIt is only populated when `load_detailed_metadata` is true.\n"}
{"stackTrail":"components:schemas:DescribeTableResponse:properties:properties","oasType":"schema","type":"unknown","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_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.

is_only_declaredboolean nullable

When true, indicates that the table has been declared in the namespace but not yet created on storage. This means the table exists in the namespace but has no data files on the underlying storage. When false, the table has storage components (data and metadata files). When null, the implementation did not check whether the table is only declared. Clients should treat an omitted value as null. Implementations should populate this field when check_declared is true or another option such as load_detailed_metadata requires checking declared-only table state. Operations like describe_table with load_detailed_metadata=true may fail for declared-only tables.

Example response

{
  "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",
  "version": 0,
  "managed_versioning": true,
  "is_only_declared": true,
  "stats": {
    "num_deleted_rows": 0,
    "num_fragments": 0
  },
  "context": {
    "key": "context"
  },
  "namespace": [
    "namespace",
    "namespace"
  ],
  "location": "location",
  "table": "table",
  "properties": {
    "owner": "Ralph",
    "created_at": "1452120468"
  },
  "storage_options": {
    "key": "storage_options"
  }
}