Skip to content

chore: updated scim 409 conflict error details#2501

Merged
deepakprabhakara merged 1 commit intomasterfrom
chore/scim-409-conflict
Apr 8, 2026
Merged

chore: updated scim 409 conflict error details#2501
deepakprabhakara merged 1 commit intomasterfrom
chore/scim-409-conflict

Conversation

@deepakprabhakara
Copy link
Copy Markdown
Contributor

@deepakprabhakara deepakprabhakara commented Apr 7, 2026

Related Issue or Design Document

Checklist

  • I have read the contributing guidelines and signed the CLA.
  • I have referenced an issue containing the design document if my change introduces a new feature.
  • I have read the security policy.
  • I confirm that this pull request does not address a security vulnerability.
    If this pull request addresses a security vulnerability,
    I confirm that I got approval (please contact security@ory.com) from the maintainers to push the changes.
  • I have added tests that prove my fix is effective or that my feature works.
  • I have added the necessary documentation within the code base (if appropriate).

Further comments

@deepakprabhakara deepakprabhakara merged commit 1d09448 into master Apr 8, 2026
17 checks passed
@deepakprabhakara deepakprabhakara deleted the chore/scim-409-conflict branch April 8, 2026 09:13
- If the user already exists within the project or organization, the provisioning may fail with a 409 conflict error. This is
because the SCIM server cannot modify existing users that have not been provisioned via SCIM. In this case, you need to manually
delete the user first.
- If a user already exists within the same organization, SCIM provisioning will update the user using the configured data mapper.
Copy link
Copy Markdown
Contributor

@unatasha8 unatasha8 Apr 8, 2026

Choose a reason for hiding this comment

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

It sounds like the original limitation (above) no longer exists! That is, an existing user in now updated and there is no 409 error. So it makes sense to delete the limitation above.

because the SCIM server cannot modify existing users that have not been provisioned via SCIM. In this case, you need to manually
delete the user first.
- If a user already exists within the same organization, SCIM provisioning will update the user using the configured data mapper.
However, if the user exists in a different organization, provisioning may fail with a 409 Conflict error. In this case, you must
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.

I don't understand how this is a limitation! A SCIM provisioning map is per organization. So why are we talking about the 'same' or a 'different' organization. Either the identity exists in the organization or it doesn't. If it doesn't exist, isn't it created? If it does exist, isn't it updated? That is the expected behavior. Why are we saying they should delete a user from one organization and add them to a different one? (That would mean there was an expectation that the mapping would know which organization the identity should be in and update it there.)

Copy link
Copy Markdown
Contributor Author

@deepakprabhakara deepakprabhakara Apr 8, 2026

Choose a reason for hiding this comment

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

@unatasha8 The mapping is per org, but identity resolution isn’t — the system checks for existing users globally. So if the same identity already exists in another org (or without an org), SCIM can’t create or reassign it automatically, which is why you get a 409.

Copy link
Copy Markdown
Contributor

@unatasha8 unatasha8 left a comment

Choose a reason for hiding this comment

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

See comments. The text is confusing.

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