AnsweredAssumed Answered

API User Search - Admin Account to search by e-mail

Question asked by Bob Fix on Aug 23, 2016
Latest reply on Feb 6, 2017 by Yuri Alegria

In the API documentation - the search_term for users is defined as follows:


The partial name or full ID of the users to match and return in the results list. Must be at least 3 characters.

Note that the API will prefer matching on canonical user ID if the ID has a numeric form. It will only search against other fields if non-numeric in form, or if the numeric value doesn't yield any matches. Queries by administrative users will search on SIS ID, name, or email address; non- administrative queries will only be compared against name.

 

I am an administrative user for our account but the API does not return users based on a search on SIS ID, name, or email address.  What am I missing or is this a bug?  Is Account Admin sufficient privilege for this?  Or do I need to be a different "type" of admin in Canvas

 

** Updated **
I believe that the my admin account is fine and that I am searching by e-mail address.  We have some students and teachers that use e-mail addresses and have multiple accounts in canvas.  This is done by creating e-mail addresses like someuser+psych@univ.edu, someuser+calc@univ.edu.  When searching for the users - the search ignores the + or even ignoring the e-mail address altogether and only sorting by name.

 

Example (I'm leaving out short name and sortable name):
id: 1
name: Trek Bicycle
e-mail: bob.fix+trek@univ.edu

 

id: 2
name: Bob Fix
e-mail: bob.fix@univ.edu

 

id: 3
name: Duckies McGee
email: bob.fix+Duckies@univ.edu

 

GET Users API call:
search_term = bob.fix
results: id: 2

expected: 1, 2, 3

 

search_term = +trek
results: none

expected: 1

 

search_term = trek

results: id 1

expected: 1

 

I don't know if on the back end search that + is an illegal character or causes the results to fail?

Outcomes