Skip to main content
The role_bindings client methods are currently in ALPHA. The API may change without notice. A one-time warning is emitted on first use.
Role bindings assign a role to a user on a specific resource (SPACE or PROJECT). Creating a binding when one already exists for the user on the resource is a no-op and returns None.

Create a Role Binding

from arize._generated.api_client.models import RoleBindingResourceType

binding = client.role_bindings.create(
    user_id="your-user-id",
    role_id="your-role-id",
    resource_type=RoleBindingResourceType.PROJECT,  # SPACE or PROJECT
    resource_id="your-project-id",
)

if binding:
    print(binding.id)
else:
    print("Binding already existed — no change made")

Get a Role Binding

binding = client.role_bindings.get(binding_id="your-binding-id")

print(binding.user_id, binding.role_id)

Update a Role Binding

Only the role_id can be changed. The user, resource type, and resource ID remain the same.
binding = client.role_bindings.update(
    binding_id="your-binding-id",
    role_id="your-new-role-id",
)

print(binding.role_id)

Delete a Role Binding

client.role_bindings.delete(binding_id="your-binding-id")