NarrativeApi class exposes multiple API modules through a mixin pattern. This reference documents all available methods.
NQL API
Execute, validate, and compile NQL queries.executeNql
Execute an NQL query and return results.| Parameter | Type | Required | Description |
|---|---|---|---|
nql | string | Yes | The NQL query to execute |
data_plane_id | string | null | Yes | Target data plane ID |
execution_cluster | { type: 'shared' | 'dedicated' } | No | Execution cluster type |
create_as_view | boolean | No | Create result as a view |
Promise<NqlResult>
compileNql
Compile an NQL query and return the transpiled SQL.Promise<NqlCompileResult>
validateNql
Validate an NQL query’s syntax.Promise<NqlAst>
parseNql
Parse an NQL query into an abstract syntax tree.Promise<NqlAst>
getNqlByJobId
Retrieve results from a previous query by job ID.Promise<NqlResult>
Datasets API
Manage datasets and their metadata.getDatasets
List all accessible datasets.Promise<ApiRecords<Dataset>>
getDataset
Get a specific dataset by ID.| Parameter | Type | Required | Description |
|---|---|---|---|
datasetId | number | Yes | Dataset ID |
Promise<Dataset>
createDataset
Create a new dataset.Promise<Dataset>
updateDataset
Update dataset metadata.Promise<Dataset>
deleteDataset
Delete a dataset permanently.Promise<void>
addTags
Add tags to a dataset.Promise<Dataset>
removeTags
Remove tags from a dataset.Promise<Dataset>
getStatistics
Get dataset statistics.| Parameter | Type | Required | Description |
|---|---|---|---|
datasetId | number | Yes | Dataset ID |
offset | number | No | Pagination offset (default: 0) |
size | number | No | Page size (default: 1000) |
Promise<ApiRecords<DatasetTableSummary>>
getColumnStats
Get column-level statistics.Promise<ColumnStatistics>
getDatasetSample
Get a sample of dataset records.Promise<ApiRecords<Record<string, string>>>
requestDatasetSample
Request a new sample (async operation).Promise<{ job_id: string }>
getDatasetFiles
List files in a dataset.Promise<FilePerSnapshotResponse>
getDatasetFileDownloadUrl
Get a download URL for a specific file.Promise<{ download_url: string }>
refreshMaterializedView
Refresh a materialized view.Promise<UnknownJob>
updateRetentionPolicy
Update the retention policy.Promise<Dataset>
activateDataset
Activate a pending dataset.Promise<void>
Jobs API
Track asynchronous job status.getJobs
List all jobs.Promise<ApiRecordsV2<Job>>
getJob
Get a specific job by ID.Promise<Job>
Access Rules API
Manage access permissions.getAccessRules
List access rules.Promise<ApiRecords<AccessRule>>
createAccessRule
Create a new access rule.Promise<AccessRule>
updateAccessRule
Update an existing access rule.Promise<AccessRule>
deleteAccessRule
Delete an access rule.Promise<void>
Access Tokens API
Manage API tokens.getAccessTokens
List all access tokens.Promise<ApiRecords<AccessToken>>
getAccessToken
Get a specific token.Promise<AccessToken>
createAccessToken
Create a new access token.Promise<AccessToken>
updateAccessToken
Update an existing token.Promise<AccessToken>
deleteAccessToken
Delete an access token.Promise<void>
Mappings API
Work with Rosetta Stone mappings.getMappings
List mappings for a company.Promise<ApiRecords<Mapping>>
createPrivateMapping
Create a private mapping.Promise<Mapping>
testMapping
Test a mapping configuration.Promise<MappingTestResult>
previewMapping
Preview mapping results.Promise<MappingPreview>
Subscriptions API
Manage data subscriptions.getSubscriptions
List all subscriptions.Promise<ApiRecords<Subscription>>
Health API
Check API health status.getHealthCheck
Check if the API is healthy.Promise<HealthCheckResponse>

