Turn Governed Data into Governed APIs.

A native Databricks application. No code. Runs inside your workspace. Unity Catalog permissions are enforced for every caller, not just the builder.

Native Databricks App Zero new UC objects On-behalf-of-user execution
Unity Catalog Governed source Dataset Builder No-code, in-app Published API Live, governed Applications Web & mobile Partners API key access Internal Teams BI, dashboards

Built on the Databricks ecosystem and open standards

Databricks Unity Catalog REST OpenAPI SQL Warehouse FastAPI React Terraform Postgres Lakebase

One8Data is an independent product built on these platforms and open standards. Logos and names are used to describe compatibility only and do not imply partnership or endorsement.

The Problem

Your governance disappears the moment data becomes an API.

Unity Catalog decides who can see what, down to the row and column. That decision doesn't survive the trip to a REST endpoint, unless you rebuild it by hand.

Without One8Data

  • A developer hand-writes the API, endpoint by endpoint
  • Permissions get duplicated into a second system
  • A new backend service to deploy and patch
  • A separate authentication layer to build and audit
  • Ongoing maintenance nobody signed up for
  • Access rules drift from Unity Catalog over time

With One8Data

  • A dataset is metadata: tables, joins, columns
  • Publishing is instant, with no redeploy
  • The same Unity Catalog governance, carried through
  • No backend service to host or operate
  • No second permissions system to keep in sync
  • Runs natively inside your own workspace
Why This Exists

Unity Catalog already solved governance. APIs rebuild it from zero.

Unity Catalog governs who can query what, down to the row and column, inside Databricks. The moment that same data needs to reach something outside a notebook, that governance work starts over: a new service, a new auth layer, a new set of rules to keep in sync by hand.

Unity Catalog governs the lakehouse

Row- and column-level permissions, defined once, enforced everywhere inside Databricks.

Every table carries its own rules

Grants travel with the table. No separate permissions system to maintain.

Then an API request arrives

A partner, an app, a vendor. Something outside Databricks needs this data now.

Governance carries through, natively

One8Data extends Unity Catalog's own rules to the API layer. Nothing rebuilt.

How It Works

Table to governed API. Faster than you'd guess.

We keep the exact mechanics for the call itself, but here's the shape of it: connect the tables you already govern, decide what's exposed, publish. No new service, no rebuilt permissions.

Connect

Point at the Unity Catalog tables you already govern. Nothing is copied out.

Configure

Choose what's exposed, filterable, and joined.

Publish

Live in minutes, governed exactly the way it always was.

The Builder

What the dataset builder actually looks like

Tables, joins, columns, toggles, live preview. A real enterprise application, not a form wizard.

Dataset · customers_360
Publish
Tables
customers_360
regions
orders
invoices
customers_360
customer_id
region_id
email
lifetime_value
regions
id
name
Join condition
c.region_id = r.id
Live Preview
C-10432 · APAC · Enterprise
C-10433 · EMEA · Growth
C-10434 · NA · Enterprise
count: 1,284
Why One8Data

Runs entirely inside your workspace

One8Data, Unity Catalog, the SQL Warehouse, and Lakebase all stay inside your Databricks workspace boundary. Nothing crosses out except the API response.

YOUR DATABRICKS WORKSPACE Unity Catalog Governance SQL Warehouse Query execution Lakebase Control plane One8Data Governed API layer Applications Web & internal Mobile iOS & Android Dashboards BI & embedded Partners API key access ERP Operational CRM Customer systems Every request runs as an authenticated call. Nothing bypasses the boundary.
Competitive Positioning

Why it is different

Other instant-API tools are either not native to Databricks, or native to a single database, and none carry Unity Catalog's own governance model through to the API.

Competitive Positioning Other Instant-API Tools One8Data Databricks APIs
Native to Databricks / UC No Yes
Per-caller UC permissions No (Postgres RLS only, at best) Yes (OBO)
Runs in customer's own environment Rarely - usually hosted Yes
New Unity Catalog object to publish N/A None required
Everything Included

One engine. Every capability.

No-Code Builder

