How it fits with SCIM
SCIM provisioning manages user lifecycle events from your identity provider. The Identity Management API lets you manage users and team membership with your own automation against the/poolside/v1 API.
Use the Identity Management API when you need to:
- Find Poolside users and teams by email address or team name
- Create or update users without SCIM
- Suspend, restore access for, or delete users without SCIM
- Add users to a team
- Remove users from a team
- Replace a team’s membership with an exact list of users
Prerequisites
- You belong to a team with the
tenant-adminrole. - You know the base URL for your Poolside deployment.
- You have created the Poolside teams that your automation needs to update. See Teams.
Set up API access
To create an API key for identity management automation:- In the Poolside Console, navigate to Organization >
Roles.
- Create or edit a role that includes the
Provision Users with SCIMpermission. - In the Poolside Console, navigate to Organization >
Teams.
- Create or edit a team and assign that role to the team.
- In the Poolside Console, navigate to Security >
API Keys.
- Create a service account API key for that team.
- Store the generated API key securely. Poolside shows the full API key value only when you create it.
Sync team membership from a human resources system
To sync a Poolside team’s membership from another system, find the team ID, find the user IDs, and then set the team’s members to the exact list from your source system. The examples in this section use environment variables for the base URL and API key:Find a team
List teams to find the ID of the Poolside team you want to update. You can filter teams by exact name or by name prefix.Find users
Use each user’s email address from your source system to find the matching Poolside user ID. Email matching is case-insensitive.Replace a team’s membership
Useset when your source system is the source of truth for a Poolside team. This request makes the provided user_ids the exact membership list for the team. Poolside adds users in the list who are not already members and removes team members who are not in the list.
Verify team membership
List team members after a sync to confirm the result.Choose a membership update method
| Endpoint | When to use it | Behavior |
|---|---|---|
POST /poolside/v1/teams/<team-id>/members/set | Your source system owns the full membership list for a team. | Replaces the team’s membership with the provided user IDs. |
POST /poolside/v1/teams/<team-id>/members/add | You need to add users without changing existing members. | Adds the provided users. Existing members are not added again. |
POST /poolside/v1/teams/<team-id>/members/remove | You need to remove users without changing other members. | Removes the provided users. If a provided user ID does not exist, the request returns an error. |
Provision users without SCIM
You can also use the Identity Management API to manage users when you do not use SCIM.| Task | Endpoint |
|---|---|
| List users | GET /poolside/v1/users |
| Get a user | GET /poolside/v1/users/<user-id> |
| Create a user | POST /poolside/v1/users |
| Update a user’s email, name, or status | PATCH /poolside/v1/users/<user-id> |
| Delete a user | DELETE /poolside/v1/users/<user-id> |
| List a user’s teams | GET /poolside/v1/users/<user-id>/teams |
status_action to suspend to revoke access temporarily or unsuspend to restore access.
Pagination
List endpoints return alinks.next value when more results are available. To fetch the next page, make a request to the URL in links.next. You can also use page_size to control the number of items returned per page.