Update all information for a group
Replaces an existing group's information.
You must provide all the information for the group, as if you're creating the group for the first time. Any existing information for the group that isn't provided, including group members, is removed.
The members
attribute of a group is an array of users, with each user represented as a value
attribute that corresponds to the user's Canva SCIM ID.
If you only want to update a some of the group's attributes, you can use the PATCH
operation.
A maximum of 1000 group members are allowed in a PUT
request.
The members
array returned in a group's API response is always empty, even if there are members in the group. To see members of a group, you must use the Canva web interface(opens in a new tab or window).
HTTP method and URL path
https://www.canva.com /_scim /v2 /Groups/{canva_scim_id}
Header parameters
Content-Type
string
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
canva_scim_id
string
The Canva-generated SCIM ID for the group.
Body parameters
schemas
string[]
The value for this can only be urn:ietf:params:scim:schemas:core:2.0:Group
.
displayName
string
The name of the group, suitable for display to end-users.
members
object[]
The members of the group.
Properties of members
value
string
The Canva-generated SCIM ID for the user.
Example request
Examples for using the /_scim/v2/Groups/{canva_scim_id}
endpoint:
curl --request PUT '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:schemas:core:2.0:Group","displayName": "White rabbits","members": [{"value": "UAFdxab1abC"}]}'
const fetch = require("node-fetch");fetch("https://www.canva.com/_scim/v2/Groups/{canva_scim_id}", {method: "PUT",headers: {"Authorization": "Bearer {token}","Content-Type": "application/scim+json",},body: JSON.stringify({"schemas": "urn:ietf:params:scim:schemas:core:2.0:Group","displayName": "White rabbits","members": [{"value": "UAFdxab1abC"}]}),}).then(async (response) => {const data = await response.json();console.log(data);}).catch(err => console.error(err));
import java.io.IOException;import java.net.URI;import java.net.http.*;public class ApiExample {public static void main(String[] args) throws IOException, InterruptedException {HttpRequest request = HttpRequest.newBuilder().uri(URI.create("https://www.canva.com/_scim/v2/Groups/{canva_scim_id}")).header("Authorization", "Bearer {token}").header("Content-Type", "application/scim+json").method("PUT", HttpRequest.BodyPublishers.ofString("{\"schemas\": \"urn:ietf:params:scim:schemas:core:2.0:Group\", \"displayName\": \"White rabbits\", \"members\": [{\"value\": \"UAFdxab1abC\"}]}")).build();HttpResponse<String> response = HttpClient.newHttpClient().send(request,HttpResponse.BodyHandlers.ofString());System.out.println(response.body());}}
import requestsheaders = {"Authorization": "Bearer {token}","Content-Type": "application/scim+json"}data = {"schemas": "urn:ietf:params:scim:schemas:core:2.0:Group","displayName": "White rabbits","members": [{"value": "UAFdxab1abC"}]}response = requests.put("https://www.canva.com/_scim/v2/Groups/{canva_scim_id}",headers=headers,json=data)print(response.json())
using System.Net.Http;var client = new HttpClient();var request = new HttpRequestMessage{Method = HttpMethod.Put,RequestUri = new Uri("https://www.canva.com/_scim/v2/Groups/{canva_scim_id}"),Headers ={{ "Authorization", "Bearer {token}" },},Content = new StringContent("{\"schemas\": \"urn:ietf:params:scim:schemas:core:2.0:Group\", \"displayName\": \"White rabbits\", \"members\": [{\"value\": \"UAFdxab1abC\"}]}",Encoding.UTF8,"application/scim+json"),};using (var response = await client.SendAsync(request)){response.EnsureSuccessStatusCode();var body = await response.Content.ReadAsStringAsync();Console.WriteLine(body);};
package mainimport ("fmt""io""net/http""strings")func main() {payload := strings.NewReader(`{"schemas": "urn:ietf:params:scim:schemas:core:2.0:Group","displayName": "White rabbits","members": [{"value": "UAFdxab1abC"}]}`)url := "https://www.canva.com/_scim/v2/Groups/{canva_scim_id}"req, _ := http.NewRequest("PUT", url, payload)req.Header.Add("Authorization", "Bearer {token}")req.Header.Add("Content-Type", "application/scim+json")res, _ := http.DefaultClient.Do(req)defer res.Body.Close()body, _ := io.ReadAll(res.Body)fmt.Println(string(body))}
$curl = curl_init();curl_setopt_array($curl, array(CURLOPT_URL => "https://www.canva.com/_scim/v2/Groups/{canva_scim_id}",CURLOPT_CUSTOMREQUEST => "PUT",CURLOPT_RETURNTRANSFER => true,CURLOPT_HTTPHEADER => array('Authorization: Bearer {token}','Content-Type: application/scim+json',),CURLOPT_POSTFIELDS => json_encode(["schemas" => "urn:ietf:params:scim:schemas:core:2.0:Group","displayName" => "White rabbits","members" => [["value" => "UAFdxab1abC"]]])));$response = curl_exec($curl);$err = curl_error($curl);curl_close($curl);if (empty($err)) {echo $response;} else {echo "Error: " . $err;}
require 'net/http'require 'uri'url = URI('https://www.canva.com/_scim/v2/Groups/{canva_scim_id}')http = Net::HTTP.new(url.host, url.port)http.use_ssl = truerequest = Net::HTTP::Put.new(url)request['Authorization'] = 'Bearer {token}'request['Content-Type'] = 'application/scim+json'request.body = <<REQUEST_BODY{"schemas": "urn:ietf:params:scim:schemas:core:2.0:Group","displayName": "White rabbits","members": [{"value": "UAFdxab1abC"}]}REQUEST_BODYresponse = http.request(request)puts response.read_body
Success response
If successful, the endpoint returns a 200
response with a JSON body with the following parameters:
schemas
string[]
The value for this can only be urn:ietf:params:scim:schemas:core:2.0:Group
.
id
string
The Canva-generated SCIM ID for the group.
meta
object
Meta properties for the group.
Properties of meta
resourceType
string
The SCIM resource type of the object. The value for this can only be Group
.
created
string
The timestamp when the object was created.
displayName
string
The name of the group, suitable for display to end-users.
members
object[]
The members
array returned in a group's API response is always empty, even if there are members in the group. To see members of a group, you must use the Canva web interface(opens in a new tab or window).
Example response
{"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": []}
Error responses
404 Not found
schemas
string[]
The value for this can only be urn:ietf:params:scim:api:messages:2.0:Error
.
detail
string
The value for this can only be group {canva_scim_id} not found
.
status
string
The HTTP status code of the error.
Example error response
{"schemas": ["urn:ietf:params:scim:api:messages:2.0:Error"],"detail": "group {canva_scim_id} not found","status": "404"}
409 Conflict
schemas
string[]
The value for this can only be urn:ietf:params:scim:api:messages:2.0:Error
.
detail
string
The value for this can only be Group with name {group_name} already exists.
.
status
string
The HTTP status code of the error.
Example error response
{"schemas": ["urn:ietf:params:scim:api:messages:2.0:Error"],"detail": "Group with name White rabbits already exists.","status": "409"}