# Narrative I/O Knowledge Base ## Getting Started ### First Steps - [Create an Account](https://docs.narrative.io/getting-started/create-account.md): Sign up for Narrative I/O and set up your workspace - [Upload Your Data](https://docs.narrative.io/getting-started/upload-data.md): Add your first dataset to Narrative I/O - [Normalize with Rosetta Stone](https://docs.narrative.io/getting-started/normalize-data.md): Map your data to a standard schema for seamless collaboration - [Evaluate Your Mappings](https://docs.narrative.io/getting-started/evaluate-mappings.md): Use AI to assess and improve your schema mappings - [Write Your First Query](https://docs.narrative.io/getting-started/first-nql-query.md): Create a filtered dataset using Query Builder in Data Studio ### Snowflake - [Register Your First Snowflake Dataset](https://docs.narrative.io/getting-started/register-snowflake-dataset.md): Turn a Snowflake table into a Narrative dataset from a SQL worksheet, without opening the Native App Configuration screen ## Concepts ### Overview - [Concepts](https://docs.narrative.io/concepts/index.md): Understand how Narrative I/O works—the architecture, primitives, and design decisions behind the platform - [Data Collaboration Platforms](https://docs.narrative.io/concepts/data-collaboration-platforms.md): How the convergence of big data infrastructure, specialized talent, and data scarcity led to a new category of software for acquiring and sharing data ### Core Primitives - [Datasets](https://docs.narrative.io/concepts/primitives/datasets.md): Understand how datasets store, organize, and protect your data in Narrative - [Dataset Statistics](https://docs.narrative.io/concepts/primitives/dataset-statistics.md): Understand how column-level metrics describe your data and power platform features - [Dataset Retention Policies](https://docs.narrative.io/concepts/primitives/dataset-retention-policies.md): Understand how retention policies manage your data lifecycle and automatic cleanup - [Data Planes](https://docs.narrative.io/concepts/primitives/data-planes.md): Understand where your data lives and is processed in the Narrative platform - [Execution Context](https://docs.narrative.io/concepts/primitives/execution-context.md): Understand how data plane and compute pool combine to determine where and how platform operations run - [Compute Pools](https://docs.narrative.io/concepts/primitives/compute-pools.md): Understand how compute pools control resource allocation for query execution within a data plane - [Control Plane](https://docs.narrative.io/concepts/primitives/control-plane.md): Understand how Narrative orchestrates data collaboration across data planes - [Access Rules](https://docs.narrative.io/concepts/primitives/access-rules.md): Control who can access your data, what they can query, and what it costs ### Rosetta Stone - [Rosetta Stone Overview](https://docs.narrative.io/concepts/rosetta-stone/overview.md): How Narrative enables data collaboration across organizations with different schemas - [How Rosetta Stone Works](https://docs.narrative.io/concepts/rosetta-stone/how-it-works.md): The mechanics of attributes, mappings, and automatic schema normalization - [The Normalization Model](https://docs.narrative.io/concepts/rosetta-stone/normalization-model.md): How Rosetta Stone structures attributes, types, and validations - [Confidence Scoring](https://docs.narrative.io/concepts/rosetta-stone/confidence-scoring.md): How AI evaluates mapping quality and generates confidence scores - [Rosetta Stone vs. Apache Ossie](https://docs.narrative.io/concepts/rosetta-stone/vs-apache-ossie.md): How Narrative Rosetta Stone and the Apache Ossie (Open Semantic Interchange) specification differ, and where they complement each other ### NQL - [NQL Design Philosophy](https://docs.narrative.io/concepts/nql/design-philosophy.md): Why Narrative created a purpose-built query language for data collaboration - [NQL vs SQL](https://docs.narrative.io/concepts/nql/sql-comparison.md): Understanding how NQL extends and differs from standard SQL - [Type System](https://docs.narrative.io/concepts/nql/type-system.md): How NQL handles types across different database engines - [Understanding JOIN Performance](https://docs.narrative.io/concepts/nql/join-performance.md): How query planners optimize JOIN operations and why certain patterns cause problems - [Materialized Views](https://docs.narrative.io/concepts/nql/materialized-views.md): How materialized views work in NQL and when to use them - [Incremental View Maintenance](https://docs.narrative.io/concepts/nql/incremental-view-maintenance.md): How NQL optimizes materialized view refreshes by updating only changed data - [Chunking](https://docs.narrative.io/concepts/nql/chunking.md): How NQL splits large queries into time-based segments for stability and cost efficiency - [Query Templates](https://docs.narrative.io/concepts/nql/query-templates.md): Reusable query patterns with configurable placeholders ### Data Formats - [Unix Time](https://docs.narrative.io/concepts/data-formats/unix-time.md): Understanding Unix timestamps and how Narrative uses them for data collaboration - [IP Addresses](https://docs.narrative.io/concepts/data-formats/ip-addresses.md): Understanding IP address formats, types, and their role in data collaboration - [Location Data](https://docs.narrative.io/concepts/data-formats/location-data.md): Understanding location polygons, geospatial formats, and how to work with geographic data ### Identifiers - [Identifiers in Data Collaboration](https://docs.narrative.io/concepts/identifiers/overview.md): Understanding how identifiers enable privacy-preserving data matching across organizations - [Identifier Types](https://docs.narrative.io/concepts/identifiers/id-types.md): Understanding the categories of identifiers used in data collaboration - [Mobile Advertising IDs](https://docs.narrative.io/concepts/identifiers/mobile-ad-ids.md): Understanding IDFA, GAID, and how mobile device identifiers work - [ID Mapping](https://docs.narrative.io/concepts/identifiers/id-mapping.md): Connecting identifiers across devices, channels, and platforms - [Identity Graphs](https://docs.narrative.io/concepts/identifiers/identity-graph.md): How connected components and graph structure unify identifiers into person-level and household-level profiles - [Graph Studio](https://docs.narrative.io/concepts/identifiers/graph-studio.md): Build identity graphs from your first-party and third-party data using a guided, visual builder - [Graph Enrichment](https://docs.narrative.io/concepts/identifiers/graph-enrichment.md): Strengthening identity graph structure with third-party linkage data for improved person-level and household-level resolution - [Addressability Expansion](https://docs.narrative.io/concepts/identifiers/addressability.md): Improving media activation reach by appending additional identifiers to existing identity graph records - [UID2 (Unified ID 2.0)](https://docs.narrative.io/concepts/identifiers/uid2.md): A privacy-preserving identifier for cross-platform data collaboration - [Data Onboarding](https://docs.narrative.io/concepts/identifiers/data-onboarding.md): Translating offline customer data for digital activation ### Architecture - [Query Processing](https://docs.narrative.io/concepts/architecture/query-processing.md): How NQL queries are compiled, dispatched, and executed across the platform - [Data Flow](https://docs.narrative.io/concepts/architecture/data-flow.md): How data moves through the Narrative platform during queries and collaboration - [Sample Data](https://docs.narrative.io/concepts/architecture/sample-data.md): Understand how data samples cross from data planes to the control plane, and the governance implications - [Security Model](https://docs.narrative.io/concepts/architecture/security-model.md): Understand how Narrative protects your data through architecture, access controls, and operational practices ### Workflows - [Workflow Orchestration](https://docs.narrative.io/concepts/workflows/workflow-orchestration.md): How workflows automate multi-step data pipelines and relate to the jobs system ### Webhooks - [Webhooks](https://docs.narrative.io/concepts/webhooks/overview.md): How webhooks deliver push-based notifications for job state changes ### Data Collaboration MCP Server - [Data Collaboration MCP Server](https://docs.narrative.io/concepts/mcp/overview.md): How the Narrative MCP server lets AI agents interact with your data - [Skills](https://docs.narrative.io/concepts/mcp/skills.md): Pre-built skills that automate common Narrative workflows on top of the MCP server ### Model Inference - [Model Inference](https://docs.narrative.io/concepts/model-inference/overview.md): Run AI-powered operations within your data plane using hosted LLMs - [Data Privacy in Model Inference](https://docs.narrative.io/concepts/model-inference/data-privacy.md): How Model Inference keeps your data secure within your infrastructure - [Structured Output](https://docs.narrative.io/concepts/model-inference/structured-output.md): How JSON Schema ensures predictable, typed responses from Model Inference ### Security - [Personally Identifiable Information (PII)](https://docs.narrative.io/concepts/security/pii.md): Understanding PII, regulatory definitions, and how to handle it in data collaboration - [Hashing](https://docs.narrative.io/concepts/security/hashing.md): Understanding cryptographic hash functions and their role in data protection - [Data Pseudonymization](https://docs.narrative.io/concepts/security/data-pseudonymization.md): How Narrative uses hashed identifiers to enable privacy-preserving data collaboration - [Narrative ID](https://docs.narrative.io/concepts/security/narrative-id.md): Per-partner pseudonymous identifiers for privacy-safe data collaboration - [Single Sign-On (SSO)](https://docs.narrative.io/concepts/security/sso.md): Understand how SSO works with Narrative I/O and why it matters for enterprise security - [API Key Permissions](https://docs.narrative.io/concepts/security/api-key-permissions.md): Understand how scoped permissions control what API keys can do and protect your resources ### Compliance - [GDPR](https://docs.narrative.io/concepts/compliance/gdpr.md): Understanding the General Data Protection Regulation and its requirements for personal data processing - [CCPA](https://docs.narrative.io/concepts/compliance/ccpa.md): Understanding the California Consumer Privacy Act and California Privacy Rights Act - [Sub-processors](https://docs.narrative.io/concepts/compliance/sub-processors.md): Third-party service providers that process data on behalf of Narrative ### Data Activation - [Data Activation](https://docs.narrative.io/concepts/data-activation/overview.md): Deliver audience data from Narrative to advertising and marketing platforms - [Connector Interfaces](https://docs.narrative.io/concepts/data-activation/connector-interfaces.md): What a connector interface is, what it contains, and how a dataset connects to one - [Audience Studio](https://docs.narrative.io/concepts/data-activation/audience-studio.md): Build, filter, and deliver audiences to advertising platforms using a guided builder - [Look-alike Studio](https://docs.narrative.io/concepts/data-activation/lookalike-studio.md): Expand a seed audience by scoring a larger population against the seed using a guided builder ### Apps - [App Invites](https://docs.narrative.io/concepts/apps/app-invites.md): How invite links enable third parties to connect accounts without Narrative authentication ## Guides ### Overview - [Guides](https://docs.narrative.io/guides/index.md): Step-by-step instructions for common tasks in Narrative I/O ### Platform - [Using the Context Selector](https://docs.narrative.io/guides/platform/using-the-context-selector.md): Choose your data plane and compute pool to control where queries execute and what data is visible - [Configuring dataset statistics](https://docs.narrative.io/guides/platform/configuring-dataset-statistics.md): Choose which column-level metrics to compute, set refresh schedules, and add per-field overrides from the dataset details page - [Configuring dataset retention policies](https://docs.narrative.io/guides/platform/configuring-retention-policies.md): Add, edit, and manage retention policies from the dataset details page to automate data lifecycle cleanup ### Data Ingestion - [Hashing PII for Upload](https://docs.narrative.io/guides/ingestion/hashing-pii.md): Prepare email addresses and phone numbers for upload by hashing them with MD5, SHA-1, and SHA-256 - [Redacting Dataset Samples](https://docs.narrative.io/guides/ingestion/redacting-dataset-samples.md): Mask personal data in a dataset's stored sample by uploading a redaction that names each sensitive column and the strategy that hides its value ### Data Planes - [Install the Snowflake Native App](https://docs.narrative.io/guides/data-planes/snowflake-native-app-installation.md): Set up a customer-hosted data plane in your Snowflake environment - [Register a Snowflake Dataset from SQL](https://docs.narrative.io/guides/data-planes/register-a-snowflake-dataset.md): Register a Snowflake table or view as a Narrative dataset by calling a stored procedure, without opening the Native App Configuration screen - [Migrate to Compute Pools](https://docs.narrative.io/guides/data-planes/migrate-to-compute-pools.md): Map your Snowflake virtual warehouses to Narrative Compute Pools to use multiple warehouses for different job types - [Archive a Compute Pool](https://docs.narrative.io/guides/data-planes/archive-compute-pool.md): Retire a compute pool safely by clearing its references and understanding the runtime impact on in-flight jobs ### Querying with NQL - [Filtering and Transforming Data](https://docs.narrative.io/guides/nql/filtering-transforming.md): Select columns, filter rows, and transform data with NQL - [Using Functions in Query Builder](https://docs.narrative.io/guides/nql/query-builder-functions.md): Add SQL functions to output columns, filters, and join conditions without writing NQL - [Joining Datasets](https://docs.narrative.io/guides/nql/joining-datasets.md): Combine data from multiple datasets using JOINs - [Creating Materialized Views](https://docs.narrative.io/guides/nql/creating-materialized-views.md): Pre-compute and cache query results for improved performance - [Incremental Upserts with MERGE ON](https://docs.narrative.io/guides/nql/incremental-upserts.md): Update existing records and insert new ones during materialized view refreshes - [Using Query Templates](https://docs.narrative.io/guides/nql/using-query-templates.md): Create and use reusable queries with configurable placeholders - [Executing NQL via the API](https://docs.narrative.io/guides/nql/executing-nql-via-api.md): Run a single NQL statement as a workflow with POST /v1/nql/execute and track it to completion - [Migrating from /nql/run to /v1/nql/execute](https://docs.narrative.io/guides/nql/migrating-from-nql-run.md): Port callers of the deprecated POST /nql/run endpoint to POST /v1/nql/execute #### Query Optimization - [Query Optimization](https://docs.narrative.io/guides/nql/query-optimization.md): Write faster, more efficient NQL queries - [Avoid OR in JOIN Clauses](https://docs.narrative.io/guides/nql/query-optimization/avoid-or-in-join.md): Restructure OR conditions into single-key joins for dramatically better query performance #### Troubleshooting - [NQL Troubleshooting](https://docs.narrative.io/guides/nql/troubleshooting.md): Diagnose and resolve common NQL query errors - [Cross-Data Plane Query Errors](https://docs.narrative.io/guides/nql/troubleshooting/cross-data-plane-queries.md): Resolve errors when queries reference data across multiple data planes - [Unsupported Type Errors](https://docs.narrative.io/guides/nql/troubleshooting/unsupported-type-error.md): Resolve errors when NQL queries use unsupported data types or operations ### Data Collaboration - [Using Narrative ID](https://docs.narrative.io/guides/collaboration/using-narrative-id.md): Encode and translate identifiers for privacy-safe data collaboration ### Identity Resolution - [Building an identity graph](https://docs.narrative.io/guides/graph-studio/building-an-identity-graph.md): Create an identity graph from your first-party data using Graph Studio - [Building a marketplace match report](https://docs.narrative.io/guides/graph-studio/building-a-marketplace-match-report.md): Configure and generate a Marketplace Match Report to evaluate a third-party supplier against your first-party identity data - [Viewing a marketplace match report](https://docs.narrative.io/guides/graph-studio/viewing-marketplace-match-reports.md): Understand how to read and interpret the Marketplace Match Report to evaluate supplier overlap and enrichment potential ### Data Activation - [Structuring Audiences for Activation](https://docs.narrative.io/guides/activation/audience-strategies.md): Strategies for organizing your datasets to deliver audiences to advertising platforms ### Audience Studio - [Building an audience](https://docs.narrative.io/guides/audience-studio/building-an-audience.md): Create a targeted audience from your data and deliver it to advertising platforms using Audience Studio - [Building a look-alike audience](https://docs.narrative.io/guides/audience-studio/building-a-lookalike-audience.md): Expand a seed audience by scoring a larger population for users that resemble it, using Look-alike Studio ### Connectors #### The Trade Desk - [Delivering Audiences to The Trade Desk via the API](https://docs.narrative.io/guides/connectors/the-trade-desk/delivering-audiences-via-api.md): Build an unattended integration that uploads an audience to Narrative and delivers it to The Trade Desk over the API #### Meta - [Ad Account Eligibility for Custom Audiences](https://docs.narrative.io/guides/connectors/meta/ad-account-access.md): Resolve eligibility warnings shown when selecting a Meta ad account for Custom Audience delivery ### Compliance - [Managing Data Subject Requests](https://docs.narrative.io/guides/compliance/managing-dsrs.md): Submit and process opt-out and deletion requests to comply with GDPR, CCPA, and other privacy regulations ### Rosetta Stone - [Creating Normalized Attributes](https://docs.narrative.io/guides/rosetta-stone/creating-normalized-attributes.md): Best practices for designing and proposing Rosetta Stone attributes - [Mapping Schemas](https://docs.narrative.io/guides/rosetta-stone/mapping-schemas.md): Create mappings between your data schema and Rosetta Stone attributes - [Validating Mappings](https://docs.narrative.io/guides/rosetta-stone/validating-mappings.md): Test and verify your schema mappings before production use - [Handling Edge Cases](https://docs.narrative.io/guides/rosetta-stone/edge-cases.md): Solutions for complex mapping scenarios and unusual data patterns - [Managing Mapping Evaluations](https://docs.narrative.io/guides/rosetta-stone/managing-evaluations.md): Run AI evaluations, filter by confidence, and understand mapping quality - [Accepting AI Mapping Suggestions](https://docs.narrative.io/guides/rosetta-stone/accepting-ai-suggestions.md): Review, accept, and reject AI-generated mapping recommendations ### Account Settings - [API Keys](https://docs.narrative.io/account-settings/api-keys.md): Create, manage, and secure API keys for authenticating requests to the Narrative API - [SSO Configuration](https://docs.narrative.io/account-settings/sso.md): Configure SAML 2.0 single sign-on for your Narrative I/O organization ### Workflows - [Automating Multi-Step Pipelines](https://docs.narrative.io/guides/workflows/workflow-orchestration.md): Define and run multi-step data workflows that execute automatically based on task dependencies ### Webhooks - [Subscribing to Notifications](https://docs.narrative.io/guides/webhooks/subscribing-to-notifications.md): Create and manage webhook subscriptions to receive push notifications for job state changes ### Data Collaboration MCP Server - [Connecting to the Narrative MCP Server](https://docs.narrative.io/guides/mcp/connecting-an-ai-assistant.md): Set up your MCP client to interact with Narrative through an AI agent - [Installing skills](https://docs.narrative.io/guides/mcp/installing-skills.md): Install Narrative skills into Claude Code, Cortex Code, or any agentskills.io-compliant agent ### Tools - [Secret Sharing](https://docs.narrative.io/guides/tools/secret-sharing.md): Send sensitive information through one-time-use encrypted links ### SDKs - [SDK Guides](https://docs.narrative.io/guides/sdk/index.md): Step-by-step instructions for common SDK tasks - [SDK Authentication](https://docs.narrative.io/guides/sdk/authentication.md): Configure API key authentication for the Narrative TypeScript SDK - [Executing NQL Queries](https://docs.narrative.io/guides/sdk/executing-queries.md): Run, validate, and compile NQL queries using the TypeScript SDK - [Managing Datasets](https://docs.narrative.io/guides/sdk/managing-datasets.md): Create, read, update, and delete datasets using the TypeScript SDK - [Uploading Data](https://docs.narrative.io/guides/sdk/uploading-data.md): Upload files to Narrative datasets using the TypeScript SDK - [Running Model Inference](https://docs.narrative.io/guides/sdk/running-model-inference.md): Submit inference requests to hosted LLMs using the TypeScript SDK - [Using Structured Output](https://docs.narrative.io/guides/sdk/structured-inference-output.md): Define JSON Schema to get predictable, typed responses from model inference - [Choosing the Right Model](https://docs.narrative.io/guides/sdk/choosing-inference-models.md): Select the appropriate model based on task complexity, speed, and cost - [Tracking Job Status](https://docs.narrative.io/guides/sdk/tracking-jobs.md): Monitor asynchronous jobs and handle completion events - [Error Handling](https://docs.narrative.io/guides/sdk/error-handling.md): Handle errors gracefully when using the Narrative TypeScript SDK ## Cookbooks ### Overview - [Cookbooks](https://docs.narrative.io/cookbooks/index.md): Complete, working examples for real-world use cases ### NQL Patterns - [Common Query Patterns](https://docs.narrative.io/cookbooks/nql/common-queries.md): Copy-paste NQL patterns for everyday data tasks - [Performance Patterns](https://docs.narrative.io/cookbooks/nql/performance-patterns.md): Optimization recipes for faster, more efficient NQL queries - [Complex Join Patterns](https://docs.narrative.io/cookbooks/nql/complex-joins.md): Advanced join recipes for multi-dataset scenarios - [Geospatial POI Joins](https://docs.narrative.io/cookbooks/nql/geospatial-poi-joins.md): Join datasets on point of interest geometries using ST_Intersects - [Data Enrichment with AI_COMPLETE](https://docs.narrative.io/cookbooks/nql/ai-enrichment.md): Enrich records with AI-generated attributes using in-query LLM inference ### Use Cases - [Retail Competitive Intelligence](https://docs.narrative.io/cookbooks/use-cases/retail-collaboration.md): Build audience segments from competitor store visitors using location data, frequency analysis, and purchase history enrichment - [Demographic Enrichment](https://docs.narrative.io/cookbooks/use-cases/demographic-enrichment.md): Enrich customer lists with age and gender data using identity matching and automated refresh - [Evaluating Identity Data Providers](https://docs.narrative.io/cookbooks/use-cases/identity-provider-evaluation.md): A structured framework for choosing between graph enrichment and addressability expansion providers and measuring their incremental value - [IP Address to MAID Enrichment](https://docs.narrative.io/cookbooks/use-cases/maid-enrichment.md): Resolve IP addresses to mobile advertising IDs using Rosetta Stone for cross-device targeting and mobile campaign activation - [Auto-generating Dataset Descriptions](https://docs.narrative.io/cookbooks/use-cases/ai-dataset-descriptions.md): Use Model Inference to automatically generate human-readable dataset descriptions - [Converting Natural Language to CRON](https://docs.narrative.io/cookbooks/use-cases/natural-language-to-cron.md): Use Model Inference to translate human-readable schedules into CRON expressions ### SDK Recipes - [Automating Data Workflows](https://docs.narrative.io/cookbooks/sdk/typescript-automation.md): Build an automated data pipeline using the TypeScript SDK - [Automating Data Enrichment with Model Inference](https://docs.narrative.io/cookbooks/sdk/model-inference-automation.md): Build a pipeline that enriches dataset records using AI inference - [Batch Processing with Model Inference](https://docs.narrative.io/cookbooks/sdk/batch-inference-patterns.md): Process large volumes of data efficiently using inference - [Reference (126 pages)](https://docs.narrative.io/_llms/reference.md): Documentation for Reference. ## NQL ### Overview - [NQL Reference](https://docs.narrative.io/nql/index.md): Complete reference documentation for Narrative Query Language ### Data Types - [Data Types](https://docs.narrative.io/nql/data-types.md): Primitive and complex types supported in NQL ### SQL Commands - [SQL Commands](https://docs.narrative.io/nql/commands/index.md): Reference for NQL statement types and command syntax - [SELECT](https://docs.narrative.io/nql/commands/select.md): Reference for the SELECT statement and all its clauses - [INSERT](https://docs.narrative.io/nql/commands/insert.md): Reference for the INSERT statement - [UPDATE](https://docs.narrative.io/nql/commands/update.md): Reference for the UPDATE statement - [DELETE](https://docs.narrative.io/nql/commands/delete.md): Reference for the DELETE statement - [Materialized View Syntax](https://docs.narrative.io/nql/commands/create-materialized-view.md): Complete reference for CREATE MATERIALIZED VIEW statement - [Query Template Syntax](https://docs.narrative.io/nql/commands/query-templates.md): Complete reference for query template placeholders and structure ### Operators - [Operators](https://docs.narrative.io/nql/operators.md): Comparison, logical, arithmetic, and special operators in NQL ### Functions - [Functions](https://docs.narrative.io/nql/functions/index.md): Overview of built-in and Narrative-specific functions in NQL - [String Functions](https://docs.narrative.io/nql/functions/string-functions.md): Text manipulation functions: UPPER, LOWER, CONCAT, SUBSTRING, TRIM, and more - [Date & Time Functions](https://docs.narrative.io/nql/functions/date-time-functions.md): Temporal operations: DATE_TRUNC, DATE_ADD, FORMAT_TIMESTAMP, and more - [Numeric Functions](https://docs.narrative.io/nql/functions/numeric-functions.md): Math operations: ROUND, ABS, CEIL, FLOOR, SQRT, and more - [Aggregate Functions](https://docs.narrative.io/nql/functions/aggregate-functions.md): GROUP BY computations: COUNT, SUM, AVG, MIN, MAX, and more - [Array & Map Functions](https://docs.narrative.io/nql/functions/array-map-functions.md): Collection operations: SIZE, ELEMENT_AT, ARRAY_POSITION, FILTER, TRANSFORM, and more - [Window Functions](https://docs.narrative.io/nql/functions/window-functions.md): Ranking and analytics: ROW_NUMBER, RANK, LAG, LEAD, and more - [Geospatial Functions](https://docs.narrative.io/nql/functions/geospatial-functions.md): Geographic calculations: ST_GeoHash, ST_Distance, and more - [Narrative Functions](https://docs.narrative.io/nql/functions/narrative-functions.md): Platform-specific functions: DELTA, budget functions, and more - [AI & ML Functions](https://docs.narrative.io/nql/functions/ai-functions.md): LLM inference and custom model predictions: AI_COMPLETE, CALL_MODEL_FUNCTION - [Conditional Functions](https://docs.narrative.io/nql/functions/conditional-functions.md): Conditional logic: IF, COALESCE, NULLIF, CASE ### General Reference - [NQL Syntax](https://docs.narrative.io/nql/general/syntax.md): Overview of NQL statement types and general grammar - [Explicit Column Selection](https://docs.narrative.io/nql/general/explicit-columns.md): Why NQL requires explicit column lists instead of wildcards - [Reserved Keywords](https://docs.narrative.io/nql/general/reserved-keywords.md): Keywords that require quoting when used as identifiers - [API Documentation (288 pages)](https://docs.narrative.io/_llms/api-documentation.md): Documentation for API Documentation. ## OpenAPI Specs - [openapi](https://docs-cdn.narrative.io/api-reference/main/openapi.json) > The links below point to documentation indexes. Follow each `/_llms/` index recursively until you reach documentation pages. ## Indexes - [Reference (126 pages)](https://docs.narrative.io/_llms/reference.md): Documentation for Reference. - [API Documentation (288 pages)](https://docs.narrative.io/_llms/api-documentation.md): Documentation for API Documentation.