SCIM

Patch a User

To update only specific attributes of an existing user, send a PATCH request to /Users/$USER_ID. The PATCH operation is defined by RFC-7644 §3.5.2.

The request body MUST contain a valid SCIM PATCH request with a "schemas" value of "urn:ietf:params:scim:api:messages:2.0:PatchOp" and an "Operations" array with one or more PATCH operations.

Values in the request body for immutable or read-only fields (as defined in RFC-7643 §4.1) will be ignored. Fields that are omitted from the request body will be left unchanged.

Important implementation notes:

  • The Beyond Identity SCIM server currently does not support atomic PATCH operations
  • The server supports two types of PATCH operations:
    1. Email Update: Must use "add" operation with path "emails" and value containing the email object (see "Update Email" example)
    2. Generic Update: A path which isn't equal to "emails" is ignored and the value must be a JSON object representing the user resource
  • If a request contains multiple operations, the request may be partially applied:
    1. The server first validates the overall request schema and attribute types
    2. Operations are then applied sequentially in the order provided
    3. If any operation fails, processing stops immediately
    4. Previously successful operations remain applied
    5. The error response does not indicate which operation failed or which operations were applied
    6. To determine the current state, clients should issue a GET request after receiving an error

Important notes about email handling:

  • Only one email address is supported per user
  • The email must be marked as primary (primary: true)
  • If multiple email addresses are provided, only the primary email will be used and all others will be ignored
patch/scim/v2/Users/{user_id}

Request

Path parameters

user_idstring required

ID of the user.

Request body

schemasstring[] required

Example request

{
  "schemas": [
    "urn:ietf:params:scim:api:messages:2.0:PatchOp"
  ]
}

Response

Successfully updated the User resource. The response contains the full representation of the modified User, including any server-side changes and read-only attributes as specified in RFC-7644 §3.5.2.

schemasstring[] required

The list of schemas used to define the user. This must contain only the core User schema ("urn:ietf:params:scim:schemas:core:2.0:User").

idstring

The unique ID of the user. This is automatically generated on creation. This field is immutable and output-only.

externalIdstring

The provisioning client's unique identifier for the resource. This value must be unique across all users.

userNamestring

The unique username of the user. The value of this field will be returned as the subject of an OIDC ID Token.

displayNamestring

Display name of the User. This name is used for display purposes.

activeboolean

Indicator for the user's administrative status. If true, the user has administrative capabilities.

Example response

{
  "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User"
  ],
  "id": "ed9fcce6-ec82-458e-ae58-e2d975cfc32d",
  "externalId": "external-id-abcdef",
  "userName": "test_user",
  "displayName": "Test User",
  "active": true,
  "emails": [
    {
      "primary": true,
      "value": "test@test.com",
      "type": "work"
    }
  ],
  "name": {
    "givenName": "Barbara",
    "familyName": "Jensen"
  },
  "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
    "employeeNumber": "10.164682/g9j6r80"
  },
  "groups": [
    {
      "value": "e9e30dba-f08f-4109-8486-d5c6a331660a",
      "$ref": "../Groups/e9e30dba-f08f-4109-8486-d5c6a331660a",
      "type": "direct"
    }
  ],
  "meta": {
    "resourceType": "Group",
    "created": "2022-04-07T07:23:33Z",
    "lastModified": "2023-03-30T07:00:14Z",
    "location": "Groups/ed9fcce6-ec82-458e-ae58-e2d975cfc32d",
    "version": "W/0"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.