Update group sync config
PATCH/api/v1/workspaces/{workspace_slug}/group-sync/config/
Update the IdP group sync configuration for the workspace. Supports partial updates — only include fields you want to change.
Path Parameters
workspace_slug:requiredstringThe workspace_slug represents the unique workspace identifier for a workspace in Plane. It can be found in the URL. For example, in the URL https://app.plane.so/my-team/projects/, the workspace slug is my-team.
Body Parameters
is_enabled:optionalbooleanEnable or disable IdP group sync for the workspace.
sync_on_login:optionalbooleanSync group memberships automatically on user login.
auto_remove:optionalbooleanAutomatically remove users from projects or workspace when removed from their IdP group.
sync_offline:optionalbooleanAllow sync to run outside of login events.
group_attribute_key:optionalstringThe IdP claim key that contains group membership data (e.g. groups).
default_workspace_role:optionalstringRole slug assigned to users when added to the workspace via group sync.
Scopes
workspaces.group_sync:write
Update group sync config
bash
curl -X PATCH \
"https://api.plane.so/api/v1/workspaces/my-workspace/group-sync/config/" \
-H "X-API-Key: $PLANE_API_KEY" \
# Or use -H "Authorization: Bearer $PLANE_OAUTH_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"is_enabled": true,
"sync_on_login": true,
"auto_remove": false,
"sync_offline": false,
"group_attribute_key": "groups",
"default_workspace_role": "member"
}'python
import requests
response = requests.patch(
"https://api.plane.so/api/v1/workspaces/my-workspace/group-sync/config/",
headers={"X-API-Key": "your-api-key"},
json={
"is_enabled": True,
"sync_on_login": True,
"auto_remove": False,
"sync_offline": False,
"group_attribute_key": "groups",
"default_workspace_role": "member"
}
)
print(response.json())javascript
const response = await fetch("https://api.plane.so/api/v1/workspaces/my-workspace/group-sync/config/", {
method: "PATCH",
headers: {
"X-API-Key": "your-api-key",
"Content-Type": "application/json",
},
body: JSON.stringify({
is_enabled: true,
sync_on_login: true,
auto_remove: false,
sync_offline: false,
group_attribute_key: "groups",
default_workspace_role: "member",
}),
});
const data = await response.json();Response200
json
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"is_enabled": true,
"sync_on_login": true,
"auto_remove": false,
"sync_offline": false,
"group_attribute_key": "groups",
"default_workspace_role": "member",
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
