---
title: "Save job-wide Auto Tune backoff/notification config"
method: PATCH
path: "/api/v1/databricks/jobs/{job_id}/auto-tune/config"
tags: ["DATABRICKS", "Databricks", "Databricks Jobs"]
---

# Save job-wide Auto Tune backoff/notification config

`PATCH /api/v1/databricks/jobs/{job_id}/auto-tune/config`

Persist the job-wide backoff + notification config. A plain
config write — never touches per-task enable/disable, never runs a
Databricks preflight.

## Path parameters

- `job_id` string, required

## Query parameters

- `instance_id` integer, required — Tenant instance ID (workspace) the job runs in
- `workspace_id` string, nullable — Optional Databricks workspace_id to scope the lookup. Defends against cross-workspace job_id collisions.

## Headers

- `x-tenant` string, required

## Request body

- JobAutoTuneConfigRequest — Request body for ``PATCH /databricks/jobs/{id}/auto-tune/config``.
  - `backoff_policy` JobAutoTuneBackoffPolicy — Job-wide backoff policy — the "when a change misbehaves" guardrail for every enabled optimization on the job. Stored under the ``backoff_policy`` key in ``databricks_auto_tune_configuration.configuration``, the same slot the cluster port uses, but only with the one setting a job has: how far a run's latency may drift from its pre-tune baseline. The cluster policy's churn / cold-start counters, its ``cold_start_threshold_pct`` and its ``trigger_action`` are deliberately absent. Each describes behaviour the cluster and warehouse backoff monitors implement and nothing on the job side evaluates, and the jobs drawer renders none of them. Keys left in a stored row from before this split are ignored on read and dropped on the next save.
    - `latency_threshold_pct` integer — Backoff sensitivity as a percent of the job's pre-tune run latency baseline. 150 = trip when a run's latency exceeds 1.5x the baseline. Min 100%.
  - `notification_config` ClusterAutoTuneNotificationConfig — Cluster-wide Auto Tune notification preferences. Stored under the ``notification_config`` key in ``databricks_auto_tune_configuration.configuration``. References Slack channel ids from the tenant's ``notifications`` table by reference only — never a webhook URL inline (see ``NotificationConfigPublic`` for the same redaction rule on the generic notifications settings page).
    - `notify_backoffs_and_failures` boolean
    - `notify_changes_applied` boolean
    - `slack_enabled` boolean
    - `slack_channel_ids` integer[]
    - `email_enabled` boolean
    - `email_recipients` string[]

## Response `200`

Successful Response

- JobAutoTuneConfigResponse — Response for the job Auto Tune config read/write/reset endpoints.
  - `backoff_policy` JobAutoTuneBackoffPolicy — Job-wide backoff policy — the "when a change misbehaves" guardrail for every enabled optimization on the job. Stored under the ``backoff_policy`` key in ``databricks_auto_tune_configuration.configuration``, the same slot the cluster port uses, but only with the one setting a job has: how far a run's latency may drift from its pre-tune baseline. The cluster policy's churn / cold-start counters, its ``cold_start_threshold_pct`` and its ``trigger_action`` are deliberately absent. Each describes behaviour the cluster and warehouse backoff monitors implement and nothing on the job side evaluates, and the jobs drawer renders none of them. Keys left in a stored row from before this split are ignored on read and dropped on the next save.
    - `latency_threshold_pct` integer — Backoff sensitivity as a percent of the job's pre-tune run latency baseline. 150 = trip when a run's latency exceeds 1.5x the baseline. Min 100%.
  - `notification_config` ClusterAutoTuneNotificationConfig — Cluster-wide Auto Tune notification preferences. Stored under the ``notification_config`` key in ``databricks_auto_tune_configuration.configuration``. References Slack channel ids from the tenant's ``notifications`` table by reference only — never a webhook URL inline (see ``NotificationConfigPublic`` for the same redaction rule on the generic notifications settings page).
    - `notify_backoffs_and_failures` boolean
    - `notify_changes_applied` boolean
    - `slack_enabled` boolean
    - `slack_channel_ids` integer[]
    - `email_enabled` boolean
    - `email_recipients` string[]
  - `entity_type` string

## Other responses

- `403` — Not authorized
- `422` — Validation Error

## Changes

- **2026-09-11** `70e0a3e5cb0d` — 10 warning, 2 info
  - removed the request property `backoff_policy/cold_start_threshold_pct`
  - removed the request property `backoff_policy/cold_start_threshold_per_day`
  - removed the request property `backoff_policy/restarts_after_shutdown`
  - removed the request property `backoff_policy/stability_period_days`
  - …8 more
- **2026-09-02** `fcb62c79da95` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/myaltimate/apis/fastapi/changes/api/v1/databricks/jobs/:job_id/auto-tune/config/patch.md)

---

[API](https://skmtc.dev/myaltimate/apis/fastapi.md) · [All operations](https://skmtc.dev/myaltimate/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc.dev/myaltimate/apis/fastapi/revisions/ae2162610780?raw)
