Databricks Asset Bundles · Schema
Databricks Asset Bundles Bundle Jsonschema
CI/CDData EngineeringDatabricksDeploymentInfrastructure as CodeJobMachine-LearningMLOpsPipelinesWorkflows
Properties
| Name | Type | Description |
|---|---|---|
| artifacts | object | Defines the attributes to build an artifact |
| bundle | object | The bundle attributes when deploying to this target. |
| environments | object | |
| experimental | object | Defines attributes for experimental features. |
| include | object | Specifies a list of path globs that contain configuration files to include within the bundle. |
| permissions | object | Defines a permission for a specific entity. |
| presets | object | Defines bundle deployment presets. |
| python | object | |
| resources | object | A Map that defines the resources for the bundle, where each key is the name of the resource, and the value is a Map that defines the resource. |
| run_as | object | The identity to use when running Declarative Automation Bundles resources. |
| scripts | object | |
| sync | object | The files and file paths to include or exclude in the bundle. |
| targets | object | Defines deployment targets for the bundle. |
| variables | object | A Map that defines the custom variables for the bundle, where each key is the name of the variable, and the value is a Map that defines the variable. |
| workspace | object | Defines the Databricks workspace for the bundle. |
JSON Schema
{
"$defs": {
"bool": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "string",
"pattern": "\\$\\{(resources(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}"
},
{
"type": "string",
"pattern": "\\$\\{(bundle(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}"
},
{
"type": "string",
"pattern": "\\$\\{(workspace(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}"
},
{
"type": "string",
"pattern": "\\$\\{(artifacts(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}"
},
{
"type": "string",
"pattern": "\\$\\{(var(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}"
}
]
},
"float64": {
"oneOf": [
{
"type": "number"
},
{
"type": "string",
"pattern": "\\$\\{(resources(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}"
},
{
"type": "string",
"pattern": "\\$\\{(bundle(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}"
},
{
"type": "string",
"pattern": "\\$\\{(workspace(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}"
},
{
"type": "string",
"pattern": "\\$\\{(artifacts(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}"
},
{
"type": "string",
"pattern": "\\$\\{(var(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}"
}
]
},
"github.com": {
"databricks": {
"cli": {
"bundle": {
"config": {
"engine.EngineType": {
"oneOf": [
{
"type": "string",
"enum": [
"terraform",
"direct"
],
"enumDescriptions": [
"Deploy through Terraform. Deprecated: Migrate to `direct`, see https://docs.databricks.com/aws/en/dev-tools/bundles/direct",
"Deploy by calling the Databricks APIs directly. This is the default."
]
},
{
"type": "string",
"pattern": "\\$\\{(var(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}"
}
]
},
"resources.Alert": {
"oneOf": [
{
"type": "object",
"properties": {
"custom_description": {
"description": "Custom description for the alert. support mustache template.",
"$ref": "#/$defs/string"
},
"custom_summary": {
"description": "Custom summary for the alert. support mustache template.",
"$ref": "#/$defs/string"
},
"display_name": {
"description": "The display name of the alert.",
"$ref": "#/$defs/string"
},
"evaluation": {
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/sql.AlertV2Evaluation"
},
"file_path": {
"$ref": "#/$defs/string"
},
"lifecycle": {
"description": "Settings that control the deployment lifecycle of the resource, such as preventing it from being destroyed.",
"$ref": "#/$defs/github.com/databricks/cli/bundle/config/resources.Lifecycle"
},
"parameters": {
"description": "[Private Preview] Query parameters bound when executing the alert query, referenced in the\nquery text with `:name` syntax. Static values only.",
"$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/sql.AlertStatementParameter",
"x-databricks-launch-stage": "PRIVATE_PREVIEW",
"doNotSuggest": true
},
"parent_path": {
"description": "The workspace path of the folder containing the alert. Can only be set on create, and cannot be updated.",
"$ref": "#/$defs/string"
},
"permissions": {
"description": "The permissions to apply to this resource.",
"$ref": "#/$defs/slice/github.com/databricks/cli/bundle/config/resources.Permission",
"markdownDescription": "A Sequence of permissions to apply to this resource, where each item grants a permission `level` to a single `user_name`, `group_name`, or `service_principal_name`. A principal cannot be set in both a resource's `permissions` and the top-level `permissions` mapping.\n\nSee [permissions](https://docs.databricks.com/dev-tools/bundles/settings.html#permissions) and [link](https://docs.databricks.com/dev-tools/bundles/permissions.html)."
},
"query_text": {
"description": "Text of the query to be run.",
"$ref": "#/$defs/string"
},
"run_as": {
"description": "Specifies the identity that will be used to run the alert.\nThis field allows you to configure alerts to run as a specific user or service principal.\n- For user identity: Set `user_name` to the email of an active workspace user. Users can only set this to their own email.\n- For service principal: Set `service_principal_name` to the application ID. Requires the `servicePrincipal/user` role.\nIf not specified, the alert will run as the request user.",
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/sql.AlertV2RunAs"
},
"run_as_user_name": {
"description": "The run as username or application ID of service principal.\nOn Create and Update, this field can be set to application ID of an active service principal. Setting this field requires the servicePrincipal/user role.\nDeprecated: Use `run_as` field instead. This field will be removed in a future release.",
"$ref": "#/$defs/string",
"deprecationMessage": "This field is deprecated",
"deprecated": true
},
"schedule": {
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/sql.CronSchedule"
},
"warehouse_id": {
"description": "ID of the SQL warehouse attached to the alert.",
"$ref": "#/$defs/string"
}
},
"additionalProperties": false,
"required": [
"display_name",
"evaluation",
"query_text",
"schedule",
"warehouse_id"
]
},
{
"type": "string",
"pattern": "\\$\\{(var(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}"
}
]
},
"resources.App": {
"oneOf": [
{
"type": "object",
"properties": {
"budget_policy_id": {
"description": "[Public Preview]",
"$ref": "#/$defs/string"
},
"compute_max_instances": {
"description": "[Private Preview] Maximum number of app instances. Must be set together with `compute_min_instances`.",
"$ref": "#/$defs/int",
"x-databricks-launch-stage": "PRIVATE_PREVIEW",
"doNotSuggest": true
},
"compute_min_instances": {
"description": "[Private Preview] Minimum number of app instances. Must be set together with `compute_max_instances`.",
"$ref": "#/$defs/int",
"x-databricks-launch-stage": "PRIVATE_PREVIEW",
"doNotSuggest": true
},
"compute_size": {
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.ComputeSize"
},
"config": {
"$ref": "#/$defs/github.com/databricks/cli/bundle/config/resources.AppConfig"
},
"description": {
"description": "The description of the app.",
"$ref": "#/$defs/string"
},
"forward_user_access_token": {
"description": "[Private Preview] Forward the user's access token to the app. Requires stopping and starting app compute to take effect.",
"$ref": "#/$defs/bool",
"x-databricks-launch-stage": "PRIVATE_PREVIEW",
"doNotSuggest": true
},
"git_repository": {
"description": "Git repository configuration for app deployments. When specified, deployments can\nreference code from this repository by providing only the git reference (branch, tag, or commit).",
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.GitRepository"
},
"git_source": {
"description": "[Beta] Git source configuration for app deployments. Specifies which git reference (branch, tag, or commit)\nto use when deploying the app. Used in conjunction with git_repository to deploy code directly from git.\nThe source_code_path within git_source specifies the relative path to the app code within the repository.",
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.GitSource"
},
"lifecycle": {
"description": "Settings that control the deployment lifecycle of the resource, such as preventing it from being destroyed.",
"$ref": "#/$defs/github.com/databricks/cli/bundle/config/resources.LifecycleWithStarted"
},
"name": {
"description": "The name of the app. The name must contain only lowercase alphanumeric characters and hyphens.\nIt must be unique within the workspace.",
"$ref": "#/$defs/string"
},
"permissions": {
"description": "The permissions to apply to this resource.",
"$ref": "#/$defs/slice/github.com/databricks/cli/bundle/config/resources.AppPermission",
"markdownDescription": "A Sequence of permissions to apply to this resource, where each item grants a permission `level` to a single `user_name`, `group_name`, or `service_principal_name`. A principal cannot be set in both a resource's `permissions` and the top-level `permissions` mapping.\n\nSee [permissions](https://docs.databricks.com/dev-tools/bundles/settings.html#permissions) and [link](https://docs.databricks.com/dev-tools/bundles/permissions.html)."
},
"resources": {
"description": "Resources for the app.",
"$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/apps.AppResource"
},
"source_code_path": {
"description": "[Beta]",
"$ref": "#/$defs/string"
},
"space": {
"description": "[Private Preview] Name of the space this app belongs to.",
"$ref": "#/$defs/string",
"x-databricks-launch-stage": "PRIVATE_PREVIEW",
"doNotSuggest": true
},
"telemetry_export_destinations": {
"description": "[Public Preview]",
"$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/apps.TelemetryExportDestination"
},
"usage_policy_id": {
"description": "[Public Preview]",
"$ref": "#/$defs/string"
},
"user_api_scopes": {
"description": "[Public Preview]",
"$ref": "#/$defs/slice/string"
}
},
"additionalProperties": false,
"required": [
"name"
]
},
{
"type": "string",
"pattern": "\\$\\{(var(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}"
}
]
},
"resources.AppConfig": {
"oneOf": [
{
"type": "object",
"properties": {
"command": {
"$ref": "#/$defs/slice/string"
},
"env": {
"$ref": "#/$defs/slice/github.com/databricks/cli/bundle/config/resources.AppEnvVar"
}
},
"additionalProperties": false
},
{
"type": "string",
"pattern": "\\$\\{(var(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}"
}
]
},
"resources.AppEnvVar": {
"oneOf": [
{
"type": "object",
"properties": {
"name": {
"$ref": "#/$defs/string"
},
"value": {
"$ref": "#/$defs/string"
},
"value_from": {
"$ref": "#/$defs/string"
}
},
"additionalProperties": false,
"required": [
"name"
]
},
{
"type": "string",
"pattern": "\\$\\{(var(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}"
}
]
},
"resources.AppPermission": {
"oneOf": [
{
"type": "object",
"properties": {
"group_name": {
"description": "The name of the group granted the permission level.",
"$ref": "#/$defs/string"
},
"level": {
"description": "The permission level to apply. The allowed levels depend on the resource type.",
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/apps.AppPermissionLevel"
},
"service_principal_name": {
"description": "The name of the service principal granted the permission level.",
"$ref": "#/$defs/string"
},
"user_name": {
"description": "The name of the user granted the permission level.",
"$ref": "#/$defs/string"
}
},
"additionalProperties": false,
"required": [
"level"
]
},
{
"type": "string",
"pattern": "\\$\\{(var(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}"
}
]
},
"resources.Catalog": {
"oneOf": [
{
"type": "object",
"properties": {
"comment": {
"description": "User-provided free-form text description.",
"$ref": "#/$defs/string"
},
"connection_name": {
"description": "The name of the connection to an external data source.",
"$ref": "#/$defs/string"
},
"custom_max_retention_hours": {
"description": "[Public Preview] Custom maximum retention period in hours for the catalog",
"$ref": "#/$defs/int64"
},
"grants": {
"description": "The Unity Catalog privileges to grant to principals on this securable.",
"$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/catalog.PrivilegeAssignment",
"markdownDescription": "A Sequence of Unity Catalog privilege grants on this securable, where each item grants a set of `privileges` to a `principal` (a user, group, or service principal).\n\nSee [link](https://docs.databricks.com/data-governance/unity-catalog/manage-privileges/index.html)."
},
"lifecycle": {
"description": "Settings that control the deployment lifecycle of the resource, such as preventing it from being destroyed.",
"$ref": "#/$defs/github.com/databricks/cli/bundle/config/resources.Lifecycle"
},
"managed_encryption_settings": {
"description": "Control CMK encryption for managed catalog data",
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/catalog.EncryptionSettings"
},
"name": {
"description": "Name of catalog.",
"$ref": "#/$defs/string"
},
"options": {
"description": "A map of key-value properties attached to the securable.",
"$ref": "#/$defs/map/string"
},
"properties": {
"description": "A map of key-value properties attached to the securable.",
"$ref": "#/$defs/map/string"
},
"provider_name": {
"description": "The name of delta sharing provider.\n\nA Delta Sharing catalog is a catalog that is based on a Delta share on a remote sharing server.",
"$ref": "#/$defs/string"
},
"share_name": {
"description": "The name of the share under the share provider.",
"$ref": "#/$defs/string"
},
"storage_root": {
"description": "Storage root URL for managed tables within catalog.",
"$ref": "#/$defs/string"
}
},
"additionalProperties": false,
"required": [
"name"
]
},
{
"type": "string",
"pattern": "\\$\\{(var(\\._*\\p{L}+([-_]*[\\p{L}\\p{N}]+)*(\\[[0-9]+\\])*)+)\\}"
}
]
},
"resources.Cluster": {
"oneOf": [
{
"type": "object",
"description": "Contains a snapshot of the latest user specified settings that were used to create/edit the cluster.",
"properties": {
"apply_policy_default_values": {
"description": "When set to true, fixed and default values from the policy will be used for fields that are omitted. When set to false, only fixed values from the policy will be applied.",
"$ref": "#/$defs/bool"
},
"autoscale": {
"description": "Parameters needed in order to automatically scale clusters up and down based on load.\nNote: autoscaling works best with DB runtime versions 3.0 or later.",
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.AutoScale"
},
"autotermination_minutes": {
"description": "Automatically terminates the cluster after it is inactive for this time in minutes. If not set,\nthis cluster will not be automatically terminated. If specified, the threshold must be between\n10 and 10000 minutes.\nUsers can also set this value to 0 to explicitly disable automatic termination.",
"$ref": "#/$defs/int"
},
"aws_attributes": {
"description": "Attributes related to clusters running on Amazon Web Services.\nIf not specified at cluster creation, a set of default values will be used.",
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.AwsAttributes"
},
"azure_attributes": {
"description": "Attributes related to clusters running on Microsoft Azure.\nIf not specified at cluster creation, a set of default values will be used.",
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.AzureAttributes"
},
"cluster_log_conf": {
"description": "The configuration for delivering spark logs to a long-term storage destination.\nThree kinds of destinations (DBFS, S3 and Unity Catalog volumes) are supported. Only one destination can be specified\nfor one cluster. If the conf is given, the logs will be delivered to the destination every\n`5 mins`. The destination of driver logs is `$destination/$clusterId/driver`, while\nthe destination of executor logs is `$destination/$clusterId/executor`.",
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.ClusterLogConf"
},
"cluster_name": {
"description": "Cluster name requested by the user. This doesn't have to be unique.\nIf not specified at creation, the cluster name will be an empty string.\nFor job clusters, the cluster name is automatically set based on the job and job run IDs.",
"$ref": "#/$defs/string"
},
"custom_tags": {
"description": "Additional tags for cluster resources. Databricks will tag all cluster resources (e.g., AWS\ninstances and EBS volumes) with these tags in addition to `default_tags`. Notes:\n\n- Currently, Databricks allows at most 45 custom tags\n\n- Clusters can only reuse cloud resources if the resources' tags are a subset of the cluster tags",
"$ref": "#/$defs/map/string"
},
"data_security_mode": {
"description": "Data security mode decides what data governance model to use when accessing data\nfrom a cluster.\n\n* `DATA_SECURITY_MODE_AUTO`: Databricks will choose the most appropriate access mode depending on your compute configuration.\n* `DATA_SECURITY_MODE_STANDARD`: A secure cluster that can be shared by multiple users. Cluster users are fully isolated so that they cannot see each other’s data and credentials. Most data governance features are supported in this mode. But programming languages and cluster features might be limited.\n* `DATA_SECURITY_MODE_DEDICATED`: A secure cluster that can only be exclusively used by a single user specified in `single_user_name`. Most programming languages, cluster features and data governance features are available in this mode.\n\nThe following modes are legacy aliases for the above modes:\n\n* `USER_ISOLATION`: Legacy alias for `DATA_SECURITY_MODE_STANDARD`.\n* `SINGLE_USER`: Legacy alias for `DATA_SECURITY_MODE_DEDICATED`.\n\nThe following modes are deprecated starting with Databricks Runtime 15.0 and\nwill be removed for future Databricks Runtime versions:\n\n* `LEGACY_TABLE_ACL`: This mode is for users migrating from legacy Table ACL clusters.\n* `LEGACY_PASSTHROUGH`: This mode is for users migrating from legacy Passthrough on high concurrency clusters.\n* `LEGACY_SINGLE_USER`: This mode is for users migrating from legacy Passthrough on standard clusters.\n* `LEGACY_SINGLE_USER_STANDARD`: This mode provides a way that doesn’t have UC nor passthrough enabled.",
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.DataSecurityMode"
},
"dependency_mode": {
"description": "[Beta] Controls dependency configuration for the cluster.",
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.DependencyMode"
},
"docker_image": {
"description": "Custom docker image BYOC",
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.DockerImage"
},
"driver_instance_pool_id": {
"description": "The optional ID of the instance pool for the driver of the cluster belongs.\nThe pool cluster uses the instance pool with id (instance_pool_id) if the driver pool is not\nassigned.",
"$ref": "#/$defs/string"
},
"driver_node_type_flexibility": {
"description": "Flexible node type configuration for the driver node.",
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.NodeTypeFlexibility"
},
"driver_node_type_id": {
"description": "The node type of the Spark driver.\nNote that this field is optional; if unset, the driver node type will be set as the same value\nas `node_type_id` defined above.\n\nThis field, along with node_type_id, should not be set if virtual_cluster_size is set.\nIf both driver_node_type_id, node_type_id, and virtual_cluster_size are specified, driver_node_type_id and node_type_id take precedence.",
"$ref": "#/$defs/string"
},
"enable_elastic_disk": {
"description": "Autoscaling Local Storage: when enabled, this cluster will dynamically acquire additional disk\nspace when its Spark workers are running low on disk space.",
"$ref": "#/$defs/bool"
},
"enable_local_disk_encryption": {
"description": "Whether to enable LUKS on cluster VMs' local disks",
"$ref": "#/$defs/bool"
},
"gcp_attributes": {
"description": "Attributes related to clusters running on Google Cloud Platform.\nIf not specified at cluster creation, a set of default values will be used.",
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.GcpAttributes"
},
"init_scripts": {
"description": "The configuration for storing init scripts. Any number of destinations can be specified.\nThe scripts are executed sequentially in the order provided.\nIf `cluster_log_conf` is specified, init script logs are sent to `\u003cdestination\u003e/\u003ccluster-ID\u003e/init_scripts`.",
"$ref": "#/$defs/slice/github.com/databricks/databricks-sdk-go/service/compute.InitScriptInfo"
},
"instance_pool_id": {
"description": "The optional ID of the instance pool to which the cluster belongs.",
"$ref": "#/$defs/string"
},
"is_single_node": {
"description": "This field can only be used when `kind = CLASSIC_PREVIEW`.\n\nWhen set to true, Databricks will automatically set single node related `custom_tags`, `spark_conf`, and `num_workers`",
"$ref": "#/$defs/bool"
},
"kind": {
"description": "The kind of compute described by this compute specification.\n\nDepending on `kind`, different validations and default values will be applied.\n\nClusters with `kind = CLASSIC_PREVIEW` support the following fields, whereas clusters with no specified `kind` do not.\n* [is_single_node](/api/workspace/clusters/create#is_single_node)\n* [use_ml_runtime](/api/workspace/clusters/create#use_ml_runtime)\n\nBy using the [simple form](https://docs.databricks.com/compute/simple-form.html), your clusters are automatically using `kind = CLASSIC_PREVIEW`.",
"$ref": "#/$defs/github.com/databricks/databricks-sdk-go/service/compute.Kind"
},
"lifecycle": {
"description": "Settings that control the deployment lifecycle of the resource, such as preventing it from being destroyed.",
"$ref": "#/$defs/github.com/databricks/cli/bundle/config/resources.LifecycleWithStarted"
},
"node_type_id": {
"description": "This field encodes, through a single value, the resources available to each of\nthe Spark nodes in this cluster. For example, the Spark nodes can be provisioned\nand optimized for memory or compute intensive workloads. A list of available node\ntypes can be retrieved by using the [clusters/listNodeTypes](https://docs.databricks.com/api/workspace/clusters/listnodetypes) API call.",
"$ref": "#/$defs/string"
},
"num_workers": {
"description": "Number of worker nodes that this cluster should have. A cluster has one Spark Driver\nand `num_workers` Executors for a total of `num_workers` + 1 Spark nodes.\n\nNote: When reading the properties of a cluster, this field reflects the desired number\nof workers rather than the actual current number of workers. For instance, if a cluster\nis resized from 5 to 10 workers, this field will immediately be updated to reflect\nthe target size of 10 workers, whereas the workers listed in `spark_info` will gradually\nincrease from 5 to 10 as the new nodes are provisioned.",
"$ref": "#/$defs/int"
},
"permissions": {
"description": "The permissions to apply to this resource.",
"$ref": "#/$defs/slice/github.com/databricks/cli/bundle/config/resources.ClusterPermission",
"markdownDescription": "A Sequence of permissions to apply to this resource, where each item grants a permission `level` to a single `user_name`, `group_name`, or `service_principal_name`. A principal cannot be set in both a resource's `permissions` and the top-level `permissions` mapping.\n\nSee [permissions](https://docs.databricks.com/dev-tools/bund
# --- truncated at 32 KB (895 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/databricks-asset-bundles/refs/heads/main/json-schema/databricks-asset-bundles-bundle-jsonschema.json
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/databricks-asset-bundles-bundle-jsonschema"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.