Skip to main content

Searching

In Aprimo DAM, you often need to act on a specific subset of objects rather than the entire collection. To do this, the first step is creating a collection of objects through a search.

Aprimo DAM supports simple and advanced search expressions, relevance ranking, sorting, and faceted search results. This guide covers how to construct search expressions, explore advanced options, and reference object properties available for searches.

Simple Searching

Filtering

Pass a single-line Aprimo DAM search expression with the filter parameter (query string or header). It applies only to collection endpoints.

Examples:

GET /records?filter=FileCount = 2
GET /records HTTP/1.1
filter: ContentStatus = "Published"

Filtering by path (e.g. classification labelpath):

GET /classifications?filter=labelpath='DAM/Products/Briefs\/Solutions'
tip

When a forward slash is part of a name (e.g. in a path), escape it with a backslash: \/.

Sorting

Pass a sort expression with the sort parameter (query string or header). It applies only to collection endpoints.

Examples:

GET /records?sort=CreatedOn desc
GET /records HTTP/1.1
sort: CreatedBy.Name, CreatedOn desc

Paging

Use relation links (first, prev, next, last) or the page and pageSize parameters (query string or header). pageSize is capped at 1000 and defaults to 50. Newer routes may use skip (number to bypass) and take (number to return) instead of page/pageSize.

Examples:

GET /records?page=1&pageSize=20
GET /records?filter=FileCount%20%3D%202&sort=createdon&page=1&pageSize=10

Complex Searching

Simple vs. Complex Properties

  • Simple Properties: Basic data types like string, number, or datetime.
  • Complex Properties: Nested Aprimo DAM objects (e.g., classifications, files, users). You can use the properties of these nested objects in your search expressions.

Sortable Properties

Some properties support sorting, such as sorting search results or customizing record display configurations. These are marked as "Sortable" in the lists below.

Search results can be sorted by:

  1. Sortable properties of the target object.
  2. Relevance ranking (only for Records and Classifications).

Sorting Examples as Headers

  • By creation datetime:
    sort: CreatedOn
  • By creation datetime (descending):
    sort: CreatedOn desc
  • By creator name, then creation datetime (descending):
    sort: CreatedBy.Name, CreatedOn desc
  • By a field value (e.g., "Description"):
    sort: FieldName('Description').Value
  • By relevance ranking:
    sort: Rank desc
tip
  • Use Rank for relevance-based sorting (available for Records and Classifications only).
  • Combine multiple sort criteria by separating them with commas.

Searching for Records

To find specific records in Aprimo DAM — whether in custom code, references, or XML settings — you can build search expressions using various properties. This guide explains how to construct search expressions and provides a comprehensive list of searchable and sortable properties.

POSTMAN Examples

You can find a variety of example search requests in the Public POSTMAN Collection

Searchable Properties on Records

PropertyTypeSortableDescription
Classification / DirectClassificationClassificationNoSearch for records linked to a classification or its descendants. Use DirectClassification to exclude descendants.
ContentStatusStringNoSearch by status. Example: ContentStatus = "Draft"
ContentType / DirectContentTypeStringNoSearch by content type. Use DirectContentType to exclude child types.
CreatedBy / ModifiedByUserNoSearch by creator or last modifier.
CreatedOn / ModifiedOnDateTimeYesSearch by creation or modification date. Example: CreatedOn < '12/31/2000'
FileCountNumberNoSearch by the number of files in a record. Example: FileCount = 0
IdGuidYesSearch by specific record ID. Example: Id = "c48f8b80-371c-48d1-88a1-a41800a9fa98"
TitleStringYesSearch for exact or partial title matches. Examples: Title = "Umbrella" or Title CONTAINS "Umbrella".

Searchable Properties for Classifications

PropertyTypeSortableExamples
IdGuidYesClassification.Id = '6CD75F39-9BC8-40e2-B2FE-982045436CF7'
IdentifierStringNoClassification.Identifier = 'ProductImages'
LabelStringYesClassification.Label = 'Product Images'
NameStringYesClassification.Name = 'SummerImages'
NamePathStringNoClassification.NamePath = '/Books/Published'

Searchable Properties of Files

PropertyTypeSortableExamples
CheckedOutByGuidYesFile.CheckedOutBy = 'c48f8b80-371c-48d1-88a1-a41800a9fa98'
FileNameStringNoFile.Version.FileName = 'test.jpg'
FileSizeNumberNoFile.Version.FileSize > 200000
IsMasterBooleanYesFile[IsMaster = true AND VersionCount > 1]

