Skip to content

feat: add API reference and document orgs, auto-linking, mapping, and events - #2625

Merged
hperl merged 6 commits into
masterfrom
hperl/scim-docs
Jun 18, 2026
Merged

feat: add API reference and document orgs, auto-linking, mapping, and events#2625
hperl merged 6 commits into
masterfrom
hperl/scim-docs

Conversation

@hperl

@hperl hperl commented Jun 15, 2026

Copy link
Copy Markdown
Member

Summary

Brings the SCIM documentation in line with the recent SCIM improvements in Ory Kratos (general-purpose, enterprise-ready SCIM), and fills the integrator-facing gaps.

  • New SCIM API reference page (docs/kratos/manage-identities/scim/api-reference.mdx): base URL format, authentication (incl. the single-Bearer-prefix handling), service-discovery endpoints (ServiceProviderConfig, ResourceTypes, Schemas), full Users/Groups CRUD with happy-path request/response shapes, the User/Group/Enterprise-extension schemas, offset and cursor (RFC 9865) pagination, filtering, a SCIM error model + common-error catalogue, and a supported-features matrix.
  • Expanded SCIM overview (50_scim.mdx) into a concept + setup hub: how SCIM relates to organizations (one-org-per-identity, the provisioning matrix), auto-linking (matching precedence + verified-domain adoption), cross-organization conflicts (the 409 uniqueness case + resolution), expanded data mapping (the identity extVar, full-replace semantics, and the relationship to the OIDC/SAML Jsonnet mapper), and deprovisioning (active:false vs. hard delete).
  • Corrected the Events section against the implementation: real event names (SCIMGroupCreated/Updated/Deleted), the member-event nuance, the previously-undocumented SCIMProvisioningError event, and accurate attribute keys (SCIMClient, group/error attributes).
  • Jsonnet reference: documented the SCIM identity extVar and added a working SCIM mapping example.
  • Organizations page: cross-linked to the SCIM org/conflict behavior.
  • Wired the API reference page into the network sidebar.

Also fixed three things that were outright incorrect in the live docs: the active default (now defaults to true), the broken identity-merge mapping example, and the misleading "set the base URL" phrasing.

Test Plan

  • npm install && npx docusaurus build succeeds
  • No broken-link/anchor warnings reference the SCIM pages or their new anchors
  • Visual review of the rendered pages

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Added an SCIM API reference entry to the documentation sidebar to make SCIM integration docs easier to find.
  • Documentation
    • Expanded documentation syntax highlighting to include the http language.

Copilot AI review requested due to automatic review settings June 15, 2026 13:01
@coderabbitai

coderabbitai Bot commented Jun 15, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Two configuration changes update the documentation infrastructure: a new SCIM API reference document is added to the network sidebar navigation, and HTTP syntax highlighting support is enabled in Prism for code block display.

Changes

Documentation Configuration

Layer / File(s) Summary
Add SCIM api-reference to sidebar items
sidebars-network.ts
Inserts "kratos/manage-identities/scim/api-reference" into the SCIM category's items array in the network sidebar configuration.
Add HTTP syntax highlighting support
docusaurus.config.ts
Extends Prism's additionalLanguages array to include "http" for syntax-highlighted HTTP code blocks in documentation.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • ory/docs#2589: Also modifies sidebars-network.ts by adding a new entry to the networkSidebar items list for a specific sidebar category.

Suggested labels

upstream

Suggested reviewers

  • aeneasr
  • zepatrik
  • vinckr
  • piotrmsc

Poem

🐇 A sidebar gains breadth, a new entry appears,
While HTTP syntax glows bright, crystal clear.
Two small changes, though humble they be,
Make docs more complete, and the code pretty!
Configuration hops forward, one step at a time. 🌟

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The PR title describes adding API reference and documentation, but the actual changeset only adds one sidebar entry and one language to Prism config—much smaller in scope than the comprehensive SCIM documentation work described in the PR objectives. The title appears to summarize broader documentation work, but the changeset shows minimal file modifications. Clarify whether this is a partial merge or if the title should reflect only the sidebar/config updates shown in the raw summary.
✅ Passed checks (4 passed)
Check name Status Explanation
Description check ✅ Passed The PR description provides a comprehensive summary of changes, a test plan, and references design context, though it does not explicitly reference a related issue.
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 hperl/scim-docs

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.

Copilot AI left a comment

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.

Pull request overview

Updates the Ory Kratos SCIM documentation to match recent SCIM server behavior in Ory Network, adding a dedicated API reference and expanding the SCIM overview to cover organizations, auto-linking/conflicts, mapping, deprovisioning, and events.

