FAQ: Searching for User Profiles

Here are a few frequently-asked questions regarding the Console.

I tried to search for a user using the query displayname = “Bob Jones”, but all I got back was the error message The attribute with path ‘displayname’ does not exist. The displayname attribute doesn’t exist?!?

Technically, no, it doesn’t. That’s because letter casing is crucial when it comes to attribute names. As far as the Console is concerned, there is no attribute named displayname; instead, there’s an attribute named displayName (note the uppercase N). Try this query instead:

displayName = "Bob Jones"

For more information on letting casing and when it matters, see Attribute Names.

I tried searching for all the users who live in the state of Oregon, but all I got back was the error message Some fields are not queryable: primaryAddress.stateAbbreviation. What does that mean?

It might not be obvious, but that error message means that you can only search on attributes that have been indexed; by default, primaryAddress.stateAbbreviation is not an indexed (i.e., searchable) attribute. And how are you supposed to know which attributes have been indexed? One easy way to determine that is to click the Searchable fields link on the Manage Profiles page:

Clicking that link displays a dialog box that lists all your searchable attributes:

But what do you do if you need to search on the primaryAddress.stateAbbreviation attribute? Here’s your answer: contact your Akamai representative and ask him or her to index the attribute for you.

For more information on indexed attributes, see What You Can Search On.

I tried searching for all the users who have Gmail accounts by using this query: email = “*@gmail.com”. All I got back was the error message Some fields are not reverse-queryable: email. What’s the problem here?

The problem here is this: in order to use a wildcard character at the beginning of a string, the attribute you are searching on (in this case, email) must be configured as a reverse-queryable attribute. (Which, for our purposes, simply means that you can use a wildcard at the beginning of a search value that references that attribute.) To have an attribute marked as reverse-queryable, contact your Akamai representative.

For more information on wildcards and how they can (and cannot) be used in the Console, see Searching with Wildcard Characters.

I tried searching for all the user accounts created on or after September 25, 2017 using this query: created>= “9/25/2017”, but I got the error message Invalid date string ‘9/25/2017’: expected ISO8601 format. Did I do something wrong?

As a matter of fact, you did do something wrong: you used an invalid format when specifying the date. As the error message states, you need to use the ISO 8601 format when specifying dates and times. With ISO 8601, a simple date is specified like this:

Year-Month-Day

Or, in your case:

2017-09-25

To get back the data you were hoping to get back, try this query instead:

created>= "2017-09-25"

For more information about searching for dates in the Console, see Searching for Datetime Values.

I tried searching for a user using the query uuid = “834-962*”, but all I got back was the error message Invalid UUID string “834-962*”: Expected hexadecimal UUID string. Why did I get this error message?

You got that error message because you can’t search for UUIDs using a wildcard; wildcards are reserved for string values. And what if you aren’t sure about the datatype (e.g., string; integer; Boolean; etc.) used by an attribute? Don’t worry about it; you can find this information on the Manage Schemas page:

For more information on wildcard characters, see Searching with Wildcard Characters.

I want to look at all my user profiles. I tried using the query displayName = “*” but all I got back was an Invalid string %: cannot begin and end with a wildcard error message. How do I display all my user accounts?

You’re getting the “invalid string” error message because you started (and ended) your search value with an asterisk, and that’s not allowed. That said, however, you don’t need to go to that much trouble just to display all of your user accounts; after all, that’s what the Console does by default. If you want to display all your user accounts simply delete any query currently shown in the Search for profiles field. For example, suppose your Search for profiles field currently looks like this:

Select the query created> “2017-09-25” and then press Delete. As soon as the query is deleted the screen will refresh, and all your user accounts will be displayed.

I searched for all the user profiles created after September 25, 2017 (that is, September 26 or later) by using the query created> “2017-09-25”. However, the returned results include users whose profiles were created on September 25. Why?

That’s because, in the Console, the datetime value 2017-09-25 is actually short for this:

2017-09-25 00:00:00.000000

Effectively, that refers to the exact instance at which the date clicked over to September 25th. Any date or time later than that (including, for example, a time one second into September 25th) is greater than your specified date.

To find all the accounts created on September 26, 2017 or later (which is what you really want), use this query instead:

created>= "2017-09-26"

That returns the data you’re looking for.

For more information on searching for datetime values in the Console, see Searching for Datetime Values.