Skip to main content
POST
/
v1
/
table
/
{id}
/
declare
Error
A valid request URL is required to generate request examples
{
  "context": {},
  "transaction_id": "<string>",
  "location": "<string>",
  "storage_options": {},
  "properties": {
    "owner": "Ralph",
    "created_at": "1452120468"
  },
  "managed_versioning": true
}
{
  "type": "/errors/bad-request",
  "title": "Malformed request",
  "status": 400,
  "detail": "",
  "instance": "/v1/namespaces"
}
{
  "type": "/errors/unauthorized-request",
  "title": "No valid authentication credentials for the operation",
  "status": 401,
  "detail": "",
  "instance": "/v1/namespaces"
}
{
  "type": "/errors/forbidden-request",
  "title": "Not authorized to make this request",
  "status": 403,
  "detail": "",
  "instance": "/v1/namespaces"
}
{
  "type": "/errors/not-found-error",
  "title": "Not found Error",
  "status": 404,
  "detail": "",
  "instance": "/v1/namespaces/{ns}"
}
{
  "type": "/errors/conflict",
  "title": "The namespace has been concurrently modified",
  "status": 409,
  "detail": "",
  "instance": "/v1/namespaces/{ns}"
}
{
  "type": "/errors/service-unavailable",
  "title": "Slow down",
  "status": 503,
  "detail": "",
  "instance": "/v1/namespaces"
}
{
  "type": "/errors/server-error",
  "title": "Internal Server Error",
  "status": 500,
  "detail": "",
  "instance": "/v1/namespaces"
}

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 for declaring a table.

identity
object

Identity information of a request.

context
object

Arbitrary context as key-value pairs. How to use the context is custom to the specific implementation.

On a request, it carries caller-provided context to the implementation. On a response, it carries implementation-provided context back to the caller.

REST NAMESPACE ONLY Context entries are mapped to and from HTTP headers using the header. prefix:

  • On a request, any entry whose key starts with header. is sent as an HTTP request header with the prefix stripped. For example, the entry {"header.Authorization": "Bearer abc"} is sent as the request header Authorization: Bearer abc.
  • On a response, every HTTP response header is returned as an entry whose key is the header name prefixed with header.. For example, the response header x-request-id: abc123 is returned as the entry {"header.x-request-id": "abc123"}.
id
string[]
location
string

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

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

properties
object

Business logic properties stored and managed by the namespace implementation outside Lance context, if supported by the implementation.

Response

Table properties result when declaring a table

Response for declaring a table.

context
object

Arbitrary context as key-value pairs. How to use the context is custom to the specific implementation.

On a request, it carries caller-provided context to the implementation. On a response, it carries implementation-provided context back to the caller.

REST NAMESPACE ONLY Context entries are mapped to and from HTTP headers using the header. prefix:

  • On a request, any entry whose key starts with header. is sent as an HTTP request header with the prefix stripped. For example, the entry {"header.Authorization": "Bearer abc"} is sent as the request header Authorization: Bearer abc.
  • On a response, every HTTP response header is returned as an entry whose key is the header name prefixed with header.. For example, the response header x-request-id: abc123 is returned as the entry {"header.x-request-id": "abc123"}.
transaction_id
string

Optional transaction identifier

location
string
storage_options
object

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
object | null

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"
}
managed_versioning
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.