[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-databricks-databricks-model-serving":3,"mdc-sar3ri-key":33,"related-org-databricks-databricks-model-serving":2836,"related-repo-databricks-databricks-model-serving":3024},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":29,"sourceUrl":31,"mdContent":32},"databricks-model-serving","manage Databricks model serving endpoints","Databricks Model Serving endpoint lifecycle and ops. Use when asked to: CRUD serving endpoints (CLI or MLflow Deployments client); configure traffic routing for A\u002FB \u002F canary deploys and zero-downtime version swaps; retrieve OpenAPI schemas; inspect logs, metrics, or permissions; manage AI Gateway rate limits; discover Foundation Model API endpoints at runtime; integrate endpoints into Databricks Apps; or stream from off-platform clients (Vercel AI SDK v6, standalone Node.js). NOT for: training, MLflow autologging, UC registration, custom PyFunc\u002FResponsesAgent authoring (databricks-ml-training); Knowledge Assistants\u002FSupervisor Agents (databricks-agent-bricks); MLflow evaluation (databricks-mlflow-evaluation).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"databricks","Databricks","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fdatabricks.png",[12,16,19,22],{"name":13,"slug":14,"type":15},"Machine Learning","machine-learning","tag",{"name":17,"slug":18,"type":15},"Deployment","deployment",{"name":20,"slug":21,"type":15},"MLOps","mlops",{"name":9,"slug":8,"type":15},204,"https:\u002F\u002Fgithub.com\u002Fdatabricks\u002Fdatabricks-agent-skills","2026-07-12T08:04:35.810649",null,60,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":26},[],"https:\u002F\u002Fgithub.com\u002Fdatabricks\u002Fdatabricks-agent-skills\u002Ftree\u002FHEAD\u002Fplugins\u002Fdatabricks\u002Fcopilot\u002Fskills\u002Fdatabricks-model-serving","---\nname: databricks-model-serving\ndescription: \"Databricks Model Serving endpoint lifecycle and ops. Use when asked to: CRUD serving endpoints (CLI or MLflow Deployments client); configure traffic routing for A\u002FB \u002F canary deploys and zero-downtime version swaps; retrieve OpenAPI schemas; inspect logs, metrics, or permissions; manage AI Gateway rate limits; discover Foundation Model API endpoints at runtime; integrate endpoints into Databricks Apps; or stream from off-platform clients (Vercel AI SDK v6, standalone Node.js). NOT for: training, MLflow autologging, UC registration, custom PyFunc\u002FResponsesAgent authoring (databricks-ml-training); Knowledge Assistants\u002FSupervisor Agents (databricks-agent-bricks); MLflow evaluation (databricks-mlflow-evaluation).\"\ncompatibility: Requires databricks CLI (>= v0.294.0)\nmetadata:\n  version: \"0.4.0\"\nparent: databricks-core\n---\n\n# Model Serving Endpoints\n\n**FIRST**: Use the parent `databricks-core` skill for CLI basics, authentication, and profile selection.\n\nModel Serving provides managed endpoints for serving LLMs, custom ML models, and external models as scalable REST APIs. Endpoints are identified by **name** (unique per workspace).\n\n## Endpoint Types\n\n| Type | When to Use | Key Detail |\n|------|-------------|------------|\n| Pay-per-token | Foundation Model APIs (Llama, GPT-5, Claude, Gemini, etc.) | Uses `system.ai.*` catalog models, pre-provisioned in every workspace. Discover at runtime — see [Foundation Model API endpoints](#foundation-model-api-endpoints) below. |\n| Provisioned throughput | Dedicated GPU capacity | Guaranteed throughput, higher cost |\n| Custom model | Your own MLflow models or containers | Deploy any model with an MLflow signature |\n\n## Endpoint Structure\n\n```\nServing Endpoint (top-level, identified by NAME)\n  ├── Config\n  │     ├── Served Entities (model references + scaling config)\n  │     └── Traffic Config (routing percentages across entities)\n  ├── AI Gateway (rate limits, usage tracking)\n  └── State (READY \u002F NOT_READY, config_update status)\n```\n\n- **Served Entities**: Each entity references a model (from Unity Catalog or MLflow) with scaling parameters. Get the entity name from `served_entities[].name` in the `get` output — needed for `build-logs` and `logs` commands.\n- **Traffic Config**: Routes requests across served entities by percentage (for A\u002FB testing, canary deployments).\n- **State**: Endpoints transition `NOT_READY` → `READY` after creation or config update. Poll via `get` to check `state.ready`.\n\n## CLI Discovery — ALWAYS Do This First\n\n**Do NOT guess command syntax.** Discover available commands and their usage dynamically:\n\n```bash\n# List all serving-endpoints subcommands\ndatabricks serving-endpoints -h\n\n# Get detailed usage for any subcommand (flags, args, JSON fields)\ndatabricks serving-endpoints \u003Csubcommand> -h\n```\n\nRun `databricks serving-endpoints -h` before constructing any command. Run `databricks serving-endpoints \u003Csubcommand> -h` to discover exact flags, positional arguments, and JSON spec fields for that subcommand.\n\n## Create an Endpoint\n\n> **Do NOT list endpoints before creating.**\n\n```bash\ndatabricks serving-endpoints create \u003CENDPOINT_NAME> \\\n  --json '{\n    \"served_entities\": [{\n      \"entity_name\": \"\u003CMODEL_CATALOG_PATH>\",\n      \"entity_version\": \"\u003CVERSION>\",\n      \"min_provisioned_throughput\": 0,\n      \"max_provisioned_throughput\": 0,\n      \"workload_size\": \"Small\",\n      \"scale_to_zero_enabled\": true\n    }],\n    \"traffic_config\": {\n      \"routes\": [{\n        \"served_entity_name\": \"\u003CENTITY_NAME>\",\n        \"traffic_percentage\": 100\n      }]\n    }\n  }' --profile \u003CPROFILE>\n```\n\n- Discover available Foundation Models: see [Foundation Model API endpoints](#foundation-model-api-endpoints) below for the runtime-list snippet and default-picking rules. You can also check the `system.ai` catalog in Unity Catalog, or run `databricks serving-endpoints list --profile \u003CPROFILE>` to see what's deployed in the workspace. Use `databricks serving-endpoints get-open-api \u003CENDPOINT_NAME> --profile \u003CPROFILE>` to inspect a specific endpoint's API schema.\n- Long-running operation; the CLI waits for completion by default. Use `--no-wait` to return immediately, then poll:\n  ```bash\n  databricks serving-endpoints get \u003CENDPOINT_NAME> --profile \u003CPROFILE>\n  # Check: state.ready == \"READY\"\n  ```\n- For provisioned throughput or custom model endpoints, run `databricks serving-endpoints create -h` to discover the required JSON fields for your endpoint type.\n\n### MLflow Deployments client (Python alternative)\n\n`mlflow.deployments.get_deploy_client(\"databricks\").create_endpoint(name=..., config={...})` takes the same JSON shape as the CLI. Two gotchas:\n\n- **`tags=` is a top-level kwarg**, NOT a field inside `config`. Same `[{key, value}]` shape as `serving-endpoints patch --add-tags`.\n- **`traffic_config.routes[].served_model_name` = `\"\u003Cmodel>-\u003Cversion>\"`** (e.g. `\"turbine_failure-3\"`). The API auto-derives this from the entity, but you reference the exact string in `traffic_config` — get the format wrong and the route silently doesn't match.\n\n### Zero-downtime version swap\n\nTo roll an endpoint to a new model version: repoint the alias **and** call `update_endpoint` with the new `served_entities` + matching `traffic_config`. Missing either half is the common bug — alias-only doesn't update the endpoint; `update_endpoint`-only leaves the alias pointing at the old version.\n\n```python\nfrom mlflow.tracking import MlflowClient\nfrom mlflow.deployments import get_deploy_client\n\nregistry = MlflowClient(registry_uri=\"databricks-uc\")\ndeploy   = get_deploy_client(\"databricks\")\n\nregistry.set_registered_model_alias(FULL_NAME, \"prod\", new_version)\ndeploy.update_endpoint(endpoint=ENDPOINT_NAME, config={\n    \"served_entities\": [{\"entity_name\": FULL_NAME, \"entity_version\": new_version,\n                         \"workload_size\": \"Small\", \"scale_to_zero_enabled\": True}],\n    \"traffic_config\": {\"routes\": [\n        {\"served_model_name\": f\"{NAME}-{new_version}\", \"traffic_percentage\": 100}\n    ]},\n})\n```\n\nThe CLI equivalent is `databricks serving-endpoints update-config \u003CNAME> --json '...'`. Either way, poll both `state.ready` and `state.config_update` afterward — see Endpoint Readiness below.\n\n### Endpoint Readiness\n\nAfter `create` or `update-config`, the endpoint provisions compute and loads the model. **Do not query the endpoint until it is ready.** Two state fields matter and they mean different things:\n\n- `state.ready` — `READY` once the endpoint has any working config. Stays `READY` during a version swap.\n- `state.config_update` — `NOT_UPDATING` once the *current* config update finishes; `IN_PROGRESS` during a version swap.\n\nA loop watching only `state.ready` will say \"ready\" mid version-swap while the old version is still serving. **Poll both:**\n\n```bash\ndatabricks serving-endpoints get \u003CENDPOINT_NAME> --profile \u003CPROFILE> \\\n  | jq '{ready: .state.ready, config_update: .state.config_update}'\n# Fully ready when ready == \"READY\" AND config_update == \"NOT_UPDATING\"\n```\n\nProvisioning may take several minutes. Provisioned throughput endpoints take the longest (GPU allocation). Queries to endpoints that are not yet `READY` return 404 or 503.\n\n## Query an Endpoint\n\nChat \u002F agent endpoints use the `messages` array:\n\n```bash\ndatabricks serving-endpoints query \u003CENDPOINT_NAME> \\\n  --json '{\"messages\": [{\"role\": \"user\", \"content\": \"Hello\"}]}' --profile \u003CPROFILE>\n```\n\nClassical-ML endpoints use `dataframe_records` (one record per row):\n\n```bash\ndatabricks serving-endpoints query \u003CENDPOINT_NAME> \\\n  --json '{\"dataframe_records\": [{\"vibration\": 0.42, \"rpm\": 18.3, \"temp_c\": 71.2}]}'\n```\n\n- Use `--stream` for streaming responses on chat endpoints.\n- For embeddings or other custom schemas: use `get-open-api \u003CENDPOINT_NAME>` first to discover the request\u002Fresponse shape.\n\n## Get Endpoint Schema (OpenAPI)\n\nReturns the OpenAPI 3.1 JSON schema describing what each served model accepts and returns. Use this to understand an endpoint's input\u002Foutput format before querying it.\n\n```bash\ndatabricks serving-endpoints get-open-api \u003CENDPOINT_NAME> --profile \u003CPROFILE>\n```\n\nThe schema shows paths per served model (e.g., `\u002Fserved-models\u002F\u003Cmodel-name>\u002Finvocations`) with full request\u002Fresponse definitions including parameter types, enums, and nullable fields.\n\n## Other Commands\n\nRun `databricks serving-endpoints \u003Csubcommand> -h` for usage details.\n\n| Task | Command | Notes |\n|------|---------|-------|\n| List all endpoints | `list` | |\n| Get endpoint details | `get \u003CNAME>` | Shows state, config, served entities |\n| Delete endpoint | `delete \u003CNAME>` | |\n| Update served entities or traffic | `update-config \u003CNAME> --json '...'` | Zero-downtime: old config serves until new is ready |\n| Rate limits & usage tracking | `put-ai-gateway \u003CNAME> --json '...'` | |\n| Update tags | `patch \u003CNAME> --json '...'` | |\n| Build logs | `build-logs \u003CNAME> \u003CSERVED_MODEL>` | Get `SERVED_MODEL` from `get` output: `served_entities[].name` |\n| Runtime logs | `logs \u003CNAME> \u003CSERVED_MODEL>` | |\n| Metrics (Prometheus format) | `export-metrics \u003CNAME>` | |\n| Permissions | `get-permissions \u003CENDPOINT_ID>` | ⚠️ Uses endpoint **ID** (hex string), not name. Find ID via `get`. |\n\n## What's Next\n\n### Integrate with a Databricks App\n\nAfter creating a serving endpoint, wire it into a Databricks App.\n\n**Step 1 — Check if the `serving` plugin is available** in the AppKit template:\n\n```bash\ndatabricks apps manifest --profile \u003CPROFILE>\n```\n\nIf the output includes a `serving` plugin, scaffold with:\n\n```bash\ndatabricks apps init --name \u003CAPP_NAME> \\\n  --features serving \\\n  --set \"serving.serving-endpoint.name=\u003CENDPOINT_NAME>\" \\\n  --run none --profile \u003CPROFILE>\n```\n\n**Step 2 — If no `serving` plugin**, add the endpoint resource manually to an existing app's `databricks.yml`:\n\n```yaml\nresources:\n  apps:\n    my_app:\n      resources:\n        - name: my-model-endpoint\n          serving_endpoint:\n            name: \u003CENDPOINT_NAME>\n            permission: CAN_QUERY\n```\n\nAnd inject the endpoint name as an environment variable in `app.yaml`:\n\n```yaml\nenv:\n  - name: SERVING_ENDPOINT\n    valueFrom: serving-endpoint\n```\n\nThen wire the endpoint into your app via the `serving()` plugin or a custom route in `onPluginsReady`. For the full app integration pattern, use the **`databricks-apps`** skill and read the [Model Serving Guide](..\u002Fdatabricks-apps\u002Freferences\u002Fappkit\u002Fmodel-serving.md).\n\n### Develop & deploy new models\n\nThis skill is ops-focused (manage existing endpoints). For the dev-side flow — training, MLflow tracking, UC registration, custom PyFunc authoring, and hand-rolled `ResponsesAgent` code — see **[databricks-ml-training](..\u002Fdatabricks-ml-training\u002FSKILL.md)** (experimental).\n\n## Foundation Model API endpoints\n\nPay-per-token, pre-provisioned in every workspace. New models land regularly and a static skill list goes stale fast — **always list at runtime instead of hard-coding names**. Filter by the `databricks-` name prefix AND by the served entity being in `system.ai.*` (other endpoints like `databricks-app-template-serving` share the prefix but aren't FM API endpoints).\n\n```bash\n# FM API endpoints in this workspace, grouped by task (chat \u002F embeddings \u002F etc.)\ndatabricks serving-endpoints list \\\n  | jq -r '.[]\n      | select(.name | startswith(\"databricks-\"))\n      | select((.config.served_entities[0].entity_name \u002F\u002F \"\") | startswith(\"system.ai.\"))\n      | \"\\(.task)\\t\\(.name)\"' \\\n  | sort\n```\n\n**Defaults when the user doesn't specify**: pick the highest-numbered Claude Sonnet for agents, the highest-numbered `-codex-max` for code, `databricks-gte-large-en` for embeddings — resolve actual names from the live list above.\n\n## Off-platform streaming\n\nFor apps deployed **outside** Databricks Apps (Vercel, AWS, standalone Node.js) hitting Databricks AI Gateway with Vercel AI SDK v6, see [references\u002Foff-platform-streaming.md](references\u002Foff-platform-streaming.md). For AppKit-based apps, use the `databricks-apps` skill's built-in serving plugin instead.\n\n## Troubleshooting\n\n| Error | Solution |\n|-------|----------|\n| `cannot configure default credentials` | Use `--profile` flag or authenticate first |\n| `PERMISSION_DENIED` | Check workspace permissions; for apps, ensure `serving_endpoint` resource declared with `CAN_QUERY` |\n| Endpoint stuck in `NOT_READY` | Wait up to 30 min for provisioned throughput. Check build logs: `build-logs \u003CNAME> \u003CENTITY_NAME>` (get entity name from `get` output → `served_entities[].name`) |\n| `RESOURCE_DOES_NOT_EXIST` | Verify endpoint name with `list` |\n| Query returns 404 | Endpoint may still be provisioning; check `state.ready` via `get` |\n| `RATE_LIMIT_EXCEEDED` (429) | AI Gateway rate limit; check `put-ai-gateway` config or retry after backoff |\n| Endpoint missing from the Serving UI after deploy | UI filter defaults to \"Owned by me\". Deploy jobs run as a service principal, so the endpoint is hidden until you switch to \"All\". `databricks serving-endpoints list` always shows it. |\n",{"data":34,"body":39},{"name":4,"description":6,"compatibility":35,"metadata":36,"parent":38},"Requires databricks CLI (>= v0.294.0)",{"version":37},"0.4.0","databricks-core",{"type":40,"children":41},"root",[42,51,71,83,90,194,200,212,310,316,326,424,445,451,463,687,818,825,836,916,922,964,1083,1110,1116,1144,1203,1220,1317,1329,1335,1348,1431,1444,1506,1535,1541,1546,1605,1618,1624,1635,1903,1909,1915,1920,1938,1982,1994,2120,2145,2272,2284,2341,2380,2386,2410,2415,2450,2554,2580,2586,2612,2618,2830],{"type":43,"tag":44,"props":45,"children":47},"element","h1",{"id":46},"model-serving-endpoints",[48],{"type":49,"value":50},"text","Model Serving Endpoints",{"type":43,"tag":52,"props":53,"children":54},"p",{},[55,61,63,69],{"type":43,"tag":56,"props":57,"children":58},"strong",{},[59],{"type":49,"value":60},"FIRST",{"type":49,"value":62},": Use the parent ",{"type":43,"tag":64,"props":65,"children":67},"code",{"className":66},[],[68],{"type":49,"value":38},{"type":49,"value":70}," skill for CLI basics, authentication, and profile selection.",{"type":43,"tag":52,"props":72,"children":73},{},[74,76,81],{"type":49,"value":75},"Model Serving provides managed endpoints for serving LLMs, custom ML models, and external models as scalable REST APIs. Endpoints are identified by ",{"type":43,"tag":56,"props":77,"children":78},{},[79],{"type":49,"value":80},"name",{"type":49,"value":82}," (unique per workspace).",{"type":43,"tag":84,"props":85,"children":87},"h2",{"id":86},"endpoint-types",[88],{"type":49,"value":89},"Endpoint Types",{"type":43,"tag":91,"props":92,"children":93},"table",{},[94,118],{"type":43,"tag":95,"props":96,"children":97},"thead",{},[98],{"type":43,"tag":99,"props":100,"children":101},"tr",{},[102,108,113],{"type":43,"tag":103,"props":104,"children":105},"th",{},[106],{"type":49,"value":107},"Type",{"type":43,"tag":103,"props":109,"children":110},{},[111],{"type":49,"value":112},"When to Use",{"type":43,"tag":103,"props":114,"children":115},{},[116],{"type":49,"value":117},"Key Detail",{"type":43,"tag":119,"props":120,"children":121},"tbody",{},[122,158,176],{"type":43,"tag":99,"props":123,"children":124},{},[125,131,136],{"type":43,"tag":126,"props":127,"children":128},"td",{},[129],{"type":49,"value":130},"Pay-per-token",{"type":43,"tag":126,"props":132,"children":133},{},[134],{"type":49,"value":135},"Foundation Model APIs (Llama, GPT-5, Claude, Gemini, etc.)",{"type":43,"tag":126,"props":137,"children":138},{},[139,141,147,149,156],{"type":49,"value":140},"Uses ",{"type":43,"tag":64,"props":142,"children":144},{"className":143},[],[145],{"type":49,"value":146},"system.ai.*",{"type":49,"value":148}," catalog models, pre-provisioned in every workspace. Discover at runtime — see ",{"type":43,"tag":150,"props":151,"children":153},"a",{"href":152},"#foundation-model-api-endpoints",[154],{"type":49,"value":155},"Foundation Model API endpoints",{"type":49,"value":157}," below.",{"type":43,"tag":99,"props":159,"children":160},{},[161,166,171],{"type":43,"tag":126,"props":162,"children":163},{},[164],{"type":49,"value":165},"Provisioned throughput",{"type":43,"tag":126,"props":167,"children":168},{},[169],{"type":49,"value":170},"Dedicated GPU capacity",{"type":43,"tag":126,"props":172,"children":173},{},[174],{"type":49,"value":175},"Guaranteed throughput, higher cost",{"type":43,"tag":99,"props":177,"children":178},{},[179,184,189],{"type":43,"tag":126,"props":180,"children":181},{},[182],{"type":49,"value":183},"Custom model",{"type":43,"tag":126,"props":185,"children":186},{},[187],{"type":49,"value":188},"Your own MLflow models or containers",{"type":43,"tag":126,"props":190,"children":191},{},[192],{"type":49,"value":193},"Deploy any model with an MLflow signature",{"type":43,"tag":84,"props":195,"children":197},{"id":196},"endpoint-structure",[198],{"type":49,"value":199},"Endpoint Structure",{"type":43,"tag":201,"props":202,"children":206},"pre",{"className":203,"code":205,"language":49},[204],"language-text","Serving Endpoint (top-level, identified by NAME)\n  ├── Config\n  │     ├── Served Entities (model references + scaling config)\n  │     └── Traffic Config (routing percentages across entities)\n  ├── AI Gateway (rate limits, usage tracking)\n  └── State (READY \u002F NOT_READY, config_update status)\n",[207],{"type":43,"tag":64,"props":208,"children":210},{"__ignoreMap":209},"",[211],{"type":49,"value":205},{"type":43,"tag":213,"props":214,"children":215},"ul",{},[216,259,269],{"type":43,"tag":217,"props":218,"children":219},"li",{},[220,225,227,233,235,241,243,249,251,257],{"type":43,"tag":56,"props":221,"children":222},{},[223],{"type":49,"value":224},"Served Entities",{"type":49,"value":226},": Each entity references a model (from Unity Catalog or MLflow) with scaling parameters. Get the entity name from ",{"type":43,"tag":64,"props":228,"children":230},{"className":229},[],[231],{"type":49,"value":232},"served_entities[].name",{"type":49,"value":234}," in the ",{"type":43,"tag":64,"props":236,"children":238},{"className":237},[],[239],{"type":49,"value":240},"get",{"type":49,"value":242}," output — needed for ",{"type":43,"tag":64,"props":244,"children":246},{"className":245},[],[247],{"type":49,"value":248},"build-logs",{"type":49,"value":250}," and ",{"type":43,"tag":64,"props":252,"children":254},{"className":253},[],[255],{"type":49,"value":256},"logs",{"type":49,"value":258}," commands.",{"type":43,"tag":217,"props":260,"children":261},{},[262,267],{"type":43,"tag":56,"props":263,"children":264},{},[265],{"type":49,"value":266},"Traffic Config",{"type":49,"value":268},": Routes requests across served entities by percentage (for A\u002FB testing, canary deployments).",{"type":43,"tag":217,"props":270,"children":271},{},[272,277,279,285,287,293,295,300,302,308],{"type":43,"tag":56,"props":273,"children":274},{},[275],{"type":49,"value":276},"State",{"type":49,"value":278},": Endpoints transition ",{"type":43,"tag":64,"props":280,"children":282},{"className":281},[],[283],{"type":49,"value":284},"NOT_READY",{"type":49,"value":286}," → ",{"type":43,"tag":64,"props":288,"children":290},{"className":289},[],[291],{"type":49,"value":292},"READY",{"type":49,"value":294}," after creation or config update. Poll via ",{"type":43,"tag":64,"props":296,"children":298},{"className":297},[],[299],{"type":49,"value":240},{"type":49,"value":301}," to check ",{"type":43,"tag":64,"props":303,"children":305},{"className":304},[],[306],{"type":49,"value":307},"state.ready",{"type":49,"value":309},".",{"type":43,"tag":84,"props":311,"children":313},{"id":312},"cli-discovery-always-do-this-first",[314],{"type":49,"value":315},"CLI Discovery — ALWAYS Do This First",{"type":43,"tag":52,"props":317,"children":318},{},[319,324],{"type":43,"tag":56,"props":320,"children":321},{},[322],{"type":49,"value":323},"Do NOT guess command syntax.",{"type":49,"value":325}," Discover available commands and their usage dynamically:",{"type":43,"tag":201,"props":327,"children":331},{"className":328,"code":329,"language":330,"meta":209,"style":209},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# List all serving-endpoints subcommands\ndatabricks serving-endpoints -h\n\n# Get detailed usage for any subcommand (flags, args, JSON fields)\ndatabricks serving-endpoints \u003Csubcommand> -h\n","bash",[332],{"type":43,"tag":64,"props":333,"children":334},{"__ignoreMap":209},[335,347,367,377,386],{"type":43,"tag":336,"props":337,"children":340},"span",{"class":338,"line":339},"line",1,[341],{"type":43,"tag":336,"props":342,"children":344},{"style":343},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[345],{"type":49,"value":346},"# List all serving-endpoints subcommands\n",{"type":43,"tag":336,"props":348,"children":350},{"class":338,"line":349},2,[351,356,362],{"type":43,"tag":336,"props":352,"children":354},{"style":353},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[355],{"type":49,"value":8},{"type":43,"tag":336,"props":357,"children":359},{"style":358},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[360],{"type":49,"value":361}," serving-endpoints",{"type":43,"tag":336,"props":363,"children":364},{"style":358},[365],{"type":49,"value":366}," -h\n",{"type":43,"tag":336,"props":368,"children":370},{"class":338,"line":369},3,[371],{"type":43,"tag":336,"props":372,"children":374},{"emptyLinePlaceholder":373},true,[375],{"type":49,"value":376},"\n",{"type":43,"tag":336,"props":378,"children":380},{"class":338,"line":379},4,[381],{"type":43,"tag":336,"props":382,"children":383},{"style":343},[384],{"type":49,"value":385},"# Get detailed usage for any subcommand (flags, args, JSON fields)\n",{"type":43,"tag":336,"props":387,"children":389},{"class":338,"line":388},5,[390,394,398,404,409,415,420],{"type":43,"tag":336,"props":391,"children":392},{"style":353},[393],{"type":49,"value":8},{"type":43,"tag":336,"props":395,"children":396},{"style":358},[397],{"type":49,"value":361},{"type":43,"tag":336,"props":399,"children":401},{"style":400},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[402],{"type":49,"value":403}," \u003C",{"type":43,"tag":336,"props":405,"children":406},{"style":358},[407],{"type":49,"value":408},"subcomman",{"type":43,"tag":336,"props":410,"children":412},{"style":411},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[413],{"type":49,"value":414},"d",{"type":43,"tag":336,"props":416,"children":417},{"style":400},[418],{"type":49,"value":419},">",{"type":43,"tag":336,"props":421,"children":422},{"style":358},[423],{"type":49,"value":366},{"type":43,"tag":52,"props":425,"children":426},{},[427,429,435,437,443],{"type":49,"value":428},"Run ",{"type":43,"tag":64,"props":430,"children":432},{"className":431},[],[433],{"type":49,"value":434},"databricks serving-endpoints -h",{"type":49,"value":436}," before constructing any command. Run ",{"type":43,"tag":64,"props":438,"children":440},{"className":439},[],[441],{"type":49,"value":442},"databricks serving-endpoints \u003Csubcommand> -h",{"type":49,"value":444}," to discover exact flags, positional arguments, and JSON spec fields for that subcommand.",{"type":43,"tag":84,"props":446,"children":448},{"id":447},"create-an-endpoint",[449],{"type":49,"value":450},"Create an Endpoint",{"type":43,"tag":452,"props":453,"children":454},"blockquote",{},[455],{"type":43,"tag":52,"props":456,"children":457},{},[458],{"type":43,"tag":56,"props":459,"children":460},{},[461],{"type":49,"value":462},"Do NOT list endpoints before creating.",{"type":43,"tag":201,"props":464,"children":466},{"className":328,"code":465,"language":330,"meta":209,"style":209},"databricks serving-endpoints create \u003CENDPOINT_NAME> \\\n  --json '{\n    \"served_entities\": [{\n      \"entity_name\": \"\u003CMODEL_CATALOG_PATH>\",\n      \"entity_version\": \"\u003CVERSION>\",\n      \"min_provisioned_throughput\": 0,\n      \"max_provisioned_throughput\": 0,\n      \"workload_size\": \"Small\",\n      \"scale_to_zero_enabled\": true\n    }],\n    \"traffic_config\": {\n      \"routes\": [{\n        \"served_entity_name\": \"\u003CENTITY_NAME>\",\n        \"traffic_percentage\": 100\n      }]\n    }\n  }' --profile \u003CPROFILE>\n",[467],{"type":43,"tag":64,"props":468,"children":469},{"__ignoreMap":209},[470,509,527,535,543,551,560,569,578,587,596,605,614,623,632,641,650],{"type":43,"tag":336,"props":471,"children":472},{"class":338,"line":339},[473,477,481,486,490,495,500,504],{"type":43,"tag":336,"props":474,"children":475},{"style":353},[476],{"type":49,"value":8},{"type":43,"tag":336,"props":478,"children":479},{"style":358},[480],{"type":49,"value":361},{"type":43,"tag":336,"props":482,"children":483},{"style":358},[484],{"type":49,"value":485}," create",{"type":43,"tag":336,"props":487,"children":488},{"style":400},[489],{"type":49,"value":403},{"type":43,"tag":336,"props":491,"children":492},{"style":358},[493],{"type":49,"value":494},"ENDPOINT_NAM",{"type":43,"tag":336,"props":496,"children":497},{"style":411},[498],{"type":49,"value":499},"E",{"type":43,"tag":336,"props":501,"children":502},{"style":400},[503],{"type":49,"value":419},{"type":43,"tag":336,"props":505,"children":506},{"style":411},[507],{"type":49,"value":508}," \\\n",{"type":43,"tag":336,"props":510,"children":511},{"class":338,"line":349},[512,517,522],{"type":43,"tag":336,"props":513,"children":514},{"style":358},[515],{"type":49,"value":516},"  --json",{"type":43,"tag":336,"props":518,"children":519},{"style":400},[520],{"type":49,"value":521}," '",{"type":43,"tag":336,"props":523,"children":524},{"style":358},[525],{"type":49,"value":526},"{\n",{"type":43,"tag":336,"props":528,"children":529},{"class":338,"line":369},[530],{"type":43,"tag":336,"props":531,"children":532},{"style":358},[533],{"type":49,"value":534},"    \"served_entities\": [{\n",{"type":43,"tag":336,"props":536,"children":537},{"class":338,"line":379},[538],{"type":43,"tag":336,"props":539,"children":540},{"style":358},[541],{"type":49,"value":542},"      \"entity_name\": \"\u003CMODEL_CATALOG_PATH>\",\n",{"type":43,"tag":336,"props":544,"children":545},{"class":338,"line":388},[546],{"type":43,"tag":336,"props":547,"children":548},{"style":358},[549],{"type":49,"value":550},"      \"entity_version\": \"\u003CVERSION>\",\n",{"type":43,"tag":336,"props":552,"children":554},{"class":338,"line":553},6,[555],{"type":43,"tag":336,"props":556,"children":557},{"style":358},[558],{"type":49,"value":559},"      \"min_provisioned_throughput\": 0,\n",{"type":43,"tag":336,"props":561,"children":563},{"class":338,"line":562},7,[564],{"type":43,"tag":336,"props":565,"children":566},{"style":358},[567],{"type":49,"value":568},"      \"max_provisioned_throughput\": 0,\n",{"type":43,"tag":336,"props":570,"children":572},{"class":338,"line":571},8,[573],{"type":43,"tag":336,"props":574,"children":575},{"style":358},[576],{"type":49,"value":577},"      \"workload_size\": \"Small\",\n",{"type":43,"tag":336,"props":579,"children":581},{"class":338,"line":580},9,[582],{"type":43,"tag":336,"props":583,"children":584},{"style":358},[585],{"type":49,"value":586},"      \"scale_to_zero_enabled\": true\n",{"type":43,"tag":336,"props":588,"children":590},{"class":338,"line":589},10,[591],{"type":43,"tag":336,"props":592,"children":593},{"style":358},[594],{"type":49,"value":595},"    }],\n",{"type":43,"tag":336,"props":597,"children":599},{"class":338,"line":598},11,[600],{"type":43,"tag":336,"props":601,"children":602},{"style":358},[603],{"type":49,"value":604},"    \"traffic_config\": {\n",{"type":43,"tag":336,"props":606,"children":608},{"class":338,"line":607},12,[609],{"type":43,"tag":336,"props":610,"children":611},{"style":358},[612],{"type":49,"value":613},"      \"routes\": [{\n",{"type":43,"tag":336,"props":615,"children":617},{"class":338,"line":616},13,[618],{"type":43,"tag":336,"props":619,"children":620},{"style":358},[621],{"type":49,"value":622},"        \"served_entity_name\": \"\u003CENTITY_NAME>\",\n",{"type":43,"tag":336,"props":624,"children":626},{"class":338,"line":625},14,[627],{"type":43,"tag":336,"props":628,"children":629},{"style":358},[630],{"type":49,"value":631},"        \"traffic_percentage\": 100\n",{"type":43,"tag":336,"props":633,"children":635},{"class":338,"line":634},15,[636],{"type":43,"tag":336,"props":637,"children":638},{"style":358},[639],{"type":49,"value":640},"      }]\n",{"type":43,"tag":336,"props":642,"children":644},{"class":338,"line":643},16,[645],{"type":43,"tag":336,"props":646,"children":647},{"style":358},[648],{"type":49,"value":649},"    }\n",{"type":43,"tag":336,"props":651,"children":653},{"class":338,"line":652},17,[654,659,664,669,673,678,682],{"type":43,"tag":336,"props":655,"children":656},{"style":358},[657],{"type":49,"value":658},"  }",{"type":43,"tag":336,"props":660,"children":661},{"style":400},[662],{"type":49,"value":663},"'",{"type":43,"tag":336,"props":665,"children":666},{"style":358},[667],{"type":49,"value":668}," --profile",{"type":43,"tag":336,"props":670,"children":671},{"style":400},[672],{"type":49,"value":403},{"type":43,"tag":336,"props":674,"children":675},{"style":358},[676],{"type":49,"value":677},"PROFIL",{"type":43,"tag":336,"props":679,"children":680},{"style":411},[681],{"type":49,"value":499},{"type":43,"tag":336,"props":683,"children":684},{"style":400},[685],{"type":49,"value":686},">\n",{"type":43,"tag":213,"props":688,"children":689},{},[690,725,805],{"type":43,"tag":217,"props":691,"children":692},{},[693,695,699,701,707,709,715,717,723],{"type":49,"value":694},"Discover available Foundation Models: see ",{"type":43,"tag":150,"props":696,"children":697},{"href":152},[698],{"type":49,"value":155},{"type":49,"value":700}," below for the runtime-list snippet and default-picking rules. You can also check the ",{"type":43,"tag":64,"props":702,"children":704},{"className":703},[],[705],{"type":49,"value":706},"system.ai",{"type":49,"value":708}," catalog in Unity Catalog, or run ",{"type":43,"tag":64,"props":710,"children":712},{"className":711},[],[713],{"type":49,"value":714},"databricks serving-endpoints list --profile \u003CPROFILE>",{"type":49,"value":716}," to see what's deployed in the workspace. Use ",{"type":43,"tag":64,"props":718,"children":720},{"className":719},[],[721],{"type":49,"value":722},"databricks serving-endpoints get-open-api \u003CENDPOINT_NAME> --profile \u003CPROFILE>",{"type":49,"value":724}," to inspect a specific endpoint's API schema.",{"type":43,"tag":217,"props":726,"children":727},{},[728,730,736,738],{"type":49,"value":729},"Long-running operation; the CLI waits for completion by default. Use ",{"type":43,"tag":64,"props":731,"children":733},{"className":732},[],[734],{"type":49,"value":735},"--no-wait",{"type":49,"value":737}," to return immediately, then poll:\n",{"type":43,"tag":201,"props":739,"children":741},{"className":328,"code":740,"language":330,"meta":209,"style":209},"databricks serving-endpoints get \u003CENDPOINT_NAME> --profile \u003CPROFILE>\n# Check: state.ready == \"READY\"\n",[742],{"type":43,"tag":64,"props":743,"children":744},{"__ignoreMap":209},[745,797],{"type":43,"tag":336,"props":746,"children":747},{"class":338,"line":339},[748,752,756,761,765,769,773,777,781,785,789,793],{"type":43,"tag":336,"props":749,"children":750},{"style":353},[751],{"type":49,"value":8},{"type":43,"tag":336,"props":753,"children":754},{"style":358},[755],{"type":49,"value":361},{"type":43,"tag":336,"props":757,"children":758},{"style":358},[759],{"type":49,"value":760}," get",{"type":43,"tag":336,"props":762,"children":763},{"style":400},[764],{"type":49,"value":403},{"type":43,"tag":336,"props":766,"children":767},{"style":358},[768],{"type":49,"value":494},{"type":43,"tag":336,"props":770,"children":771},{"style":411},[772],{"type":49,"value":499},{"type":43,"tag":336,"props":774,"children":775},{"style":400},[776],{"type":49,"value":419},{"type":43,"tag":336,"props":778,"children":779},{"style":358},[780],{"type":49,"value":668},{"type":43,"tag":336,"props":782,"children":783},{"style":400},[784],{"type":49,"value":403},{"type":43,"tag":336,"props":786,"children":787},{"style":358},[788],{"type":49,"value":677},{"type":43,"tag":336,"props":790,"children":791},{"style":411},[792],{"type":49,"value":499},{"type":43,"tag":336,"props":794,"children":795},{"style":400},[796],{"type":49,"value":686},{"type":43,"tag":336,"props":798,"children":799},{"class":338,"line":349},[800],{"type":43,"tag":336,"props":801,"children":802},{"style":343},[803],{"type":49,"value":804},"# Check: state.ready == \"READY\"\n",{"type":43,"tag":217,"props":806,"children":807},{},[808,810,816],{"type":49,"value":809},"For provisioned throughput or custom model endpoints, run ",{"type":43,"tag":64,"props":811,"children":813},{"className":812},[],[814],{"type":49,"value":815},"databricks serving-endpoints create -h",{"type":49,"value":817}," to discover the required JSON fields for your endpoint type.",{"type":43,"tag":819,"props":820,"children":822},"h3",{"id":821},"mlflow-deployments-client-python-alternative",[823],{"type":49,"value":824},"MLflow Deployments client (Python alternative)",{"type":43,"tag":52,"props":826,"children":827},{},[828,834],{"type":43,"tag":64,"props":829,"children":831},{"className":830},[],[832],{"type":49,"value":833},"mlflow.deployments.get_deploy_client(\"databricks\").create_endpoint(name=..., config={...})",{"type":49,"value":835}," takes the same JSON shape as the CLI. Two gotchas:",{"type":43,"tag":213,"props":837,"children":838},{},[839,878],{"type":43,"tag":217,"props":840,"children":841},{},[842,853,855,861,863,869,871,877],{"type":43,"tag":56,"props":843,"children":844},{},[845,851],{"type":43,"tag":64,"props":846,"children":848},{"className":847},[],[849],{"type":49,"value":850},"tags=",{"type":49,"value":852}," is a top-level kwarg",{"type":49,"value":854},", NOT a field inside ",{"type":43,"tag":64,"props":856,"children":858},{"className":857},[],[859],{"type":49,"value":860},"config",{"type":49,"value":862},". Same ",{"type":43,"tag":64,"props":864,"children":866},{"className":865},[],[867],{"type":49,"value":868},"[{key, value}]",{"type":49,"value":870}," shape as ",{"type":43,"tag":64,"props":872,"children":874},{"className":873},[],[875],{"type":49,"value":876},"serving-endpoints patch --add-tags",{"type":49,"value":309},{"type":43,"tag":217,"props":879,"children":880},{},[881,898,900,906,908,914],{"type":43,"tag":56,"props":882,"children":883},{},[884,890,892],{"type":43,"tag":64,"props":885,"children":887},{"className":886},[],[888],{"type":49,"value":889},"traffic_config.routes[].served_model_name",{"type":49,"value":891}," = ",{"type":43,"tag":64,"props":893,"children":895},{"className":894},[],[896],{"type":49,"value":897},"\"\u003Cmodel>-\u003Cversion>\"",{"type":49,"value":899}," (e.g. ",{"type":43,"tag":64,"props":901,"children":903},{"className":902},[],[904],{"type":49,"value":905},"\"turbine_failure-3\"",{"type":49,"value":907},"). The API auto-derives this from the entity, but you reference the exact string in ",{"type":43,"tag":64,"props":909,"children":911},{"className":910},[],[912],{"type":49,"value":913},"traffic_config",{"type":49,"value":915}," — get the format wrong and the route silently doesn't match.",{"type":43,"tag":819,"props":917,"children":919},{"id":918},"zero-downtime-version-swap",[920],{"type":49,"value":921},"Zero-downtime version swap",{"type":43,"tag":52,"props":923,"children":924},{},[925,927,932,934,940,942,948,950,955,957,962],{"type":49,"value":926},"To roll an endpoint to a new model version: repoint the alias ",{"type":43,"tag":56,"props":928,"children":929},{},[930],{"type":49,"value":931},"and",{"type":49,"value":933}," call ",{"type":43,"tag":64,"props":935,"children":937},{"className":936},[],[938],{"type":49,"value":939},"update_endpoint",{"type":49,"value":941}," with the new ",{"type":43,"tag":64,"props":943,"children":945},{"className":944},[],[946],{"type":49,"value":947},"served_entities",{"type":49,"value":949}," + matching ",{"type":43,"tag":64,"props":951,"children":953},{"className":952},[],[954],{"type":49,"value":913},{"type":49,"value":956},". Missing either half is the common bug — alias-only doesn't update the endpoint; ",{"type":43,"tag":64,"props":958,"children":960},{"className":959},[],[961],{"type":49,"value":939},{"type":49,"value":963},"-only leaves the alias pointing at the old version.",{"type":43,"tag":201,"props":965,"children":969},{"className":966,"code":967,"language":968,"meta":209,"style":209},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","from mlflow.tracking import MlflowClient\nfrom mlflow.deployments import get_deploy_client\n\nregistry = MlflowClient(registry_uri=\"databricks-uc\")\ndeploy   = get_deploy_client(\"databricks\")\n\nregistry.set_registered_model_alias(FULL_NAME, \"prod\", new_version)\ndeploy.update_endpoint(endpoint=ENDPOINT_NAME, config={\n    \"served_entities\": [{\"entity_name\": FULL_NAME, \"entity_version\": new_version,\n                         \"workload_size\": \"Small\", \"scale_to_zero_enabled\": True}],\n    \"traffic_config\": {\"routes\": [\n        {\"served_model_name\": f\"{NAME}-{new_version}\", \"traffic_percentage\": 100}\n    ]},\n})\n","python",[970],{"type":43,"tag":64,"props":971,"children":972},{"__ignoreMap":209},[973,981,989,996,1004,1012,1019,1027,1035,1043,1051,1059,1067,1075],{"type":43,"tag":336,"props":974,"children":975},{"class":338,"line":339},[976],{"type":43,"tag":336,"props":977,"children":978},{},[979],{"type":49,"value":980},"from mlflow.tracking import MlflowClient\n",{"type":43,"tag":336,"props":982,"children":983},{"class":338,"line":349},[984],{"type":43,"tag":336,"props":985,"children":986},{},[987],{"type":49,"value":988},"from mlflow.deployments import get_deploy_client\n",{"type":43,"tag":336,"props":990,"children":991},{"class":338,"line":369},[992],{"type":43,"tag":336,"props":993,"children":994},{"emptyLinePlaceholder":373},[995],{"type":49,"value":376},{"type":43,"tag":336,"props":997,"children":998},{"class":338,"line":379},[999],{"type":43,"tag":336,"props":1000,"children":1001},{},[1002],{"type":49,"value":1003},"registry = MlflowClient(registry_uri=\"databricks-uc\")\n",{"type":43,"tag":336,"props":1005,"children":1006},{"class":338,"line":388},[1007],{"type":43,"tag":336,"props":1008,"children":1009},{},[1010],{"type":49,"value":1011},"deploy   = get_deploy_client(\"databricks\")\n",{"type":43,"tag":336,"props":1013,"children":1014},{"class":338,"line":553},[1015],{"type":43,"tag":336,"props":1016,"children":1017},{"emptyLinePlaceholder":373},[1018],{"type":49,"value":376},{"type":43,"tag":336,"props":1020,"children":1021},{"class":338,"line":562},[1022],{"type":43,"tag":336,"props":1023,"children":1024},{},[1025],{"type":49,"value":1026},"registry.set_registered_model_alias(FULL_NAME, \"prod\", new_version)\n",{"type":43,"tag":336,"props":1028,"children":1029},{"class":338,"line":571},[1030],{"type":43,"tag":336,"props":1031,"children":1032},{},[1033],{"type":49,"value":1034},"deploy.update_endpoint(endpoint=ENDPOINT_NAME, config={\n",{"type":43,"tag":336,"props":1036,"children":1037},{"class":338,"line":580},[1038],{"type":43,"tag":336,"props":1039,"children":1040},{},[1041],{"type":49,"value":1042},"    \"served_entities\": [{\"entity_name\": FULL_NAME, \"entity_version\": new_version,\n",{"type":43,"tag":336,"props":1044,"children":1045},{"class":338,"line":589},[1046],{"type":43,"tag":336,"props":1047,"children":1048},{},[1049],{"type":49,"value":1050},"                         \"workload_size\": \"Small\", \"scale_to_zero_enabled\": True}],\n",{"type":43,"tag":336,"props":1052,"children":1053},{"class":338,"line":598},[1054],{"type":43,"tag":336,"props":1055,"children":1056},{},[1057],{"type":49,"value":1058},"    \"traffic_config\": {\"routes\": [\n",{"type":43,"tag":336,"props":1060,"children":1061},{"class":338,"line":607},[1062],{"type":43,"tag":336,"props":1063,"children":1064},{},[1065],{"type":49,"value":1066},"        {\"served_model_name\": f\"{NAME}-{new_version}\", \"traffic_percentage\": 100}\n",{"type":43,"tag":336,"props":1068,"children":1069},{"class":338,"line":616},[1070],{"type":43,"tag":336,"props":1071,"children":1072},{},[1073],{"type":49,"value":1074},"    ]},\n",{"type":43,"tag":336,"props":1076,"children":1077},{"class":338,"line":625},[1078],{"type":43,"tag":336,"props":1079,"children":1080},{},[1081],{"type":49,"value":1082},"})\n",{"type":43,"tag":52,"props":1084,"children":1085},{},[1086,1088,1094,1096,1101,1102,1108],{"type":49,"value":1087},"The CLI equivalent is ",{"type":43,"tag":64,"props":1089,"children":1091},{"className":1090},[],[1092],{"type":49,"value":1093},"databricks serving-endpoints update-config \u003CNAME> --json '...'",{"type":49,"value":1095},". Either way, poll both ",{"type":43,"tag":64,"props":1097,"children":1099},{"className":1098},[],[1100],{"type":49,"value":307},{"type":49,"value":250},{"type":43,"tag":64,"props":1103,"children":1105},{"className":1104},[],[1106],{"type":49,"value":1107},"state.config_update",{"type":49,"value":1109}," afterward — see Endpoint Readiness below.",{"type":43,"tag":819,"props":1111,"children":1113},{"id":1112},"endpoint-readiness",[1114],{"type":49,"value":1115},"Endpoint Readiness",{"type":43,"tag":52,"props":1117,"children":1118},{},[1119,1121,1127,1129,1135,1137,1142],{"type":49,"value":1120},"After ",{"type":43,"tag":64,"props":1122,"children":1124},{"className":1123},[],[1125],{"type":49,"value":1126},"create",{"type":49,"value":1128}," or ",{"type":43,"tag":64,"props":1130,"children":1132},{"className":1131},[],[1133],{"type":49,"value":1134},"update-config",{"type":49,"value":1136},", the endpoint provisions compute and loads the model. ",{"type":43,"tag":56,"props":1138,"children":1139},{},[1140],{"type":49,"value":1141},"Do not query the endpoint until it is ready.",{"type":49,"value":1143}," Two state fields matter and they mean different things:",{"type":43,"tag":213,"props":1145,"children":1146},{},[1147,1171],{"type":43,"tag":217,"props":1148,"children":1149},{},[1150,1155,1157,1162,1164,1169],{"type":43,"tag":64,"props":1151,"children":1153},{"className":1152},[],[1154],{"type":49,"value":307},{"type":49,"value":1156}," — ",{"type":43,"tag":64,"props":1158,"children":1160},{"className":1159},[],[1161],{"type":49,"value":292},{"type":49,"value":1163}," once the endpoint has any working config. Stays ",{"type":43,"tag":64,"props":1165,"children":1167},{"className":1166},[],[1168],{"type":49,"value":292},{"type":49,"value":1170}," during a version swap.",{"type":43,"tag":217,"props":1172,"children":1173},{},[1174,1179,1180,1186,1188,1194,1196,1202],{"type":43,"tag":64,"props":1175,"children":1177},{"className":1176},[],[1178],{"type":49,"value":1107},{"type":49,"value":1156},{"type":43,"tag":64,"props":1181,"children":1183},{"className":1182},[],[1184],{"type":49,"value":1185},"NOT_UPDATING",{"type":49,"value":1187}," once the ",{"type":43,"tag":1189,"props":1190,"children":1191},"em",{},[1192],{"type":49,"value":1193},"current",{"type":49,"value":1195}," config update finishes; ",{"type":43,"tag":64,"props":1197,"children":1199},{"className":1198},[],[1200],{"type":49,"value":1201},"IN_PROGRESS",{"type":49,"value":1170},{"type":43,"tag":52,"props":1204,"children":1205},{},[1206,1208,1213,1215],{"type":49,"value":1207},"A loop watching only ",{"type":43,"tag":64,"props":1209,"children":1211},{"className":1210},[],[1212],{"type":49,"value":307},{"type":49,"value":1214}," will say \"ready\" mid version-swap while the old version is still serving. ",{"type":43,"tag":56,"props":1216,"children":1217},{},[1218],{"type":49,"value":1219},"Poll both:",{"type":43,"tag":201,"props":1221,"children":1223},{"className":328,"code":1222,"language":330,"meta":209,"style":209},"databricks serving-endpoints get \u003CENDPOINT_NAME> --profile \u003CPROFILE> \\\n  | jq '{ready: .state.ready, config_update: .state.config_update}'\n# Fully ready when ready == \"READY\" AND config_update == \"NOT_UPDATING\"\n",[1224],{"type":43,"tag":64,"props":1225,"children":1226},{"__ignoreMap":209},[1227,1282,1309],{"type":43,"tag":336,"props":1228,"children":1229},{"class":338,"line":339},[1230,1234,1238,1242,1246,1250,1254,1258,1262,1266,1270,1274,1278],{"type":43,"tag":336,"props":1231,"children":1232},{"style":353},[1233],{"type":49,"value":8},{"type":43,"tag":336,"props":1235,"children":1236},{"style":358},[1237],{"type":49,"value":361},{"type":43,"tag":336,"props":1239,"children":1240},{"style":358},[1241],{"type":49,"value":760},{"type":43,"tag":336,"props":1243,"children":1244},{"style":400},[1245],{"type":49,"value":403},{"type":43,"tag":336,"props":1247,"children":1248},{"style":358},[1249],{"type":49,"value":494},{"type":43,"tag":336,"props":1251,"children":1252},{"style":411},[1253],{"type":49,"value":499},{"type":43,"tag":336,"props":1255,"children":1256},{"style":400},[1257],{"type":49,"value":419},{"type":43,"tag":336,"props":1259,"children":1260},{"style":358},[1261],{"type":49,"value":668},{"type":43,"tag":336,"props":1263,"children":1264},{"style":400},[1265],{"type":49,"value":403},{"type":43,"tag":336,"props":1267,"children":1268},{"style":358},[1269],{"type":49,"value":677},{"type":43,"tag":336,"props":1271,"children":1272},{"style":411},[1273],{"type":49,"value":499},{"type":43,"tag":336,"props":1275,"children":1276},{"style":400},[1277],{"type":49,"value":419},{"type":43,"tag":336,"props":1279,"children":1280},{"style":411},[1281],{"type":49,"value":508},{"type":43,"tag":336,"props":1283,"children":1284},{"class":338,"line":349},[1285,1290,1295,1299,1304],{"type":43,"tag":336,"props":1286,"children":1287},{"style":400},[1288],{"type":49,"value":1289},"  |",{"type":43,"tag":336,"props":1291,"children":1292},{"style":353},[1293],{"type":49,"value":1294}," jq",{"type":43,"tag":336,"props":1296,"children":1297},{"style":400},[1298],{"type":49,"value":521},{"type":43,"tag":336,"props":1300,"children":1301},{"style":358},[1302],{"type":49,"value":1303},"{ready: .state.ready, config_update: .state.config_update}",{"type":43,"tag":336,"props":1305,"children":1306},{"style":400},[1307],{"type":49,"value":1308},"'\n",{"type":43,"tag":336,"props":1310,"children":1311},{"class":338,"line":369},[1312],{"type":43,"tag":336,"props":1313,"children":1314},{"style":343},[1315],{"type":49,"value":1316},"# Fully ready when ready == \"READY\" AND config_update == \"NOT_UPDATING\"\n",{"type":43,"tag":52,"props":1318,"children":1319},{},[1320,1322,1327],{"type":49,"value":1321},"Provisioning may take several minutes. Provisioned throughput endpoints take the longest (GPU allocation). Queries to endpoints that are not yet ",{"type":43,"tag":64,"props":1323,"children":1325},{"className":1324},[],[1326],{"type":49,"value":292},{"type":49,"value":1328}," return 404 or 503.",{"type":43,"tag":84,"props":1330,"children":1332},{"id":1331},"query-an-endpoint",[1333],{"type":49,"value":1334},"Query an Endpoint",{"type":43,"tag":52,"props":1336,"children":1337},{},[1338,1340,1346],{"type":49,"value":1339},"Chat \u002F agent endpoints use the ",{"type":43,"tag":64,"props":1341,"children":1343},{"className":1342},[],[1344],{"type":49,"value":1345},"messages",{"type":49,"value":1347}," array:",{"type":43,"tag":201,"props":1349,"children":1351},{"className":328,"code":1350,"language":330,"meta":209,"style":209},"databricks serving-endpoints query \u003CENDPOINT_NAME> \\\n  --json '{\"messages\": [{\"role\": \"user\", \"content\": \"Hello\"}]}' --profile \u003CPROFILE>\n",[1352],{"type":43,"tag":64,"props":1353,"children":1354},{"__ignoreMap":209},[1355,1391],{"type":43,"tag":336,"props":1356,"children":1357},{"class":338,"line":339},[1358,1362,1366,1371,1375,1379,1383,1387],{"type":43,"tag":336,"props":1359,"children":1360},{"style":353},[1361],{"type":49,"value":8},{"type":43,"tag":336,"props":1363,"children":1364},{"style":358},[1365],{"type":49,"value":361},{"type":43,"tag":336,"props":1367,"children":1368},{"style":358},[1369],{"type":49,"value":1370}," query",{"type":43,"tag":336,"props":1372,"children":1373},{"style":400},[1374],{"type":49,"value":403},{"type":43,"tag":336,"props":1376,"children":1377},{"style":358},[1378],{"type":49,"value":494},{"type":43,"tag":336,"props":1380,"children":1381},{"style":411},[1382],{"type":49,"value":499},{"type":43,"tag":336,"props":1384,"children":1385},{"style":400},[1386],{"type":49,"value":419},{"type":43,"tag":336,"props":1388,"children":1389},{"style":411},[1390],{"type":49,"value":508},{"type":43,"tag":336,"props":1392,"children":1393},{"class":338,"line":349},[1394,1398,1402,1407,1411,1415,1419,1423,1427],{"type":43,"tag":336,"props":1395,"children":1396},{"style":358},[1397],{"type":49,"value":516},{"type":43,"tag":336,"props":1399,"children":1400},{"style":400},[1401],{"type":49,"value":521},{"type":43,"tag":336,"props":1403,"children":1404},{"style":358},[1405],{"type":49,"value":1406},"{\"messages\": [{\"role\": \"user\", \"content\": \"Hello\"}]}",{"type":43,"tag":336,"props":1408,"children":1409},{"style":400},[1410],{"type":49,"value":663},{"type":43,"tag":336,"props":1412,"children":1413},{"style":358},[1414],{"type":49,"value":668},{"type":43,"tag":336,"props":1416,"children":1417},{"style":400},[1418],{"type":49,"value":403},{"type":43,"tag":336,"props":1420,"children":1421},{"style":358},[1422],{"type":49,"value":677},{"type":43,"tag":336,"props":1424,"children":1425},{"style":411},[1426],{"type":49,"value":499},{"type":43,"tag":336,"props":1428,"children":1429},{"style":400},[1430],{"type":49,"value":686},{"type":43,"tag":52,"props":1432,"children":1433},{},[1434,1436,1442],{"type":49,"value":1435},"Classical-ML endpoints use ",{"type":43,"tag":64,"props":1437,"children":1439},{"className":1438},[],[1440],{"type":49,"value":1441},"dataframe_records",{"type":49,"value":1443}," (one record per row):",{"type":43,"tag":201,"props":1445,"children":1447},{"className":328,"code":1446,"language":330,"meta":209,"style":209},"databricks serving-endpoints query \u003CENDPOINT_NAME> \\\n  --json '{\"dataframe_records\": [{\"vibration\": 0.42, \"rpm\": 18.3, \"temp_c\": 71.2}]}'\n",[1448],{"type":43,"tag":64,"props":1449,"children":1450},{"__ignoreMap":209},[1451,1486],{"type":43,"tag":336,"props":1452,"children":1453},{"class":338,"line":339},[1454,1458,1462,1466,1470,1474,1478,1482],{"type":43,"tag":336,"props":1455,"children":1456},{"style":353},[1457],{"type":49,"value":8},{"type":43,"tag":336,"props":1459,"children":1460},{"style":358},[1461],{"type":49,"value":361},{"type":43,"tag":336,"props":1463,"children":1464},{"style":358},[1465],{"type":49,"value":1370},{"type":43,"tag":336,"props":1467,"children":1468},{"style":400},[1469],{"type":49,"value":403},{"type":43,"tag":336,"props":1471,"children":1472},{"style":358},[1473],{"type":49,"value":494},{"type":43,"tag":336,"props":1475,"children":1476},{"style":411},[1477],{"type":49,"value":499},{"type":43,"tag":336,"props":1479,"children":1480},{"style":400},[1481],{"type":49,"value":419},{"type":43,"tag":336,"props":1483,"children":1484},{"style":411},[1485],{"type":49,"value":508},{"type":43,"tag":336,"props":1487,"children":1488},{"class":338,"line":349},[1489,1493,1497,1502],{"type":43,"tag":336,"props":1490,"children":1491},{"style":358},[1492],{"type":49,"value":516},{"type":43,"tag":336,"props":1494,"children":1495},{"style":400},[1496],{"type":49,"value":521},{"type":43,"tag":336,"props":1498,"children":1499},{"style":358},[1500],{"type":49,"value":1501},"{\"dataframe_records\": [{\"vibration\": 0.42, \"rpm\": 18.3, \"temp_c\": 71.2}]}",{"type":43,"tag":336,"props":1503,"children":1504},{"style":400},[1505],{"type":49,"value":1308},{"type":43,"tag":213,"props":1507,"children":1508},{},[1509,1522],{"type":43,"tag":217,"props":1510,"children":1511},{},[1512,1514,1520],{"type":49,"value":1513},"Use ",{"type":43,"tag":64,"props":1515,"children":1517},{"className":1516},[],[1518],{"type":49,"value":1519},"--stream",{"type":49,"value":1521}," for streaming responses on chat endpoints.",{"type":43,"tag":217,"props":1523,"children":1524},{},[1525,1527,1533],{"type":49,"value":1526},"For embeddings or other custom schemas: use ",{"type":43,"tag":64,"props":1528,"children":1530},{"className":1529},[],[1531],{"type":49,"value":1532},"get-open-api \u003CENDPOINT_NAME>",{"type":49,"value":1534}," first to discover the request\u002Fresponse shape.",{"type":43,"tag":84,"props":1536,"children":1538},{"id":1537},"get-endpoint-schema-openapi",[1539],{"type":49,"value":1540},"Get Endpoint Schema (OpenAPI)",{"type":43,"tag":52,"props":1542,"children":1543},{},[1544],{"type":49,"value":1545},"Returns the OpenAPI 3.1 JSON schema describing what each served model accepts and returns. Use this to understand an endpoint's input\u002Foutput format before querying it.",{"type":43,"tag":201,"props":1547,"children":1549},{"className":328,"code":1548,"language":330,"meta":209,"style":209},"databricks serving-endpoints get-open-api \u003CENDPOINT_NAME> --profile \u003CPROFILE>\n",[1550],{"type":43,"tag":64,"props":1551,"children":1552},{"__ignoreMap":209},[1553],{"type":43,"tag":336,"props":1554,"children":1555},{"class":338,"line":339},[1556,1560,1564,1569,1573,1577,1581,1585,1589,1593,1597,1601],{"type":43,"tag":336,"props":1557,"children":1558},{"style":353},[1559],{"type":49,"value":8},{"type":43,"tag":336,"props":1561,"children":1562},{"style":358},[1563],{"type":49,"value":361},{"type":43,"tag":336,"props":1565,"children":1566},{"style":358},[1567],{"type":49,"value":1568}," get-open-api",{"type":43,"tag":336,"props":1570,"children":1571},{"style":400},[1572],{"type":49,"value":403},{"type":43,"tag":336,"props":1574,"children":1575},{"style":358},[1576],{"type":49,"value":494},{"type":43,"tag":336,"props":1578,"children":1579},{"style":411},[1580],{"type":49,"value":499},{"type":43,"tag":336,"props":1582,"children":1583},{"style":400},[1584],{"type":49,"value":419},{"type":43,"tag":336,"props":1586,"children":1587},{"style":358},[1588],{"type":49,"value":668},{"type":43,"tag":336,"props":1590,"children":1591},{"style":400},[1592],{"type":49,"value":403},{"type":43,"tag":336,"props":1594,"children":1595},{"style":358},[1596],{"type":49,"value":677},{"type":43,"tag":336,"props":1598,"children":1599},{"style":411},[1600],{"type":49,"value":499},{"type":43,"tag":336,"props":1602,"children":1603},{"style":400},[1604],{"type":49,"value":686},{"type":43,"tag":52,"props":1606,"children":1607},{},[1608,1610,1616],{"type":49,"value":1609},"The schema shows paths per served model (e.g., ",{"type":43,"tag":64,"props":1611,"children":1613},{"className":1612},[],[1614],{"type":49,"value":1615},"\u002Fserved-models\u002F\u003Cmodel-name>\u002Finvocations",{"type":49,"value":1617},") with full request\u002Fresponse definitions including parameter types, enums, and nullable fields.",{"type":43,"tag":84,"props":1619,"children":1621},{"id":1620},"other-commands",[1622],{"type":49,"value":1623},"Other Commands",{"type":43,"tag":52,"props":1625,"children":1626},{},[1627,1628,1633],{"type":49,"value":428},{"type":43,"tag":64,"props":1629,"children":1631},{"className":1630},[],[1632],{"type":49,"value":442},{"type":49,"value":1634}," for usage details.",{"type":43,"tag":91,"props":1636,"children":1637},{},[1638,1659],{"type":43,"tag":95,"props":1639,"children":1640},{},[1641],{"type":43,"tag":99,"props":1642,"children":1643},{},[1644,1649,1654],{"type":43,"tag":103,"props":1645,"children":1646},{},[1647],{"type":49,"value":1648},"Task",{"type":43,"tag":103,"props":1650,"children":1651},{},[1652],{"type":49,"value":1653},"Command",{"type":43,"tag":103,"props":1655,"children":1656},{},[1657],{"type":49,"value":1658},"Notes",{"type":43,"tag":119,"props":1660,"children":1661},{},[1662,1682,1704,1724,1746,1766,1786,1828,1848,1868],{"type":43,"tag":99,"props":1663,"children":1664},{},[1665,1670,1679],{"type":43,"tag":126,"props":1666,"children":1667},{},[1668],{"type":49,"value":1669},"List all endpoints",{"type":43,"tag":126,"props":1671,"children":1672},{},[1673],{"type":43,"tag":64,"props":1674,"children":1676},{"className":1675},[],[1677],{"type":49,"value":1678},"list",{"type":43,"tag":126,"props":1680,"children":1681},{},[],{"type":43,"tag":99,"props":1683,"children":1684},{},[1685,1690,1699],{"type":43,"tag":126,"props":1686,"children":1687},{},[1688],{"type":49,"value":1689},"Get endpoint details",{"type":43,"tag":126,"props":1691,"children":1692},{},[1693],{"type":43,"tag":64,"props":1694,"children":1696},{"className":1695},[],[1697],{"type":49,"value":1698},"get \u003CNAME>",{"type":43,"tag":126,"props":1700,"children":1701},{},[1702],{"type":49,"value":1703},"Shows state, config, served entities",{"type":43,"tag":99,"props":1705,"children":1706},{},[1707,1712,1721],{"type":43,"tag":126,"props":1708,"children":1709},{},[1710],{"type":49,"value":1711},"Delete endpoint",{"type":43,"tag":126,"props":1713,"children":1714},{},[1715],{"type":43,"tag":64,"props":1716,"children":1718},{"className":1717},[],[1719],{"type":49,"value":1720},"delete \u003CNAME>",{"type":43,"tag":126,"props":1722,"children":1723},{},[],{"type":43,"tag":99,"props":1725,"children":1726},{},[1727,1732,1741],{"type":43,"tag":126,"props":1728,"children":1729},{},[1730],{"type":49,"value":1731},"Update served entities or traffic",{"type":43,"tag":126,"props":1733,"children":1734},{},[1735],{"type":43,"tag":64,"props":1736,"children":1738},{"className":1737},[],[1739],{"type":49,"value":1740},"update-config \u003CNAME> --json '...'",{"type":43,"tag":126,"props":1742,"children":1743},{},[1744],{"type":49,"value":1745},"Zero-downtime: old config serves until new is ready",{"type":43,"tag":99,"props":1747,"children":1748},{},[1749,1754,1763],{"type":43,"tag":126,"props":1750,"children":1751},{},[1752],{"type":49,"value":1753},"Rate limits & usage tracking",{"type":43,"tag":126,"props":1755,"children":1756},{},[1757],{"type":43,"tag":64,"props":1758,"children":1760},{"className":1759},[],[1761],{"type":49,"value":1762},"put-ai-gateway \u003CNAME> --json '...'",{"type":43,"tag":126,"props":1764,"children":1765},{},[],{"type":43,"tag":99,"props":1767,"children":1768},{},[1769,1774,1783],{"type":43,"tag":126,"props":1770,"children":1771},{},[1772],{"type":49,"value":1773},"Update tags",{"type":43,"tag":126,"props":1775,"children":1776},{},[1777],{"type":43,"tag":64,"props":1778,"children":1780},{"className":1779},[],[1781],{"type":49,"value":1782},"patch \u003CNAME> --json '...'",{"type":43,"tag":126,"props":1784,"children":1785},{},[],{"type":43,"tag":99,"props":1787,"children":1788},{},[1789,1794,1803],{"type":43,"tag":126,"props":1790,"children":1791},{},[1792],{"type":49,"value":1793},"Build logs",{"type":43,"tag":126,"props":1795,"children":1796},{},[1797],{"type":43,"tag":64,"props":1798,"children":1800},{"className":1799},[],[1801],{"type":49,"value":1802},"build-logs \u003CNAME> \u003CSERVED_MODEL>",{"type":43,"tag":126,"props":1804,"children":1805},{},[1806,1808,1814,1816,1821,1823],{"type":49,"value":1807},"Get ",{"type":43,"tag":64,"props":1809,"children":1811},{"className":1810},[],[1812],{"type":49,"value":1813},"SERVED_MODEL",{"type":49,"value":1815}," from ",{"type":43,"tag":64,"props":1817,"children":1819},{"className":1818},[],[1820],{"type":49,"value":240},{"type":49,"value":1822}," output: ",{"type":43,"tag":64,"props":1824,"children":1826},{"className":1825},[],[1827],{"type":49,"value":232},{"type":43,"tag":99,"props":1829,"children":1830},{},[1831,1836,1845],{"type":43,"tag":126,"props":1832,"children":1833},{},[1834],{"type":49,"value":1835},"Runtime logs",{"type":43,"tag":126,"props":1837,"children":1838},{},[1839],{"type":43,"tag":64,"props":1840,"children":1842},{"className":1841},[],[1843],{"type":49,"value":1844},"logs \u003CNAME> \u003CSERVED_MODEL>",{"type":43,"tag":126,"props":1846,"children":1847},{},[],{"type":43,"tag":99,"props":1849,"children":1850},{},[1851,1856,1865],{"type":43,"tag":126,"props":1852,"children":1853},{},[1854],{"type":49,"value":1855},"Metrics (Prometheus format)",{"type":43,"tag":126,"props":1857,"children":1858},{},[1859],{"type":43,"tag":64,"props":1860,"children":1862},{"className":1861},[],[1863],{"type":49,"value":1864},"export-metrics \u003CNAME>",{"type":43,"tag":126,"props":1866,"children":1867},{},[],{"type":43,"tag":99,"props":1869,"children":1870},{},[1871,1876,1885],{"type":43,"tag":126,"props":1872,"children":1873},{},[1874],{"type":49,"value":1875},"Permissions",{"type":43,"tag":126,"props":1877,"children":1878},{},[1879],{"type":43,"tag":64,"props":1880,"children":1882},{"className":1881},[],[1883],{"type":49,"value":1884},"get-permissions \u003CENDPOINT_ID>",{"type":43,"tag":126,"props":1886,"children":1887},{},[1888,1890,1895,1897,1902],{"type":49,"value":1889},"⚠️ Uses endpoint ",{"type":43,"tag":56,"props":1891,"children":1892},{},[1893],{"type":49,"value":1894},"ID",{"type":49,"value":1896}," (hex string), not name. Find ID via ",{"type":43,"tag":64,"props":1898,"children":1900},{"className":1899},[],[1901],{"type":49,"value":240},{"type":49,"value":309},{"type":43,"tag":84,"props":1904,"children":1906},{"id":1905},"whats-next",[1907],{"type":49,"value":1908},"What's Next",{"type":43,"tag":819,"props":1910,"children":1912},{"id":1911},"integrate-with-a-databricks-app",[1913],{"type":49,"value":1914},"Integrate with a Databricks App",{"type":43,"tag":52,"props":1916,"children":1917},{},[1918],{"type":49,"value":1919},"After creating a serving endpoint, wire it into a Databricks App.",{"type":43,"tag":52,"props":1921,"children":1922},{},[1923,1936],{"type":43,"tag":56,"props":1924,"children":1925},{},[1926,1928,1934],{"type":49,"value":1927},"Step 1 — Check if the ",{"type":43,"tag":64,"props":1929,"children":1931},{"className":1930},[],[1932],{"type":49,"value":1933},"serving",{"type":49,"value":1935}," plugin is available",{"type":49,"value":1937}," in the AppKit template:",{"type":43,"tag":201,"props":1939,"children":1941},{"className":328,"code":1940,"language":330,"meta":209,"style":209},"databricks apps manifest --profile \u003CPROFILE>\n",[1942],{"type":43,"tag":64,"props":1943,"children":1944},{"__ignoreMap":209},[1945],{"type":43,"tag":336,"props":1946,"children":1947},{"class":338,"line":339},[1948,1952,1957,1962,1966,1970,1974,1978],{"type":43,"tag":336,"props":1949,"children":1950},{"style":353},[1951],{"type":49,"value":8},{"type":43,"tag":336,"props":1953,"children":1954},{"style":358},[1955],{"type":49,"value":1956}," apps",{"type":43,"tag":336,"props":1958,"children":1959},{"style":358},[1960],{"type":49,"value":1961}," manifest",{"type":43,"tag":336,"props":1963,"children":1964},{"style":358},[1965],{"type":49,"value":668},{"type":43,"tag":336,"props":1967,"children":1968},{"style":400},[1969],{"type":49,"value":403},{"type":43,"tag":336,"props":1971,"children":1972},{"style":358},[1973],{"type":49,"value":677},{"type":43,"tag":336,"props":1975,"children":1976},{"style":411},[1977],{"type":49,"value":499},{"type":43,"tag":336,"props":1979,"children":1980},{"style":400},[1981],{"type":49,"value":686},{"type":43,"tag":52,"props":1983,"children":1984},{},[1985,1987,1992],{"type":49,"value":1986},"If the output includes a ",{"type":43,"tag":64,"props":1988,"children":1990},{"className":1989},[],[1991],{"type":49,"value":1933},{"type":49,"value":1993}," plugin, scaffold with:",{"type":43,"tag":201,"props":1995,"children":1997},{"className":328,"code":1996,"language":330,"meta":209,"style":209},"databricks apps init --name \u003CAPP_NAME> \\\n  --features serving \\\n  --set \"serving.serving-endpoint.name=\u003CENDPOINT_NAME>\" \\\n  --run none --profile \u003CPROFILE>\n",[1998],{"type":43,"tag":64,"props":1999,"children":2000},{"__ignoreMap":209},[2001,2043,2060,2087],{"type":43,"tag":336,"props":2002,"children":2003},{"class":338,"line":339},[2004,2008,2012,2017,2022,2026,2031,2035,2039],{"type":43,"tag":336,"props":2005,"children":2006},{"style":353},[2007],{"type":49,"value":8},{"type":43,"tag":336,"props":2009,"children":2010},{"style":358},[2011],{"type":49,"value":1956},{"type":43,"tag":336,"props":2013,"children":2014},{"style":358},[2015],{"type":49,"value":2016}," init",{"type":43,"tag":336,"props":2018,"children":2019},{"style":358},[2020],{"type":49,"value":2021}," --name",{"type":43,"tag":336,"props":2023,"children":2024},{"style":400},[2025],{"type":49,"value":403},{"type":43,"tag":336,"props":2027,"children":2028},{"style":358},[2029],{"type":49,"value":2030},"APP_NAM",{"type":43,"tag":336,"props":2032,"children":2033},{"style":411},[2034],{"type":49,"value":499},{"type":43,"tag":336,"props":2036,"children":2037},{"style":400},[2038],{"type":49,"value":419},{"type":43,"tag":336,"props":2040,"children":2041},{"style":411},[2042],{"type":49,"value":508},{"type":43,"tag":336,"props":2044,"children":2045},{"class":338,"line":349},[2046,2051,2056],{"type":43,"tag":336,"props":2047,"children":2048},{"style":358},[2049],{"type":49,"value":2050},"  --features",{"type":43,"tag":336,"props":2052,"children":2053},{"style":358},[2054],{"type":49,"value":2055}," serving",{"type":43,"tag":336,"props":2057,"children":2058},{"style":411},[2059],{"type":49,"value":508},{"type":43,"tag":336,"props":2061,"children":2062},{"class":338,"line":369},[2063,2068,2073,2078,2083],{"type":43,"tag":336,"props":2064,"children":2065},{"style":358},[2066],{"type":49,"value":2067},"  --set",{"type":43,"tag":336,"props":2069,"children":2070},{"style":400},[2071],{"type":49,"value":2072}," \"",{"type":43,"tag":336,"props":2074,"children":2075},{"style":358},[2076],{"type":49,"value":2077},"serving.serving-endpoint.name=\u003CENDPOINT_NAME>",{"type":43,"tag":336,"props":2079,"children":2080},{"style":400},[2081],{"type":49,"value":2082},"\"",{"type":43,"tag":336,"props":2084,"children":2085},{"style":411},[2086],{"type":49,"value":508},{"type":43,"tag":336,"props":2088,"children":2089},{"class":338,"line":379},[2090,2095,2100,2104,2108,2112,2116],{"type":43,"tag":336,"props":2091,"children":2092},{"style":358},[2093],{"type":49,"value":2094},"  --run",{"type":43,"tag":336,"props":2096,"children":2097},{"style":358},[2098],{"type":49,"value":2099}," none",{"type":43,"tag":336,"props":2101,"children":2102},{"style":358},[2103],{"type":49,"value":668},{"type":43,"tag":336,"props":2105,"children":2106},{"style":400},[2107],{"type":49,"value":403},{"type":43,"tag":336,"props":2109,"children":2110},{"style":358},[2111],{"type":49,"value":677},{"type":43,"tag":336,"props":2113,"children":2114},{"style":411},[2115],{"type":49,"value":499},{"type":43,"tag":336,"props":2117,"children":2118},{"style":400},[2119],{"type":49,"value":686},{"type":43,"tag":52,"props":2121,"children":2122},{},[2123,2135,2137,2143],{"type":43,"tag":56,"props":2124,"children":2125},{},[2126,2128,2133],{"type":49,"value":2127},"Step 2 — If no ",{"type":43,"tag":64,"props":2129,"children":2131},{"className":2130},[],[2132],{"type":49,"value":1933},{"type":49,"value":2134}," plugin",{"type":49,"value":2136},", add the endpoint resource manually to an existing app's ",{"type":43,"tag":64,"props":2138,"children":2140},{"className":2139},[],[2141],{"type":49,"value":2142},"databricks.yml",{"type":49,"value":2144},":",{"type":43,"tag":201,"props":2146,"children":2150},{"className":2147,"code":2148,"language":2149,"meta":209,"style":209},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","resources:\n  apps:\n    my_app:\n      resources:\n        - name: my-model-endpoint\n          serving_endpoint:\n            name: \u003CENDPOINT_NAME>\n            permission: CAN_QUERY\n","yaml",[2151],{"type":43,"tag":64,"props":2152,"children":2153},{"__ignoreMap":209},[2154,2168,2180,2192,2204,2226,2238,2255],{"type":43,"tag":336,"props":2155,"children":2156},{"class":338,"line":339},[2157,2163],{"type":43,"tag":336,"props":2158,"children":2160},{"style":2159},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[2161],{"type":49,"value":2162},"resources",{"type":43,"tag":336,"props":2164,"children":2165},{"style":400},[2166],{"type":49,"value":2167},":\n",{"type":43,"tag":336,"props":2169,"children":2170},{"class":338,"line":349},[2171,2176],{"type":43,"tag":336,"props":2172,"children":2173},{"style":2159},[2174],{"type":49,"value":2175},"  apps",{"type":43,"tag":336,"props":2177,"children":2178},{"style":400},[2179],{"type":49,"value":2167},{"type":43,"tag":336,"props":2181,"children":2182},{"class":338,"line":369},[2183,2188],{"type":43,"tag":336,"props":2184,"children":2185},{"style":2159},[2186],{"type":49,"value":2187},"    my_app",{"type":43,"tag":336,"props":2189,"children":2190},{"style":400},[2191],{"type":49,"value":2167},{"type":43,"tag":336,"props":2193,"children":2194},{"class":338,"line":379},[2195,2200],{"type":43,"tag":336,"props":2196,"children":2197},{"style":2159},[2198],{"type":49,"value":2199},"      resources",{"type":43,"tag":336,"props":2201,"children":2202},{"style":400},[2203],{"type":49,"value":2167},{"type":43,"tag":336,"props":2205,"children":2206},{"class":338,"line":388},[2207,2212,2217,2221],{"type":43,"tag":336,"props":2208,"children":2209},{"style":400},[2210],{"type":49,"value":2211},"        -",{"type":43,"tag":336,"props":2213,"children":2214},{"style":2159},[2215],{"type":49,"value":2216}," name",{"type":43,"tag":336,"props":2218,"children":2219},{"style":400},[2220],{"type":49,"value":2144},{"type":43,"tag":336,"props":2222,"children":2223},{"style":358},[2224],{"type":49,"value":2225}," my-model-endpoint\n",{"type":43,"tag":336,"props":2227,"children":2228},{"class":338,"line":553},[2229,2234],{"type":43,"tag":336,"props":2230,"children":2231},{"style":2159},[2232],{"type":49,"value":2233},"          serving_endpoint",{"type":43,"tag":336,"props":2235,"children":2236},{"style":400},[2237],{"type":49,"value":2167},{"type":43,"tag":336,"props":2239,"children":2240},{"class":338,"line":562},[2241,2246,2250],{"type":43,"tag":336,"props":2242,"children":2243},{"style":2159},[2244],{"type":49,"value":2245},"            name",{"type":43,"tag":336,"props":2247,"children":2248},{"style":400},[2249],{"type":49,"value":2144},{"type":43,"tag":336,"props":2251,"children":2252},{"style":358},[2253],{"type":49,"value":2254}," \u003CENDPOINT_NAME>\n",{"type":43,"tag":336,"props":2256,"children":2257},{"class":338,"line":571},[2258,2263,2267],{"type":43,"tag":336,"props":2259,"children":2260},{"style":2159},[2261],{"type":49,"value":2262},"            permission",{"type":43,"tag":336,"props":2264,"children":2265},{"style":400},[2266],{"type":49,"value":2144},{"type":43,"tag":336,"props":2268,"children":2269},{"style":358},[2270],{"type":49,"value":2271}," CAN_QUERY\n",{"type":43,"tag":52,"props":2273,"children":2274},{},[2275,2277,2283],{"type":49,"value":2276},"And inject the endpoint name as an environment variable in ",{"type":43,"tag":64,"props":2278,"children":2280},{"className":2279},[],[2281],{"type":49,"value":2282},"app.yaml",{"type":49,"value":2144},{"type":43,"tag":201,"props":2285,"children":2287},{"className":2147,"code":2286,"language":2149,"meta":209,"style":209},"env:\n  - name: SERVING_ENDPOINT\n    valueFrom: serving-endpoint\n",[2288],{"type":43,"tag":64,"props":2289,"children":2290},{"__ignoreMap":209},[2291,2303,2324],{"type":43,"tag":336,"props":2292,"children":2293},{"class":338,"line":339},[2294,2299],{"type":43,"tag":336,"props":2295,"children":2296},{"style":2159},[2297],{"type":49,"value":2298},"env",{"type":43,"tag":336,"props":2300,"children":2301},{"style":400},[2302],{"type":49,"value":2167},{"type":43,"tag":336,"props":2304,"children":2305},{"class":338,"line":349},[2306,2311,2315,2319],{"type":43,"tag":336,"props":2307,"children":2308},{"style":400},[2309],{"type":49,"value":2310},"  -",{"type":43,"tag":336,"props":2312,"children":2313},{"style":2159},[2314],{"type":49,"value":2216},{"type":43,"tag":336,"props":2316,"children":2317},{"style":400},[2318],{"type":49,"value":2144},{"type":43,"tag":336,"props":2320,"children":2321},{"style":358},[2322],{"type":49,"value":2323}," SERVING_ENDPOINT\n",{"type":43,"tag":336,"props":2325,"children":2326},{"class":338,"line":369},[2327,2332,2336],{"type":43,"tag":336,"props":2328,"children":2329},{"style":2159},[2330],{"type":49,"value":2331},"    valueFrom",{"type":43,"tag":336,"props":2333,"children":2334},{"style":400},[2335],{"type":49,"value":2144},{"type":43,"tag":336,"props":2337,"children":2338},{"style":358},[2339],{"type":49,"value":2340}," serving-endpoint\n",{"type":43,"tag":52,"props":2342,"children":2343},{},[2344,2346,2352,2354,2360,2362,2371,2373,2379],{"type":49,"value":2345},"Then wire the endpoint into your app via the ",{"type":43,"tag":64,"props":2347,"children":2349},{"className":2348},[],[2350],{"type":49,"value":2351},"serving()",{"type":49,"value":2353}," plugin or a custom route in ",{"type":43,"tag":64,"props":2355,"children":2357},{"className":2356},[],[2358],{"type":49,"value":2359},"onPluginsReady",{"type":49,"value":2361},". For the full app integration pattern, use the ",{"type":43,"tag":56,"props":2363,"children":2364},{},[2365],{"type":43,"tag":64,"props":2366,"children":2368},{"className":2367},[],[2369],{"type":49,"value":2370},"databricks-apps",{"type":49,"value":2372}," skill and read the ",{"type":43,"tag":150,"props":2374,"children":2376},{"href":2375},"..\u002Fdatabricks-apps\u002Freferences\u002Fappkit\u002Fmodel-serving.md",[2377],{"type":49,"value":2378},"Model Serving Guide",{"type":49,"value":309},{"type":43,"tag":819,"props":2381,"children":2383},{"id":2382},"develop-deploy-new-models",[2384],{"type":49,"value":2385},"Develop & deploy new models",{"type":43,"tag":52,"props":2387,"children":2388},{},[2389,2391,2397,2399,2408],{"type":49,"value":2390},"This skill is ops-focused (manage existing endpoints). For the dev-side flow — training, MLflow tracking, UC registration, custom PyFunc authoring, and hand-rolled ",{"type":43,"tag":64,"props":2392,"children":2394},{"className":2393},[],[2395],{"type":49,"value":2396},"ResponsesAgent",{"type":49,"value":2398}," code — see ",{"type":43,"tag":56,"props":2400,"children":2401},{},[2402],{"type":43,"tag":150,"props":2403,"children":2405},{"href":2404},"..\u002Fdatabricks-ml-training\u002FSKILL.md",[2406],{"type":49,"value":2407},"databricks-ml-training",{"type":49,"value":2409}," (experimental).",{"type":43,"tag":84,"props":2411,"children":2413},{"id":2412},"foundation-model-api-endpoints",[2414],{"type":49,"value":155},{"type":43,"tag":52,"props":2416,"children":2417},{},[2418,2420,2425,2427,2433,2435,2440,2442,2448],{"type":49,"value":2419},"Pay-per-token, pre-provisioned in every workspace. New models land regularly and a static skill list goes stale fast — ",{"type":43,"tag":56,"props":2421,"children":2422},{},[2423],{"type":49,"value":2424},"always list at runtime instead of hard-coding names",{"type":49,"value":2426},". Filter by the ",{"type":43,"tag":64,"props":2428,"children":2430},{"className":2429},[],[2431],{"type":49,"value":2432},"databricks-",{"type":49,"value":2434}," name prefix AND by the served entity being in ",{"type":43,"tag":64,"props":2436,"children":2438},{"className":2437},[],[2439],{"type":49,"value":146},{"type":49,"value":2441}," (other endpoints like ",{"type":43,"tag":64,"props":2443,"children":2445},{"className":2444},[],[2446],{"type":49,"value":2447},"databricks-app-template-serving",{"type":49,"value":2449}," share the prefix but aren't FM API endpoints).",{"type":43,"tag":201,"props":2451,"children":2453},{"className":328,"code":2452,"language":330,"meta":209,"style":209},"# FM API endpoints in this workspace, grouped by task (chat \u002F embeddings \u002F etc.)\ndatabricks serving-endpoints list \\\n  | jq -r '.[]\n      | select(.name | startswith(\"databricks-\"))\n      | select((.config.served_entities[0].entity_name \u002F\u002F \"\") | startswith(\"system.ai.\"))\n      | \"\\(.task)\\t\\(.name)\"' \\\n  | sort\n",[2454],{"type":43,"tag":64,"props":2455,"children":2456},{"__ignoreMap":209},[2457,2465,2485,2510,2518,2526,2542],{"type":43,"tag":336,"props":2458,"children":2459},{"class":338,"line":339},[2460],{"type":43,"tag":336,"props":2461,"children":2462},{"style":343},[2463],{"type":49,"value":2464},"# FM API endpoints in this workspace, grouped by task (chat \u002F embeddings \u002F etc.)\n",{"type":43,"tag":336,"props":2466,"children":2467},{"class":338,"line":349},[2468,2472,2476,2481],{"type":43,"tag":336,"props":2469,"children":2470},{"style":353},[2471],{"type":49,"value":8},{"type":43,"tag":336,"props":2473,"children":2474},{"style":358},[2475],{"type":49,"value":361},{"type":43,"tag":336,"props":2477,"children":2478},{"style":358},[2479],{"type":49,"value":2480}," list",{"type":43,"tag":336,"props":2482,"children":2483},{"style":411},[2484],{"type":49,"value":508},{"type":43,"tag":336,"props":2486,"children":2487},{"class":338,"line":369},[2488,2492,2496,2501,2505],{"type":43,"tag":336,"props":2489,"children":2490},{"style":400},[2491],{"type":49,"value":1289},{"type":43,"tag":336,"props":2493,"children":2494},{"style":353},[2495],{"type":49,"value":1294},{"type":43,"tag":336,"props":2497,"children":2498},{"style":358},[2499],{"type":49,"value":2500}," -r",{"type":43,"tag":336,"props":2502,"children":2503},{"style":400},[2504],{"type":49,"value":521},{"type":43,"tag":336,"props":2506,"children":2507},{"style":358},[2508],{"type":49,"value":2509},".[]\n",{"type":43,"tag":336,"props":2511,"children":2512},{"class":338,"line":379},[2513],{"type":43,"tag":336,"props":2514,"children":2515},{"style":358},[2516],{"type":49,"value":2517},"      | select(.name | startswith(\"databricks-\"))\n",{"type":43,"tag":336,"props":2519,"children":2520},{"class":338,"line":388},[2521],{"type":43,"tag":336,"props":2522,"children":2523},{"style":358},[2524],{"type":49,"value":2525},"      | select((.config.served_entities[0].entity_name \u002F\u002F \"\") | startswith(\"system.ai.\"))\n",{"type":43,"tag":336,"props":2527,"children":2528},{"class":338,"line":553},[2529,2534,2538],{"type":43,"tag":336,"props":2530,"children":2531},{"style":358},[2532],{"type":49,"value":2533},"      | \"\\(.task)\\t\\(.name)\"",{"type":43,"tag":336,"props":2535,"children":2536},{"style":400},[2537],{"type":49,"value":663},{"type":43,"tag":336,"props":2539,"children":2540},{"style":411},[2541],{"type":49,"value":508},{"type":43,"tag":336,"props":2543,"children":2544},{"class":338,"line":562},[2545,2549],{"type":43,"tag":336,"props":2546,"children":2547},{"style":400},[2548],{"type":49,"value":1289},{"type":43,"tag":336,"props":2550,"children":2551},{"style":353},[2552],{"type":49,"value":2553}," sort\n",{"type":43,"tag":52,"props":2555,"children":2556},{},[2557,2562,2564,2570,2572,2578],{"type":43,"tag":56,"props":2558,"children":2559},{},[2560],{"type":49,"value":2561},"Defaults when the user doesn't specify",{"type":49,"value":2563},": pick the highest-numbered Claude Sonnet for agents, the highest-numbered ",{"type":43,"tag":64,"props":2565,"children":2567},{"className":2566},[],[2568],{"type":49,"value":2569},"-codex-max",{"type":49,"value":2571}," for code, ",{"type":43,"tag":64,"props":2573,"children":2575},{"className":2574},[],[2576],{"type":49,"value":2577},"databricks-gte-large-en",{"type":49,"value":2579}," for embeddings — resolve actual names from the live list above.",{"type":43,"tag":84,"props":2581,"children":2583},{"id":2582},"off-platform-streaming",[2584],{"type":49,"value":2585},"Off-platform streaming",{"type":43,"tag":52,"props":2587,"children":2588},{},[2589,2591,2596,2598,2603,2605,2610],{"type":49,"value":2590},"For apps deployed ",{"type":43,"tag":56,"props":2592,"children":2593},{},[2594],{"type":49,"value":2595},"outside",{"type":49,"value":2597}," Databricks Apps (Vercel, AWS, standalone Node.js) hitting Databricks AI Gateway with Vercel AI SDK v6, see ",{"type":43,"tag":150,"props":2599,"children":2601},{"href":2600},"references\u002Foff-platform-streaming.md",[2602],{"type":49,"value":2600},{"type":49,"value":2604},". For AppKit-based apps, use the ",{"type":43,"tag":64,"props":2606,"children":2608},{"className":2607},[],[2609],{"type":49,"value":2370},{"type":49,"value":2611}," skill's built-in serving plugin instead.",{"type":43,"tag":84,"props":2613,"children":2615},{"id":2614},"troubleshooting",[2616],{"type":49,"value":2617},"Troubleshooting",{"type":43,"tag":91,"props":2619,"children":2620},{},[2621,2637],{"type":43,"tag":95,"props":2622,"children":2623},{},[2624],{"type":43,"tag":99,"props":2625,"children":2626},{},[2627,2632],{"type":43,"tag":103,"props":2628,"children":2629},{},[2630],{"type":49,"value":2631},"Error",{"type":43,"tag":103,"props":2633,"children":2634},{},[2635],{"type":49,"value":2636},"Solution",{"type":43,"tag":119,"props":2638,"children":2639},{},[2640,2664,2695,2735,2757,2782,2809],{"type":43,"tag":99,"props":2641,"children":2642},{},[2643,2652],{"type":43,"tag":126,"props":2644,"children":2645},{},[2646],{"type":43,"tag":64,"props":2647,"children":2649},{"className":2648},[],[2650],{"type":49,"value":2651},"cannot configure default credentials",{"type":43,"tag":126,"props":2653,"children":2654},{},[2655,2656,2662],{"type":49,"value":1513},{"type":43,"tag":64,"props":2657,"children":2659},{"className":2658},[],[2660],{"type":49,"value":2661},"--profile",{"type":49,"value":2663}," flag or authenticate first",{"type":43,"tag":99,"props":2665,"children":2666},{},[2667,2676],{"type":43,"tag":126,"props":2668,"children":2669},{},[2670],{"type":43,"tag":64,"props":2671,"children":2673},{"className":2672},[],[2674],{"type":49,"value":2675},"PERMISSION_DENIED",{"type":43,"tag":126,"props":2677,"children":2678},{},[2679,2681,2687,2689],{"type":49,"value":2680},"Check workspace permissions; for apps, ensure ",{"type":43,"tag":64,"props":2682,"children":2684},{"className":2683},[],[2685],{"type":49,"value":2686},"serving_endpoint",{"type":49,"value":2688}," resource declared with ",{"type":43,"tag":64,"props":2690,"children":2692},{"className":2691},[],[2693],{"type":49,"value":2694},"CAN_QUERY",{"type":43,"tag":99,"props":2696,"children":2697},{},[2698,2708],{"type":43,"tag":126,"props":2699,"children":2700},{},[2701,2703],{"type":49,"value":2702},"Endpoint stuck in ",{"type":43,"tag":64,"props":2704,"children":2706},{"className":2705},[],[2707],{"type":49,"value":284},{"type":43,"tag":126,"props":2709,"children":2710},{},[2711,2713,2719,2721,2726,2728,2733],{"type":49,"value":2712},"Wait up to 30 min for provisioned throughput. Check build logs: ",{"type":43,"tag":64,"props":2714,"children":2716},{"className":2715},[],[2717],{"type":49,"value":2718},"build-logs \u003CNAME> \u003CENTITY_NAME>",{"type":49,"value":2720}," (get entity name from ",{"type":43,"tag":64,"props":2722,"children":2724},{"className":2723},[],[2725],{"type":49,"value":240},{"type":49,"value":2727}," output → ",{"type":43,"tag":64,"props":2729,"children":2731},{"className":2730},[],[2732],{"type":49,"value":232},{"type":49,"value":2734},")",{"type":43,"tag":99,"props":2736,"children":2737},{},[2738,2747],{"type":43,"tag":126,"props":2739,"children":2740},{},[2741],{"type":43,"tag":64,"props":2742,"children":2744},{"className":2743},[],[2745],{"type":49,"value":2746},"RESOURCE_DOES_NOT_EXIST",{"type":43,"tag":126,"props":2748,"children":2749},{},[2750,2752],{"type":49,"value":2751},"Verify endpoint name with ",{"type":43,"tag":64,"props":2753,"children":2755},{"className":2754},[],[2756],{"type":49,"value":1678},{"type":43,"tag":99,"props":2758,"children":2759},{},[2760,2765],{"type":43,"tag":126,"props":2761,"children":2762},{},[2763],{"type":49,"value":2764},"Query returns 404",{"type":43,"tag":126,"props":2766,"children":2767},{},[2768,2770,2775,2777],{"type":49,"value":2769},"Endpoint may still be provisioning; check ",{"type":43,"tag":64,"props":2771,"children":2773},{"className":2772},[],[2774],{"type":49,"value":307},{"type":49,"value":2776}," via ",{"type":43,"tag":64,"props":2778,"children":2780},{"className":2779},[],[2781],{"type":49,"value":240},{"type":43,"tag":99,"props":2783,"children":2784},{},[2785,2796],{"type":43,"tag":126,"props":2786,"children":2787},{},[2788,2794],{"type":43,"tag":64,"props":2789,"children":2791},{"className":2790},[],[2792],{"type":49,"value":2793},"RATE_LIMIT_EXCEEDED",{"type":49,"value":2795}," (429)",{"type":43,"tag":126,"props":2797,"children":2798},{},[2799,2801,2807],{"type":49,"value":2800},"AI Gateway rate limit; check ",{"type":43,"tag":64,"props":2802,"children":2804},{"className":2803},[],[2805],{"type":49,"value":2806},"put-ai-gateway",{"type":49,"value":2808}," config or retry after backoff",{"type":43,"tag":99,"props":2810,"children":2811},{},[2812,2817],{"type":43,"tag":126,"props":2813,"children":2814},{},[2815],{"type":49,"value":2816},"Endpoint missing from the Serving UI after deploy",{"type":43,"tag":126,"props":2818,"children":2819},{},[2820,2822,2828],{"type":49,"value":2821},"UI filter defaults to \"Owned by me\". Deploy jobs run as a service principal, so the endpoint is hidden until you switch to \"All\". ",{"type":43,"tag":64,"props":2823,"children":2825},{"className":2824},[],[2826],{"type":49,"value":2827},"databricks serving-endpoints list",{"type":49,"value":2829}," always shows it.",{"type":43,"tag":2831,"props":2832,"children":2833},"style",{},[2834],{"type":49,"value":2835},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":2837,"total":3023},[2838,2855,2869,2886,2903,2923,2933,2955,2966,2981,2996,3009],{"slug":2839,"name":2839,"fn":2840,"description":2841,"org":2842,"tags":2843,"stars":23,"repoUrl":24,"updatedAt":2854},"databricks-agent-bricks","create Databricks Agent Bricks","Create Agent Bricks: Knowledge Assistants (KA) for document Q&A and Supervisor Agents for multi-agent orchestration (MAS).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2844,2847,2848,2851],{"name":2845,"slug":2846,"type":15},"Agents","agents",{"name":9,"slug":8,"type":15},{"name":2849,"slug":2850,"type":15},"Knowledge Management","knowledge-management",{"name":2852,"slug":2853,"type":15},"Multi-Agent","multi-agent","2026-07-15T05:41:38.548954",{"slug":2856,"name":2856,"fn":2857,"description":2858,"org":2859,"tags":2860,"stars":23,"repoUrl":24,"updatedAt":2868},"databricks-ai-functions","use Databricks built-in AI functions","Use Databricks built-in AI Functions (ai_classify, ai_extract, ai_summarize, ai_mask, ai_translate, ai_fix_grammar, ai_gen, ai_analyze_sentiment, ai_similarity, ai_parse_document, ai_prep_search, ai_query, ai_forecast) to add AI capabilities directly to SQL and PySpark pipelines without managing model endpoints. Also covers document parsing and building custom RAG pipelines (parse → prep_search → index → query).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2861,2864,2865],{"name":2862,"slug":2863,"type":15},"Data Analysis","data-analysis",{"name":9,"slug":8,"type":15},{"name":2866,"slug":2867,"type":15},"LLM","llm","2026-07-31T05:53:33.562077",{"slug":2870,"name":2870,"fn":2871,"description":2872,"org":2873,"tags":2874,"stars":23,"repoUrl":24,"updatedAt":2885},"databricks-ai-runtime","submit and manage Databricks GPU workloads","Databricks AI Runtime (`air`) CLI — the command-line tool for submitting and managing GPU training workloads on Databricks serverless compute. Use for: running `air` workloads, custom Docker image setup, environment configuration, and troubleshooting `air` jobs.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2875,2878,2879,2882],{"name":2876,"slug":2877,"type":15},"CLI","cli",{"name":9,"slug":8,"type":15},{"name":2880,"slug":2881,"type":15},"Docker","docker",{"name":2883,"slug":2884,"type":15},"Engineering","engineering","2026-07-12T08:04:55.843982",{"slug":2887,"name":2887,"fn":2888,"description":2889,"org":2890,"tags":2891,"stars":23,"repoUrl":24,"updatedAt":2902},"databricks-aibi-dashboards","create Databricks AI\u002FBI dashboards","Create Databricks AI\u002FBI dashboards. Must use when creating, updating, or deploying Lakeview dashboards as Databricks Dashboard have a unique json structure. CRITICAL: You MUST test ALL SQL queries via CLI BEFORE deploying. Follow guidelines strictly.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2892,2895,2898,2901],{"name":2893,"slug":2894,"type":15},"Analytics","analytics",{"name":2896,"slug":2897,"type":15},"Dashboards","dashboards",{"name":2899,"slug":2900,"type":15},"Data Visualization","data-visualization",{"name":9,"slug":8,"type":15},"2026-07-12T08:04:25.314591",{"slug":2904,"name":2904,"fn":2905,"description":2906,"org":2907,"tags":2908,"stars":23,"repoUrl":24,"updatedAt":2922},"databricks-app-design","design UX for Databricks AppKit applications","Design the UX of custom-code Databricks Apps (AppKit\u002FReact) data screens — KPI\u002Foverview pages, reports, charts, tables, and Genie\u002Fchat data assistants — mapped to concrete AppKit components. Use when BUILDING or reviewing the UI of an AppKit\u002FReact app that displays data or answers data questions: choosing genre, layout, charts, KPIs, semantic color, required states (loading\u002Fempty\u002Ferror), IBCS notation, and AI-result trust (showing generated SQL\u002Fsources for Genie\u002Fchat). A plain \"create a dashboard\" request means a managed AI\u002FBI (Lakeview) dashboard → use databricks-aibi-dashboards, NOT this skill. Also NOT for non-data frontend (forms, settings, auth, marketing) or scaffolding\u002Fbuild\u002Fdeploy (→ databricks-apps). Complements databricks-apps; use it alongside whenever a custom app has a chart, table, KPI, report, or Genie\u002Fchat\u002FAI surface.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2909,2910,2913,2916,2919],{"name":9,"slug":8,"type":15},{"name":2911,"slug":2912,"type":15},"Design","design",{"name":2914,"slug":2915,"type":15},"Frontend","frontend",{"name":2917,"slug":2918,"type":15},"React","react",{"name":2920,"slug":2921,"type":15},"UI Components","ui-components","2026-07-12T08:04:02.02398",{"slug":2370,"name":2370,"fn":2924,"description":2925,"org":2926,"tags":2927,"stars":23,"repoUrl":24,"updatedAt":2932},"build applications on Databricks Apps","Build apps on Databricks Apps platform. Use when asked to create data apps, analytics tools, or custom interactive visualizations. A plain \"create a dashboard\" request means a managed AI\u002FBI (Lakeview) dashboard → use databricks-aibi-dashboards, not this skill. Evaluates data access patterns (analytics vs Lakebase synced tables) before scaffolding. Invoke BEFORE starting implementation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2928,2929,2930,2931],{"name":2893,"slug":2894,"type":15},{"name":2896,"slug":2897,"type":15},{"name":2862,"slug":2863,"type":15},{"name":9,"slug":8,"type":15},"2026-07-12T08:03:59.061458",{"slug":2934,"name":2934,"fn":2935,"description":2936,"org":2937,"tags":2938,"stars":23,"repoUrl":24,"updatedAt":2954},"databricks-apps-python","build Python backends for Databricks Apps","Python backend for Databricks Apps — FastAPI (default), Flask, Dash, Streamlit, Gradio, Reflex. **Default for a new Databricks App is `databricks-apps` (AppKit — Node\u002FTypeScript\u002FReact) — reach for it first.** Use this skill only when the user asks for a Python backend, extends an existing Python app, or the team is Python-only. Covers OAuth auth, app resources, SQL warehouse and Lakebase connectivity, foundation-model \u002F Vector Search \u002F model-serving APIs (via `databricks-python-sdk`), and deployment via CLI or DABs.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2939,2940,2943,2946,2949,2951],{"name":9,"slug":8,"type":15},{"name":2941,"slug":2942,"type":15},"FastAPI","fastapi",{"name":2944,"slug":2945,"type":15},"Flask","flask",{"name":2947,"slug":2948,"type":15},"Gradio","gradio",{"name":2950,"slug":968,"type":15},"Python",{"name":2952,"slug":2953,"type":15},"Streamlit","streamlit","2026-07-12T08:04:10.970845",{"slug":38,"name":38,"fn":2956,"description":2957,"org":2958,"tags":2959,"stars":23,"repoUrl":24,"updatedAt":2965},"configure Databricks CLI and authentication","Databricks CLI operations and the parent\u002Fentry-point skill for Databricks CLI use: authentication, profile selection, and bundles. Load this first for CLI, auth, profile, and bundle tasks, then load the matching product skill. For finding or exploring data, answering questions about the data, or generating SQL, load the databricks-data-discovery skill (it routes to Genie One). Contains up-to-date guidelines for Databricks-related CLI tasks.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2960,2963,2964],{"name":2961,"slug":2962,"type":15},"Authentication","authentication",{"name":2876,"slug":2877,"type":15},{"name":9,"slug":8,"type":15},"2026-07-18T05:11:05.45506",{"slug":2967,"name":2967,"fn":2968,"description":2969,"org":2970,"tags":2971,"stars":23,"repoUrl":24,"updatedAt":2980},"databricks-dabs","manage Databricks Declarative Automation Bundles","Create, configure, validate, deploy, run, and manage Declarative Automation Bundles (DABs, formerly Databricks Asset Bundles). Use when working with Databricks resources via DABs including dashboards, jobs, pipelines, alerts, volumes, and apps.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2972,2975,2978,2979],{"name":2973,"slug":2974,"type":15},"Automation","automation",{"name":2976,"slug":2977,"type":15},"Configuration","configuration",{"name":9,"slug":8,"type":15},{"name":17,"slug":18,"type":15},"2026-07-15T05:41:35.930355",{"slug":2982,"name":2982,"fn":2983,"description":2984,"org":2985,"tags":2986,"stars":23,"repoUrl":24,"updatedAt":2995},"databricks-data-discovery","discover and query Databricks data","Discover, explore, and query Databricks data via Genie — the CLI equivalent of the Genie One MCP. MUST be invoked whenever the user asks to find or locate data ('what tables are in X', 'where does X live', 'which catalog\u002Fschema has Y'), answer a natural-language question about the data, or write a SQL query.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2987,2988,2991,2992],{"name":2862,"slug":2863,"type":15},{"name":2989,"slug":2990,"type":15},"Data Engineering","data-engineering",{"name":9,"slug":8,"type":15},{"name":2993,"slug":2994,"type":15},"SQL","sql","2026-07-31T05:53:32.561877",{"slug":2997,"name":2997,"fn":2998,"description":2999,"org":3000,"tags":3001,"stars":23,"repoUrl":24,"updatedAt":3008},"databricks-dbsql","query and script Databricks SQL warehouses","Databricks SQL (DBSQL) advanced features and SQL warehouse capabilities. This skill MUST be invoked when the user mentions: \"DBSQL\", \"Databricks SQL\", \"SQL warehouse\", \"SQL scripting\", \"stored procedure\", \"CALL procedure\", \"materialized view\", \"CREATE MATERIALIZED VIEW\", \"pipe syntax\", \"|>\", \"geospatial\", \"H3\", \"ST_\", \"spatial SQL\", \"collation\", \"COLLATE\", \"ai_query\", \"ai_classify\", \"ai_extract\", \"ai_gen\", \"AI function\", \"http_request\", \"remote_query\", \"read_files\", \"Lakehouse Federation\", \"recursive CTE\", \"WITH RECURSIVE\", \"multi-statement transaction\", \"temp table\", \"temporary view\", \"pipe operator\". SHOULD also invoke when the user asks about SQL best practices, data modeling patterns, or advanced SQL features on Databricks.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3002,3003,3006,3007],{"name":2862,"slug":2863,"type":15},{"name":3004,"slug":3005,"type":15},"Database","database",{"name":9,"slug":8,"type":15},{"name":2993,"slug":2994,"type":15},"2026-07-12T08:04:08.678282",{"slug":3010,"name":3010,"fn":3011,"description":3012,"org":3013,"tags":3014,"stars":23,"repoUrl":24,"updatedAt":3022},"databricks-docs","search Databricks documentation","Databricks documentation reference via llms.txt index. Use when other skills do not cover a topic, looking up unfamiliar Databricks features, or needing authoritative docs on APIs, configurations, or platform capabilities.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3015,3016,3019],{"name":9,"slug":8,"type":15},{"name":3017,"slug":3018,"type":15},"Documentation","documentation",{"name":3020,"slug":3021,"type":15},"Reference","reference","2026-07-15T05:41:34.697746",31,{"items":3025,"total":3023},[3026,3033,3039,3046,3053,3061,3068],{"slug":2839,"name":2839,"fn":2840,"description":2841,"org":3027,"tags":3028,"stars":23,"repoUrl":24,"updatedAt":2854},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3029,3030,3031,3032],{"name":2845,"slug":2846,"type":15},{"name":9,"slug":8,"type":15},{"name":2849,"slug":2850,"type":15},{"name":2852,"slug":2853,"type":15},{"slug":2856,"name":2856,"fn":2857,"description":2858,"org":3034,"tags":3035,"stars":23,"repoUrl":24,"updatedAt":2868},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3036,3037,3038],{"name":2862,"slug":2863,"type":15},{"name":9,"slug":8,"type":15},{"name":2866,"slug":2867,"type":15},{"slug":2870,"name":2870,"fn":2871,"description":2872,"org":3040,"tags":3041,"stars":23,"repoUrl":24,"updatedAt":2885},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3042,3043,3044,3045],{"name":2876,"slug":2877,"type":15},{"name":9,"slug":8,"type":15},{"name":2880,"slug":2881,"type":15},{"name":2883,"slug":2884,"type":15},{"slug":2887,"name":2887,"fn":2888,"description":2889,"org":3047,"tags":3048,"stars":23,"repoUrl":24,"updatedAt":2902},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3049,3050,3051,3052],{"name":2893,"slug":2894,"type":15},{"name":2896,"slug":2897,"type":15},{"name":2899,"slug":2900,"type":15},{"name":9,"slug":8,"type":15},{"slug":2904,"name":2904,"fn":2905,"description":2906,"org":3054,"tags":3055,"stars":23,"repoUrl":24,"updatedAt":2922},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3056,3057,3058,3059,3060],{"name":9,"slug":8,"type":15},{"name":2911,"slug":2912,"type":15},{"name":2914,"slug":2915,"type":15},{"name":2917,"slug":2918,"type":15},{"name":2920,"slug":2921,"type":15},{"slug":2370,"name":2370,"fn":2924,"description":2925,"org":3062,"tags":3063,"stars":23,"repoUrl":24,"updatedAt":2932},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3064,3065,3066,3067],{"name":2893,"slug":2894,"type":15},{"name":2896,"slug":2897,"type":15},{"name":2862,"slug":2863,"type":15},{"name":9,"slug":8,"type":15},{"slug":2934,"name":2934,"fn":2935,"description":2936,"org":3069,"tags":3070,"stars":23,"repoUrl":24,"updatedAt":2954},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3071,3072,3073,3074,3075,3076],{"name":9,"slug":8,"type":15},{"name":2941,"slug":2942,"type":15},{"name":2944,"slug":2945,"type":15},{"name":2947,"slug":2948,"type":15},{"name":2950,"slug":968,"type":15},{"name":2952,"slug":2953,"type":15}]