Skip to main content
POST
/
v1
/
materialized_view
/
{id}
/
create
Create a materialized view
curl --request POST \
  --url {scheme}://{host}:{port}/{basePath}/v1/materialized_view/{id}/create \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "source_query": "<string>",
  "output_schema": "<string>",
  "identity": {
    "api_key": "<string>",
    "auth_token": "<string>"
  },
  "id": [
    "<string>"
  ],
  "udtf_spec": {
    "udtf": "<string>",
    "udtf_sha": "<string>",
    "udtf_name": "<string>",
    "udtf_version": "<string>",
    "input_columns": [
      "<string>"
    ],
    "partition_by": "<string>",
    "partition_by_indexed_column": "<string>",
    "num_cpus": 123,
    "num_gpus": 123,
    "memory": 123,
    "error_handling": {},
    "batch": true,
    "manifest": "<string>",
    "manifest_checksum": "<string>"
  },
  "with_no_data": true,
  "auto_refresh": false
}
'
{
  "version": 1,
  "job_id": "<string>"
}

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

id
string[]

View identifier path (namespace + view name)

udtf_spec
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
job_id
string | null

Refresh job ID, populated only when with_no_data was false.