---
title: "Paginated Auto Tune audit history for an all-purpose cluster"
method: GET
path: "/api/v1/databricks/clusters/{cluster_id}/auto-tune/history"
tags: ["DATABRICKS", "Databricks", "Databricks Clusters"]
---

# Paginated Auto Tune audit history for an all-purpose cluster

`GET /api/v1/databricks/clusters/{cluster_id}/auto-tune/history`

Read-only audit history for the Auto Tune tab, newest-first.

## Path parameters

- `cluster_id` string, required

## Query parameters

- `instance_id` integer, required — Tenant instance ID (workspace)
- `event_types` string, nullable — Comma-separated event_type values to include. Empty = all.
- `period` integer, nullable — Look-back window in days.
- `workspace_id` string, nullable — Optional Databricks workspace_id to scope the lookup.
- `page` integer — Page number (1-indexed)
- `page_size` integer — Items per page
- `navigationSource` string, nullable

## Headers

- `x-tenant` string, required

## Response `200`

Successful Response

- AutoTuneHistoryResponse — Paginated response wrapper for the Auto Tune history endpoint. Matches the existing Databricks response convention (``total_count`` / ``page`` / ``page_size`` / ``total_pages``) rather than ``fastapi_pagination.Page[T]`` — none of the other Databricks endpoints in this router use the latter. Shared by the job-cluster history endpoint, which populates every item's ``reason_detail``, and the sibling all-purpose-cluster history endpoint (``cluster_auto_tune_api.py``), which intentionally does not — that surface's items always carry ``reason_detail=None`` and the FE falls back to ``actionable_message`` / ``reason``. Wiring ``reason_detail`` into the cluster endpoint too is a candidate follow-up, not done here.
  - `items` AutoTuneHistoryEvent[], required
    - `event_id` integer, required
    - `event_type` string, required
    - `mode` string, nullable
    - `change_timestamp` string, date-time, required
    - `task_key` string, nullable
    - `recommendation_from` string, nullable
    - `recommendation_to` string, nullable
    - `change_summary` string, nullable
    - `recommendation_from_workers` string, nullable
    - `recommendation_to_workers` string, nullable
    - `recommendation_from_worker_instance` string, nullable
    - `recommendation_to_worker_instance` string, nullable
    - `recommendation_from_driver_instance` string, nullable
    - `recommendation_to_driver_instance` string, nullable
    - `changed_by` integer, nullable
    - `changed_by_name` string, nullable
    - `actionable_message` string, nullable
    - `reason` string, nullable
    - `event_message` string
    - `reason_detail` string, nullable
    - `rec_type` string, nullable
  - `total_count` integer
  - `page` integer
  - `page_size` integer
  - `total_pages` integer

## Other responses

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

## Changes

- **2026-09-02** `fcb62c79da95` — 2 info
  - added the optional property `items/items/change_summary` to the response with the `200` status
  - added the optional property `items/items/rec_type` to the response with the `200` status

[Change history](https://skmtc.dev/myaltimate/apis/fastapi/changes/api/v1/databricks/clusters/:cluster_id/auto-tune/history/get.md)

---

[API](https://skmtc.dev/myaltimate/apis/fastapi.md) · [All operations](https://skmtc.dev/myaltimate/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/myaltimate/fastapi/revisions/51aa5d004c49/schema)
