Refresh & Execution
Refresh a Dataset from its Datasource, and benchmark the query behind it.
POST /api/datasets/{id}/_refresh
Refresh the Dataset: run its query against the Datasource and rebuild the search index from the results.
Authentication: Required
Permission: dataset:refresh (delegates to dataset:write: Data Wizard
or above on the owning team)
Path Parameters:
| Parameter | Type | Description |
|---|---|---|
id | string | Dataset UUID or ownerId:slug natural id |
Request Body (all optional):
| Field | Type | Default | Description |
|---|---|---|---|
params | object | — | Query parameter values for this run |
progress | string | — | Progress channel id for tracking |
syncFields | boolean | true | Rebuild field definitions from the new mapping |
updateTypeMapping | boolean | true | Store each field's index type mapping |
disableRefreshInterval | boolean | true | Suspend index refresh during the bulk write (faster indexing) |
{}
Behavior:
- Executes the Dataset query (with
paramsapplied) - Streams results into a fresh index, then swaps it in
- Syncs field definitions and updates
records/dataUpdatedAt - Rows that fail indexing are recorded as exceptions
- Responds
200with an empty body when complete
The route has no socket timeout; the response arrives when the refresh
finishes. Pass progress to follow along.
There is also an internal variant, POST /api/datasets/{id}/_refresh-internal,
used by Informer's own template and job machinery. It is marked internal and
answers 404 over HTTP.
POST /api/datasets/{id}/_run
Legacy variant of _refresh: first persists the payload's params onto the
Dataset, then performs the same full refresh.
Authentication: Required
Permission: dataset:write (Data Wizard or above on the owning team)
Request Body:
| Field | Type | Description |
|---|---|---|
params | object | Saved onto the Dataset, then used by the refresh |
progress | string | Progress channel id |
{}
Prefer _refresh: it applies params to the run without rewriting the
Dataset's stored parameters.
POST /api/datasets/{id}/_benchmark
Time the Dataset's query without touching its real index.
Authentication: Required
Permission: dataset:refresh (Data Wizard or above on the owning team)
Request Body:
| Field | Type | Description |
|---|---|---|
params | object | Query parameter values for the run |
config | object | Benchmark options, see below |
progress | string | Progress channel id |
Benchmark config:
| Field | Type | Description |
|---|---|---|
limit | integer | Cap the number of rows read from the Datasource |
flows | boolean | Include the Dataset's flow steps in the run |
index | boolean | Also stream results into a scratch index (deleted afterwards), measuring indexing cost too |
Response: records read, elapsed time in seconds, and whether any rows
errored.
{
"config": {
"limit": 500
}
}
{
"_links": {
"self": {
"href": "https://informer.example.com/api/datasets/admin%3Anorthwind-orders/_benchmark"
}
},
"records": 500,
"time": 0.5,
"containsErrors": false,
"errorMessage": {}
}
There is also an internal variant, POST /api/datasets/{id}/_benchmark-internal,
which answers 404 over HTTP.
Query Parameters
Dataset queries reference parameters whose values can be supplied per run
(params on _refresh/_benchmark) or saved on the Dataset (see
Settings). Native SQL queries reference
them as $paramName; the stored parameter definitions conventionally carry
name, dataType, and defaultValue.