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 firstname.lastname@example.org, email@example.com. 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):
name: Trek Bicycle
name: Bob Fix
name: Duckies McGee
GET Users API call:
search_term = bob.fix
results: id: 2
expected: 1, 2, 3
search_term = +trek
search_term = trek
results: id 1
I don't know if on the back end search that + is an illegal character or causes the results to fail?