---
title: Update a Databricks integration account
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: Docs > API Reference > Databricks Integration
---

> For the complete documentation index, see [llms.txt](https://docs.datadoghq.com/llms.txt).

# Update a Databricks integration account{% #update-a-databricks-integration-account %}

{% tab title="v2" %}
**Note**: This endpoint is in preview and is subject to change. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
| Datadog site      | API endpoint                                                                                       |
| ----------------- | -------------------------------------------------------------------------------------------------- |
| ap1.datadoghq.com | PATCH https://api.ap1.datadoghq.com/api/v2/integration-interfaces/databricks/accounts/{account_id} |
| ap2.datadoghq.com | PATCH https://api.ap2.datadoghq.com/api/v2/integration-interfaces/databricks/accounts/{account_id} |
| app.datadoghq.eu  | PATCH https://api.datadoghq.eu/api/v2/integration-interfaces/databricks/accounts/{account_id}      |
| app.ddog-gov.com  | PATCH https://api.ddog-gov.com/api/v2/integration-interfaces/databricks/accounts/{account_id}      |
| us2.ddog-gov.com  | PATCH https://api.us2.ddog-gov.com/api/v2/integration-interfaces/databricks/accounts/{account_id}  |
| uk1.datadoghq.com | PATCH https://api.uk1.datadoghq.com/api/v2/integration-interfaces/databricks/accounts/{account_id} |
| app.datadoghq.com | PATCH https://api.datadoghq.com/api/v2/integration-interfaces/databricks/accounts/{account_id}     |
| us3.datadoghq.com | PATCH https://api.us3.datadoghq.com/api/v2/integration-interfaces/databricks/accounts/{account_id} |
| us5.datadoghq.com | PATCH https://api.us5.datadoghq.com/api/v2/integration-interfaces/databricks/accounts/{account_id} |

### Overview

Update a Databricks integration account. Only the fields provided are changed. This endpoint requires the `manage_integrations` permission.

### Arguments

#### Path Parameters

| Name                         | Type   | Description                                   |
| ---------------------------- | ------ | --------------------------------------------- |
| account_id [*required*] | string | Unique identifier of the integration account. |

### Request

#### Body Data (required)



{% tab title="Model" %}

| Parent field                                     | Field                                            | Type          | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ------------------------------------------------ | ------------------------------------------------ | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|                                                  | data [*required*]                           | object        | Data envelope for updating a Databricks integration account.                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| data                                             | attributes [*required*]                     | object        | Writable attributes used to update a Databricks integration account. Every field is optional; only the fields provided are changed. When `dataflows` is provided, only the dataflow ids included in the request are modified; dataflows omitted from the map keep their current configuration, as do the settings of an included dataflow that provides only `enabled`.                                                                                                                                                    |
| attributes                                       | authentication                                   |  <oneOf> | Authentication for updating the Databricks integration account. Exactly one method is set. Choosing `private_action_runner` leaves the `databricks-model-serving-metrics` dataflow unable to collect data. `bearer_token` is deprecated on Databricks: it is accepted only on accounts that already use it and never on creation, so it cannot move an account onto token authentication. Migrate those accounts to `databricks_oauth` or `private_action_runner`.                                                         |
| authentication                                   | <auth_type=databricks_oauth>                     | object        | Databricks OAuth machine-to-machine authentication using a service principal. Only the fields provided are changed; omit `client_secret` to keep the stored one.                                                                                                                                                                                                                                                                                                                                                           |
| <auth_type=databricks_oauth>                     | auth_type [*required*]                      | enum          | The authentication method type. Allowed enum values: `databricks_oauth`                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| <auth_type=databricks_oauth>                     | azure_tenant_id                                  | string        | Microsoft Entra ID tenant of the service principal, for Azure Databricks workspaces. Omit it to keep the stored tenant, send `null` or an empty string to remove it, or send a value to replace it.                                                                                                                                                                                                                                                                                                                        |
| <auth_type=databricks_oauth>                     | client_id                                        | string        | Client ID of the Databricks service principal.                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| <auth_type=databricks_oauth>                     | client_secret                                    | string        | Secret of the Databricks service principal. Generate it under User management > Service principals > Credentials & secrets in Databricks.                                                                                                                                                                                                                                                                                                                                                                                  |
| authentication                                   | <auth_type=private_action_runner>                | object        | Private Action Runner authentication. The runner holds the Databricks credentials, so this method carries no secrets. Only the fields provided are changed.                                                                                                                                                                                                                                                                                                                                                                |
| <auth_type=private_action_runner>                | auth_type [*required*]                      | enum          | The authentication method type. Allowed enum values: `private_action_runner`                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| <auth_type=private_action_runner>                | connection_id                                    | uuid          | Unique identifier of the Private Action Runner connection holding the credentials.                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| <auth_type=private_action_runner>                | secret_path                                      | string        | Path of the credential inside the secret backend configured on the runner. Omit it to keep the stored path, send `null` or an empty string to remove it, or send a value to replace it.                                                                                                                                                                                                                                                                                                                                    |
| <auth_type=private_action_runner>                | user_uuid                                        | uuid          | Unique identifier of the user the Private Action Runner connection belongs to.                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| authentication                                   | <auth_type=bearer_token>                         | object        | Bearer token authentication. The credential is a single opaque secret, a Databricks personal access token, with no accompanying non-secret identifier. The method is deprecated: Databricks accepts it only on accounts that already use it, and never on creation. Only the fields provided are changed; omit `token` to keep the stored one.                                                                                                                                                                             |
| <auth_type=bearer_token>                         | auth_type [*required*]                      | enum          | The authentication method type. Allowed enum values: `bearer_token`                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| <auth_type=bearer_token>                         | token                                            | string        | Secret token used to authenticate with Databricks.                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| attributes                                       | dataflows                                        | object        | Data Datadog collects from Databricks, keyed by dataflow id. Each dataflow turns on a distinct kind of collection: set `enabled` to start or stop it, and use `settings` to configure what it collects. Defaults listed on each dataflow apply when the account is created; on update, omitted fields keep their current values. Some dataflows have prerequisites, noted on each; unless one is documented as rejecting the request, it is not verified, so a dataflow enabled without it is stored but collects no data. |
| dataflows                                        | databricks-cloud-cost-metrics                    | object        | Cost data collected from your Databricks system tables. [Cloud Cost Management](https://docs.datadoghq.com/cloud_cost_management.md) must be enabled for your organization while this dataflow is on; any request that leaves it enabled without that is rejected with a `422` response.                                                                                                                                                                                                                                   |
| databricks-cloud-cost-metrics                    | enabled                                          | boolean       | Whether Datadog collects this data. Defaults to `false`; set to `true` to start collection.                                                                                                                                                                                                                                                                                                                                                                                                                                |
| databricks-cloud-cost-metrics                    | settings                                         | object        | Settings of the Cloud Cost Management dataflow. Only the fields provided are changed.                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| settings                                         | ccm_collect_all_workspaces                       | boolean       | Whether cost data is collected for every workspace in the Databricks account rather than this workspace only. This takes effect across the Databricks account: if any one workspace enables it, Datadog collects cost data for all of them regardless of their individual settings, and every covered workspace incurs Cloud Cost Management charges. Defaults to `true`.                                                                                                                                                  |
| dataflows                                        | databricks-data-observability-jobs-monitoring    | object        | Data Jobs Monitoring, which collects performance, reliability, and cost data for your Databricks jobs.                                                                                                                                                                                                                                                                                                                                                                                                                     |
| databricks-data-observability-jobs-monitoring    | enabled                                          | boolean       | Whether Datadog collects this data. Defaults to `true`; set to `false` to stop collection.                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| databricks-data-observability-jobs-monitoring    | settings                                         | object        | Settings of the Data Jobs Monitoring dataflow. Only the fields provided are changed.                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| settings                                         | dd_api_key_id                                    | string        | ID of the Datadog API key the global init script uses to submit data. Setting or changing it requires `dd_api_key_secret` in the same request.                                                                                                                                                                                                                                                                                                                                                                             |
| settings                                         | dd_api_key_secret                                | string        | Secret value of the Datadog API key identified by `dd_api_key_id`.                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| settings                                         | djm_global_init_script_enabled                   | boolean       | Whether Datadog installs and manages the Agent on your Databricks clusters through a global init script. Installation can take up to 15 minutes and requires Databricks Workspace Admin permissions. The script does not apply to clusters in Standard access mode. Leave this `false` to install the Agent yourself. Defaults to `false`.                                                                                                                                                                                 |
| settings                                         | script_gpum_enabled                              | boolean       | Whether GPU metrics are collected from your Databricks clusters. The Agent installed by the global init script performs the collection, so this requires the dataflow to be enabled with `djm_global_init_script_enabled` set to `true`. Defaults to `false`.                                                                                                                                                                                                                                                              |
| settings                                         | script_logs_enabled                              | boolean       | Whether driver and worker logs are collected from your Databricks clusters. The Agent installed by the global init script performs the collection, so this requires the dataflow to be enabled with `djm_global_init_script_enabled` set to `true`. Defaults to `false`.                                                                                                                                                                                                                                                   |
| settings                                         | serverless_jobs_enabled                          | boolean       | Whether health and cost data is collected for jobs running on Serverless or SQL Warehouse compute. This compute has no clusters for the global init script to target, so collection reads the Databricks system tables and requires `system_tables_sql_warehouse_id`. Defaults to `true`.                                                                                                                                                                                                                                  |
| dataflows                                        | databricks-data-observability-quality-monitoring | object        | Data Observability, which collects lineage and data quality information from your Databricks catalogs so you can explore how data flows and detect, resolve, and prevent quality issues.                                                                                                                                                                                                                                                                                                                                   |
| databricks-data-observability-quality-monitoring | enabled                                          | boolean       | Whether Datadog collects this data. Defaults to `false`; set to `true` to start collection.                                                                                                                                                                                                                                                                                                                                                                                                                                |
| databricks-data-observability-quality-monitoring | settings                                         | object        | Settings of the Data Observability dataflow. Only the fields provided are changed.                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| settings                                         | do_crawlers_cron                                 | string        | Cron expression setting how often Datadog connects to your Databricks warehouse to collect metadata. Currently, only hourly (`0 * * * *`) and daily (`0 0 * * *`) are supported. Defaults to hourly (`0 * * * *`).                                                                                                                                                                                                                                                                                                         |
| settings                                         | sync_system_catalog                              | boolean       | Whether metadata from the Databricks `system` catalog is included in Data Observability alongside your data catalogs. Defaults to `false`.                                                                                                                                                                                                                                                                                                                                                                                 |
| dataflows                                        | databricks-model-serving-metrics                 | object        | Health and usage metrics for your Databricks model serving endpoints. Not supported on accounts that authenticate with `private_action_runner`; on those accounts this dataflow collects no data.                                                                                                                                                                                                                                                                                                                          |
| databricks-model-serving-metrics                 | enabled                                          | boolean       | Whether Datadog collects this data. Defaults to `false`; set to `true` to start collection.                                                                                                                                                                                                                                                                                                                                                                                                                                |
| attributes                                       | name                                             | string        | Human-readable name of the Databricks integration account.                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| attributes                                       | settings                                         | object        | Settings for updating the Databricks integration account. Only the fields provided are changed.                                                                                                                                                                                                                                                                                                                                                                                                                            |
| settings                                         | system_tables_sql_warehouse_id                   | string        | ID of the SQL warehouse used to query the Databricks system tables. Find it at the end of the HTTP Path under Warehouses > Connection Details in the Databricks console. Required once the cloud cost metrics or the Data Observability dataflow is enabled, or while `serverless_jobs_enabled` is on; an update that leaves the account without one is rejected with a `422` response.                                                                                                                                    |
| settings                                         | workspace_url                                    | string        | URL of the Databricks workspace.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| data                                             | id [*required*]                             | string        | Unique identifier of the Databricks integration account to update.                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| data                                             | type [*required*]                           | enum          | The type of the integration account resource. Always `integration-account`. Allowed enum values: `integration-account`                                                                                                                                                                                                                                                                                                                                                                                                     |

{% /tab %}

{% tab title="Example" %}

```json
{
  "data": {
    "attributes": {
      "authentication": {
        "auth_type": "databricks_oauth",
        "azure_tenant_id": "4d3bac44-0230-4732-9e70-cc00736f0a97",
        "client_id": "5c10654a-b3a3-4840-b37f-f477590c70a0",
        "client_secret": "your-client-secret"
      },
      "dataflows": {
        "databricks-cloud-cost-metrics": {
          "enabled": true,
          "settings": {
            "ccm_collect_all_workspaces": true
          }
        },
        "databricks-data-observability-jobs-monitoring": {
          "enabled": true,
          "settings": {
            "dd_api_key_id": "fe383f4e-09fc-46bf-8e10-4efdd453a646",
            "dd_api_key_secret": "your-datadog-api-key",
            "djm_global_init_script_enabled": true,
            "script_gpum_enabled": true,
            "script_logs_enabled": true,
            "serverless_jobs_enabled": true
          }
        },
        "databricks-data-observability-quality-monitoring": {
          "enabled": true,
          "settings": {
            "do_crawlers_cron": "0 * * * *",
            "sync_system_catalog": true
          }
        },
        "databricks-model-serving-metrics": {
          "enabled": true
        }
      },
      "name": "My Databricks Workspace",
      "settings": {
        "system_tables_sql_warehouse_id": "aba7c023d4172910",
        "workspace_url": "https://dbc-1234abcd.cloud.databricks.com"
      }
    },
    "id": "a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f",
    "type": "integration-account"
  }
}
```

{% /tab %}

### Response

{% tab title="200" %}
OK
{% tab title="Model" %}
Response payload for a single Databricks integration account.

| Parent field                                     | Field                                            | Type          | Description                                                                                                                                                                                                                                                                                                                                           |
| ------------------------------------------------ | ------------------------------------------------ | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|                                                  | data [*required*]                           | object        | Data envelope of a Databricks integration account, including server-assigned identity.                                                                                                                                                                                                                                                                |
| data                                             | attributes [*required*]                     | object        | Attributes of a Databricks integration account returned in responses.                                                                                                                                                                                                                                                                                 |
| attributes                                       | authentication                                   |  <oneOf> | Authentication configured on the Databricks integration account. A `bearer_token` method indicates an account still on token authentication, which Databricks accepts only on accounts that already use it.                                                                                                                                           |
| authentication                                   | <auth_type=databricks_oauth>                     | object        | The Databricks OAuth authentication method and service principal configured on the account.                                                                                                                                                                                                                                                           |
| <auth_type=databricks_oauth>                     | auth_type [*required*]                      | enum          | The authentication method type. Allowed enum values: `databricks_oauth`                                                                                                                                                                                                                                                                               |
| <auth_type=databricks_oauth>                     | azure_tenant_id                                  | string        | Microsoft Entra ID tenant of the service principal, for Azure Databricks workspaces.                                                                                                                                                                                                                                                                  |
| <auth_type=databricks_oauth>                     | client_id [*required*]                      | string        | Client ID of the Databricks service principal.                                                                                                                                                                                                                                                                                                        |
| authentication                                   | <auth_type=private_action_runner>                | object        | The Private Action Runner authentication method configured on the account.                                                                                                                                                                                                                                                                            |
| <auth_type=private_action_runner>                | auth_type [*required*]                      | enum          | The authentication method type. Allowed enum values: `private_action_runner`                                                                                                                                                                                                                                                                          |
| <auth_type=private_action_runner>                | connection_id [*required*]                  | uuid          | Unique identifier of the Private Action Runner connection holding the credentials.                                                                                                                                                                                                                                                                    |
| <auth_type=private_action_runner>                | secret_path                                      | string        | Path of the credential inside the secret backend configured on the runner.                                                                                                                                                                                                                                                                            |
| <auth_type=private_action_runner>                | user_uuid [*required*]                      | uuid          | Unique identifier of the user the Private Action Runner connection belongs to.                                                                                                                                                                                                                                                                        |
| authentication                                   | <auth_type=bearer_token>                         | object        | The bearer token authentication method configured on the account.                                                                                                                                                                                                                                                                                     |
| <auth_type=bearer_token>                         | auth_type [*required*]                      | enum          | The authentication method type. Allowed enum values: `bearer_token`                                                                                                                                                                                                                                                                                   |
| attributes                                       | dataflows                                        | object        | Data Datadog collects from Databricks, keyed by dataflow id.                                                                                                                                                                                                                                                                                          |
| dataflows                                        | databricks-cloud-cost-metrics                    | object        | Cost data collected from your Databricks system tables. Requires [Cloud Cost Management](https://docs.datadoghq.com/cloud_cost_management.md) to be set up for your organization.                                                                                                                                                                     |
| databricks-cloud-cost-metrics                    | enabled                                          | boolean       | Whether Datadog collects this data.                                                                                                                                                                                                                                                                                                                   |
| databricks-cloud-cost-metrics                    | settings                                         | object        | Settings of the Cloud Cost Management dataflow.                                                                                                                                                                                                                                                                                                       |
| settings                                         | ccm_collect_all_workspaces                       | boolean       | Whether cost data is collected for every workspace in the Databricks account rather than this workspace only. This takes effect across the Databricks account: if any one workspace enables it, Datadog collects cost data for all of them regardless of their individual settings, and every covered workspace incurs Cloud Cost Management charges. |
| dataflows                                        | databricks-data-observability-jobs-monitoring    | object        | Data Jobs Monitoring, which collects performance, reliability, and cost data for your Databricks jobs.                                                                                                                                                                                                                                                |
| databricks-data-observability-jobs-monitoring    | enabled                                          | boolean       | Whether Datadog collects this data.                                                                                                                                                                                                                                                                                                                   |
| databricks-data-observability-jobs-monitoring    | settings                                         | object        | Settings of the Data Jobs Monitoring dataflow.                                                                                                                                                                                                                                                                                                        |
| settings                                         | dd_api_key_id                                    | string        | ID of the Datadog API key the global init script uses to submit data.                                                                                                                                                                                                                                                                                 |
| settings                                         | djm_global_init_script_enabled                   | boolean       | Whether Datadog installs and manages the Agent on your Databricks clusters through a global init script. The script does not apply to clusters in Standard access mode. When `false`, the Agent is installed manually.                                                                                                                                |
| settings                                         | script_gpum_enabled                              | boolean       | Whether GPU metrics are collected from your Databricks clusters. The Agent installed by the global init script performs the collection, so this requires the dataflow to be enabled with `djm_global_init_script_enabled` set to `true`.                                                                                                              |
| settings                                         | script_logs_enabled                              | boolean       | Whether driver and worker logs are collected from your Databricks clusters. The Agent installed by the global init script performs the collection, so this requires the dataflow to be enabled with `djm_global_init_script_enabled` set to `true`.                                                                                                   |
| settings                                         | serverless_jobs_enabled                          | boolean       | Whether health and cost data is collected for jobs running on Serverless or SQL Warehouse compute. This compute has no clusters for the global init script to target, so collection reads the Databricks system tables and requires `system_tables_sql_warehouse_id`.                                                                                 |
| dataflows                                        | databricks-data-observability-quality-monitoring | object        | Data Observability, which collects lineage and data quality information from your Databricks catalogs so you can explore how data flows and detect, resolve, and prevent quality issues.                                                                                                                                                              |
| databricks-data-observability-quality-monitoring | enabled                                          | boolean       | Whether Datadog collects this data.                                                                                                                                                                                                                                                                                                                   |
| databricks-data-observability-quality-monitoring | settings                                         | object        | Settings of the Data Observability dataflow.                                                                                                                                                                                                                                                                                                          |
| settings                                         | do_crawlers_cron                                 | string        | Cron expression setting how often Datadog connects to your Databricks warehouse to collect metadata. Currently, only hourly (`0 * * * *`) and daily (`0 0 * * *`) are supported.                                                                                                                                                                      |
| settings                                         | sync_system_catalog                              | boolean       | Whether metadata from the Databricks `system` catalog is included in Data Observability alongside your data catalogs.                                                                                                                                                                                                                                 |
| dataflows                                        | databricks-model-serving-metrics                 | object        | Health and usage metrics for your Databricks model serving endpoints. Not supported on accounts that authenticate with `private_action_runner`; on those accounts this dataflow collects no data.                                                                                                                                                     |
| databricks-model-serving-metrics                 | enabled                                          | boolean       | Whether Datadog collects this data.                                                                                                                                                                                                                                                                                                                   |
| attributes                                       | name [*required*]                           | string        | Human-readable name of the Databricks integration account.                                                                                                                                                                                                                                                                                            |
| attributes                                       | settings [*required*]                       | object        | Settings configured on the Databricks integration account.                                                                                                                                                                                                                                                                                            |
| settings                                         | system_tables_sql_warehouse_id                   | string        | ID of the SQL warehouse used to query the Databricks system tables.                                                                                                                                                                                                                                                                                   |
| settings                                         | workspace_url [*required*]                  | string        | URL of the Databricks workspace.                                                                                                                                                                                                                                                                                                                      |
| data                                             | id [*required*]                             | string        | Server-generated unique identifier of the Databricks integration account.                                                                                                                                                                                                                                                                             |
| data                                             | type [*required*]                           | enum          | The type of the integration account resource. Always `integration-account`. Allowed enum values: `integration-account`                                                                                                                                                                                                                                |

{% /tab %}

{% tab title="Example" %}

```json
{
  "data": {
    "attributes": {
      "authentication": {
        "auth_type": "databricks_oauth",
        "azure_tenant_id": "4d3bac44-0230-4732-9e70-cc00736f0a97",
        "client_id": "5c10654a-b3a3-4840-b37f-f477590c70a0"
      },
      "dataflows": {
        "databricks-cloud-cost-metrics": {
          "enabled": true,
          "settings": {
            "ccm_collect_all_workspaces": true
          }
        },
        "databricks-data-observability-jobs-monitoring": {
          "enabled": true,
          "settings": {
            "dd_api_key_id": "fe383f4e-09fc-46bf-8e10-4efdd453a646",
            "djm_global_init_script_enabled": true,
            "script_gpum_enabled": true,
            "script_logs_enabled": true,
            "serverless_jobs_enabled": true
          }
        },
        "databricks-data-observability-quality-monitoring": {
          "enabled": true,
          "settings": {
            "do_crawlers_cron": "0 * * * *",
            "sync_system_catalog": true
          }
        },
        "databricks-model-serving-metrics": {
          "enabled": true
        }
      },
      "name": "My Databricks Workspace",
      "settings": {
        "system_tables_sql_warehouse_id": "aba7c023d4172910",
        "workspace_url": "https://dbc-1234abcd.cloud.databricks.com"
      }
    },
    "id": "a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f",
    "type": "integration-account"
  }
}
```

{% /tab %}

{% /tab %}

{% tab title="400" %}
Bad Request
{% tab title="Model" %}
API error response.

| Field                    | Type     | Description       |
| ------------------------ | -------- | ----------------- |
| errors [*required*] | [string] | A list of errors. |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    "Bad Request"
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="403" %}
Forbidden
{% tab title="Model" %}
API error response.

| Field                    | Type     | Description       |
| ------------------------ | -------- | ----------------- |
| errors [*required*] | [string] | A list of errors. |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    "Bad Request"
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="404" %}
Not Found
{% tab title="Model" %}
API error response.

| Field                    | Type     | Description       |
| ------------------------ | -------- | ----------------- |
| errors [*required*] | [string] | A list of errors. |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    "Bad Request"
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="422" %}
The server cannot process the request because it contains invalid data.
{% tab title="Model" %}
API error response.