Searchable Properties of File Versions

PropertyTypeSortableDescription & Examples
AdditionalFileAdditionalFileNoSearch records using properties of an Additional File linked to a FileVersion.
ChecksumCRC32NoRetrieve file versions with a specific checksum. Example: File.Version.Checksum = '-1509776639'.
CreatedOn*DateTimeNoFind file versions created before a specific date. Example: File.Version.CreatedOn < '01/01/2000'.
CommentStringNoSearch for file versions with a specific comment. Example: LatestVersionOfMasterFile.Comment CONTAINS 'excellent'.
ExtensionStringNoSearch by file extensions. Example: File.Version.Extension = 'jpg'.
FileNameStringNoFind file versions with a specific file name. Example: File.Version.Filename = 'test.jpg'.
FileSizeNumberNoSearch files larger than a specific size. Example: File.Version.FileSize > 200000.
HasPublicUriBooleanNoRetrieve files with a public CDN link. Example: LatestVersionOfMasterFile.HasPublicUri = true.
IdGuidNoFind a specific file version by ID. Example: File.Version.Id = '6f41fa97-d32a-42ba-8cdd-a41800a9ea16'.
PreviewGuidNoSearch for records with a specific file preview. Example: File.Version.Preview = '6f41fa97-d32a-42ba-8cdd-a41800a9ea16'.
PreviewCountNumberNoFind records with more than two previews. Example: File.Version.PreviewCount > 1.
VersionNumberNoRetrieve records with more than two file versions. Example: File.Version.Version > 2.
VersionLabelStringNoSearch for file versions with a specific label. Example: File.Version.VersionLabel = 'Draft'.

Searchble Properties of Users

PropertyTypeSortableDescription & Examples
IdGuidYesRetrieve records modified by a specific user. Example: ModifiedBy.Id = 'c48f8b80-371c-48d1-88a1-a41800a9fa98'.
EmailStringNoSearch by user email. Example: ModifiedBy.Email = 'pete.newcase@aprimo.com'.
NameStringNoFind records created by a specific user. Example: CreatedBy.Name = 'Pete Newcase'.
FirstNameStringNoSearch users by first name. Example: CreatedBy.FirstName = 'Joe'.
LastNameStringNoSearch users by last name. Example: CreatedBy.LastName = 'Newcase'.

Searchable Properties of Additional Files

PropertyTypeSortableDescription & Examples
IdGuidNoFind records with an additional file ID. Example: File.Version.AdditionalFile.Id = 'c48f8b80-371c-48d1-88a1-a41800a9fa98'.
ChecksumCRC32NoSearch by file checksum. Example: File.Version.AdditionalFile.CheckSum = '-1509776639'.

Searchable Properties of File Type

PropertyTypeSortableDescription & Examples
IdGuidNoFind records with a specific file type ID. Example: File.Version.FileType.Id = 'c48f8b80-371c-48d1-88a1-a41800a9fa98'.
KindStringNoSearch by file type kind (e.g., JPG). Example: File.Version.FileType.Kind = 'JPG'.
NameStringNoSearch by file type name. Example: File.Version.FileType.Name = 'ProductOverview.jpg'.

Searchable Properties for Other Objects

The tables below show all searchable properties for different objects in Aprimo DAM.

  • Type indicates the data type returned. For complex types (objects), you can use their nested searchable properties—click a complex property to view them.
  • Sortable shows whether the property can be used to sort search results.
Not For REST API

These properties are not used by the Aprimo DAM /search/record or /search/classification REST API Endpoints and are only available with XML references in Aprimo DAM.

Searchable Properties for Log Entries

PropertyTypeSortableDescription & Examples
ActionEnumerationYesSearch for log entries by action. Example: Action = RecordModified.
ApplicationNameStringYesFind log entries linked to a specific application. Example: ApplicationName = AssetStudio.
MessageStringNoSearch log entries by message content. Example: Message = "*error*".
KeyGuidYesSearch for log entries linked to a specific object. Example: Key = '6CD75F39-9BC8-40e2-B2FE-982045436CF7'.
LoggedOnDateTimeYesSearch log entries by date/time. Example: LoggedOn > "10/30/2006 06:00:00 AM".
SessionIdGuidNoSearch for log entries by session ID.
UserUserNoSearch log entries by user. Example: User.Name = "Pete Newcase".

