Skip to main content
POST
Create a materialized view

Authorizations

Authorization
string
header
required

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

FlowClient Credentials
Token URL
/oauth/token

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
kind
enum<string>
required

The materialized view kind.

  • query — plain query-backed view (no UDTF), 1:1 rows.
  • udtf — batch UDTF-backed view (N:M rows, full refresh).
  • chunker, aka 'scalar_udtf' — chunker view (1:N row expansion, incremental refresh).
Available options:
query,
udtf,
chunker
source_query
string
required

Opaque serialized representation of the source query that defines the view's input. The format is defined by the client; the namespace server stores it without interpreting it.

output_schema
string
required

Base64-encoded Arrow schema of the view output

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[]

View identifier path (namespace + view name)

udtf_spec
null | object

UDTF descriptor. Required when kind is udtf or chunker; must be null when kind is query.

with_no_data
boolean
default:true

If false, the server kicks off an initial refresh immediately after creating the view and the response includes a job ID.

auto_refresh
boolean | null
default:false

If true, the view is automatically refreshed when source-table data changes past the deployment-level threshold. Boolean opt-in only; the threshold and cooldown are configured on the deployment, not per-view.

Response

Materialized view created

version
integer<int64>
required

The commit version that created the materialized view

Required range: x >= 0
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"}.
job_id
string | null

Refresh job ID, populated only when with_no_data was false.