Add Members to an Organization
import requests
import pathlib
import time
from typing import List
def get_current_users(api_key: str, org_name: str) -> List[str]:
"""This functions returns an empty list if the api_key doesn't belong to an organization owner."""
url = f'https://api.pollination.solutions/orgs/{org_name}/members'
response = requests.get(
url=url,
headers={'x-pollination-token': api_key}
)
response.raise_for_status()
members_info = response.json()['resources']
current_users = [
user_info['user']['username'] for user_info in members_info
]
return current_users
def add_users_to_org(
api_key: str,
user_handles: List[str],
org_name: str,
role: str = 'member',
overwrite: bool = False
):
# get current users
current_users = get_current_users(api_key=api_key, org_name=org_name) \
if not overwrite else []
for handle in user_handles:
if handle in current_users:
print(f'{handle} is already a member of {org_name}')
continue
print(f'Adding {handle} to {org_name} as a {role}')
url = f'https://api.pollination.solutions/orgs/{org_name}/members/{handle}/{role}'
response = requests.patch(
url=url,
headers={'x-pollination-token': api_key}
)
response.raise_for_status()
time.sleep(0.5)
Last updated
Was this helpful?