Searchable Properties for Classifications

PropertyTypeSortableDescription & Examples
AncestorClassificationNoSearch classifications by ancestor properties.
AncestorOrSelfClassificationNoSearch by ancestor and current classification properties.
CreatedByUserNoFind classifications created by a user. Example: CreatedBy.Name = "Pete Newcase".
CreatedOnDateTimeYesSearch classifications by creation date. Example: CreatedOn > '01/01/2000'.
FieldId("FieldId")(Field data type)NoSearch classifications by field value. Example: FieldName("CountryCode") = "BE".
IdGuidYesFind a classification by ID. Example: Id = "24cb1cb9-935d-4791-b47d-a10b0101e3cd".
IdentifierStringYesSearch by unique identifier. Example: Identifier = "ProductImages".
LabelStringYesSearch by label. Example: Label = 'Product Images'.
LabelPathStringNoSearch by label path. Example: LabelPath = '/Books/Published books'.
ModifiedByUserNoFind classifications last modified by a user. Example: ModifiedBy.Email = "pete.newcase@aprimo.com".
ModifiedOnDateTimeYesSearch by last modification date. Example: ModifiedOn < '12/31/2000'.
NameStringYesSearch by name. Example: Name = a*.
NamePathStringNoSearch by name path. Example: NamePath = '/Books/Published'.
ParentClassificationNoSearch by parent classification properties.
RootClassificationNoSearch by root classification properties.
SortIndexNumberYesSearch classifications by sort index. Example: SortIndex = 0.

Searchable Properties for Collections

PropertyTypeSortableDescription & Examples
CreatedByUserNoSearch for collections created by a specific user. Example: CreatedBy.Name = "Pete Newcase".
CreatedOnDateTimeYesSearch for collections by creation date. Example: CreatedOn > '01/01/2000' AND CreatedOn < '12/31/2000'.
IdGuidYesSearch for a collection by ID. Example: Id = "24cb1cb9-935d-4791-b47d-a10b0101e3cd".
IsSharedBooleanNoSearch for shared collections. Example: IsShared = true.
ModifiedByUserNoSearch for collections modified by a specific user. Example: ModifiedBy.Email = "pete.newcase@aprimo.com".
ModifiedOnDateTimeYesSearch for collections by modification date. Example: ModifiedOn < '12/31/2000'.
NameStringYesSearch for collections by name. Example: Name = My*.
OwnerIdUserNoSearch for collections owned by a specific user. Example: OwnerId.Name = "Pete Newcase".

Searchable Properties for Field Definitions

PropertyTypeSortableDescription & Examples
CreatedByUserNoSearch for field definitions created by a specific user. Example: CreatedBy.Name = "Pete Newcase".
CreatedOnDateTimeYesSearch for field definitions by creation date. Example: CreatedOn > '01/01/2000' AND CreatedOn < '12/31/2000'.
DataTypeEnumerationNoSearch for field definitions by data type. Example: DataType = Duration.
DefaultValueStringYesSearch for field definitions by default value. Example: DefaultValue = "".
GroupFieldGroupNoSearch for field definitions in a specific group. Example: Group.Name = "Price Fields".
IdGuidYesSearch for a field definition by ID. Example: Id = "24cb1cb9-935d-4791-b47d-a10b0101e3cd".
InlineStyleStringYesSearch for field definitions by inline style. Example: InlineStyle = "*background: blue*".
LabelStringYesSearch for field definitions by label. Example: Label = "Product Reference".
LanguageModeEnumerationYesSearch by language mode. Example: LanguageMode = Single.
ModifiedByUserNoSearch for field definitions modified by a specific user. Example: ModifiedBy.Email = "pete.newcase@aprimo.com".
ModifiedOnDateTimeYesSearch for field definitions by modification date. Example: ModifiedOn < '12/31/2000'.
NameStringYesSearch for field definitions by name. Example: Name = a*.
ReaderUserNoSearch for field definitions readable by a user. Example: Reader.Name = "Pete Newcase".
SchemaUpdateRequiredBooleanNoSearch by schema update status. Example: SchemaUpdateRequired = true.
ScopeEnumerationYesSearch by field scope. Example: Scope = RecordContentGlobal.
ScopeCategoryEnumerationYesSearch by scope category. Example: ScopeCategory = Classification.
SortIndexNumberYesSearch by sort index. Example: SortIndex = 0.
StorageModeEnumerationYesSearch by storage mode. Example: StorageMode = AllValues.
ValidationStringYesSearch by validation routine. Example: Validation = "".

