Identity & platformscim
PUT/scim/v2/organizations/{group_id}/Users/{scim_user_id}
Replace a person's attributes; `active: false` de-provisions them.
replace_scim_user
Public
This operation declares no security requirement: it takes no token.Audited · mutation
x-gitmoap-audit: {"kind":"audited","arg":"mutation"}
De-provisioning removes, together, the person's access in the organization, their places on its
teams, their personal access tokens bound to it and any invite still waiting for them; their
account and their work are untouched. active: true gives access back — the organization's
default role and their team places once they have signed in, else a fresh invite. A new
userName must be an email address on a domain the organization has verified, and the
organization's last owner cannot be de-provisioned.
Parameters
Path
- group_idGroupId (string · uuid)The organization's top-level group
- scim_user_idScimUserId (string · uuid)SCIM user ID
Request body
application/json- userNamestringThe person's sign-in name — for gitmoap, their email address.
- activebooleanoptional
falsetakes away the person's access to the organization;truegives it back. - displayNamestring or nulloptional
emailsarray of ScimEmailoptional
- The ScimEmail schema
- valuestring
- primaryboolean or nulloptional
- typestring or nulloptional
- externalIdstring or nulloptional
groupsarray of ScimMemberRefoptionalThe groups the person is in. Read-only: groups are changed through the group.
- The ScimMemberRef schema
- valuestringThe id of the user or group.
- displaystring or nulloptional
- idstring or nulloptional
metaScimMeta or nulloptional
- The ScimMeta schema
- createdstring · date-time
- lastModifiedstring · date-time
- locationstring
- resourceTypestring
nameScimName or nulloptional
- The ScimName schema
- familyNamestring or nulloptional
- formattedstring or nulloptional
- givenNamestring or nulloptional
- schemasarray of stringoptional
Request body exampleSynthesized example
{
"userName": "userName-f751"
}
Responses
200The userapplication/json
- userNamestringThe person's sign-in name — for gitmoap, their email address.
- activebooleanoptional
falsetakes away the person's access to the organization;truegives it back. - displayNamestring or nulloptional
emailsarray of ScimEmailoptional
- The ScimEmail schema
- valuestring
- primaryboolean or nulloptional
- typestring or nulloptional
- externalIdstring or nulloptional
groupsarray of ScimMemberRefoptionalThe groups the person is in. Read-only: groups are changed through the group.
- The ScimMemberRef schema
- valuestringThe id of the user or group.
- displaystring or nulloptional
- idstring or nulloptional
metaScimMeta or nulloptional
- The ScimMeta schema
- createdstring · date-time
- lastModifiedstring · date-time
- locationstring
- resourceTypestring
nameScimName or nulloptional
- The ScimName schema
- familyNamestring or nulloptional
- formattedstring or nulloptional
- givenNamestring or nulloptional
- schemasarray of stringoptional
200 exampleSynthesized example
{
"userName": "userName-3240",
"active": true,
"displayName": "displayName-f591",
"emails": [
{
"value": "value-733a"
},
{
"value": "value-4919"
}
],
"externalId": "externalId-e3e6",
"groups": [
{
"value": "value-4bbf"
},
{
"value": "value-4ab5"
}
],
"id": "id-415a",
"meta": {
"created": "2026-10-12T16:43:45Z",
"lastModified": "2026-10-16T10:16:16Z",
"location": "location-55e1",
"resourceType": "resourceType-bd7d"
},
"name": {
"familyName": "familyName-62e7",
"formatted": "formatted-be1d",
"givenName": "givenName-8836"
},
"schemas": [
"schemas-42df"
]
}
400An invalid userapplication/json
Error codes
- BAD_REQUESTThe request is malformed: a parameter or a body field is not a well-formed value of its type
- detailstring
- schemasarray of string
- statusstringThe HTTP status code, written as text, as the SCIM protocol requires.
- scimTypestring or nulloptional
400 exampleSynthesized example
{
"detail": "detail-93da",
"schemas": [
"schemas-6cf0"
],
"status": "status-a521"
}
401No valid SCIM token of this organizationapplication/json
Error codes
- UNAUTHORIZEDNo credential was sent, or the one sent is invalid, expired or revoked
- detailstring
- schemasarray of string
- statusstringThe HTTP status code, written as text, as the SCIM protocol requires.
- scimTypestring or nulloptional
401 exampleSynthesized example
{
"detail": "detail-6739",
"schemas": [
"schemas-b34c",
"schemas-3312"
],
"status": "status-afab"
}
404User not foundapplication/json
Error codes
- NOT_FOUNDThe resource does not exist — or exists and you cannot see it: a private resource you have no access to answers exactly as an absent one does
- detailstring
- schemasarray of string
- statusstringThe HTTP status code, written as text, as the SCIM protocol requires.
- scimTypestring or nulloptional
404 exampleSynthesized example
{
"detail": "detail-f8a6",
"schemas": [
"schemas-9c1f"
],
"status": "status-899e"
}
409The person is the organization's last owner, or the userName is takenapplication/json
Error codes
- CONFLICTThe request conflicts with the resource's current state;
reasonsays how
- detailstring
- schemasarray of string
- statusstringThe HTTP status code, written as text, as the SCIM protocol requires.
- scimTypestring or nulloptional
409 exampleSynthesized example
{
"detail": "detail-1f92",
"schemas": [
"schemas-8759"
],
"status": "status-5a75"
}
CLI
gitmoap scim replace-scim-user
- --group-ididThe organization's top-level group (id or group path)
- --scim-user-ididSCIM user ID
- --activeflagoptional`false` takes away the person's access to the organization; `true` gives it back.
- --displayNamestringoptional
- --emailsjsonoptional
- --externalIdstringoptional
- --groupsjsonoptionalThe groups the person is in. Read-only: groups are changed through the group.
- --idstringoptional
- --metajsonoptional
- --namejsonoptional
- --schemasjsonoptional
- --userNamestringThe person's sign-in name — for gitmoap, their email address.