Changes:

  • Added a new SCIM API reference page and linked it into the Network sidebar.
  • Expanded the SCIM overview with organization scoping behavior, auto-linking rules, conflict handling, mapping semantics, deprovisioning guidance, and corrected event names/attributes.
  • Updated the Jsonnet mapping reference to document SCIM inputs (including the existing identity) and provide a SCIM mapping example; cross-linked organizations docs to SCIM provisioning behavior.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
sidebars-network.ts Adds the SCIM API reference page to the SCIM sidebar category.
docs/kratos/reference/jsonnet.mdx Documents SCIM Jsonnet inputs and adds a SCIM mapping example + cross-links.
docs/kratos/organizations/organizations.mdx Adds guidance linking org pre-provisioning to SCIM provisioning and conflict behavior.
docs/kratos/manage-identities/scim/api-reference.mdx Introduces a comprehensive SCIM API reference (auth, discovery, CRUD, schemas, pagination/filtering, errors, features).
docs/kratos/manage-identities/50_scim.mdx Expands SCIM overview to include org scoping, auto-linking/conflicts, mapping semantics, deprovisioning, events, and limitations.

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

Comment thread docs/kratos/reference/jsonnet.mdx
Comment thread docs/kratos/reference/jsonnet.mdx
Comment thread docs/kratos/manage-identities/50_scim.mdx Outdated
@hperl hperl changed the title docs(scim): add API reference and document orgs, auto-linking, mapping, and events docs(kratos): add API reference and document orgs, auto-linking, mapping, and events Jun 16, 2026
@gaultier

Copy link
Copy Markdown
Contributor

LGTM!
Have we checked that events listed here https://www.ory.com/docs/actions/live-events#event-names are up-to-date as well (regarding SCIM events)?

@hperl

hperl commented Jun 17, 2026

Copy link
Copy Markdown
Member Author

LGTM! Have we checked that events listed here https://www.ory.com/docs/actions/live-events#event-names are up-to-date as well (regarding SCIM events)?

Yes, those didn't change.

hperl and others added 6 commits June 17, 2026 14:00
…x events

Add a SCIM API reference page covering the base URL, authentication,
service-discovery endpoints, Users/Groups CRUD with request and response
shapes, the User/Group/Enterprise schemas, offset and cursor pagination,
filtering, the error model, and a supported-features matrix.

Expand the SCIM overview into a concept and setup hub: how SCIM relates to
organizations (one-org-per-identity and the provisioning matrix),
auto-linking, cross-organization conflicts, expanded data mapping (the
identity extVar, full-replace semantics, and the relationship to the
OIDC/SAML Jsonnet mapper), and deprovisioning.

Correct the Events section against the implementation (SCIMGroup* event
names, member-event nuance, SCIMProvisioningError, and attribute keys), add
a SCIM mapping example to the Jsonnet reference, cross-link from the
organizations page, and wire the API reference into the network sidebar.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Merge metadata_admin alongside metadata_public in the SCIM Jsonnet example
to match the surrounding text, and clarify that identity.region is an
optional field in addition to the standard mapper output.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… auto-link diagram

- Pagination: present cursor-based pagination first as recommended (faster,
  no startIndex/count caps) with a tip steering integrators to it.
- Filtering: add a "Filtering users by group" section documenting the
  groups.value filter (UUID-validated, direct members only).
- Authentication: sync the advertised scheme to oauthbearertoken (RFC 6750)
  to match the kratos fix, in both the note and the ServiceProviderConfig
  example.
- Auto-linking: render the provisioning decision as a Mermaid diagram.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…, tidy fences

- Remove "groups": [] from the create-user response (the field is omitempty
  and is omitted when the user has no memberships).
- Clarify PUT replace semantics: omitted attributes reset to defaults, but
  password changes only when included.
- Standardize the group-filter placeholder to <group-id>.
- Use text fences for HTTP request snippets (http is not a configured Prism
  language).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ests

Add "http" to prism.additionalLanguages and switch the SCIM request snippets
back to ```http so request headers are highlighted. Request lines are kept
in the simplified form (no HTTP/1.1), so only headers highlight — acceptable
for readability.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@hperl hperl changed the title docs(kratos): add API reference and document orgs, auto-linking, mapping, and events feat: add API reference and document orgs, auto-linking, mapping, and events Jun 18, 2026
@hperl
hperl merged commit 6fd261e into master Jun 18, 2026
13 of 14 checks passed
@hperl
hperl deleted the hperl/scim-docs branch June 18, 2026 06:50
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.

4 participants