Manage and use datasets in scripts

Beta
View as Markdown

The pm.datasets function provides access to datasets from a script or local mock server. You can query datasets using SQL to retrieve data at runtime. This enables your scripts and mock servers to return dynamic, data-driven responses instead of static values. All methods are asynchronous and return Promises, so use await to access their results.

Learn more about testing with datasets.

The pm.datasets function is supported only in Local View in the Postman desktop app.

pm.datasets

The pm.datasets function provides access to datasets from a script or local mock server. You can load a dataset by its ID and then use various methods to manipulate and query the dataset.

pm.datasets(datasetId:String)

Loads a dataset and returns a handle you can use to interact with the dataset.

1const ds = pm.datasets('menu-id');

dataset.executeView(viewId:String, params:Object)

Runs a view that’s already defined in the dataset and returns the results.

1const ds = pm.datasets('menu-id');
2
3const result = await ds.executeView('view-id', { category: 'pizza' });
4
5return {
6 items: result.rows
7};

dataset.executeQuery(sql:String, params:Object)

Runs a custom SQL query against the dataset and returns the results.

1const ds = pm.datasets('menu-id');
2
3const result = await ds.executeQuery(
4 'SELECT * FROM menu WHERE category = ?',
5 ['pizza']
6);
7
8return {
9 items: result.rows
10};

dataset.addView(options:Object)

Creates a reusable SQL view on the dataset.

1const ds = pm.datasets('menu-id');
2
3await ds.addView({
4 name: 'expensive_items',
5 sql: 'SELECT * FROM menu WHERE price > 15'
6});

dataset.removeView(viewId:String)

Removes a view from the dataset.

1const ds = pm.datasets('menu-id');
2
3await ds.removeView('view-id');