Searchable Properties for Field Groups

PropertyTypeSortableDescription & Examples
CreatedByUserNoSearch for field groups created by a specific user. Example: CreatedBy.Name = "Pete Newcase".
CreatedOnDateTimeYesSearch for field groups by creation date. Example: CreatedOn > '01/01/2000' AND CreatedOn < '12/31/2000'.
FieldFieldDefinitionNoSearch for field groups containing a specific field. Example: Field.Name = "ProductReference".
IdGuidYesSearch for a field group by ID. Example: Id = "24cb1cb9-935d-4791-b47d-a10b0101e3cd".
ManagerUserNoSearch for field groups managed by a specific user. Example: Manager.Name = "Pete Newcase".
ModifiedByUserNoSearch for field groups modified by a specific user. Example: ModifiedBy.Email = "pete.newcase@aprimo.com".
ModifiedOnDateTimeYesSearch for field groups by modification date. Example: ModifiedOn < '12/31/2000'.
NameStringYesSearch for field groups by name. Example: Name = a*.
ReaderUserNoSearch for field groups readable by a specific user. Example: Reader.Name = "Pete Newcase".

Searchable Properties for File Types

PropertyTypeSortableDescription & Examples
AllowOrderResizeSourceBooleanNoSearch for file types allowing resizing. Example: AllowOrderResizeSource = true.
CreatedByUserNoSearch for file types created by a user. Example: CreatedBy.Name = "Pete Newcase".
CreatedOnDateTimeYesSearch for file types by creation date. Example: CreatedOn > '01/01/2000' AND CreatedOn < '12/31/2000'.
EngineFormatStringYesSearch for file types by engine format. Example: EngineFormat = PSD.
ExtensionStringYesSearch for file types by extension. Example: Extension = "jp*".
GraphicEnginesXPathNoSearch for file types by media engines. Example: GraphicEngines = "/engines/add[@name = 'Xmp']".
IdGuidYesSearch for a file type by ID. Example: Id = "24cb1cb9-935d-4791-b47d-a10b0101e3cd".
KindStringYesSearch for file types by kind. Example: Kind = "Jpg".
MacCreatorStringYesSearch for file types by Mac creator code. Example: MacCreator = "CARO".
MacTypeStringYesSearch for file types by Mac type code. Example: MacType = "WDBN".
MimeTypeStringYesSearch for file types by Mime type. Example: MimeType = "video/mpeg".
ModifiedByUserNoSearch for file types modified by a specific user. Example: ModifiedBy.Email = "pete.newcase@aprimo.com".
ModifiedOnDateTimeYesSearch for file types by modification date. Example: ModifiedOn < '12/31/2000'.
NameStringYesSearch for file types by name. Example: Name = a*.
PreferredExtensionBooleanYesSearch for preferred file types by extension. Example:

Searchable Properties for Languages

PropertyTypeSortableDescription & Examples
CreatedByUserNoSearch for languages created by a user. Example: CreatedBy.Name = "Pete Newcase".
CreatedOnDateTimeYesSearch for languages by creation date. Example: CreatedOn > '01/01/2000' AND CreatedOn < '12/31/2000'.
EnabledForFieldsBooleanYesSearch for languages enabled for fields. Example: EnabledForFields = true.
IdGuidYesSearch for a language by ID. Example: Id = "24cb1cb9-935d-4791-b47d-a10b0101e3cd".
ModifiedByUserNoSearch for languages modified by a user. Example: ModifiedBy.Email = "pete.newcase@aprimo.com".
ModifiedOnDateTimeYesSearch for languages by modification date. Example: ModifiedOn < '12/31/2000'.
NameStringYesSearch for languages by name. Example: Name = a*.

Searchable Properties for Maintenance Jobs

