Skip to content

Update SCIM_overview.mdx#627

Open
ocap-kirk wants to merge 2 commits into
masterfrom
ocap-kirk-patch-1
Open

Update SCIM_overview.mdx#627
ocap-kirk wants to merge 2 commits into
masterfrom
ocap-kirk-patch-1

Conversation

@ocap-kirk
Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI review requested due to automatic review settings May 5, 2026 18:30
@netlify
Copy link
Copy Markdown

netlify Bot commented May 5, 2026

Deploy Preview for permitio-docs ready!

Name Link
🔨 Latest commit beeaa37
🔍 Latest deploy log https://app.netlify.com/projects/permitio-docs/deploys/6a0069e89a02710008b0a0bc
😎 Deploy Preview https://deploy-preview-627--permitio-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds documentation to the SCIM Overview page describing how Permit’s SCIM endpoint behaves in multi-tenant setups, including tenant-aware URL shapes and the scoping rules for users, roles (groups), and role assignments.

Changes:

  • Fixes a minor formatting/typography issue in the “Security” benefit bullet.
  • Introduces a new “Multi-tenant SCIM” section explaining supported URL shapes and tenant scoping behavior.
  • Adds guidance on choosing legacy vs tenant-aware SCIM endpoints.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +33 to +36
The SCIM server supports a tenant-aware URL form so a single Permit environment can back multiple isolated customer tenants. Two URL shapes are supported:

- **Legacy (single-tenant):** `/scim/v2/{PROJ_ID}/{ENV_ID}/Users` and `/Groups`. All role assignments land in the `default` tenant. Existing integrations continue to work unchanged.
- **Tenant-aware:** `/scim/v2/{PROJ_ID}/{ENV_ID}/v2/{TENANT_ID}/Users` and `/Groups`. The `TENANT_ID` segment is required — there is no tenant-less `/v2/Users`. SCIM clients (Okta, Entra) bake the tenant into their endpoint configuration, so each tenant points its IdP at its own URL.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Addressed in beeaa37 — the bullets now lead with a base URL ending at .../{permit_env_id} (legacy) or .../{tenant_id} (tenant-aware), with a leading sentence noting the SCIM client appends the resource path. Matches the convention in OKTA.mdx:36 and EntraID.mdx:55.

Comment on lines +35 to +36
- **Legacy (single-tenant):** `/scim/v2/{PROJ_ID}/{ENV_ID}/Users` and `/Groups`. All role assignments land in the `default` tenant. Existing integrations continue to work unchanged.
- **Tenant-aware:** `/scim/v2/{PROJ_ID}/{ENV_ID}/v2/{TENANT_ID}/Users` and `/Groups`. The `TENANT_ID` segment is required — there is no tenant-less `/v2/Users`. SCIM clients (Okta, Entra) bake the tenant into their endpoint configuration, so each tenant points its IdP at its own URL.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Addressed in beeaa37 — resource endpoints are now listed on their own bullet (.../Users, .../Groups) under each base URL, replacing the ambiguous "...Users and /Groups" phrasing.

Comment on lines +35 to +36
- **Legacy (single-tenant):** `/scim/v2/{PROJ_ID}/{ENV_ID}/Users` and `/Groups`. All role assignments land in the `default` tenant. Existing integrations continue to work unchanged.
- **Tenant-aware:** `/scim/v2/{PROJ_ID}/{ENV_ID}/v2/{TENANT_ID}/Users` and `/Groups`. The `TENANT_ID` segment is required — there is no tenant-less `/v2/Users`. SCIM clients (Okta, Entra) bake the tenant into their endpoint configuration, so each tenant points its IdP at its own URL.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Addressed in beeaa37{PROJ_ID}/{ENV_ID}{permit_project_id}/{permit_env_id} to match OKTA.mdx and EntraID.mdx. Also lowercased TENANT_ID{tenant_id} for placeholder-style consistency, and added the same "Replace … with …" mapping line that the sibling docs use.

The SCIM server supports a tenant-aware URL form so a single Permit environment can back multiple isolated customer tenants. Two URL shapes are supported:

- **Legacy (single-tenant):** `/scim/v2/{PROJ_ID}/{ENV_ID}/Users` and `/Groups`. All role assignments land in the `default` tenant. Existing integrations continue to work unchanged.
- **Tenant-aware:** `/scim/v2/{PROJ_ID}/{ENV_ID}/v2/{TENANT_ID}/Users` and `/Groups`. The `TENANT_ID` segment is required — there is no tenant-less `/v2/Users`. SCIM clients (Okta, Entra) bake the tenant into their endpoint configuration, so each tenant points its IdP at its own URL.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Addressed in beeaa37 — added a :::note callout explicitly stating that the second /v2/ is the multi-tenant routing prefix and not a SCIM protocol version. The SCIM 2.0 protocol version is the earlier /scim/v2/ segment. Kept the URL literal since that's the actual API path.

@dshoen619 dshoen619 assigned dshoen619 and unassigned dshoen619 May 10, 2026
@dshoen619 dshoen619 requested review from EliMoshkovich, dshoen619 and gemanor and removed request for dshoen619 May 10, 2026 11:04
@dshoen619 dshoen619 self-assigned this May 10, 2026
Reframe URL examples as base URLs with resource paths appended by the
SCIM client, align placeholder names with sibling Okta/Entra docs
({permit_project_id}, {permit_env_id}, {tenant_id}), and clarify that
the second /v2/ segment is the multi-tenant routing prefix rather than
a SCIM protocol version.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.

3 participants