primarybooleanWhether the email is the primary address. Only one email address for a user can be the primary one.
Gets a paginated list of all users in a Canva team, including inactive users.
You can use the startIndex and count parameters to control the pagination of the response.
You can also provide a filter parameter to narrow down the users returned to only include those matching the filter.
https://www.canva.com /_scim /v2 /UsersstartIndexintegerUsed to paginate the response: the index of the first result to return.
countintegerUsed to paginate the response: the number of results to return. Must be between 1 and 10.
filterstringA filter to narrow down the results returned, using the equals (eq) query parameter. The following filters are supported:
Return the user matching the SCIM userName value: userName eq "{saml_name_id}".
For example: GET /_scim/v2/Users?filter=userName%20eq%20"aliddell"
Return the user matching the SCIM externalId value: externalId eq "{idp_provided_external_id}".
For example: GET /_scim/v2/Users?filter=externalId%20eq%20"abcdefgh12345678"
Examples for using the /_scim/v2/Users endpoint:
curl --request GET 'https://www.canva.com/_scim/v2/Users' \--header 'Authorization: Bearer {token}'
const fetch = require("node-fetch");fetch("https://www.canva.com/_scim/v2/Users", {method: "GET",headers: {"Authorization": "Bearer {token}",},}).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/Users")).header("Authorization", "Bearer {token}").method("GET", HttpRequest.BodyPublishers.noBody()).build();HttpResponse<String> response = HttpClient.newHttpClient().send(request,HttpResponse.BodyHandlers.ofString());System.out.println(response.body());}}
import requestsheaders = {"Authorization": "Bearer {token}"}response = requests.get("https://www.canva.com/_scim/v2/Users",headers=headers)print(response.json())
using System.Net.Http;var client = new HttpClient();var request = new HttpRequestMessage{Method = HttpMethod.Get,RequestUri = new Uri("https://www.canva.com/_scim/v2/Users"),Headers ={{ "Authorization", "Bearer {token}" },},};using (var response = await client.SendAsync(request)){response.EnsureSuccessStatusCode();var body = await response.Content.ReadAsStringAsync();Console.WriteLine(body);};
package mainimport ("fmt""io""net/http")func main() {url := "https://www.canva.com/_scim/v2/Users"req, _ := http.NewRequest("GET", url, nil)req.Header.Add("Authorization", "Bearer {token}")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/Users",CURLOPT_CUSTOMREQUEST => "GET",CURLOPT_RETURNTRANSFER => true,CURLOPT_HTTPHEADER => array('Authorization: Bearer {token}',),));$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/Users')http = Net::HTTP.new(url.host, url.port)http.use_ssl = truerequest = Net::HTTP::Get.new(url)request['Authorization'] = 'Bearer {token}'response = http.request(request)puts response.read_body
If successful, the endpoint returns a 200 response with a JSON body with the following parameters:
schemasstring[]Available values: The only valid value is urn:ietf:params:scim:api:messages:2.0:ListResponse.
totalResultsintegerThe total number of results matching the query.
startIndexintegerThe index of the first result.
itemsPerPageintegerThe number of results returned in the current page.
resourcesScimUserResponse[]An array of the users returned in the current page of results.
schemasstring[]The URIs of the SCIM schemas.
Available values: The only valid value is urn:ietf:params:scim:schemas:core:2.0:User.
idstringThe Canva-generated SCIM ID for the user.
metaobjectMeta properties for the user.
resourceTypestringThe SCIM resource type of the object.
Available values: The only valid value is User.
createdstringThe timestamp when the object was created.
userNamestringA unique identifier for the user.
displayNamestringThe name of the user, suitable for display to end-users.
emailsobject[]The email address for the user.
The Canva SCIM API only supports one email address for each user.
primarybooleanWhether the email is the primary address. Only one email address for a user can be the primary one.
valuestringThe email address.
typestringThe type of email address for the user. The Canva SCIM API only supports work as the type of the email address.
activebooleanWhether the user account is active. Setting this to false deprovisions the user in Canva.
rolestringThe role of the user. This can be one of the following:
MemberTeacherStaffAdminTemplate-designerAideAdministratorSchool administratorSchoolTenantFacultyIf an invalid value is provided, the role defaults to Member.
Except for Member, all other role values map to the Canva "Brand Designer" role. For more information on Canva roles, see Team roles and permissions(opens in a new tab or window).
Default value: Member
externalIdstringA string that is an identifier for the resource as defined by the provisioning client.
namenameThe components of the user's name.
givenNamestringThe first or 'given' name for the user.
familyNamestringThe last or 'family' name for the user.
localestringThe user's default location, for example en_AU.
{"schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"],"totalResults": 1,"startIndex": 1,"itemsPerPage": 10,"resources": [{"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"}]}
schemasstring[]Available values: The only valid value is urn:ietf:params:scim:api:messages:2.0:Error.
detailstringAvailable values: The only valid value is No SSO configurations found, please check the settings page.
statusstringThe HTTP status code of the error.
{"schemas": ["urn:ietf:params:scim:api:messages:2.0:Error"],"detail": "No SSO configurations found, please check the settings page","status": "400"}
schemasstring[]Available values: The only valid value is urn:ietf:params:scim:api:messages:2.0:Error.
detailstringAvailable values: The only valid value is Unsupported filter field.
statusstringThe HTTP status code of the error.
{"schemas": ["urn:ietf:params:scim:api:messages:2.0:Error"],"detail": "Unsupported filter field","status": "403"}