PropertyTypeSortableDescription & Examples
CreatedByUserYesSearch for maintenance jobs created by a user. Example: CreatedBy.Name = "Pete Newcase".
CreatedOnDateTimeYesSearch for maintenance jobs by creation date. Example: CreatedOn > '01/01/2000' AND CreatedOn < '12/31/2000'.
GroupIdGuidYesSearch for jobs by group ID. Example: GroupId = "24cb1cb9-935d-4791-b47d-a10b0101e3cd".
IdGuidYesSearch for a maintenance job by ID. Example: Id = "24cb1cb9-935d-4791-b47d-a10b0101e3cd".
ModifiedByUserNoSearch for jobs modified by a user. Example: ModifiedBy.Email = "pete.newcase@aprimo.com".
ModifiedOnDateTimeYesSearch for maintenance jobs by modification date. Example: ModifiedOn < '12/31/2000'.
ProcessCodeGuidYesSearch for jobs by process code. Example: ProcessCode = "24cb1cb9-935d-4791-b47d-a10b0101e3cd".
SplitContextEnumerationYesSearch for jobs by split context. Example: SplitContext = Container.
SplitIndexNumberYesSearch for split jobs by index. Example: SplitIndex = 0.
StatusEnumerationYesSearch for jobs by status. Example: Status = Executing.
TypeStringYesSearch for jobs by type. Example: Type = "Adam.Core.Records.RecordMaintenanceJob, Adam.Core".

Searchable Properties for Setting Categories

PropertyTypeSortableDescription & Examples
CreatedByUserNoSearch for setting categories created by a specific user. Example: CreatedBy.Name = "Pete Newcase".
CreatedOnDateTimeYesSearch for setting categories by creation date. Example: CreatedOn > '01/01/2000' AND CreatedOn < '12/31/2000'.
IdGuidYesSearch for a setting category by ID. Example: Id = "24cb1cb9-935d-4791-b47d-a10b0101e3cd".
LabelStringYesSearch for setting categories by label. Example: Label = a*.
ModifiedByUserNoSearch for setting categories modified by a specific user. Example: ModifiedBy.Email = "pete.newcase@aprimo.com".
ModifiedOnDateTimeYesSearch for setting categories by modification date. Example: ModifiedOn < '12/31/2000'.
NameStringYesSearch for setting categories by name. Example: Name = a*.

Searchable Properties for Setting Definitions

PropertyTypeSortableDescription & Examples
AllowAnonymousAccessBooleanNoSearch for setting definitions allowing anonymous access. Example: AllowAnonymousAccess = true.
AllowSiteSettingBooleanNoSearch for setting definitions allowing site-level settings. Example: AllowSiteSetting = true.
AllowSystemSettingBooleanNoSearch for setting definitions allowing system-level settings. Example: AllowSystemSetting = true.
AllowUserSettingBooleanNoSearch for setting definitions allowing user-level settings. Example: AllowUserSetting = true.
CategorySetting categoryNoSearch for setting definitions by category. Example: Category = "Custom settings".
CreatedByUserNoSearch for setting definitions created by a user. Example: CreatedBy.Name = "Pete Newcase".
CreatedOnDateTimeYesSearch for setting definitions by creation date. Example: CreatedOn > '01/01/2000' AND CreatedOn < '12/31/2000'.
DataTypeEnumerationNoSearch for setting definitions by data type. Example: DataType = Numeric.
GroupSettingModeEnumerationNoSearch for setting definitions by user group mode. Example: GroupSettingMode = MaximumValue.
IdGuidYesSearch for a setting definition by ID. Example: Id = "24cb1cb9-935d-4791-b47d-a10b0101e3cd".
KeyGuidNoSearch for setting definitions by related object ID. Example: Key = "24cb1cb9-935d-4791-b47d-a10b0101e3cd".
LabelStringYesSearch for setting definitions by label. Example: Label = "Custom setting".
ModifiedByUserNoSearch for setting definitions modified by a user. Example: ModifiedBy.Email = "pete.newcase@aprimo.com".
ModifiedOnDateTimeYesSearch for setting definitions by modification date. Example: ModifiedOn < '12/31/2000'.
NameStringYesSearch for setting definitions by name. Example: Name = a*.

Searchable Properties for System Settings

