My endpoint was wrong.
here is the correct endpoint url : https://docs.databricks.com/api/azure/account/workspaceassignment/update
this is the correct code
for row in joined_groups_workspace_account.collect():
group_id = row.id
group_name = row.displayName
url = f"https://accounts.azuredatabricks.net/api/2.0/accounts/{databricks_account_id}/workspaces/{workspace_id}/permissionassignments/principals/{group_id}"
payload = {
"permissions": ["USER"]
}
response = requests.put(url, headers=account_headers, data=json.dumps(payload))
if response.status_code == 200:
print(f"✅ Group '{group_name}' added to workspace.")
elif response.status_code == 409:
print(f"⚠️ Group '{group_name}' already added to workspace.")
else:
print(f"❌ Failed to add group '{group_name}'. Status: {response.status_code}. Response: {response.text}")