Organization

A developer guide for querying organization information via the Python SDK.

Client

Get the current organization

organization = client.get_organization()

Methods

Get IAM integrations

# get the default IAM integration default_iam_integration = organization.get_default_iam_integration() # get all of the IAM integrations (returns a list of IAMIntegration objects) iam_integrations = organization.get_iam_integrations() for integration in iam_integrations: print(integration)

Create a project tag

organization.create_resource_tag( { "text": "new-tag-name", "color": "ffffff" } )

Get the project tags

# get the project tags (returns a list of ResourceTag objects) tags = organization.get_resource_tags() for tag in tags: print(tag)

Invite users

Depending on the level of access required, you can:

  • Invite users to a workspace without assigning them to any projects.
  • Invite users to a workspace and assign them to specific projects.
# get and view the available roles roles = client.get_roles() print("Roles: ", roles) # create an invitation for an organization-wide role (in this case, a labeler) organization.invite_user( email="<email_address>", role=roles["LABELER"] )
# get and view the available roles roles = client.get_roles() print("Roles: ", roles) # get a project project = client.get_project("<project_id>") # create a ProjectRole object for a project-based role, in this case a labeler project_role = lb.ProjectRole(project=project, role=roles["LABELER"]) # create an invitation for the project-based role org.invite_user( email="<email_address>", # for a project-based role, the org-wide role must be NONE role=roles["NONE"], project_roles=[project_role] ) # Mass invite users to project emails = [] for email in emails: invite = organization.invite_user(emails, roles["NONE"], project_roles=[project_role])

View the invite limit

# already accounts for users currently in the organization, thus: # used = users + invites_sent # remaining = limit - used organization.invite_limit()

Remove a user

# the argument must be a User object organization.remove_user(user)

Attributes

Get the basics

# name (str) organization.name # created_at (datetime) organization.created_at # updated_at (datetime) organization.updated_at

Get the users

# get the users (relationship to User objects) users = organization.users() # inspect one user next(users) # inspect all users for user in users: print(user) # for ease of use, you can convert the paginated collection to a list list(users)

Get the projects

# get the projects (relationship to Project objects) projects = organization.projects() # inspect one project next(projects) # inspect all projects for project in projects: print(project) # for ease of use, you can convert the paginated collection to a list list(projects)

Get the webhooks

# get the webhooks (relationship to Webhook objects) webhooks = organization.webhooks() # inspect one webhook next(webhooks) # inspect all webhooks for webhook in webhooks: print(webhook) # for ease of use, you can convert the paginated collection to a list list(webhooks)