Whether the email is the primary address. Only one email address for a user can be the primary one.
Update individual attributes for a user
Updates individual attributes for a user. To update a user's attributes, you must use the correct syntax for the operation, as defined in the SCIM specification.
For example, to update a user's work
email and familyName
values, use the following for the request body:
{"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],"Operations": [{"op": "replace","path": "emails[type eq \"work\"].value",},{"op": "replace","path": "name.familyName","value": "New-Family-Name"}]}
To deprovision a SCIM user, you can use an operation to set the active
attribute to false
. For example:
{"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],"Operations": [{"op": "replace","path": "active","value": false}]}
Alternatively, you can provide an operation's value
object as a list of paths and values to modify. For example:
{"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],"Operations": [{"op": "add","value": {"name.givenName": "New-Given-Name","name.familyName": "New-Family-Name","externalId": "abcd1234"}}]}
HTTP method and URL path
https://www.canva.com /_scim /v2 /Users/{canva_scim_id}
Header parameters
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
Path parameters
The Canva-generated SCIM ID for the user.
Body parameters
The URIs of the SCIM schemas. The value for this can only be urn:ietf:params:scim:api:messages:2.0:PatchOp
.
List of patch operations
Properties of Operations
The SCIM patch operation to perform. This can be one of the following:
add
remove
replace
An attribute path describing the target of the operation. For more information, see the SCIM specification.
The value to add, remove, or replace.
Example request
Examples for using the /_scim/v2/Users/{canva_scim_id}
endpoint:
curl --request PATCH 'https://www.canva.com/_scim/v2/Users/{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": "replace","path": "name.familyName","value": "Liddell"}]}'
Success response
If successful, the endpoint returns a 200
response with a JSON body with the following parameters:
The URIs of the SCIM schemas. The value for this can only be urn:ietf:params:scim:schemas:core:2.0:User
.
The Canva-generated SCIM ID for the user.
A unique identifier for the user.
The name of the user, suitable for display to end-users.
Whether the user account is active. Setting this to false
deprovisions the user in Canva.
The role of the user. This can be one of the following:
Member
Teacher
Staff
Admin
Template-designer
Aide
Administrator
School administrator
School
Tenant
Faculty
If an invalid value is provided, the role defaults to Member
.
A string that is an identifier for the resource as defined by the provisioning client.
The user's default location, for example en_AU
.
Example response
{"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],"id": "UAFdxab1abC","externalId": "abcd1234","meta": {"resourceType": "User","created": "2023-09-18T06:08:35Z"},"userName": "aliddell","displayName": "Alice Liddell","name": {"givenName": "Alice","familyName": "Liddell"},"emails": [{"primary": true,"type": "work"}],"active": true,"locale": "en_US","role": "Member"}
Error responses
400 Bad request
The value for this can only be urn:ietf:params:scim:api:messages:2.0:Error
.
The value for this can only be No SSO configurations found, please check the settings page
.
The HTTP status code of the error.
Example error response
{"schemas": ["urn:ietf:params:scim:api:messages:2.0:Error"],"detail": "No SSO configurations found, please check the settings page","status": "400"}
403 Forbidden
The value for this can only be urn:ietf:params:scim:api:messages:2.0:Error
.
The value for this can only be Email domain not authorized for SCIM.
.
The HTTP status code of the error.
Example error response
{"schemas": ["urn:ietf:params:scim:api:messages:2.0:Error"],"detail": "Email domain not authorized for SCIM.","status": "403"}
404 Not found
The value for this can only be urn:ietf:params:scim:api:messages:2.0:Error
.
The value for this can only be No user found for id {canva_scim_id}
.
The HTTP status code of the error.
Example error response
{"schemas": ["urn:ietf:params:scim:api:messages:2.0:Error"],"detail": "No user found for id {canva_scim_id}","status": "404"}
409 Conflict
The value for this can only be urn:ietf:params:scim:api:messages:2.0:Error
.
This can be one of the following:
userName not available
Account with email can not be updated. User needs to accept SSO linking
Account with email already exists. User must first log in with SAML to confirm account ownership
Account with email is soft deleted. The user must first log in to reactivate their account
The HTTP status code of the error.
Example error response
{"schemas": ["urn:ietf:params:scim:api:messages:2.0:Error"],"detail": "userName not available","status": "409"}