Skip to main content
This API returns the schema and metadata for a Delta Sharing table without retrieving the actual data files. Use this to inspect table structure, partitioning, and configuration.

Request

method
string
required
GET
url
string
required
{prefix}/shares/{share}/schemas/{schema}/tables/{table}/metadata

Headers

Authorization
string
required
Bearer token for authentication
Authorization: Bearer {token}
delta-sharing-capabilities
string
Optional capabilities header for advanced features:
delta-sharing-capabilities: responseformat=delta;readerfeatures=deletionvectors
See Delta Sharing Capabilities for details.

URL Parameters

share
string
required
The share name to query. This parameter is case-insensitive.
schema
string
required
The schema name to query. This parameter is case-insensitive.
table
string
required
The table name to query. This parameter is case-insensitive.

Response

Headers

Content-Type
string
Content-Type: application/x-ndjson; charset=utf-8
Delta-Table-Version
Long
Current table version number

Response Body

The response contains exactly two lines of newline-delimited JSON:
protocol
object
required
First line: Protocol version information
metaData
object
required
Second line: Complete table metadata

Example Request

curl -X GET \
  '{prefix}/shares/share_name/schemas/schema_name/tables/table_name/metadata' \
  -H 'Authorization: Bearer {token}'

Example Response

HTTP/2 200
content-type: application/x-ndjson; charset=utf-8
delta-table-version: 123
{"protocol":{"minReaderVersion":1}}
{"metaData":{"id":"f8d5c169-3d01-4ca3-ad9e-7dc3355aedb2","location":"s3://my-bucket/tables/customer","auxiliaryLocations":["s3://secondary-bucket/tables/customer"],"accessModes":["url","dir"],"format":{"provider":"parquet"},"schemaString":"{\"type\":\"struct\",\"fields\":[{\"name\":\"eventTime\",\"type\":\"timestamp\",\"nullable\":true,\"metadata\":{}},{\"name\":\"date\",\"type\":\"date\",\"nullable\":true,\"metadata\":{}}]}","partitionColumns":["date"]}}

Formatted Example

For readability, here’s the same response formatted:
// Line 1: Protocol
{
  "protocol": {
    "minReaderVersion": 1
  }
}

// Line 2: Metadata
{
  "metaData": {
    "id": "f8d5c169-3d01-4ca3-ad9e-7dc3355aedb2",
    "location": "s3://my-bucket/tables/customer",
    "auxiliaryLocations": [
      "s3://secondary-bucket/tables/customer"
    ],
    "accessModes": ["url", "dir"],
    "format": {
      "provider": "parquet"
    },
    "schemaString": "{\"type\":\"struct\",\"fields\":[{\"name\":\"eventTime\",\"type\":\"timestamp\",\"nullable\":true,\"metadata\":{}},{\"name\":\"date\",\"type\":\"date\",\"nullable\":true,\"metadata\":{}}]}",
    "partitionColumns": ["date"]
  }
}

Error Responses

This API is useful for:
  • Inspecting table schema before querying data
  • Validating partition columns for predicate pushdown
  • Checking table configuration (e.g., Change Data Feed enabled)
  • Understanding access modes available for the table

Build docs developers (and LLMs) love