Pat
Esteemed Contributor

Hey @WiliamRosa , @mmayorga , thanks for your input.
I systematically tested all available Databricks APIs that could potentially manage AlertsV2 permissions:

1. DBSQL Permissions API

Endpoint: workspace_client.dbsql_permissions.set()

from databricks.sdk.service.sql import ObjectTypePlural, AccessControl

workspace_client.dbsql_permissions.set(
    object_type=ObjectTypePlural.ALERTS,
    object_id=str(alert_id),
    access_control_list=[
        AccessControl(user_name="user@company.com", permission_level="CAN_MANAGE")
    ]
)

Result: Failed - AlertsV2 not supported by this API

2. SQL Permissions API

Endpoint: /api/2.0/preview/sql/permissions/alert/{alert_id}

POST /api/2.0/preview/sql/permissions/alert/{alert_id}
{
  "access_control_list": [
    {
      "user_name": "user@company.com",
      "permission_level": "CAN_MANAGE"
    }
  ]
}

Result: Failed - "Model not found for alert" error

3. Access Policies API (UI Internal)

Endpoint: /ajax-api/2.0/accesspolicies

PATCH /ajax-api/2.0/accesspolicies
{
  "access_policy": {
    "name": "alertsv2/{alert_id}",
    "internal_name": "tree/{alert_id}",
    "permissions": [
      {
        "principal": "principals/{user_id}",
        "permissions": ["CAN_MANAGE"]
      }
    ]
  },
  "send_notification": false
}

Result: Failed - 403 Forbidden, requires CSRF token and browser session authentication

4. Workspace Permissions API

Endpoint: workspace.set_permissions()

workspace_client.workspace.set_permissions(
    workspace_object_type="alerts",
    workspace_object_id=str(alert_id),
    access_control_list=[...]
)

Result: Failed - AlertsV2 not recognized as valid workspace objects

Manual workaround:

Share alerts through Databricks UI:
Navigate to SQL → Alerts
Find your alert
Click Share button
Add users/groups manually