Skip to main content

Role Bindings SDK

SDK for managing role bindings and user assignments.

Manage Role Bindings

Learn how to create role bindings programmatically using the AuthSec SDK.

Step 1: Install SDK Dependencies

pip install requests PyJWT

Step 2: Initialize Admin Helper

from admin_helper import AdminHelper

# Initialize with token
admin = AdminHelper(
token="your-admin-token",
base_url="https://dev.api.authsec.dev"
)

Create Role Bindings

Tenant-wide binding:

binding = admin.create_role_binding(
user_id="user-uuid",
role_id="admin-role-uuid"
)

Scoped binding:

binding = admin.create_role_binding(
user_id="user-uuid",
role_id="editor-role-uuid",
scope_type="project",
scope_id="project-uuid",
conditions={"mfa_required": True}
)

Endpoint:

POST /uflow/user/bindings

Remove a Role Binding

# Syntax
remove_role_binding(binding_id: str)

# Example
admin.remove_role_binding("binding-uuid-123")
# Returns: True if successful

Endpoint:

DELETE /uflow/user/bindings/{id}

List Role Bindings

List role bindings with optional filters.

# Syntax
list_role_bindings(user_id=None, role_id=None)

# Examples
all_bindings = admin.list_role_bindings()
user_bindings = admin.list_role_bindings(user_id="user-uuid")
role_bindings = admin.list_role_bindings(role_id="role-uuid")

Returns:

List of binding objects

Endpoint:

GET /uflow/user/bindings