Skip to main content

DatasetRowsClient

adaline.datasets.rows works with individual rows inside a dataset — list them, add new ones in batch, patch a single row’s cell values, or delete a row.

Access

import { Adaline } from '@adaline/client';

const adaline = new Adaline();
const rows = adaline.datasets.rows; // DatasetRowsClient
The class is also exported directly:
import { DatasetRowsClient } from '@adaline/client';
Types from @adaline/api:
import type {
  DatasetRow,
  DatasetRowInput,
  AddDatasetRowsResponse,
  ListDatasetRowsResponse,
  SortOrder,
} from '@adaline/api';

list()

List rows in a dataset (paginated). Use columns to narrow which column values are returned — useful for large cell payloads.
list(options: {
  datasetId: string;
  columns?: string;
  sort?: SortOrder;
  createdAfter?: number;
  createdBefore?: number;
  limit?: number;
  cursor?: string;
}): Promise<ListDatasetRowsResponse>

Parameters

NameTypeRequiredDescription
datasetIdstringYesDataset identifier.
columnsstringNoComma-separated list of column IDs or names. Omit to return all.
sortSortOrderNo"createdAt:asc" or "createdAt:desc".
createdAfternumberNoUnix milliseconds.
createdBeforenumberNoUnix milliseconds.
limitnumberNoPage size (default 50, max 200).
cursorstringNoCursor from a previous response.

Returns

Promise<ListDatasetRowsResponse> with { data: DatasetRow[]; pagination: Pagination }. Each DatasetRow.values is a map of column ID → cell value.

Example

const { data, pagination } = await adaline.datasets.rows.list({
  datasetId: 'dataset_abc123',
  columns: 'question,expected',
  sort: 'createdAt:desc',
  limit: 100,
});

create()

Create one or more rows in a single batch (up to 100). Use valuesBy to control whether the keys inside each row’s values object are column IDs or column names.
create(options: {
  datasetId: string;
  valuesBy?: 'columnId' | 'columnName';
  rows: DatasetRowInput[];
}): Promise<AddDatasetRowsResponse>

Parameters

NameTypeRequiredDescription
datasetIdstringYesDataset identifier.
valuesBy'columnId' | 'columnName'NoHow the keys inside each row’s values object are interpreted. Defaults to "columnId".
rowsDatasetRowInput[]YesArray of row definitions, each with a values map.

Returns

Promise<AddDatasetRowsResponse> with { rows: DatasetRow[] } — the newly created rows with server-assigned IDs.

Example

const { rows } = await adaline.datasets.rows.create({
  datasetId: 'dataset_abc123',
  valuesBy: 'columnName',
  rows: [
    { values: { question: 'How do I reset my password?', expected: 'Link to password reset flow' } },
    { values: { question: 'How do I cancel my plan?', expected: 'Link to billing settings' } },
  ],
});

console.log(`Inserted ${rows.length} rows`);

update()

Update the cell values on a single row. Cell values you don’t include are left untouched.
update(options: {
  datasetId: string;
  rowId: string;
  valuesBy?: 'columnId' | 'columnName';
  row: DatasetRowInput;
}): Promise<DatasetRow>

Returns

Promise<DatasetRow> — the updated row.

Example

await adaline.datasets.rows.update({
  datasetId: 'dataset_abc123',
  rowId: 'row_def456',
  valuesBy: 'columnName',
  row: { values: { expected: 'Updated expected answer' } },
});

delete()

Delete a single row from a dataset. Irreversible.
delete(options: { datasetId: string; rowId: string }): Promise<void>

Example

await adaline.datasets.rows.delete({
  datasetId: 'dataset_abc123',
  rowId: 'row_def456',
});

See Also