Multi-table datasets, structured joins, per-column controls. No SQL editor, anywhere in the flow.

On-Behalf-Of Execution

Queries run as the caller's own identity.

API Keys

SHA-256 hashed at rest, shown once.

Generated SQL, Visible

Every response can include the exact SQL and bound parameters that ran. Nothing about the engine is a black box, ever.

Aggregation

Count, sum, avg, min, max, group-by.

Instant Publishing

Zero downtime. No redeploy, ever.

Metadata Driven

Publishing is a status flip, not a deploy.

Live Preview

A real, permissioned query against your warehouse, visible before anything is published.

Multi-Table Datasets

Join across tables with structured input.

Structural Security

Identifier whitelisting, bound parameters.

Postgres Support

Lakebase by default, or any external Postgres for the control plane.

API Request X-Api-Key + caller token Caller's User Identity Not a shared service account Unity Catalog Row and column grants, evaluated live Permission Check Per row, per column, per caller Data Returned Only what this caller may see
On-Behalf-Of-User Execution

Every request runs as the caller. Not a service account.

Most instant-API tools run every query as a single service identity, which means every caller sees the same data regardless of who they are. One8Data does something structurally different: when a caller's own Databricks token is present, the query executes as that caller, through the Statement Execution API, so Unity Catalog's row- and column-level grants apply exactly as they would inside Databricks itself.

Two callers, one published API, different rows back. That's what per-caller governance actually looks like in practice, not a policy document.
Bound Params SHA-256 Keys No Injection Isolated Workspace
Security

Built to survive a security review

Identifier whitelisting

Every catalog, schema, table, column, and alias is validated against a strict regex before it's ever quoted into a query.

Bound parameters, always

Every user-supplied value, including inside dynamically built IN() clauses, is a native bound parameter. Never a string-interpolated value.

SHA-256 hashed keys

API keys are hashed at rest. The raw value is shown exactly once, at creation, and never again.

No SQL injection surface

Joins are built from structured input, never freeform SQL, even in the trusted builder UI.

Workspace isolation

Runs entirely inside your own Databricks workspace. One8Data is never a third party holding your data.

Performance

From backend project to published endpoint

DaysMin
Time to publish a new API
0
New deployments per API
0
New Unity Catalog objects
Live
Execution, never cached
Who We Serve

Built for regulated, governance-heavy industries

Financial Services

Publish governed data to partners and internal risk systems without loosening Unity Catalog controls.

Healthcare

Row-level access follows the patient record wherever the API sends it.

Insurance

Underwriting and claims data exposed to partners under the same grants used internally.

Retail & E-commerce

Inventory and order data available to storefronts and vendors, without warehouse credentials handed out.

Technology

Product and usage data published as a stable contract for internal and partner integrations.

Manufacturing

Plant and supply-chain data reaches ERP and operational systems through one governed contract.

Use Cases

Every place governed data needs to go

Partner APIs

External partners consume a key-secured endpoint. No Databricks account required.

Internal Applications

Build against a stable REST contract instead of raw warehouse queries.

Customer Portals

Show each customer only their own governed slice of the data.

AI Agents

Give an agent a bounded, governed tool instead of open warehouse access.

BI Tools

Point dashboards at a governed endpoint instead of duplicating access rules.

Operational Systems

ERP and workflow tools call live data without a batch export step.

Embedded Analytics

Ship governed data views inside your own product's UI.

System-to-System

Two internal systems exchange governed data with an audit trail on every call.

Developer Experience

The same endpoint, four ways to look at it

GET /api/v1/customers_360
GET /api/v1/customers_360?region=APAC&sort=-lifetime_value&limit=2
Host: your-workspace.databricksapps.com
X-Api-Key: o8d_live_••••••••••••••
Authorization: Bearer 
200 OK
{
  "data": [
    {
      "customer_id": "C-10432",
      "region": "APAC",
      "tier": "Enterprise",
      "lifetime_value": 184320.50
    }
  ],
  "count": 1284
}
include_sql=true
SELECT c.customer_id, c.region, c.tier, c.lifetime_value
FROM sales.gold.customers_360 c
LEFT JOIN sales.gold.regions r ON c.region_id = r.id
WHERE c.region = :region
ORDER BY c.lifetime_value DESC
LIMIT :limit

