Update individual attributes for a group

Updates individual attributes for a group. To update a group's attributes, you must use the correct syntax for the operation, as defined in the SCIM specification.

The value attribute of an operation on the members path is an array of users, with each user represented as a value attribute that corresponds to the user's Canva SCIM ID.

For example, to remove a particular user from the group and add two others, you could use a request body similar to the following:

{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "remove",
"path": "members[value eq \"UAFdxab1abC\"]"
},
{
"op": "add",
"path": "members",
"value": [
{
"value": "UAFdxcd1cdE"
},
{
"value": "UAFdxfg1fgH"
}
]
}
]
}
json
PATCH https://www.canva.com/_scim/v2/Groups/{canva_scim_id}
#Authorizationstring
Required

Provides credentials to authenticate the request, in the form of a Bearer token.

For example: Authorization: Bearer {token}

#Content-Typestring
Required

Indicates the media type of the information sent in the request. This must be set to application/scim+json.

For example: Content-Type: application/scim+json

#canva_scim_idstring
Required

The Canva-generated SCIM ID for the group.

#schemasstring[]
Required

The URIs of the SCIM schemas. The value for this can only be urn:ietf:params:scim:api:messages:2.0:PatchOp.

#Operationsobject[]
Required

List of patch operations

Properties of Operations
#opstring
Required

The SCIM patch operation to perform. This can be one of the following:

  • add
  • remove
  • replace
#pathstring
Optional

An attribute path describing the target of the operation. For more information, see the SCIM specification.

#value
Optional

The value to add, remove, or replace.

Examples for using the /_scim/v2/Groups/{canva_scim_id} endpoint:

curl --request PATCH 'https://www.canva.com/_scim/v2/Groups/{canva_scim_id}' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/scim+json' \
--data '{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "add",
"path": "members",
"value": [
{
"value": "UAFdxcd1cdE"
}
]
}
]
}'
sh

If successful, the endpoint returns a 200 response with a JSON body with the following parameters:

#schemasstring[]

The value for this can only be urn:ietf:params:scim:schemas:core:2.0:Group.

#idstring

The Canva-generated SCIM ID for the group.

#metaobject

Meta properties for the group.

Properties of meta
#resourceTypestring

The SCIM resource type of the object. The value for this can only be Group.

#createdstring

The timestamp when the object was created.

#displayNamestring

The name of the group, suitable for display to end-users.

#membersobject[]
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Group"
],
"id": "UAFgrpb1abC",
"meta": {
"resourceType": "Group",
"created": "2023-09-18T06:08:35Z"
},
"displayName": "White rabbits",
"members": []
}
json
#schemasstring[]

The value for this can only be urn:ietf:params:scim:api:messages:2.0:Error.

#detailstring

The value for this can only be group {canva_scim_id} not found.

#statusstring

The HTTP status code of the error.

{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:Error"
],
"detail": "group {canva_scim_id} not found",
"status": "404"
}
json
#schemasstring[]

The value for this can only be urn:ietf:params:scim:api:messages:2.0:Error.

#detailstring

The value for this can only be Group with name {group_name} already exists..

#statusstring

The HTTP status code of the error.

{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:Error"
],
"detail": "Group with name White rabbits already exists.",
"status": "409"
}
json