PropertyTypeSortableDescription & Examples
AllowAnonymousAccessBooleanNoSearch for settings allowing anonymous access. Example: AllowAnonymousAccess = true.
AllowSiteSettingBooleanNoSearch for settings allowing site-level settings. Example: AllowSiteSetting = true.
AllowSystemSettingBooleanNoSearch for settings allowing system-level settings. Example: AllowSystemSetting = true.
AllowUserSettingBooleanNoSearch for settings allowing user-level settings. Example: AllowUserSetting = true.
CategorySetting categoryNoSearch for settings by category. Example: Category = "Custom settings".
DataTypeEnumerationYesSearch for settings by data type. Example: DataType = Numeric.
GroupSettingModeEnumerationNoSearch for settings by user group mode. Example: GroupSettingMode = MaximumValue.
IdGuidYesSearch for a setting by ID. Example: Id = "24cb1cb9-935d-4791-b47d-a10b0101e3cd".
LabelStringYesSearch for settings by label. Example: Label = "Custom setting".
NameStringYesSearch for settings by name. Example: Name = a*.
ValueStringYesSearch for settings by value. Example: Value = "*blue*".

Searchable Properties for Translations

In Aprimo DAM, a translation object represents a term that can be translated into different UI languages. Each translation contains one or more TranslationItem, with each item holding the translated term for a specific language.

Example:

  • Translation Name: lblAddToBasket
    • English: Add To Basket
    • Dutch: Voeg toe aan mandje (if "Netherlands" is added as a UI language) When you add new languages in Aprimo DAM, you must provide values for translation items in those languages.
PropertyTypeSortableDescription & Examples
CreatedByUserNoSearch for translations created by a specific user. Example: CreatedBy.Name = "Pete Newcase".
CreatedOnDateTimeYesSearch for translations by creation date. Example: CreatedOn > '01/01/2000' AND CreatedOn < '12/31/2000'.
IdGuidYesSearch for a translation by ID. Example: Id = "24cb1cb9-935d-4791-b47d-a10b0101e3cd".
ModifiedByUserNoSearch for translations modified by a specific user. Example: ModifiedBy.Email = "pete.newcase@aprimo.com".
ModifiedOnDateTimeYesSearch for translations by modification date. Example: ModifiedOn < '12/31/2000'.
ModuleStringYesSearch for translations by module. Example: Module = Actions.
NameStringYesSearch for translations by name. Example: Name = a*.
StudioStringYesSearch for translations by studio. Example: Studio = AssetStudio.
TranslationTranslationItemNoSearch translations using properties of their translation items.

Searchable Properties for TranslationItem

PropertyTypeSortableDescription & Examples
LanguageLanguageNoSearch translations by the language of their items. Example: Translation[Language.Name = English AND Value=btn*].
ValueStringYesSearch translations by their values. Example: Translation.Value = *hello*.

Searchable Properties for User Groups

PropertyTypeSortableDescription & Examples
CreatedByUserNoSearch for user groups created by a specific user. Example: CreatedBy.Name = "Pete Newcase".
CreatedOnDateTimeYesSearch for user groups by creation date. Example: CreatedOn > '01/01/2000' AND CreatedOn < '12/31/2000'.
IdGuidYesSearch for a user group by ID. Example: Id = "24cb1cb9-935d-4791-b47d-a10b0101e3cd".
ManagerUserNoSearch for user groups by managers. Example: Manager.Name = "Pete Newcase".
MemberUserNoSearch for user groups by members. Example: Member.Email = "pete.newcase@aprimo.com".
MemberManagerUserNoSearch for user groups by users managing members. Example: MemberManager.Name = "John Doe".
MemberReaderUserNoSearch for user groups by users with read permissions. Example: MemberReader.Name = "John Doe".
ModifiedByUserNoSearch for user groups modified by a specific user. Example: ModifiedBy.Email = "pete.newcase@aprimo.com".
ModifiedOnDateTimeYesSearch for user groups by modification date. Example: ModifiedOn < '12/31/2000'.
NameStringYesSearch for user groups by name. Example: Name = a*.
ProfileManagerUserNoSearch for user groups by users with profile modification permissions. Example: ProfileManager.Name = "Pete Newcase".

Searchable Properties for User

