Skip to content

docs: add IDP Group Sync API section#294

Open
pushya22 wants to merge 2 commits into
masterfrom
docs/idp-group-sync-api
Open

docs: add IDP Group Sync API section#294
pushya22 wants to merge 2 commits into
masterfrom
docs/idp-group-sync-api

Conversation

@pushya22

@pushya22 pushya22 commented Jun 20, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Adds documentation for the new IdP group sync endpoints introduced in plane-ee#7635
  • New section: IDP Group Sync in the API reference sidebar, placed after Users
  • 13 pages covering all three resource groups:
    • Group Sync Config — get, update
    • Project Group Mappings — list, create, get, update, delete
    • Workspace Group Mappings — list, create, get, update, delete

Test plan

  • Verify all pages render correctly under /api-reference/idp-group-sync/
  • Verify sidebar shows IDP Group Sync section after Users
  • Verify CI (Prettier + VitePress build) passes

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Added comprehensive API reference documentation for IDP Group Sync, including guides for managing project and workspace group mappings, retrieving configurations, and updating sync settings.

Documents the new IdP group sync endpoints from plane-ee#7635. Adds 13 pages covering group sync config (get/update), project group mappings (list/create/get/update/delete), and workspace group mappings (list/create/get/update/delete). Adds IDP Group Sync section to the sidebar after Users.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 20, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
developer-docs Ready Ready Preview, Comment Jun 20, 2026 11:45am

Request Review

@coderabbitai

coderabbitai Bot commented Jun 20, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Adds a new idp-group-sync section to the API reference docs with 12 new Markdown pages covering the overview, group sync config (GET/PATCH), project mappings (list/create/get/update/delete), and workspace mappings (list/create/get/update/delete). The VitePress sidebar config is extended with a collapsed "IDP Group Sync" navigation group linking all new pages.

Changes

IDP Group Sync API Reference Documentation