| Parent field | Field                    | Type     | Description                                                                     |
| ------------ | ------------------------ | -------- | ------------------------------------------------------------------------------- |
|              | errors [*required*] | [object] | A list of errors.                                                               |
| errors       | detail                   | string   | A human-readable explanation specific to this occurrence of the error.          |
| errors       | meta                     | object   | Non-standard meta-information about the error                                   |
| errors       | source                   | object   | References to the source of the error.                                          |
| source       | header                   | string   | A string indicating the name of a single request header which caused the error. |
| source       | parameter                | string   | A string indicating which URI query parameter caused the error.                 |
| source       | pointer                  | string   | A JSON pointer to the value in the request document that caused the error.      |
| errors       | status                   | string   | Status code of the response.                                                    |
| errors       | title                    | string   | Short human-readable summary of the error.                                      |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    {
      "detail": "Missing required attribute in body",
      "meta": {},
      "source": {
        "header": "Authorization",
        "parameter": "limit",
        "pointer": "/data/attributes/title"
      },
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="429" %}
Too many requests
{% tab title="Model" %}
API error response.

| Field                    | Type     | Description       |
| ------------------------ | -------- | ----------------- |
| errors [*required*] | [string] | A list of errors. |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    "Bad Request"
  ]
}
```

{% /tab %}

{% /tab %}

### Code Example

##### 
                  \# Path parameters export account_id="CHANGE_ME" \# Use a Personal Access Token or Service Access Token export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"  \# Curl command curl -X PATCH "https://api.datadoghq.com/api/v2/integration-interfaces/databricks/accounts/${account_id}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {},
    "id": "a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f",
    "type": "integration-account"
  }
}
EOF 
                
##### 

```python
"""
Update a Databricks integration account returns "OK" response
"""

from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.databricks_integration_api import DatabricksIntegrationApi
from datadog_api_client.v2.model.databricks_cloud_cost_metrics_integration_dataflow_request import (
    DatabricksCloudCostMetricsIntegrationDataflowRequest,
)
from datadog_api_client.v2.model.databricks_cloud_cost_metrics_integration_dataflow_settings_request import (
    DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest,
)
from datadog_api_client.v2.model.databricks_data_observability_jobs_monitoring_integration_dataflow_request import (
    DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest,
)
from datadog_api_client.v2.model.databricks_data_observability_jobs_monitoring_integration_dataflow_settings_request import (
    DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest,
)
from datadog_api_client.v2.model.databricks_data_observability_quality_monitoring_integration_dataflow_request import (
    DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest,
)
from datadog_api_client.v2.model.databricks_data_observability_quality_monitoring_integration_dataflow_settings_request import (
    DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest,
)
from datadog_api_client.v2.model.databricks_integration_account_o_auth_auth_type import (
    DatabricksIntegrationAccountOAuthAuthType,
)
from datadog_api_client.v2.model.databricks_integration_account_o_auth_auth_update import (
    DatabricksIntegrationAccountOAuthAuthUpdate,
)
from datadog_api_client.v2.model.databricks_integration_account_settings_update import (
    DatabricksIntegrationAccountSettingsUpdate,
)
from datadog_api_client.v2.model.databricks_integration_account_update_attributes import (
    DatabricksIntegrationAccountUpdateAttributes,
)
from datadog_api_client.v2.model.databricks_integration_account_update_data import (
    DatabricksIntegrationAccountUpdateData,
)
from datadog_api_client.v2.model.databricks_integration_account_update_request import (
    DatabricksIntegrationAccountUpdateRequest,
)
from datadog_api_client.v2.model.databricks_integration_dataflows_request import DatabricksIntegrationDataflowsRequest
from datadog_api_client.v2.model.databricks_model_serving_metrics_integration_dataflow_request import (
    DatabricksModelServingMetricsIntegrationDataflowRequest,
)
from datadog_api_client.v2.model.integration_account_type import IntegrationAccountType