PropertyTypeSortableDescription & Examples
AprimoUserIdNumberNoSearch for users by Aprimo user ID.
CreatedByUserNoSearch for users created by a specific user. Example: CreatedBy.Name = "Pete Newcase".
CreatedOnDateTimeYesSearch for users by creation date. Example: CreatedOn > '01/01/2000' AND CreatedOn < '12/31/2000'.
CreatedOnUtcDateTimeYesSearch for users by UTC creation date. Example: CreatedOnUtc > '01/01/2000' AND CreatedOnUtc < '12/31/2000'.
EmailStringYesSearch for users by email. Example: Email = "pete.newcase@aprimo.com".
FirstNameStringNoSearch for users by first name. Example: FirstName = "Pete".
IdGuidYesSearch for a user by ID. Example: Id = "24cb1cb9-935d-4791-b47d-a10b0101e3cd".
GroupUserGroupNoSearch for users in a specific group. Example: Group.Name = 'Users'.
LanguageLanguageNoSearch for users by default field language. Example: Language.Name = Dutch.
LanguageForUiLanguageNoSearch for users by UI language. Example: LanguageForUi = "C2BD4F9B-BB95-4BCB-80C3-1E924C9C26DC".
LastNameStringNoSearch for users by last name. Example: LastName = "Newcase".
ManagerUserNoSearch for users by managers. Example: Manager.Name = "Pete Newcase".
ModifiedByUserNoSearch for users modified by a specific user. Example: ModifiedBy.Email = "pete.newcase@aprimo.com".
ModifiedOnDateTimeYesSearch for users by modification date. Example: ModifiedOn < '12/31/2000'.
NameStringYesSearch for users by name. Example: Name = a*.
ProfileReaderGuidNoSearch for users whose profile can be read by a specific user. Example: ProfileReader = "C2BD4F9B-BB95-4BCB-80C3-1E924C9C26DC".
ReaderUserNoSearch for users by readers. Example: Reader.Name = "Pete Newcase".

Simple Search Expressions

Basic Syntax

The simplest search expression uses property=value to find objects matching the specified value. For example, to retrieve all users named "Administrator":

Name = Administrator

If the value contains spaces, enclose it in single or double quotes:

Name = 'Administrator'

Combining Search Criteria

You can combine multiple criteria using logical operators. For example, this query retrieves all users whose name starts with "a" (using the * wildcard) and were created by a user named "John Doe":

Name = a* AND CreatedBy.Name = 'John Doe'

Using Named and Unnamed Parameters

The advanced search REST API supports both named and unnamed parameters for dynamically building search expressions.

  • Unnamed Parameters: Identified by ?, processed in the order they appear in the expression. Each occurrence requires a separate value.
  • Named Parameters: Identified by @ (e.g., @Name). These allow easier reuse of values and can generate a list of all parameters in the search expression.

Examples

Unnamed Parameters

  1. Search for a specific user (one parameter):

    {
    "searchExpression": {
    "expression": "Name = ?",
    "parameters": ["John Doe"]
    }
    }
  2. Search for users with names starting with "a" or "b" (two parameters):

    {
    "searchExpression": {
    "expression": "Name = ? OR Name = ?",
    "parameters": ["a*", "b*"]
    }
    }

Named Parameters

  1. Search for users by name or email using a named parameter:
    {
    "searchExpression": {
    "expression": "Name = @Word OR Email = @Word",
    "namedParameters": {"Word": "John Doe"}
    }
    }
tip

Named parameters simplify reuse, especially for complex expressions.

Working with Operators and Wildcards

Supported Search Operators

Define relationships between properties and values using the following operators:

OperatorDescriptionExample
=Equal toCreatedBy.Name = "Pete Newcase"
>Greater than or afterFileCount > 0
>=Greater than or equalsFileCount >= 1
<Less than or beforeCreatedOn < 05/05/2015
<=Less than or equalsCreatedOn <= 05/05/2015
<>Not equal toFile.CheckedOutOn <> 05/05/2015
inMatches one ofFileCount in '"1","3","5"'
containsSearches the full-text indexFile.Version.Comment contains "draft"
Operator Support By Data Type
  • String: =, >, >=, <, <=, <>, contains, in
  • Date/Time: =, >, >=, <, <=, <>, in (only today supported)
  • Guid: =, <>, in
  • Numeric: =, >, >=, <, <=, <>, in
  • Boolean: =, <>

Combining Search Expressions

Use logical operators to create complex expressions:

  • AND (+): Matches both expressions. Example: Name = 'Admin' AND Role = 'Manager'.
  • OR: Matches either expression. Example: Name = 'Admin' OR Role = 'Manager'.
  • NOT (-): Excludes results after the operator. Example: Name = 'Admin' NOT Role = 'Guest'.

Using Wildcards

An asterisk (*) acts as a wildcard in search expressions.

Example: Find users with names starting with "a":

Name = a*

To disable wildcards, use the supportWildcards parameter:

{
"searchExpression": {
"expression": "Name = a*",
"supportWildcards": "false"
}
}

