Alpha: This API may change without notice; not recommended
for production use.
Returns a paginated list of datasets the caller has read access to,
optionally filtered and ordered with a CEL expression. Default page
size is 50; maximum is 100. Default ordering is by id ascending.
Set expand=true to inline reference fields (createdBy,
managedBy, storageIntegration.record, …). Without expand,
references contain only id.
Filtering and ordering with CEL
The filter and orderBy query parameters are evaluated as
Common Expression Language (CEL) expressions
against a stable schema that mirrors the dataset response body.
filter must evaluate to bool; orderBy is a CSV list of
CEL expressions whose values must be comparable. URL-encode
both; CSV-escape orderBy items first (see the orderBy
parameter for syntax).
Expressions that reference unknown fields, use the wrong type, or
exceed the server-side cost limit return 400.
CEL → REST field mapping
With the exceptions noted below, every CEL field name matches the
JSON key on Dataset-Resource 1‑to‑1, and CEL types map to JSON
wire types as follows:
| CEL type | JSON wire type |
|---|---|
string, string? | string (or null when nullable) |
bool | boolean |
int | integer |
timestamp | RFC 3339 string (e.g. createdAt, updatedAt) |
list(T) | array |
map(K, V) | object |
| Wrapper types | nested object with the same sub-field names |
Every id field — top-level and nested — is int in CEL but
rendered as string in JSON (int64 values may overflow the JS
number range). Compare with an integer literal in CEL:
id == 41000234, not id == "41000234".
Discrepancies between CEL and REST
| Field | CEL | REST | Notes |
|---|---|---|---|
_name, _package | string, derived from label | not present | CEL-only convenience fields. label = "Logs/AWS/CloudTrail" ⇒ _package = "Logs/AWS/", _name = "CloudTrail". |
createdAt, updatedAt | timestamp | RFC 3339 string | In CEL, compare with timestamp("2024-01-01T00:00:00Z") or use now() - duration("24h"). |
storageIntegration.record.* | always loadable for filter evaluation | only present when expand=true | A filter like storageIntegration.record.label == "snowflake-prod" works on every request; the record object is only echoed back in the response when expand=true. |
Available CEL functions
The dataset CEL environment registers the CEL standard
definitions
(operators, in, ?:, size(), string.contains, string.startsWith,
string.endsWith, matches, etc.) plus the following extension
libraries from
cel-go v0.28.0:
ext.Strings—charAt,indexOf,join,lowerAscii,replace,split,substring,trim,upperAscii,formatext.Lists—lists.flatten,lists.range,lists.sliceext.Math—math.greatest,math.leastext.Sets—sets.contains,sets.equivalent,sets.intersectsext.Regex—re.capture,re.extractext.Encoders—base64.encode,base64.decodeext.Bindings—cel.bindfor let-binding sub-expressionsext.Protos— protobuf helperscel.OptionalTypes—optional.of,optional.ofNonZero,optional.none
See Dataset-Resource below for the full set of fields and types.
Semantic search
Pass query to find datasets by meaning rather than by exact field values.
Results are ranked by relevance descending; orderBy is ignored when
query is set. meta.totalCount is always -1 for semantic-search
requests because the full match count cannot be computed efficiently.
filter may be combined with query to narrow results after ranking.
When both are set, the response may contain fewer than limit items
if many ranked candidates are filtered out.
Returns 404 if semantic search is not available in this deployment.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||