body = DatabricksIntegrationAccountUpdateRequest(
    data=DatabricksIntegrationAccountUpdateData(
        attributes=DatabricksIntegrationAccountUpdateAttributes(
            authentication=DatabricksIntegrationAccountOAuthAuthUpdate(
                auth_type=DatabricksIntegrationAccountOAuthAuthType.DATABRICKS_OAUTH,
                azure_tenant_id="4d3bac44-0230-4732-9e70-cc00736f0a97",
                client_id="5c10654a-b3a3-4840-b37f-f477590c70a0",
                client_secret="your-client-secret",
            ),
            dataflows=DatabricksIntegrationDataflowsRequest(
                databricks_cloud_cost_metrics=DatabricksCloudCostMetricsIntegrationDataflowRequest(
                    enabled=True,
                    settings=DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest(
                        ccm_collect_all_workspaces=True,
                    ),
                ),
                databricks_data_observability_jobs_monitoring=DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest(
                    enabled=True,
                    settings=DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest(
                        dd_api_key_id="fe383f4e-09fc-46bf-8e10-4efdd453a646",
                        dd_api_key_secret="your-datadog-api-key",
                        djm_global_init_script_enabled=True,
                        script_gpum_enabled=True,
                        script_logs_enabled=True,
                        serverless_jobs_enabled=True,
                    ),
                ),
                databricks_data_observability_quality_monitoring=DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest(
                    enabled=True,
                    settings=DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest(
                        do_crawlers_cron="0 * * * *",
                        sync_system_catalog=True,
                    ),
                ),
                databricks_model_serving_metrics=DatabricksModelServingMetricsIntegrationDataflowRequest(
                    enabled=True,
                ),
            ),
            name="My Databricks Workspace",
            settings=DatabricksIntegrationAccountSettingsUpdate(
                system_tables_sql_warehouse_id="aba7c023d4172910",
                workspace_url="https://dbc-1234abcd.cloud.databricks.com",
            ),
        ),
        id="a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f",
        type=IntegrationAccountType.INTEGRATION_ACCOUNT,
    ),
)

configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
configuration.unstable_operations["update_databricks_integration_account"] = True
with ApiClient(configuration) as api_client:
    api_instance = DatabricksIntegrationApi(api_client)
    response = api_instance.update_databricks_integration_account(account_id="account_id", body=body)

    print(response)
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=python) and then save the example to `example.py` and run following commands:
    DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"
##### 

```ruby
# Update a Databricks integration account returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.access_token = ENV["DD_BEARER_TOKEN"]
  config.unstable_operations["v2.update_databricks_integration_account".to_sym] = true
end
api_instance = DatadogAPIClient::V2::DatabricksIntegrationAPI.new

body = DatadogAPIClient::V2::DatabricksIntegrationAccountUpdateRequest.new({
  data: DatadogAPIClient::V2::DatabricksIntegrationAccountUpdateData.new({
    attributes: DatadogAPIClient::V2::DatabricksIntegrationAccountUpdateAttributes.new({
      authentication: DatadogAPIClient::V2::DatabricksIntegrationAccountOAuthAuthUpdate.new({
        auth_type: DatadogAPIClient::V2::DatabricksIntegrationAccountOAuthAuthType::DATABRICKS_OAUTH,
        azure_tenant_id: "4d3bac44-0230-4732-9e70-cc00736f0a97",
        client_id: "5c10654a-b3a3-4840-b37f-f477590c70a0",
        client_secret: "your-client-secret",
      }),
      dataflows: DatadogAPIClient::V2::DatabricksIntegrationDataflowsRequest.new({
        databricks_cloud_cost_metrics: DatadogAPIClient::V2::DatabricksCloudCostMetricsIntegrationDataflowRequest.new({
          enabled: true,
          settings: DatadogAPIClient::V2::DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest.new({
            ccm_collect_all_workspaces: true,
          }),
        }),
        databricks_data_observability_jobs_monitoring: DatadogAPIClient::V2::DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest.new({
          enabled: true,
          settings: DatadogAPIClient::V2::DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest.new({
            dd_api_key_id: "fe383f4e-09fc-46bf-8e10-4efdd453a646",
            dd_api_key_secret: "your-datadog-api-key",
            djm_global_init_script_enabled: true,
            script_gpum_enabled: true,
            script_logs_enabled: true,
            serverless_jobs_enabled: true,
          }),
        }),
        databricks_data_observability_quality_monitoring: DatadogAPIClient::V2::DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest.new({
          enabled: true,
          settings: DatadogAPIClient::V2::DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest.new({
            do_crawlers_cron: "0 * * * *",
            sync_system_catalog: true,
          }),
        }),
        databricks_model_serving_metrics: DatadogAPIClient::V2::DatabricksModelServingMetricsIntegrationDataflowRequest.new({
          enabled: true,
        }),
      }),
      name: "My Databricks Workspace",
      settings: DatadogAPIClient::V2::DatabricksIntegrationAccountSettingsUpdate.new({
        system_tables_sql_warehouse_id: "aba7c023d4172910",
        workspace_url: "https://dbc-1234abcd.cloud.databricks.com",
      }),
    }),
    id: "a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f",
    type: DatadogAPIClient::V2::IntegrationAccountType::INTEGRATION_ACCOUNT,
  }),
})
p api_instance.update_databricks_integration_account("account_id", body)
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=ruby) and then save the example to `example.rb` and run following commands:
    DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"
##### 

```go
// Update a Databricks integration account returns "OK" response