Layer / File(s) Summary
Overview page and sidebar navigation
docs/.vitepress/config.mts, docs/api-reference/idp-group-sync/overview.md
Overview page defines the three core objects (Group Sync Config, Project Group Mapping, Workspace Group Mapping) with attributes and example JSON responses. Sidebar config adds a collapsed "IDP Group Sync" group with links to all child pages.
Group sync config GET and PATCH endpoints
docs/api-reference/idp-group-sync/get-group-sync-config.md, docs/api-reference/idp-group-sync/update-group-sync-config.md
Documents retrieving the auto-created config via GET and partially updating it via PATCH, including all body parameters (enable/disable sync, login/offline behavior, auto-remove, group attribute key, default role), required scope workspaces.group_sync:read/write, multi-language examples, and sample 200 responses.
Project mapping CRUD endpoints
docs/api-reference/idp-group-sync/list-project-mappings.md, docs/api-reference/idp-group-sync/create-project-mapping.md, docs/api-reference/idp-group-sync/get-project-mapping.md, docs/api-reference/idp-group-sync/update-project-mapping.md, docs/api-reference/idp-group-sync/delete-project-mapping.md
Documents list (GET), create (POST), retrieve (GET by ID), update (PATCH), and delete (DELETE) for IdP group → project mappings. Includes mutual exclusivity of project and all_projects fields, required scopes, multi-language examples, and sample 200/201/204 responses.
Workspace mapping CRUD endpoints
docs/api-reference/idp-group-sync/list-workspace-mappings.md, docs/api-reference/idp-group-sync/create-workspace-mapping.md, docs/api-reference/idp-group-sync/get-workspace-mapping.md, docs/api-reference/idp-group-sync/update-workspace-mapping.md, docs/api-reference/idp-group-sync/delete-workspace-mapping.md
Documents list (GET), create (POST), retrieve (GET by ID), update (PATCH), and delete (DELETE) for IdP group → workspace role mappings, covering path/body parameters, required scopes, multi-language examples, and sample 200/201/204 responses.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐇 Hop hop, the docs have grown,
Group sync mappings clearly shown!
Projects, workspaces, roles aligned,
PATCH and DELETE now well-defined.
With cURL and Python close behind,
The IdP rabbit leaves no dev behind! 🌟

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: adding comprehensive documentation for the IdP Group Sync API section with 13 new pages covering endpoints for config, project mappings, and workspace mappings.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/idp-group-sync-api

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/api-reference/idp-group-sync/get-group-sync-config.md`:
- Around line 7-21: The heading levels in the documentation do not comply with
markdown linting rules (MD001). The sections "Path Parameters", "Response
Attributes", and "Scopes" are currently marked as h3 (###) but should be h2 (##)
to maintain proper heading hierarchy after the main h1 heading "Get group sync
config". Update all three section headings by changing ### to ## for "Path
Parameters", "Response Attributes", and "Scopes" to fix the markdown linting
violation.

In `@docs/api-reference/idp-group-sync/list-project-mappings.md`:
- Around line 1-162: The document has a heading hierarchy violation where h1
headings skip directly to h3 (###), which violates markdown linting rules. Fix
this by changing all ### section headings to ## headings for "Path Parameters",
"Response Attributes", and "Scopes" throughout the file to maintain proper h2
level between h1 and h3. This creates a valid hierarchy: h1 (title) → h2
(sections) → h3 (subsections).

In `@docs/api-reference/idp-group-sync/overview.md`:
- Around line 14-16: The markdown file has heading level violations where
section headings for object descriptions and their attributes use h3 (###)
instead of h2 (##), and duplicate h3 headings named "Attributes" appear across
different sections. Change the heading levels from h3 (###) to h2 (##) for the
object names (such as "The Group Sync Config Object" and "The Project Group
Mapping Object" and "The Workspace Group Mapping Object") at lines 14, 54, and
86, and also change the "Attributes" headings from h3 (###) to h2 (##) at lines
16, 56, and 88 to establish consistent heading hierarchy after the main h1
Overview heading and eliminate duplicate heading content.

In `@docs/api-reference/idp-group-sync/update-group-sync-config.md`:
- Around line 7-21: The markdown document violates the heading-increment rule
(MD001) where top-level section headings after an h1 must be h2, not h3. Change
all instances of `###` (h3) to `##` (h2) for the section headings: "Path
Parameters", "Body Parameters", and "Scopes" to comply with the markdown linting
standard where the main h1 heading "Update group sync config" should be followed
directly by h2-level sections, not h3-level sections.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 2603732e-f945-41c7-87a9-92d67ff38c4d

📥 Commits

Reviewing files that changed from the base of the PR and between f6749a7 and 44fd9c0.

📒 Files selected for processing (14)
  • docs/.vitepress/config.mts
  • docs/api-reference/idp-group-sync/create-project-mapping.md
  • docs/api-reference/idp-group-sync/create-workspace-mapping.md
  • docs/api-reference/idp-group-sync/delete-project-mapping.md
  • docs/api-reference/idp-group-sync/delete-workspace-mapping.md
  • docs/api-reference/idp-group-sync/get-group-sync-config.md
  • docs/api-reference/idp-group-sync/get-project-mapping.md
  • docs/api-reference/idp-group-sync/get-workspace-mapping.md
  • docs/api-reference/idp-group-sync/list-project-mappings.md
  • docs/api-reference/idp-group-sync/list-workspace-mappings.md
  • docs/api-reference/idp-group-sync/overview.md
  • docs/api-reference/idp-group-sync/update-group-sync-config.md
  • docs/api-reference/idp-group-sync/update-project-mapping.md
  • docs/api-reference/idp-group-sync/update-workspace-mapping.md

Comment on lines +7 to +21
# Get group sync config

<div class="api-endpoint-badge">
<span class="method get">GET</span>
<span class="path">/api/v1/workspaces/{workspace_slug}/group-sync/config/</span>
</div>

<div class="api-two-column">
<div class="api-left">

Retrieve the IdP group sync configuration for the workspace. Auto-creates the config with defaults on first access.

<div class="params-section">

### Path Parameters

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Fix heading level to comply with markdown linting.