This retrieves users whose name is literally a*.

Examples

Using OR with the REST API:

{
"searchExpression": {
"expression": "Name = ? Name = ?",
"parameters": ["a*", "b*"],
"defaultLogicalOperator": "OR"
}
}

Using IN to match multiple IDs:

{
"searchExpression": {
"expression": "Id IN ?",
"parameters": [
"117c5ef4-5505-435e-818f-0495ea434a8c",
"2fa2ba22-8ae0-481b-a4fe-1d4c0edab6e3",
"503dfa3a-debc-4add-96cf-da4d62feb13a"
]
}
}

Using Fields When Searching For Records or Classifications

In Aprimo DAM, metadata for records, classifications, users, and indexers is stored in fields. These field values and properties can be used in search expressions to locate specific objects.

Due to differences in how object types are indexed in Aprimo DAM Enterprise Search, the use of fields in search expressions varies based on the object type. This guide explains how to effectively use fields when searching for records and classifications.

Basic Guidelines

The availability of fields and properties differs when searching for records versus classifications:

Searching for Records

  • User IDs: Creator, modifier, or file checker for linked records.
  • Simple field values: On the record, file, or linked objects.
  • IDs: From language, user group, or classification list fields.
  • User details: Name, ID, or email in user list fields.

Searching for Classifications

  • Simple field values: Directly attached to classifications.
  • IDs: From record, language, user group, or classification list fields.
  • User details: Name, ID, or email from a user list field.

Syntax for Field Identification

Fields can be referenced by Id, Name, or Label:

  • Field Id: FieldId("[TheFieldId]").property = value (recommended, fixed and stable).
  • Field Name: FieldName("[TheFieldName]").property = value (easier to read).
  • Field Label: FieldLabel("[TheFieldLabel]").property = value (language-dependent, less reliable).

Simple vs. Complex Field Data Types

  • Simple Fields: Contain scalar values (e.g., text, number, date).
  • Complex Fields: Contain nested objects (e.g., RecordList, UserList).

Find records where the BrandName field contains "ADAM":

FieldName("BrandName") = "ADAM"

Searchable Properties for Simple Data Types

Data TypePropertyDescription
TextValueMatch text values. Example: FieldName("Status").Value = "Draft"
NumericValueMatch numeric values. Example: FieldName("BasePrice").Value > 100
Date/TimeValue, UtcValueMatch by local or UTC time. Example: FieldName("ExpiresOn").UtcValue < "01/01/2000 08:00:00 AM"
DurationValueMatch duration values. Example: FieldName("TotalLength").Value < "1:30:00"
HyperlinkUrl, DisplayTextMatch URLs or their labels. Example: FieldName("ExternalLinks").Url = "https://example.com"
OptionListOption.Id, Option.Name, Option.LabelMatch selected options. Example: FieldName("Status").Option.Name = "Draft"

Searchable Properties for Complex Data Types

Field TypePropertyDescription
ClassificationListClassification.IdMatch classifications by ID. Example: FieldName("SecondaryClassifications").Classification.Id = "381f76b9-a44d-433b-a1e3-a4bf00e31516"
LanguageListLanguage.IdMatch languages by ID. Example: FieldName("EnabledLanguages").Language.Id = "381f76b9-a44d-433b-a1e3-a4bf00e31516"
RecordListRecord.Id, RecordIdMatch linked records by ID. Example: FieldName("RelatedProducts").Record.Id = "381f76b9-a44d-433b-a1e3-a4bf00e31516"
RecordLinkChild.Record.IdMatch parent/child relationships. Example: FieldName("LinkedImages").Child.Record.Id = "381f76b9-a44d-433b-a1e3-a4bf00e31516"
UserListUser.NameMatch users by name. Example: FieldName("Owners").User.Name = "Pete Newcase"
UserGroupListUserGroup.IdMatch user groups by ID. Example: FieldName("ManagingRoles").UserGroup.Id = "381f76b9-a44d-433b-a1e3-a4bf00e31516"

Option Search Properties

OptionList fields allow searching using these properties:

  • Id: FieldName("Colors").Option.Id = "381f76b9-a44d-433b-a1e3-a4bf00e31516"
  • Name: FieldName("Colors").Option.Name = "LBlue"
  • Label: FieldName("Colors").Option.Label = "Light Blue" (not recommended due to language dependency).
  • SortIndex: FieldName("Colors").Option.SortIndex = 1