package main

import (
	"context"
	"encoding/json"
	"fmt"
	"os"

	"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
	"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)

func main() {
	body := datadogV2.DatabricksIntegrationAccountUpdateRequest{
		Data: datadogV2.DatabricksIntegrationAccountUpdateData{
			Attributes: datadogV2.DatabricksIntegrationAccountUpdateAttributes{
				Authentication: &datadogV2.DatabricksIntegrationAccountAuthenticationUpdate{
					DatabricksIntegrationAccountOAuthAuthUpdate: &datadogV2.DatabricksIntegrationAccountOAuthAuthUpdate{
						AuthType:      datadogV2.DATABRICKSINTEGRATIONACCOUNTOAUTHAUTHTYPE_DATABRICKS_OAUTH,
						AzureTenantId: *datadog.NewNullableString(datadog.PtrString("4d3bac44-0230-4732-9e70-cc00736f0a97")),
						ClientId:      datadog.PtrString("5c10654a-b3a3-4840-b37f-f477590c70a0"),
						ClientSecret:  datadog.PtrString("your-client-secret"),
					}},
				Dataflows: &datadogV2.DatabricksIntegrationDataflowsRequest{
					DatabricksCloudCostMetrics: &datadogV2.DatabricksCloudCostMetricsIntegrationDataflowRequest{
						Enabled: datadog.PtrBool(true),
						Settings: &datadogV2.DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest{
							CcmCollectAllWorkspaces: datadog.PtrBool(true),
						},
					},
					DatabricksDataObservabilityJobsMonitoring: &datadogV2.DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest{
						Enabled: datadog.PtrBool(true),
						Settings: &datadogV2.DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest{
							DdApiKeyId:                 datadog.PtrString("fe383f4e-09fc-46bf-8e10-4efdd453a646"),
							DdApiKeySecret:             datadog.PtrString("your-datadog-api-key"),
							DjmGlobalInitScriptEnabled: datadog.PtrBool(true),
							ScriptGpumEnabled:          datadog.PtrBool(true),
							ScriptLogsEnabled:          datadog.PtrBool(true),
							ServerlessJobsEnabled:      datadog.PtrBool(true),
						},
					},
					DatabricksDataObservabilityQualityMonitoring: &datadogV2.DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest{
						Enabled: datadog.PtrBool(true),
						Settings: &datadogV2.DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest{
							DoCrawlersCron:    datadog.PtrString("0 * * * *"),
							SyncSystemCatalog: datadog.PtrBool(true),
						},
					},
					DatabricksModelServingMetrics: &datadogV2.DatabricksModelServingMetricsIntegrationDataflowRequest{
						Enabled: datadog.PtrBool(true),
					},
				},
				Name: datadog.PtrString("My Databricks Workspace"),
				Settings: &datadogV2.DatabricksIntegrationAccountSettingsUpdate{
					SystemTablesSqlWarehouseId: datadog.PtrString("aba7c023d4172910"),
					WorkspaceUrl:               datadog.PtrString("https://dbc-1234abcd.cloud.databricks.com"),
				},
			},
			Id:   "a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f",
			Type: datadogV2.INTEGRATIONACCOUNTTYPE_INTEGRATION_ACCOUNT,
		},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.UpdateDatabricksIntegrationAccount", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewDatabricksIntegrationApi(apiClient)
	resp, r, err := api.UpdateDatabricksIntegrationAccount(ctx, "account_id", body)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `DatabricksIntegrationApi.UpdateDatabricksIntegrationAccount`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `DatabricksIntegrationApi.UpdateDatabricksIntegrationAccount`:\n%s\n", responseContent)
}
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=go) and then save the example to `main.go` and run following commands:
    DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"
##### 

```java
// Update a Databricks integration account returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.DatabricksIntegrationApi;
import com.datadog.api.client.v2.model.DatabricksCloudCostMetricsIntegrationDataflowRequest;
import com.datadog.api.client.v2.model.DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest;
import com.datadog.api.client.v2.model.DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest;
import com.datadog.api.client.v2.model.DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest;
import com.datadog.api.client.v2.model.DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest;
import com.datadog.api.client.v2.model.DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest;
import com.datadog.api.client.v2.model.DatabricksIntegrationAccountAuthenticationUpdate;
import com.datadog.api.client.v2.model.DatabricksIntegrationAccountOAuthAuthType;
import com.datadog.api.client.v2.model.DatabricksIntegrationAccountOAuthAuthUpdate;
import com.datadog.api.client.v2.model.DatabricksIntegrationAccountResponse;
import com.datadog.api.client.v2.model.DatabricksIntegrationAccountSettingsUpdate;
import com.datadog.api.client.v2.model.DatabricksIntegrationAccountUpdateAttributes;
import com.datadog.api.client.v2.model.DatabricksIntegrationAccountUpdateData;
import com.datadog.api.client.v2.model.DatabricksIntegrationAccountUpdateRequest;
import com.datadog.api.client.v2.model.DatabricksIntegrationDataflowsRequest;
import com.datadog.api.client.v2.model.DatabricksModelServingMetricsIntegrationDataflowRequest;
import com.datadog.api.client.v2.model.IntegrationAccountType;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
    defaultClient.setUnstableOperationEnabled("v2.updateDatabricksIntegrationAccount", true);
    DatabricksIntegrationApi apiInstance = new DatabricksIntegrationApi(defaultClient);

    DatabricksIntegrationAccountUpdateRequest body =
        new DatabricksIntegrationAccountUpdateRequest()
            .data(
                new DatabricksIntegrationAccountUpdateData()
                    .attributes(
                        new DatabricksIntegrationAccountUpdateAttributes()
                            .authentication(
                                new DatabricksIntegrationAccountAuthenticationUpdate(
                                    new DatabricksIntegrationAccountOAuthAuthUpdate()
                                        .authType(
                                            DatabricksIntegrationAccountOAuthAuthType
                                                .DATABRICKS_OAUTH)
                                        .azureTenantId("4d3bac44-0230-4732-9e70-cc00736f0a97")
                                        .clientId("5c10654a-b3a3-4840-b37f-f477590c70a0")
                                        .clientSecret("your-client-secret")))
                            .dataflows(
                                new DatabricksIntegrationDataflowsRequest()
                                    .databricksCloudCostMetrics(
                                        new DatabricksCloudCostMetricsIntegrationDataflowRequest()
                                            .enabled(true)
                                            .settings(
                                                new DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest()
                                                    .ccmCollectAllWorkspaces(true)))
                                    .databricksDataObservabilityJobsMonitoring(
                                        new DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest()
                                            .enabled(true)
                                            .settings(
                                                new DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest()
                                                    .ddApiKeyId(
                                                        "fe383f4e-09fc-46bf-8e10-4efdd453a646")
                                                    .ddApiKeySecret("your-datadog-api-key")
                                                    .djmGlobalInitScriptEnabled(true)
                                                    .scriptGpumEnabled(true)
                                                    .scriptLogsEnabled(true)
                                                    .serverlessJobsEnabled(true)))
                                    .databricksDataObservabilityQualityMonitoring(
                                        new DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest()
                                            .enabled(true)
                                            .settings(
                                                new DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest()
                                                    .doCrawlersCron("0 * * * *")
                                                    .syncSystemCatalog(true)))
                                    .databricksModelServingMetrics(
                                        new DatabricksModelServingMetricsIntegrationDataflowRequest()
                                            .enabled(true)))
                            .name("My Databricks Workspace")
                            .settings(
                                new DatabricksIntegrationAccountSettingsUpdate()
                                    .systemTablesSqlWarehouseId("aba7c023d4172910")
                                    .workspaceUrl("https://dbc-1234abcd.cloud.databricks.com")))
                    .id("a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f")
                    .type(IntegrationAccountType.INTEGRATION_ACCOUNT));

    try {
      DatabricksIntegrationAccountResponse result =
          apiInstance.updateDatabricksIntegrationAccount("account_id", body);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println(
          "Exception when calling DatabricksIntegrationApi#updateDatabricksIntegrationAccount");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=java) and then save the example to `Example.java` and run following commands:
    DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"
##### 

```rust
// Update a Databricks integration account returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_databricks_integration::DatabricksIntegrationAPI;
use datadog_api_client::datadogV2::model::DatabricksCloudCostMetricsIntegrationDataflowRequest;
use datadog_api_client::datadogV2::model::DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest;
use datadog_api_client::datadogV2::model::DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest;
use datadog_api_client::datadogV2::model::DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest;
use datadog_api_client::datadogV2::model::DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest;
use datadog_api_client::datadogV2::model::DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest;
use datadog_api_client::datadogV2::model::DatabricksIntegrationAccountAuthenticationUpdate;
use datadog_api_client::datadogV2::model::DatabricksIntegrationAccountOAuthAuthType;
use datadog_api_client::datadogV2::model::DatabricksIntegrationAccountOAuthAuthUpdate;
use datadog_api_client::datadogV2::model::DatabricksIntegrationAccountSettingsUpdate;
use datadog_api_client::datadogV2::model::DatabricksIntegrationAccountUpdateAttributes;
use datadog_api_client::datadogV2::model::DatabricksIntegrationAccountUpdateData;
use datadog_api_client::datadogV2::model::DatabricksIntegrationAccountUpdateRequest;
use datadog_api_client::datadogV2::model::DatabricksIntegrationDataflowsRequest;
use datadog_api_client::datadogV2::model::DatabricksModelServingMetricsIntegrationDataflowRequest;
use datadog_api_client::datadogV2::model::IntegrationAccountType;

#[tokio::main]
async fn main() {
    let body =
        DatabricksIntegrationAccountUpdateRequest::new(
            DatabricksIntegrationAccountUpdateData::new(
                DatabricksIntegrationAccountUpdateAttributes::new()
                    .authentication(
                        DatabricksIntegrationAccountAuthenticationUpdate::DatabricksIntegrationAccountOAuthAuthUpdate(
                            Box::new(
                                DatabricksIntegrationAccountOAuthAuthUpdate::new(
                                    DatabricksIntegrationAccountOAuthAuthType::DATABRICKS_OAUTH,
                                )
                                    .azure_tenant_id(Some("4d3bac44-0230-4732-9e70-cc00736f0a97".to_string()))
                                    .client_id("5c10654a-b3a3-4840-b37f-f477590c70a0".to_string())
                                    .client_secret("your-client-secret".to_string()),
                            ),
                        ),
                    )
                    .dataflows(
                        DatabricksIntegrationDataflowsRequest::new()
                            .databricks_cloud_cost_metrics(
                                DatabricksCloudCostMetricsIntegrationDataflowRequest::new()
                                    .enabled(true)
                                    .settings(
                                        DatabricksCloudCostMetricsIntegrationDataflowSettingsRequest
                                        ::new().ccm_collect_all_workspaces(true),
                                    ),
                            )
                            .databricks_data_observability_jobs_monitoring(
                                DatabricksDataObservabilityJobsMonitoringIntegrationDataflowRequest::new()
                                    .enabled(true)
                                    .settings(
                                        DatabricksDataObservabilityJobsMonitoringIntegrationDataflowSettingsRequest
                                        ::new()
                                            .dd_api_key_id("fe383f4e-09fc-46bf-8e10-4efdd453a646".to_string())
                                            .dd_api_key_secret("your-datadog-api-key".to_string())
                                            .djm_global_init_script_enabled(true)
                                            .script_gpum_enabled(true)
                                            .script_logs_enabled(true)
                                            .serverless_jobs_enabled(true),
                                    ),
                            )
                            .databricks_data_observability_quality_monitoring(
                                DatabricksDataObservabilityQualityMonitoringIntegrationDataflowRequest::new()
                                    .enabled(true)
                                    .settings(
                                        DatabricksDataObservabilityQualityMonitoringIntegrationDataflowSettingsRequest
                                        ::new()
                                            .do_crawlers_cron("0 * * * *".to_string())
                                            .sync_system_catalog(true),
                                    ),
                            )
                            .databricks_model_serving_metrics(
                                DatabricksModelServingMetricsIntegrationDataflowRequest::new().enabled(true),
                            ),
                    )
                    .name("My Databricks Workspace".to_string())
                    .settings(
                        DatabricksIntegrationAccountSettingsUpdate::new()
                            .system_tables_sql_warehouse_id("aba7c023d4172910".to_string())
                            .workspace_url("https://dbc-1234abcd.cloud.databricks.com".to_string()),
                    ),
                "a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f".to_string(),
                IntegrationAccountType::INTEGRATION_ACCOUNT,
            ),
        );
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.UpdateDatabricksIntegrationAccount", true);
    let api = DatabricksIntegrationAPI::with_config(configuration);
    let resp = api
        .update_databricks_integration_account("account_id".to_string(), body)
        .await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=rust) and then save the example to `src/main.rs` and run following commands:
    DD_SITE="datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run
##### 

```typescript
/**
 * Update a Databricks integration account returns "OK" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration({
  authMethods: {
    AuthZ: {
      accessToken: process.env.DD_BEARER_TOKEN as string,
    },
  },
});
configuration.unstableOperations["v2.updateDatabricksIntegrationAccount"] =
  true;
const apiInstance = new v2.DatabricksIntegrationApi(configuration);

const params: v2.DatabricksIntegrationApiUpdateDatabricksIntegrationAccountRequest =
  {
    body: {
      data: {
        attributes: {
          authentication: {
            authType: "databricks_oauth",
            azureTenantId: "4d3bac44-0230-4732-9e70-cc00736f0a97",
            clientId: "5c10654a-b3a3-4840-b37f-f477590c70a0",
            clientSecret: "your-client-secret",
          },
          dataflows: {
            databricksCloudCostMetrics: {
              enabled: true,
              settings: {
                ccmCollectAllWorkspaces: true,
              },
            },
            databricksDataObservabilityJobsMonitoring: {
              enabled: true,
              settings: {
                ddApiKeyId: "fe383f4e-09fc-46bf-8e10-4efdd453a646",
                ddApiKeySecret: "your-datadog-api-key",
                djmGlobalInitScriptEnabled: true,
                scriptGpumEnabled: true,
                scriptLogsEnabled: true,
                serverlessJobsEnabled: true,
              },
            },
            databricksDataObservabilityQualityMonitoring: {
              enabled: true,
              settings: {
                doCrawlersCron: "0 * * * *",
                syncSystemCatalog: true,
              },
            },
            databricksModelServingMetrics: {
              enabled: true,
            },
          },
          name: "My Databricks Workspace",
          settings: {
            systemTablesSqlWarehouseId: "aba7c023d4172910",
            workspaceUrl: "https://dbc-1234abcd.cloud.databricks.com",
          },
        },
        id: "a9a69c2e-4f8d-4e42-9c1a-2a7a2d3b7c6f",
        type: "integration-account",
      },
    },
    accountId: "account_id",
  };

apiInstance
  .updateDatabricksIntegrationAccount(params)
  .then((data: v2.DatabricksIntegrationAccountResponse) => {
    console.log(
      "API called successfully. Returned data: " + JSON.stringify(data)
    );
  })
  .catch((error: any) => console.error(error));
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=typescript) and then save the example to `example.ts` and run following commands:
    DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"
{% /tab %}
