Automate user and team management

SCIM API

Use SCIM API to manage users, and the teams they belong to, in an efficient and repeatable manner. You can also use the SCIM API to manage custom roles or assign roles to users in your W&B organization. Role endpoints are not part of the official SCIM schema. W&B adds role endpoints to support automated management of custom roles.

SCIM API is especially useful if you want to:

  • manage user provisioning and de-provisioning at scale
  • manage users with a SCIM-supporting Identity Provider

There are broadly three categories of SCIM API - User, Group, and Roles.

User SCIM API

User SCIM API allows for creating, deactivating, getting the details of a user, or listing all users in a W&B organization. This API also supports assigning predefined or custom roles to users in an organization.

Group SCIM API

Group SCIM API allows for managing W&B teams, including creating or removing teams in an organization. Use the PATCH Group to add or remove users in an existing team.

Custom role API

Custom role SCIM API allows for managing custom roles, including creating, listing, or updating custom roles in an organization.

W&B Python SDK API

Just like how SCIM API allows you to automate user and team management, you can also use some of the methods available in the W&B Python SDK API for that purpose. Keep a note of the following methods:

Method name Purpose
create_user(email, admin=False) Add a user to the organization and optionally make them the organization admin.
user(userNameOrEmail) Return an existing user in the organization.
user.teams() Return the teams for the user. You can get the user object using the user(userNameOrEmail) method.
create_team(teamName, adminUserName) Create a new team and optionally make an organization-level user the team admin.
team(teamName) Return an existing team in the organization.
Team.invite(userNameOrEmail, admin=False) Add a user to the team. You can get the team object using the team(teamName) method.
Team.create_service_account(description) Add a service account to the team. You can get the team object using the team(teamName) method.
Member.delete() Remove a member user from a team. You can get the list of member objects in a team using the team object’s members attribute. And you can get the team object using the team(teamName) method.

Last modified January 29, 2025: 8607c88