Line 21 uses h3 (### Path Parameters) but should use h2 (## Path Parameters). After the main h1 heading ("Get group sync config" on line 7), all top-level section headings (Path Parameters, Response Attributes, Scopes) should be h2, not h3, to comply with the MD001 heading-increment rule.

🔧 Proposed fix for heading levels
 # Get group sync config
 
 <div class="api-endpoint-badge">
   <span class="method get">GET</span>
   <span class="path">/api/v1/workspaces/{workspace_slug}/group-sync/config/</span>
 </div>
 
 <div class="api-two-column">
 <div class="api-left">
 
 Retrieve the IdP group sync configuration for the workspace. Auto-creates the config with defaults on first access.
 
 <div class="params-section">
 
-### Path Parameters
+## Path Parameters
 
 <div class="params-list">

Apply the same change (#####) to lines 36 and 99 for "Response Attributes" and "Scopes" sections.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# Get group sync config
<div class="api-endpoint-badge">
<span class="method get">GET</span>
<span class="path">/api/v1/workspaces/{workspace_slug}/group-sync/config/</span>
</div>
<div class="api-two-column">
<div class="api-left">
Retrieve the IdP group sync configuration for the workspace. Auto-creates the config with defaults on first access.
<div class="params-section">
### Path Parameters
# Get group sync config
<div class="api-endpoint-badge">
<span class="method get">GET</span>
<span class="path">/api/v1/workspaces/{workspace_slug}/group-sync/config/</span>
</div>
<div class="api-two-column">
<div class="api-left">
Retrieve the IdP group sync configuration for the workspace. Auto-creates the config with defaults on first access.
<div class="params-section">
## Path Parameters
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 21-21: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3

(MD001, heading-increment)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/api-reference/idp-group-sync/get-group-sync-config.md` around lines 7 -
21, The heading levels in the documentation do not comply with markdown linting
rules (MD001). The sections "Path Parameters", "Response Attributes", and
"Scopes" are currently marked as h3 (###) but should be h2 (##) to maintain
proper heading hierarchy after the main h1 heading "Get group sync config".
Update all three section headings by changing ### to ## for "Path Parameters",
"Response Attributes", and "Scopes" to fix the markdown linting violation.

Source: Linters/SAST tools

Comment on lines +1 to +162
---
title: List project group mappings
description: List project group mappings via Plane API. HTTP request format, parameters, scopes, and example responses for list project group mappings.
keywords: plane, plane api, rest api, api integration, idp group sync, list project group mappings
---

# List project group mappings

<div class="api-endpoint-badge">
<span class="method get">GET</span>
<span class="path">/api/v1/workspaces/{workspace_slug}/group-sync/project-mappings/</span>
</div>

<div class="api-two-column">
<div class="api-left">

Retrieve all IdP group → project mappings for the workspace.

<div class="params-section">

### Path Parameters

<div class="params-list">

<ApiParam name="workspace_slug" type="string" :required="true">

The 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`.

</ApiParam>

</div>
</div>

<div class="params-section">

### Response Attributes

<div class="params-list">

<ApiParam name="id" type="string">

Unique identifier of the mapping.

</ApiParam>

<ApiParam name="idp_group_name" type="string">

The name of the IdP group.

</ApiParam>

<ApiParam name="project" type="string">

Project identifier the group is mapped to. `null` when `all_projects` is `true`.

</ApiParam>

<ApiParam name="all_projects" type="boolean">

Whether the group is mapped to all projects in the workspace.

</ApiParam>

<ApiParam name="role" type="string">

Role slug assigned to group members within the project.

</ApiParam>

<ApiParam name="created_at" type="timestamp">

The timestamp of when the mapping was created.

</ApiParam>

<ApiParam name="updated_at" type="timestamp">

The timestamp of when the mapping was last updated.

</ApiParam>

</div>
</div>

<div class="params-section">

### Scopes

`workspaces.group_sync:read`

</div>

</div>

<div class="api-right">

<CodePanel title="List project group mappings" :languages="['cURL', 'Python', 'JavaScript']">
<template #curl>

```bash
curl -X GET \
"https://api.plane.so/api/v1/workspaces/my-workspace/group-sync/project-mappings/" \
-H "X-API-Key: $PLANE_API_KEY"
# Or use -H "Authorization: Bearer $PLANE_OAUTH_TOKEN"
```

</template>
<template #python>

```python
import requests

response = requests.get(
"https://api.plane.so/api/v1/workspaces/my-workspace/group-sync/project-mappings/",
headers={"X-API-Key": "your-api-key"}
)
print(response.json())
```

</template>
<template #javascript>

```javascript
const response = await fetch("https://api.plane.so/api/v1/workspaces/my-workspace/group-sync/project-mappings/", {
headers: {
"X-API-Key": "your-api-key",
},
});
const data = await response.json();
```

</template>
</CodePanel>

<ResponsePanel status="200">

```json
[
{
"id": "661f9511-f30c-52e5-b827-557766551111",
"idp_group_name": "engineering",
"project": "ENG",
"all_projects": false,
"role": "member",
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
},
{
"id": "772g0622-g41d-63f6-c938-668877662222",
"idp_group_name": "all-staff",
"project": null,
"all_projects": true,
"role": "guest",
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
]
```

</ResponsePanel>

</div>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion | 🟠 Major | ⚡ Quick win

Fix heading hierarchy across all project mapping endpoint files (MD001 violation).

All five project mapping files have headings that skip from h1 directly to h3, violating Prettier/markdown linting rules. Change ### headings to ## to maintain proper h2 level between h1 and h3 section hierarchies. This affects the same section headings in all files: "Path Parameters", "Response Attributes" (or "Body Parameters" for POST), and "Scopes".

🔧 Proposed fix for all five files

For list-project-mappings.md, get-project-mapping.md, and delete-project-mapping.md (GET/DELETE):

-### Path Parameters
+## Path Parameters
 
 <div class="params-list">

-### Response Attributes
+## Response Attributes
 
 <div class="params-list">

-### Scopes
+## Scopes

For create-project-mapping.md and update-project-mapping.md (POST/PATCH):

-### Path Parameters
+## Path Parameters
 
 <div class="params-list">

-### Body Parameters
+## Body Parameters
 
 <div class="params-list">

-### Scopes
+## Scopes
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
---
title: List project group mappings
description: List project group mappings via Plane API. HTTP request format, parameters, scopes, and example responses for list project group mappings.
keywords: plane, plane api, rest api, api integration, idp group sync, list project group mappings
---
# List project group mappings
<div class="api-endpoint-badge">
<span class="method get">GET</span>
<span class="path">/api/v1/workspaces/{workspace_slug}/group-sync/project-mappings/</span>
</div>
<div class="api-two-column">
<div class="api-left">
Retrieve all IdP group → project mappings for the workspace.
<div class="params-section">
### Path Parameters
<div class="params-list">
<ApiParam name="workspace_slug" type="string" :required="true">
The 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`.
</ApiParam>
</div>
</div>
<div class="params-section">
### Response Attributes
<div class="params-list">
<ApiParam name="id" type="string">
Unique identifier of the mapping.
</ApiParam>
<ApiParam name="idp_group_name" type="string">
The name of the IdP group.
</ApiParam>
<ApiParam name="project" type="string">
Project identifier the group is mapped to. `null` when `all_projects` is `true`.
</ApiParam>
<ApiParam name="all_projects" type="boolean">
Whether the group is mapped to all projects in the workspace.
</ApiParam>
<ApiParam name="role" type="string">
Role slug assigned to group members within the project.
</ApiParam>
<ApiParam name="created_at" type="timestamp">
The timestamp of when the mapping was created.
</ApiParam>
<ApiParam name="updated_at" type="timestamp">
The timestamp of when the mapping was last updated.
</ApiParam>
</div>
</div>
<div class="params-section">
### Scopes
`workspaces.group_sync:read`
</div>
</div>
<div class="api-right">
<CodePanel title="List project group mappings" :languages="['cURL', 'Python', 'JavaScript']">
<template #curl>
```bash
curl -X GET \
"https://api.plane.so/api/v1/workspaces/my-workspace/group-sync/project-mappings/" \
-H "X-API-Key: $PLANE_API_KEY"
# Or use -H "Authorization: Bearer $PLANE_OAUTH_TOKEN"
```
</template>
<template #python>
```python
import requests
response = requests.get(
"https://api.plane.so/api/v1/workspaces/my-workspace/group-sync/project-mappings/",
headers={"X-API-Key": "your-api-key"}
)
print(response.json())
```
</template>
<template #javascript>
```javascript
const response = await fetch("https://api.plane.so/api/v1/workspaces/my-workspace/group-sync/project-mappings/", {
headers: {
"X-API-Key": "your-api-key",
},
});
const data = await response.json();
```
</template>
</CodePanel>
<ResponsePanel status="200">
```json
[
{
"id": "661f9511-f30c-52e5-b827-557766551111",
"idp_group_name": "engineering",
"project": "ENG",
"all_projects": false,
"role": "member",
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
},
{
"id": "772g0622-g41d-63f6-c938-668877662222",
"idp_group_name": "all-staff",
"project": null,
"all_projects": true,
"role": "guest",
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
]
```
</ResponsePanel>
</div>
---
title: List project group mappings
description: List project group mappings via Plane API. HTTP request format, parameters, scopes, and example responses for list project group mappings.
keywords: plane, plane api, rest api, api integration, idp group sync, list project group mappings
---
# List project group mappings
<div class="api-endpoint-badge">
<span class="method get">GET</span>
<span class="path">/api/v1/workspaces/{workspace_slug}/group-sync/project-mappings/</span>
</div>
<div class="api-two-column">
<div class="api-left">
Retrieve all IdP group → project mappings for the workspace.
<div class="params-section">
## Path Parameters
<div class="params-list">
<ApiParam name="workspace_slug" type="string" :required="true">
The 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`.
</ApiParam>
</div>
</div>
<div class="params-section">
## Response Attributes
<div class="params-list">
<ApiParam name="id" type="string">
Unique identifier of the mapping.
</ApiParam>
<ApiParam name="idp_group_name" type="string">
The name of the IdP group.
</ApiParam>
<ApiParam name="project" type="string">
Project identifier the group is mapped to. `null` when `all_projects` is `true`.
</ApiParam>
<ApiParam name="all_projects" type="boolean">
Whether the group is mapped to all projects in the workspace.
</ApiParam>
<ApiParam name="role" type="string">
Role slug assigned to group members within the project.
</ApiParam>
<ApiParam name="created_at" type="timestamp">
The timestamp of when the mapping was created.
</ApiParam>
<ApiParam name="updated_at" type="timestamp">
The timestamp of when the mapping was last updated.
</ApiParam>
</div>
</div>
<div class="params-section">
## Scopes
`workspaces.group_sync:read`
</div>
</div>
<div class="api-right">
<CodePanel title="List project group mappings" :languages="['cURL', 'Python', 'JavaScript']">
<template `#curl`>
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 21-21: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3

(MD001, heading-increment)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/api-reference/idp-group-sync/list-project-mappings.md` around lines 1 -
162, The document has a heading hierarchy violation where h1 headings skip
directly to h3 (###), which violates markdown linting rules. Fix this by
changing all ### section headings to ## headings for "Path Parameters",
"Response Attributes", and "Scopes" throughout the file to maintain proper h2
level between h1 and h3. This creates a valid hierarchy: h1 (title) → h2
(sections) → h3 (subsections).

Source: Linters/SAST tools

Comment on lines +14 to +16
### The Group Sync Config Object

### Attributes

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Fix heading levels to comply with markdown linting rules.

The overview page has two markdown linting violations:

  1. MD001 (heading-increment): Lines 14, 54, 86 use h3 (###) for object names, but should use h2 (##). After the main h1 heading ("Overview"), section headings should increment to h2, not skip directly to h3.

  2. MD024 (no-duplicate-heading): Lines 16, 56, 88 all use "### Attributes" as headings, creating duplicate heading content across different object sections.

The structure should be:

# Overview (h1)

## The Group Sync Config Object (h2)
## Attributes (h2)
...

## The Project Group Mapping Object (h2)
## Attributes (h2)
...

## The Workspace Group Mapping Object (h2)
## Attributes (h2)

,

🔧 Proposed fix for heading levels
 # Overview
 
 IDP Group Sync lets workspace admins programmatically manage how IdP groups map to Plane projects and workspaces. All endpoints are workspace-scoped and require workspace admin permissions.
 
 <div class="api-two-column">
 <div class="api-left">
 
-### The Group Sync Config Object
+## The Group Sync Config Object
 
-### Attributes
+## Attributes
 
 - `id` _uuid_

Apply the same pattern change (#####) to lines 54-56 and 86-88.

Also applies to: 54-56, 86-88

🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 14-14: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3

(MD001, heading-increment)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/api-reference/idp-group-sync/overview.md` around lines 14 - 16, The
markdown file has heading level violations where section headings for object
descriptions and their attributes use h3 (###) instead of h2 (##), and duplicate
h3 headings named "Attributes" appear across different sections. Change the
heading levels from h3 (###) to h2 (##) for the object names (such as "The Group
Sync Config Object" and "The Project Group Mapping Object" and "The Workspace
Group Mapping Object") at lines 14, 54, and 86, and also change the "Attributes"
headings from h3 (###) to h2 (##) at lines 16, 56, and 88 to establish
consistent heading hierarchy after the main h1 Overview heading and eliminate
duplicate heading content.

Sources: Coding guidelines, Linters/SAST tools

Comment on lines +7 to +21
# Update group sync config

<div class="api-endpoint-badge">
<span class="method patch">PATCH</span>
<span class="path">/api/v1/workspaces/{workspace_slug}/group-sync/config/</span>
</div>

<div class="api-two-column">
<div class="api-left">

Update the IdP group sync configuration for the workspace. Supports partial updates — only include fields you want to change.

<div class="params-section">

### Path Parameters

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Fix heading level to comply with markdown linting.

Line 21 uses h3 (### Path Parameters) but should use h2 (## Path Parameters). After the main h1 heading ("Update group sync config" on line 7), all top-level section headings should be h2, not h3, to comply with the MD001 heading-increment rule.

🔧 Proposed fix for heading levels
 # Update group sync config
 
 <div class="api-endpoint-badge">
   <span class="method patch">PATCH</span>
   <span class="path">/api/v1/workspaces/{workspace_slug}/group-sync/config/</span>
 </div>
 
 <div class="api-two-column">
 <div class="api-left">
 
 Update the IdP group sync configuration for the workspace. Supports partial updates — only include fields you want to change.
 
 <div class="params-section">
 
-### Path Parameters
+## Path Parameters
 
 <div class="params-list">

Apply the same change (#####) to lines 36 and 81 for "Body Parameters" and "Scopes" sections.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# Update group sync config
<div class="api-endpoint-badge">
<span class="method patch">PATCH</span>
<span class="path">/api/v1/workspaces/{workspace_slug}/group-sync/config/</span>
</div>
<div class="api-two-column">
<div class="api-left">
Update the IdP group sync configuration for the workspace. Supports partial updates — only include fields you want to change.
<div class="params-section">
### Path Parameters
# Update group sync config
<div class="api-endpoint-badge">
<span class="method patch">PATCH</span>
<span class="path">/api/v1/workspaces/{workspace_slug}/group-sync/config/</span>
</div>
<div class="api-two-column">
<div class="api-left">
Update the IdP group sync configuration for the workspace. Supports partial updates — only include fields you want to change.
<div class="params-section">
## Path Parameters
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 21-21: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3

(MD001, heading-increment)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/api-reference/idp-group-sync/update-group-sync-config.md` around lines 7
- 21, The markdown document violates the heading-increment rule (MD001) where
top-level section headings after an h1 must be h2, not h3. Change all instances
of `###` (h3) to `##` (h2) for the section headings: "Path Parameters", "Body
Parameters", and "Scopes" to comply with the markdown linting standard where the
main h1 heading "Update group sync config" should be followed directly by
h2-level sections, not h3-level sections.

Source: Linters/SAST tools

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants