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