# Create a user
# teams_with_role takes a list of (team_key, role_key) tuples
adaptive.users.create(
email="user@example.com",
name="John Doe",
teams_with_role=[("customer-support-team", "admin")]
)
# Create a service account (returns an API key for programmatic access)
result = adaptive.users.create_service_account(
name="ci-bot",
teams_with_role=[("customer-support-team", "inference")]
)
print(result.api_key)
# Add user to team
adaptive.users.add_to_team(
email="user@example.com",
team="customer-support-team",
role="admin"
)
# Remove user from team
adaptive.users.remove_from_team(
email="user@example.com",
team="customer-support-team"
)
# Share project with team
# is_owner grants the team full control over the project, including resharing
adaptive.projects.share(
project="project-to-share",
team="customer-support-team",
role="admin",
is_owner=False
)
# Create a team
adaptive.teams.create(
key="customer-support-team",
name="Customer Support Team",
)
# Create a custom role
adaptive.roles.create(
key="new-role",
permissions=["project:read", "project:create"]
)