Workspace compatibility
Evidence-based Databricks cloud, region, authentication, API, App, Lakebase, and runtime compatibility.
Fabric Harness targets Databricks workspaces on AWS, Azure, and Google Cloud through the official modular TypeScript SDK for stable services. Availability of Apps, Lakebase, serverless Model Serving, private connectivity, and individual AI services varies by workspace, region, and account configuration. A successful check in one workspace is recorded only for that cloud and region.
Runtime and API contract
Every generated client is exact-pinned to the same reviewed Databricks modular JavaScript SDK release. Fabric does not mix modular SDK versions.
| Surface | Transport owner | Databricks API contract |
|---|---|---|
| Jobs | @databricks/sdk-jobs 0.21.0 | Jobs 2.2 |
| Lakeflow Declarative Pipelines | @databricks/sdk-pipelines 0.21.0 | Pipelines 2.0 |
| SQL Statement Execution | @databricks/sdk-statementexecution 0.21.0 | Statement Execution 2.0 |
| AI Search | @databricks/sdk-vectorsearch 0.21.0 | Vector Search 2.0 |
| Model Serving and query | @databricks/sdk-modelserving and @databricks/sdk-modelservingquery 0.21.0 | Serving 2.0 |
| Genie stable lifecycle and conversations | @databricks/sdk-genie 0.21.0 | Genie 2.0 |
| Workspace object permissions, including Genie ACLs | @databricks/sdk-accessmanagement 0.21.0 | Permissions 2.0 |
| Unity Catalog catalogs, schemas, tables, volumes, and grants | @databricks/sdk-uc-* 0.21.0 | Unity Catalog 2.1 |
| Workspace files and volumes | @databricks/sdk-files and @databricks/sdk-uc-volumes 0.21.0 | Files 2.0 / Unity Catalog 2.1 |
| Workspace secrets | @databricks/sdk-secrets 0.21.0 | Secrets 2.0 |
| Workspace identity | @databricks/sdk-scim 0.21.0 | SCIM 2.0 preview path |
| MLflow experiments | @databricks/sdk-experiments 0.21.0 | MLflow 2.0 |
| Lakebase | @databricks/sdk-postgres 0.21.0 | Postgres/Lakebase generated contract plus credential exchange 2.0 |
| Databricks Apps | Databricks CLI project deployment and Apps runtime contract | Apps 2.0 |
| Internal SDK-gap protocols | Private deny-by-default Fabric adapter | Agent Services 2.1 Beta, Genie Agent Mode Beta, Workspace object import/export 2.0, MLflow Traces 3.0, AI Gateway v2, ResponsesAgent custom schema, and exact Genie/AI Search decoder fallbacks |
| Application native escape hatch | databricksWorkspaceApi() | Any workspace-relative /api/* or /serving-endpoints/* API under the configured identity |
| Runtime | Supported version |
|---|---|
| MLflow ResponsesAgent | >=3.10; protected Azure gate currently exercises 3.14.0 |
| Node.js | >=22.0.0 |
@fabric-harness/databricks | >=7.0.0 <8 |
pg for Lakebase | ^8.11.0 |
DATABRICKS_SDK_VERSION is read from the installed official SDK. DATABRICKS_API_VERSIONS uses
that same value in certification evidence, and a release test requires every @databricks/sdk-*
dependency, this page, and the package README to agree. DATABRICKS_AUTH_MODES and
DATABRICKS_PACKAGE_COMPATIBILITY keep authentication and runtime checks on the same contract.
Authentication modes
| Mode | Use |
|---|---|
| OAuth M2M | External services and protected CI service principals |
| App service principal | Runtime identity injected into a Databricks App |
| On-behalf-of | Per-user Unity Catalog grant enforcement from an App request |
| PAT | Developer smoke tests and transitional automation |
Production deployments should use OAuth or App identity. The official SDK credential chain resolves CLI profiles and OAuth M2M credentials. Tokens remain in credential providers and request headers; they are not written to prompts, lineage, compatibility records, or certification errors.
Native SDK boundary
Generated clients own stable request/response serialization for Jobs, Statement Execution, Lakeflow, Vector Search, Model Serving, Files, Secrets, Genie, Access Management, Unity Catalog, MLflow Experiments, and Lakebase. Fabric Harness adds agent-specific approval binding, structured resource policy, lineage, managed-resource ownership, bounded retries, and durable cleanup.
Fabric's raw protocol transport is private to protocols not represented by the modular SDK: Agent Services, Genie Agent Mode streaming, Workspace object import/export, MLflow 3 traces, AI Gateway/model-service discovery, and the ResponsesAgent custom request schema. It has an exhaustive method-and-path allowlist; an unlisted route is rejected before credentials are resolved or network I/O begins. Callers receive typed capabilities through the Databricks bundle and never construct the raw transport. SCIM identity, authoring certification verification, and all other stable services use generated clients. Source-boundary and runtime-denial tests prevent stable modules from silently adding raw API paths. The exact SDK pin, generated serialization tests, packaged-runtime import test, and protected workspace lifecycle checks all gate a release. Generated types reduce wire drift; they do not replace live behavioral certification.
Application code is not limited to the services with a generated client or a Harness adapter.
databricksWorkspaceApi() is the public, credential-safe native REST escape hatch. It preserves
arbitrary JSON or raw request bodies, raw responses, cancellation, rotating identity, credential
redaction, and safe retry defaults. It is not automatically model-callable and does not weaken the private
allowlist used by Harness's own SDK-compatibility protocols. See
native access and platform coverage.
Multidimensional coverage
The package capability registry separates:
- Databricks upstream maturity;
- native API fidelity;
- lifecycle operations;
- runtime certification;
- identity modes;
- contract clouds versus clouds with retained live evidence; and
- known gaps.
DATABRICKS_PLATFORM_DOMAINS includes unsupported product families as well as implemented ones.
An absent first-party adapter therefore cannot be mistaken for an absent Databricks capability.
Use the generated SDK or databricksWorkspaceApi() while a higher-level governed adapter is
missing.
There are two narrowly tested SDK 0.21 compatibility exceptions. Its generated Genie query-result
decoder expects object rows while the live API returns array rows. Its shared JSON decoder also tries
to convert a valid floating-point AI Search score to BigInt. Fabric retries only those two read-only
responses through the quarantined raw protocol transport when each exact decoder failure is detected;
other errors fail closed. Remove each fallback as soon as the pinned SDK accepts the live payload.
Certification records
The protected live workflow emits schema-versioned, redacted evidence containing:
- cloud, region, workspace id/host, auth mode, and principal kind;
- Node and package versions plus every REST API family used;
- required and optional check identifiers with duration and result;
- source commit plus SHA-256 digests of the exact npm candidate and App artifact;
- App restart/cascade-deletion evidence and deployment conformance;
- a stable evidence id suitable for partner review.
Tier R release checks cannot become not-configured: that result makes certification fail. A Tier O
failure remains visible in the evidence but does not block a Tier R release. An
environment-specific required-check list can add checks but cannot remove Tier R. Tier A
covers the protected Jobs/Lakeflow/AI Search/serving/UC/workspace/secrets/Genie authoring lifecycles;
Tier O covers previews and SKU-specific paths unless a workflow explicitly promotes one. Authoring
certification uses a reverse-order cleanup ledger and fails when any created resource leaks. See the
Databricks certification page for the current public status,
scope, limitations, and machine-readable record.
The runner executes required checks before configured optional checks while preserving declaration order in the emitted evidence. This keeps short-lived OBO credentials and on-demand App health from expiring while a long MLflow evaluation or other Tier O probe runs; optional checks still execute and remain visible in the same record.
node packages/databricks/dist/certify.js
node scripts/build-databricks-compatibility-matrix.mjs \
artifacts/databricks-certification.jsondatabricksCompatibilityRecord() accepts only passing evidence with cloud, region, auth, runtime,
package, and artifact identity. The matrix labels a cloud/region live-certified only when such a
record is retained; otherwise it remains a contract target requiring workspace certification.
Current 7.0.2 protected evidence
Package 7.0.2 is published on npm and passed its exact-version protected gate in
GitHub Actions run 31053240003
from commit 544cd478d29b26ed7090499c682af0922f4533d1. Evidence
dbx-cert-40f9f87ecd2044f529d37e4dcbc260e55707cda9df5c987790078f35df29850a
records all 21 Tier R checks and nine configured Tier O checks as passed in Azure eastus2
under OAuth M2M. No configured check failed.
Tier R covered identity, AI Gateway, Model Serving, SQL, Unity Catalog allow/deny, catalog preflight denial, governed mutation approval, RAG, Genie, managed MCP under OBO, Volumes, Lakebase, lineage, System Tables, actual-cost reconciliation, App health, and Lakebase-backed restart recovery with cascade deletion. The required hook-authored dynamic-agent check also preserved its persistent state across that restart. The generated App passed a 25-request burst test with no failures or duplicate run IDs, enforced its rate limit, and passed current-run two-user isolation without retaining principal identifiers.
Configured Tier O probes passed for Unity Catalog Agent Services registration lifecycle,
ResponsesAgent, managed RAG evaluation, AI Search, Genie Agent Mode, Feature Serving, Jobs,
Lakeflow, and a classic notebook. Agent Services reported runtimeInvocationAvailable: false;
this record therefore establishes create/discover/update/govern/delete behavior, not preview
runtime invocation.
The exact packed candidate digest is
edf67563b0bf0daa211ada78c5a3996063a39befa464fa2df27ba04e102cb59c.
The certified App directory digest is
04f852085e16f6b1a5d04b81e6c7160970282bf03091c7cf249410e56a364e74.
The bound restart-evidence digest is
a37b6d22482e8067d6262f898379c1c8eac91d29af7ab11f372d94f64d428657,
and the two-user-isolation evidence digest is
f5120699cc42e28d44e3a3895e973904303ec9a2c770876820d553f2657594a1.
The retained 7.0.2 compatibility matrix records its published package range >=7.0.0 <8.
The exact tarball also passed the focused same-commit Tier A gate in
run 31056050505. Evidence
dbx-cert-37f20b775f8f1e676f6b7d36bb17bb61f1ae9c593e560e028d1872764d70693d
records all ten required authoring checks as passed. Every destructive lifecycle ended with
cleanupRequired: false, both sweepers found no retained resources, and the cross-tier manifest
matched package version, commit, and tarball digest byte-for-byte.
The Tier A record does not establish classic compute, Delta Sync, provisioned throughput, or Genie
Agent Mode authoring. One passing two-user probe also does not establish the separate 14-day rolling
isolation claim. This Azure eastus2 record does not imply AWS, GCP, or another Azure region.
Prior 5.0.1 protected evidence
Package 5.0.1 passed its exact-version protected gate in
run 30501444655 from commit
067694748e1326b3ef039f19c91486ded15b6f70. Evidence
dbx-cert-6826f4cc09501d1c112281248c0307589d922ae0fa21adc1c894c929bbf75613
records the same 20 required Tier R checks and nine configured Tier O checks as passed in Azure
eastus2, including current-run two-user isolation. Its package digest is
ee1eaac3c3e11ff6eaf1918023946d95381facab6107e6b81f7115a3a6660fd8, its App directory
digest is 2110a13af799b63c5f9047f1959254802419c82143a9eaec7f49c83b794bf808,
and it did not carry same-package Tier A evidence.
Prior 4.9.2 protected evidence
Package 4.9.2 is published on npm and passed its exact-version protected gate in
GitHub Actions run 29812986146
from commit 50996433b34cdedb6d2732949dedfe6a918cdd48. Evidence
dbx-cert-89ee6c419eda616be6cbffbcd42b842ed5a0f37d85683510c49c801f7911555b
records all 20 Tier R checks as passed in Azure eastus2 under OAuth M2M, including:
- identity, Unity AI Gateway, Model Serving, live RAG, and governed mutation approval;
- SQL plus Unity Catalog allow/deny and catalog preflight denial;
- ordinary Genie consumption, managed Genie MCP under OBO, and an OBO grant differential;
- Volumes, Lakebase, lineage, System Tables, and actual-cost reconciliation; and
- Databricks App health plus Lakebase-backed stop/start recovery and cascade deletion.
The exact packed candidate digest is
91fb6cd09f2d631b47b6827b4eda535b7c405562fa9f5ed659c66a1c0f5f7258.
The certified App directory digest is
828d6ba0309b72430a6e2c024086815c28a762fd8b2adec1ba43100e7bb1c247,
and the bound restart-evidence digest is
d5ace515506f18043c48039716cd8c8c5f4d98dd0b11437bebe6f5d49aa49d1a.
The workflow retained the post-certification App archive, package candidate, recovery record,
compatibility matrix, and passing Databricks App black-box conformance report together.
ResponsesAgent, managed RAG evaluation, AI Search, Feature Serving, Jobs, Lakeflow, and a classic
notebook also passed as visible Tier O checks. Agent Services returned "feature is not available"
and Genie Agent Mode returned FEATURE_DISABLED; both remain optional previews and are not implied
by the release claim. This record is retained as historical 4.9.2 evidence.
The capability registry embedded in the published package remains pinned to the 4.9.1 evidence
available when that artifact was built; Jobs 2.2 consumption is stable, while ResponsesAgent stays Beta because
the upstream surface is Beta. This record proves one OBO user-versus-App grant differential, not two-user App
isolation: DATABRICKS_OBO_TOKEN_B was not configured for this dispatch. It also does not imply AWS,
GCP or another Azure region. Current-package Tier A evidence is recorded separately below because
its short-lived U2M/OBO identity runs in the dedicated authoring workflow.
Prior 4.3.x status
Packages through 4.3.2 are published, but no passing exact-package Tier R record for that line is
retained in this repository. Do not describe the 4.3.x line as live-certified.
Prior 4.2.0 recertification status
Package 4.2.0 adds deterministic artifact digesting, programmatic Bundle validation and App
deployment, and a narrow Databricks Apps user-authorization entrypoint. Its build, package,
documentation, SDK-boundary, and local contract gates pass, but it does not yet have a passing
exact-package protected workspace record. Do not describe 4.2.0 as live-certified until the Tier R
consumption workflow is rerun with valid OBO and Feature Serving fixtures.
Prior 4.1.1 recertification record
Package 4.1.1 is published and its build, package, documentation, SDK-boundary, and local contract
gates passed. The exact-package Azure eastus2 consumption run
29689767139 recorded 23
passing checks, including the Databricks App, Lakebase restart path, AI Search/RAG, Genie, SQL and UC,
Volumes, lineage, system tables, and cost reconciliation. It is not a passing release
certification record: the short-lived OBO fixture token was rejected as invalid, and the workflow's
explicitly promoted Feature Serving fixture returned 404. Agent Mode also reported the workspace
preview as disabled, but remained non-blocking Tier O evidence.
Do not substitute that partial run for a passing 4.1.1 record. Rotate the OBO fixture, repair or
remove the promoted Feature Serving fixture, rerun Tier R, and link the resulting evidence before
describing 4.1.1 as live-certified. The older records below remain valid only for their exact
package, artifact, cloud, region, and capability set.
The current retained consumption record is the 7.0.2 Tier R evidence in
run 31053240003: all 21 required checks passed against the exact
published tarball and commit 544cd478d29b26ed7090499c682af0922f4533d1. The same package's
management evidence is retained by run 31056050505 as
dbx-cert-37f20b775f8f1e676f6b7d36bb17bb61f1ae9c593e560e028d1872764d70693d: all ten required
identity, approval, serverless Jobs, Lakeflow, direct-vector AI Search, custom-model Serving, UC OBO,
Workspace, secret-reference, and Genie authoring checks passed. Every destructive lifecycle ended
with cleanupRequired: false, both resource sweeps were empty, and the retained tarball digest
edf67563b0bf0daa211ada78c5a3996063a39befa464fa2df27ba04e102cb59c matched independently across
the Tier R and Tier A records.
The 4.0.2 records remain useful historical and second-region authoring evidence:
dbx-cert-b2c709717ef3a452234a5b2944311a576dafda03a9eea8246747ab3fa430b183from run 29660486290 covers OBO execution ineastus2, serverless Jobs, Lakeflow, direct-vector and Delta Sync AI Search, custom-model serving, managed-only UC schema/grants, Workspace objects, secret references, and Genie Agent create/query/update/ACL-read/trash.dbx-cert-d5bdbd276533a8634910e223898337314446561be2a444030fc2d11baa237becfrom run 29660486237 covers a policy-bound classicnew_clusterJobs definition lifecycle in Azurewestus3.
Both records use artifact digest
72f602626b9d79a808f6dd9e30f6ba703061bda19bae2aef983e7e92d7c61a45; every required check
passed, all destructive lifecycles completed their six phases, and the pre/post sweeps found no
retained resources. Neither record implies AWS, GCP, provisioned throughput, Agent Mode Beta, or
another region passed the same live gate. The earlier 4.0.1 records remain historical evidence and
do not substitute for this exact native-SDK release evidence.
When the Agent Services Beta is enabled, set DATABRICKS_AGENT_SERVICES_TEST=1 and
DATABRICKS_AGENT_SERVICE_CONNECTION. The runner then makes the create/discover/update/grant-read/
delete lifecycle a required workspace check. Add DATABRICKS_AGENT_SERVICE_TEST_PRINCIPAL to include
an EXECUTE and READ_METADATA grant/revoke differential. See
Unity Catalog Agent Services.
App and Lakebase prerequisites
For the reference App, enable Databricks Apps, grant its service principal the selected SQL Warehouse/serving/UC resources, provision the scoped runtime-token secret, and configure a UC Volume for attachments. Restart recovery additionally requires a Lakebase Autoscaling endpoint and database credential-exchange permission. Apply private networking when the workspace uses private connectivity or an enterprise CA.
When CI and the App use different Lakebase principals, keep a stable release principal as table
owner, run schema migrations before App rollout, and grant the App principal DML plus sequence usage.
Fabric resolves shared telemetry relations independently of the App principal's first search_path
schema, so an already-migrated deployment does not require table ownership merely to restart. See
Enterprise Databricks controls.