-- parameters: { region: "APAC", limit: 2 }
terminal
$ curl "https://your-workspace.databricksapps.com/api/v1/customers_360?region=APAC&limit=2" \
  -H "X-Api-Key: o8d_live_xxxxxxxxxxxx" \
  -H "Authorization: Bearer $(databricks auth token)"
Why Enterprises Choose Us

Nothing here bypasses your platform team

Runs inside Databricks

A Databricks App, not a third-party host.

Governance preserved

Unity Catalog's own grants, per caller.

No duplicated auth

One permission model, not two to maintain.

No backend services

Nothing new to host, patch, or take down.

No deployment

Publishing is a metadata change, not a release.

Native architecture

Built for Databricks primitives specifically.

FAQ

Questions platform teams actually ask

General
What is One8Data Databricks APIs?

A native Databricks application that turns Unity Catalog tables into no-code, governed REST APIs, published and consumed from inside your own workspace.

Is this a hosted SaaS product?

No. It installs and runs as a Databricks App inside your own workspace. One8Data never holds your data.

Do I need to write any code to publish an API?

No. Dataset creation, joins, filters, and publishing are all handled through the in-app builder.

Does this replace our API gateway?

No. It replaces the hand-written backend your gateway currently points at. Most customers keep their existing gateway in front of it.

Can I edit a dataset after publishing?

Yes. Editing replaces the dataset's tables and columns in one transaction, and the published API reflects the change immediately.

Security & Governance
Does our data ever leave our Databricks workspace?

No. Every query runs live against your SQL Warehouse. Nothing is copied or cached outside your workspace.

Who can see what through a published API?

With on-behalf-of-user execution active, the query runs as the caller's own Databricks identity, so Unity Catalog's grants apply exactly as they would inside Databricks.

What happens if a caller has no Databricks identity?

The query falls back to the app's own service identity rather than failing the call, matching how the builder's own preview queries work.

Is the SQL query visible to anyone?

Only on request. Passing include_sql=true adds the exact SQL and bound parameters to the response.

How are API keys stored?

SHA-256 hashed at rest. The raw key is shown exactly once, at creation.

Is the query engine vulnerable to SQL injection?

Identifiers are whitelisted against a strict regex and every value is a native bound parameter. There is no string-built SQL anywhere in the engine.

Technical
Does publishing create a new Unity Catalog object?

No. Publishing flips a status flag and mints a key. No CREATE VIEW, no catalog-create privilege required.

Does a new API require an app restart?

No. A single dynamic route resolves and executes every published API at request time. Publishing is instant.

Can I join more than two tables?

Yes. Datasets support multiple tables with structured, alias-based join conditions.

Does it support aggregation, not just row-serving?

Yes. A parallel aggregate endpoint supports count, sum, avg, min, max, and group-by, sharing the same filters as the row endpoint.

Where does the control-plane metadata live?

Lakebase by default, or any external Postgres instance you already run.

Does it support writes or only reads?

Today's engine is read-only. Write and mutation support is on the roadmap.

Is there API versioning?

The route namespace reserves /api/v1/. Running multiple versions of one API side by side is on the roadmap.

Enterprise & Rollout
Does this work on Databricks Free Edition?

Yes. The architecture was built and validated against Free Edition's constraints specifically.

What does installation involve?

A one-time bootstrap (Terraform apply, scope registration, a Databricks Apps stop/start cycle) followed by routine code-only deploys after that.

Can we run this across multiple workspaces?

Yes, each workspace runs its own instance. Multi-workspace rollout support is part of the Enterprise plan.

What does pricing look like?

Every plan runs natively inside your own workspace. Book a 30-minute architecture review and we'll recommend the right plan for your environment.

Is usage logged for audit purposes?

Yes. Every call, successful or not, is recorded in a usage log visible on the API's detail page.

Stop rebuilding APIs. Start publishing them.

A 30-minute architecture review. We'll look at your Unity Catalog setup and show you exactly what a published API would look like.