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'
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, ordatetime. - 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:
- Sortable properties of the target object.
- 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
- 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.
You can find a variety of example search requests in the Public POSTMAN Collection
Searchable Properties on Records
| Property | Type | Sortable | Description |
|---|---|---|---|
| Classification / DirectClassification | Classification | No | Search for records linked to a classification or its descendants. Use DirectClassification to exclude descendants. |
| ContentStatus | String | No | Search by status. Example: ContentStatus = "Draft" |
| ContentType / DirectContentType | String | No | Search by content type. Use DirectContentType to exclude child types. |
| CreatedBy / ModifiedBy | User | No | Search by creator or last modifier. |
| CreatedOn / ModifiedOn | DateTime | Yes | Search by creation or modification date. Example: CreatedOn < '12/31/2000' |
| FileCount | Number | No | Search by the number of files in a record. Example: FileCount = 0 |
| Id | Guid | Yes | Search by specific record ID. Example: Id = "c48f8b80-371c-48d1-88a1-a41800a9fa98" |
| Title | String | Yes | Search for exact or partial title matches. Examples: Title = "Umbrella" or Title CONTAINS "Umbrella". |
Searchable Properties for Classifications
| Property | Type | Sortable | Examples |
|---|---|---|---|
| Id | Guid | Yes | Classification.Id = '6CD75F39-9BC8-40e2-B2FE-982045436CF7' |
| Identifier | String | No | Classification.Identifier = 'ProductImages' |
| Label | String | Yes | Classification.Label = 'Product Images' |
| Name | String | Yes | Classification.Name = 'SummerImages' |
| NamePath | String | No | Classification.NamePath = '/Books/Published' |
Searchable Properties of Files
| Property | Type | Sortable | Examples |
|---|---|---|---|
| CheckedOutBy | Guid | Yes | File.CheckedOutBy = 'c48f8b80-371c-48d1-88a1-a41800a9fa98' |
| FileName | String | No | File.Version.FileName = 'test.jpg' |
| FileSize | Number | No | File.Version.FileSize > 200000 |
| IsMaster | Boolean | Yes | File[IsMaster = true AND VersionCount > 1] |
Searchable Properties of File Versions
| Property | Type | Sortable | Description & Examples |
|---|---|---|---|
| AdditionalFile | AdditionalFile | No | Search records using properties of an Additional File linked to a FileVersion. |
| Checksum | CRC32 | No | Retrieve file versions with a specific checksum. Example: File.Version.Checksum = '-1509776639'. |
| CreatedOn* | DateTime | No | Find file versions created before a specific date. Example: File.Version.CreatedOn < '01/01/2000'. |
| Comment | String | No | Search for file versions with a specific comment. Example: LatestVersionOfMasterFile.Comment CONTAINS 'excellent'. |
| Extension | String | No | Search by file extensions. Example: File.Version.Extension = 'jpg'. |
| FileName | String | No | Find file versions with a specific file name. Example: File.Version.Filename = 'test.jpg'. |
| FileSize | Number | No | Search files larger than a specific size. Example: File.Version.FileSize > 200000. |
| HasPublicUri | Boolean | No | Retrieve files with a public CDN link. Example: LatestVersionOfMasterFile.HasPublicUri = true. |
| Id | Guid | No | Find a specific file version by ID. Example: File.Version.Id = '6f41fa97-d32a-42ba-8cdd-a41800a9ea16'. |
| Preview | Guid | No | Search for records with a specific file preview. Example: File.Version.Preview = '6f41fa97-d32a-42ba-8cdd-a41800a9ea16'. |
| PreviewCount | Number | No | Find records with more than two previews. Example: File.Version.PreviewCount > 1. |
| Version | Number | No | Retrieve records with more than two file versions. Example: File.Version.Version > 2. |
| VersionLabel | String | No | Search for file versions with a specific label. Example: File.Version.VersionLabel = 'Draft'. |
Searchble Properties of Users
| Property | Type | Sortable | Description & Examples |
|---|---|---|---|
| Id | Guid | Yes | Retrieve records modified by a specific user. Example: ModifiedBy.Id = 'c48f8b80-371c-48d1-88a1-a41800a9fa98'. |
| String | No | Search by user email. Example: ModifiedBy.Email = 'pete.newcase@aprimo.com'. | |
| Name | String | No | Find records created by a specific user. Example: CreatedBy.Name = 'Pete Newcase'. |
| FirstName | String | No | Search users by first name. Example: CreatedBy.FirstName = 'Joe'. |
| LastName | String | No | Search users by last name. Example: CreatedBy.LastName = 'Newcase'. |
Searchable Properties of Additional Files
| Property | Type | Sortable | Description & Examples |
|---|---|---|---|
| Id | Guid | No | Find records with an additional file ID. Example: File.Version.AdditionalFile.Id = 'c48f8b80-371c-48d1-88a1-a41800a9fa98'. |
| Checksum | CRC32 | No | Search by file checksum. Example: File.Version.AdditionalFile.CheckSum = '-1509776639'. |
Searchable Properties of File Type
| Property | Type | Sortable | Description & Examples |
|---|---|---|---|
| Id | Guid | No | Find records with a specific file type ID. Example: File.Version.FileType.Id = 'c48f8b80-371c-48d1-88a1-a41800a9fa98'. |
| Kind | String | No | Search by file type kind (e.g., JPG). Example: File.Version.FileType.Kind = 'JPG'. |
| Name | String | No | Search 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.
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
| Property | Type | Sortable | Description & Examples |
|---|---|---|---|
| Action | Enumeration | Yes | Search for log entries by action. Example: Action = RecordModified. |
| ApplicationName | String | Yes | Find log entries linked to a specific application. Example: ApplicationName = AssetStudio. |
| Message | String | No | Search log entries by message content. Example: Message = "*error*". |
| Key | Guid | Yes | Search for log entries linked to a specific object. Example: Key = '6CD75F39-9BC8-40e2-B2FE-982045436CF7'. |
| LoggedOn | DateTime | Yes | Search log entries by date/time. Example: LoggedOn > "10/30/2006 06:00:00 AM". |
| SessionId | Guid | No | Search for log entries by session ID. |
| User | User | No | Search log entries by user. Example: User.Name = "Pete Newcase". |
Searchable Properties for Classifications
| Property | Type | Sortable | Description & Examples |
|---|---|---|---|
| Ancestor | Classification | No | Search classifications by ancestor properties. |
| AncestorOrSelf | Classification | No | Search by ancestor and current classification properties. |
| CreatedBy | User | No | Find classifications created by a user. Example: CreatedBy.Name = "Pete Newcase". |
| CreatedOn | DateTime | Yes | Search classifications by creation date. Example: CreatedOn > '01/01/2000'. |
| FieldId("FieldId") | (Field data type) | No | Search classifications by field value. Example: FieldName("CountryCode") = "BE". |
| Id | Guid | Yes | Find a classification by ID. Example: Id = "24cb1cb9-935d-4791-b47d-a10b0101e3cd". |
| Identifier | String | Yes | Search by unique identifier. Example: Identifier = "ProductImages". |
| Label | String | Yes | Search by label. Example: Label = 'Product Images'. |
| LabelPath | String | No | Search by label path. Example: LabelPath = '/Books/Published books'. |
| ModifiedBy | User | No | Find classifications last modified by a user. Example: ModifiedBy.Email = "pete.newcase@aprimo.com". |
| ModifiedOn | DateTime | Yes | Search by last modification date. Example: ModifiedOn < '12/31/2000'. |
| Name | String | Yes | Search by name. Example: Name = a*. |
| NamePath | String | No | Search by name path. Example: NamePath = '/Books/Published'. |
| Parent | Classification | No | Search by parent classification properties. |
| Root | Classification | No | Search by root classification properties. |
| SortIndex | Number | Yes | Search classifications by sort index. Example: SortIndex = 0. |
Searchable Properties for Collections
| Property | Type | Sortable | Description & Examples |
|---|---|---|---|
| CreatedBy | User | No | Search for collections created by a specific user. Example: CreatedBy.Name = "Pete Newcase". |
| CreatedOn | DateTime | Yes | Search for collections by creation date. Example: CreatedOn > '01/01/2000' AND CreatedOn < '12/31/2000'. |
| Id | Guid | Yes | Search for a collection by ID. Example: Id = "24cb1cb9-935d-4791-b47d-a10b0101e3cd". |
| IsShared | Boolean | No | Search for shared collections. Example: IsShared = true. |
| ModifiedBy | User | No | Search for collections modified by a specific user. Example: ModifiedBy.Email = "pete.newcase@aprimo.com". |
| ModifiedOn | DateTime | Yes | Search for collections by modification date. Example: ModifiedOn < '12/31/2000'. |
| Name | String | Yes | Search for collections by name. Example: Name = My*. |
| OwnerId | User | No | Search for collections owned by a specific user. Example: OwnerId.Name = "Pete Newcase". |
Searchable Properties for Field Definitions
| Property | Type | Sortable | Description & Examples |
|---|---|---|---|
| CreatedBy | User | No | Search for field definitions created by a specific user. Example: CreatedBy.Name = "Pete Newcase". |
| CreatedOn | DateTime | Yes | Search for field definitions by creation date. Example: CreatedOn > '01/01/2000' AND CreatedOn < '12/31/2000'. |
| DataType | Enumeration | No | Search for field definitions by data type. Example: DataType = Duration. |
| DefaultValue | String | Yes | Search for field definitions by default value. Example: DefaultValue = "". |
| Group | FieldGroup | No | Search for field definitions in a specific group. Example: Group.Name = "Price Fields". |
| Id | Guid | Yes | Search for a field definition by ID. Example: Id = "24cb1cb9-935d-4791-b47d-a10b0101e3cd". |
| InlineStyle | String | Yes | Search for field definitions by inline style. Example: InlineStyle = "*background: blue*". |
| Label | String | Yes | Search for field definitions by label. Example: Label = "Product Reference". |
| LanguageMode | Enumeration | Yes | Search by language mode. Example: LanguageMode = Single. |
| ModifiedBy | User | No | Search for field definitions modified by a specific user. Example: ModifiedBy.Email = "pete.newcase@aprimo.com". |
| ModifiedOn | DateTime | Yes | Search for field definitions by modification date. Example: ModifiedOn < '12/31/2000'. |
| Name | String | Yes | Search for field definitions by name. Example: Name = a*. |
| Reader | User | No | Search for field definitions readable by a user. Example: Reader.Name = "Pete Newcase". |
| SchemaUpdateRequired | Boolean | No | Search by schema update status. Example: SchemaUpdateRequired = true. |
| Scope | Enumeration | Yes | Search by field scope. Example: Scope = RecordContentGlobal. |
| ScopeCategory | Enumeration | Yes | Search by scope category. Example: ScopeCategory = Classification. |
| SortIndex | Number | Yes | Search by sort index. Example: SortIndex = 0. |
| StorageMode | Enumeration | Yes | Search by storage mode. Example: StorageMode = AllValues. |
| Validation | String | Yes | Search by validation routine. Example: Validation = "". |
Searchable Properties for Field Groups
| Property | Type | Sortable | Description & Examples |
|---|---|---|---|
| CreatedBy | User | No | Search for field groups created by a specific user. Example: CreatedBy.Name = "Pete Newcase". |
| CreatedOn | DateTime | Yes | Search for field groups by creation date. Example: CreatedOn > '01/01/2000' AND CreatedOn < '12/31/2000'. |
| Field | FieldDefinition | No | Search for field groups containing a specific field. Example: Field.Name = "ProductReference". |
| Id | Guid | Yes | Search for a field group by ID. Example: Id = "24cb1cb9-935d-4791-b47d-a10b0101e3cd". |
| Manager | User | No | Search for field groups managed by a specific user. Example: Manager.Name = "Pete Newcase". |
| ModifiedBy | User | No | Search for field groups modified by a specific user. Example: ModifiedBy.Email = "pete.newcase@aprimo.com". |
| ModifiedOn | DateTime | Yes | Search for field groups by modification date. Example: ModifiedOn < '12/31/2000'. |
| Name | String | Yes | Search for field groups by name. Example: Name = a*. |
| Reader | User | No | Search for field groups readable by a specific user. Example: Reader.Name = "Pete Newcase". |
Searchable Properties for File Types
| Property | Type | Sortable | Description & Examples |
|---|---|---|---|
| AllowOrderResizeSource | Boolean | No | Search for file types allowing resizing. Example: AllowOrderResizeSource = true. |
| CreatedBy | User | No | Search for file types created by a user. Example: CreatedBy.Name = "Pete Newcase". |
| CreatedOn | DateTime | Yes | Search for file types by creation date. Example: CreatedOn > '01/01/2000' AND CreatedOn < '12/31/2000'. |
| EngineFormat | String | Yes | Search for file types by engine format. Example: EngineFormat = PSD. |
| Extension | String | Yes | Search for file types by extension. Example: Extension = "jp*". |
| GraphicEngines | XPath | No | Search for file types by media engines. Example: GraphicEngines = "/engines/add[@name = 'Xmp']". |
| Id | Guid | Yes | Search for a file type by ID. Example: Id = "24cb1cb9-935d-4791-b47d-a10b0101e3cd". |
| Kind | String | Yes | Search for file types by kind. Example: Kind = "Jpg". |
| MacCreator | String | Yes | Search for file types by Mac creator code. Example: MacCreator = "CARO". |
| MacType | String | Yes | Search for file types by Mac type code. Example: MacType = "WDBN". |
| MimeType | String | Yes | Search for file types by Mime type. Example: MimeType = "video/mpeg". |
| ModifiedBy | User | No | Search for file types modified by a specific user. Example: ModifiedBy.Email = "pete.newcase@aprimo.com". |
| ModifiedOn | DateTime | Yes | Search for file types by modification date. Example: ModifiedOn < '12/31/2000'. |
| Name | String | Yes | Search for file types by name. Example: Name = a*. |
| PreferredExtension | Boolean | Yes | Search for preferred file types by extension. Example: |
Searchable Properties for Languages
| Property | Type | Sortable | Description & Examples |
|---|---|---|---|
| CreatedBy | User | No | Search for languages created by a user. Example: CreatedBy.Name = "Pete Newcase". |
| CreatedOn | DateTime | Yes | Search for languages by creation date. Example: CreatedOn > '01/01/2000' AND CreatedOn < '12/31/2000'. |
| EnabledForFields | Boolean | Yes | Search for languages enabled for fields. Example: EnabledForFields = true. |
| Id | Guid | Yes | Search for a language by ID. Example: Id = "24cb1cb9-935d-4791-b47d-a10b0101e3cd". |
| ModifiedBy | User | No | Search for languages modified by a user. Example: ModifiedBy.Email = "pete.newcase@aprimo.com". |
| ModifiedOn | DateTime | Yes | Search for languages by modification date. Example: ModifiedOn < '12/31/2000'. |
| Name | String | Yes | Search for languages by name. Example: Name = a*. |
Searchable Properties for Maintenance Jobs
| Property | Type | Sortable | Description & Examples |
|---|---|---|---|
| CreatedBy | User | Yes | Search for maintenance jobs created by a user. Example: CreatedBy.Name = "Pete Newcase". |
| CreatedOn | DateTime | Yes | Search for maintenance jobs by creation date. Example: CreatedOn > '01/01/2000' AND CreatedOn < '12/31/2000'. |
| GroupId | Guid | Yes | Search for jobs by group ID. Example: GroupId = "24cb1cb9-935d-4791-b47d-a10b0101e3cd". |
| Id | Guid | Yes | Search for a maintenance job by ID. Example: Id = "24cb1cb9-935d-4791-b47d-a10b0101e3cd". |
| ModifiedBy | User | No | Search for jobs modified by a user. Example: ModifiedBy.Email = "pete.newcase@aprimo.com". |
| ModifiedOn | DateTime | Yes | Search for maintenance jobs by modification date. Example: ModifiedOn < '12/31/2000'. |
| ProcessCode | Guid | Yes | Search for jobs by process code. Example: ProcessCode = "24cb1cb9-935d-4791-b47d-a10b0101e3cd". |
| SplitContext | Enumeration | Yes | Search for jobs by split context. Example: SplitContext = Container. |
| SplitIndex | Number | Yes | Search for split jobs by index. Example: SplitIndex = 0. |
| Status | Enumeration | Yes | Search for jobs by status. Example: Status = Executing. |
| Type | String | Yes | Search for jobs by type. Example: Type = "Adam.Core.Records.RecordMaintenanceJob, Adam.Core". |
Searchable Properties for Setting Categories
| Property | Type | Sortable | Description & Examples |
|---|---|---|---|
| CreatedBy | User | No | Search for setting categories created by a specific user. Example: CreatedBy.Name = "Pete Newcase". |
| CreatedOn | DateTime | Yes | Search for setting categories by creation date. Example: CreatedOn > '01/01/2000' AND CreatedOn < '12/31/2000'. |
| Id | Guid | Yes | Search for a setting category by ID. Example: Id = "24cb1cb9-935d-4791-b47d-a10b0101e3cd". |
| Label | String | Yes | Search for setting categories by label. Example: Label = a*. |
| ModifiedBy | User | No | Search for setting categories modified by a specific user. Example: ModifiedBy.Email = "pete.newcase@aprimo.com". |
| ModifiedOn | DateTime | Yes | Search for setting categories by modification date. Example: ModifiedOn < '12/31/2000'. |
| Name | String | Yes | Search for setting categories by name. Example: Name = a*. |
Searchable Properties for Setting Definitions
| Property | Type | Sortable | Description & Examples |
|---|---|---|---|
| AllowAnonymousAccess | Boolean | No | Search for setting definitions allowing anonymous access. Example: AllowAnonymousAccess = true. |
| AllowSiteSetting | Boolean | No | Search for setting definitions allowing site-level settings. Example: AllowSiteSetting = true. |
| AllowSystemSetting | Boolean | No | Search for setting definitions allowing system-level settings. Example: AllowSystemSetting = true. |
| AllowUserSetting | Boolean | No | Search for setting definitions allowing user-level settings. Example: AllowUserSetting = true. |
| Category | Setting category | No | Search for setting definitions by category. Example: Category = "Custom settings". |
| CreatedBy | User | No | Search for setting definitions created by a user. Example: CreatedBy.Name = "Pete Newcase". |
| CreatedOn | DateTime | Yes | Search for setting definitions by creation date. Example: CreatedOn > '01/01/2000' AND CreatedOn < '12/31/2000'. |
| DataType | Enumeration | No | Search for setting definitions by data type. Example: DataType = Numeric. |
| GroupSettingMode | Enumeration | No | Search for setting definitions by user group mode. Example: GroupSettingMode = MaximumValue. |
| Id | Guid | Yes | Search for a setting definition by ID. Example: Id = "24cb1cb9-935d-4791-b47d-a10b0101e3cd". |
| Key | Guid | No | Search for setting definitions by related object ID. Example: Key = "24cb1cb9-935d-4791-b47d-a10b0101e3cd". |
| Label | String | Yes | Search for setting definitions by label. Example: Label = "Custom setting". |
| ModifiedBy | User | No | Search for setting definitions modified by a user. Example: ModifiedBy.Email = "pete.newcase@aprimo.com". |
| ModifiedOn | DateTime | Yes | Search for setting definitions by modification date. Example: ModifiedOn < '12/31/2000'. |
| Name | String | Yes | Search for setting definitions by name. Example: Name = a*. |
Searchable Properties for System Settings
| Property | Type | Sortable | Description & Examples |
|---|---|---|---|
| AllowAnonymousAccess | Boolean | No | Search for settings allowing anonymous access. Example: AllowAnonymousAccess = true. |
| AllowSiteSetting | Boolean | No | Search for settings allowing site-level settings. Example: AllowSiteSetting = true. |
| AllowSystemSetting | Boolean | No | Search for settings allowing system-level settings. Example: AllowSystemSetting = true. |
| AllowUserSetting | Boolean | No | Search for settings allowing user-level settings. Example: AllowUserSetting = true. |
| Category | Setting category | No | Search for settings by category. Example: Category = "Custom settings". |
| DataType | Enumeration | Yes | Search for settings by data type. Example: DataType = Numeric. |
| GroupSettingMode | Enumeration | No | Search for settings by user group mode. Example: GroupSettingMode = MaximumValue. |
| Id | Guid | Yes | Search for a setting by ID. Example: Id = "24cb1cb9-935d-4791-b47d-a10b0101e3cd". |
| Label | String | Yes | Search for settings by label. Example: Label = "Custom setting". |
| Name | String | Yes | Search for settings by name. Example: Name = a*. |
| Value | String | Yes | Search 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.
| Property | Type | Sortable | Description & Examples |
|---|---|---|---|
| CreatedBy | User | No | Search for translations created by a specific user. Example: CreatedBy.Name = "Pete Newcase". |
| CreatedOn | DateTime | Yes | Search for translations by creation date. Example: CreatedOn > '01/01/2000' AND CreatedOn < '12/31/2000'. |
| Id | Guid | Yes | Search for a translation by ID. Example: Id = "24cb1cb9-935d-4791-b47d-a10b0101e3cd". |
| ModifiedBy | User | No | Search for translations modified by a specific user. Example: ModifiedBy.Email = "pete.newcase@aprimo.com". |
| ModifiedOn | DateTime | Yes | Search for translations by modification date. Example: ModifiedOn < '12/31/2000'. |
| Module | String | Yes | Search for translations by module. Example: Module = Actions. |
| Name | String | Yes | Search for translations by name. Example: Name = a*. |
| Studio | String | Yes | Search for translations by studio. Example: Studio = AssetStudio. |
| Translation | TranslationItem | No | Search translations using properties of their translation items. |
Searchable Properties for TranslationItem
| Property | Type | Sortable | Description & Examples |
|---|---|---|---|
| Language | Language | No | Search translations by the language of their items. Example: Translation[Language.Name = English AND Value=btn*]. |
| Value | String | Yes | Search translations by their values. Example: Translation.Value = *hello*. |
Searchable Properties for User Groups
| Property | Type | Sortable | Description & Examples |
|---|---|---|---|
| CreatedBy | User | No | Search for user groups created by a specific user. Example: CreatedBy.Name = "Pete Newcase". |
| CreatedOn | DateTime | Yes | Search for user groups by creation date. Example: CreatedOn > '01/01/2000' AND CreatedOn < '12/31/2000'. |
| Id | Guid | Yes | Search for a user group by ID. Example: Id = "24cb1cb9-935d-4791-b47d-a10b0101e3cd". |
| Manager | User | No | Search for user groups by managers. Example: Manager.Name = "Pete Newcase". |
| Member | User | No | Search for user groups by members. Example: Member.Email = "pete.newcase@aprimo.com". |
| MemberManager | User | No | Search for user groups by users managing members. Example: MemberManager.Name = "John Doe". |
| MemberReader | User | No | Search for user groups by users with read permissions. Example: MemberReader.Name = "John Doe". |
| ModifiedBy | User | No | Search for user groups modified by a specific user. Example: ModifiedBy.Email = "pete.newcase@aprimo.com". |
| ModifiedOn | DateTime | Yes | Search for user groups by modification date. Example: ModifiedOn < '12/31/2000'. |
| Name | String | Yes | Search for user groups by name. Example: Name = a*. |
| ProfileManager | User | No | Search for user groups by users with profile modification permissions. Example: ProfileManager.Name = "Pete Newcase". |
Searchable Properties for User
| Property | Type | Sortable | Description & Examples |
|---|---|---|---|
| AprimoUserId | Number | No | Search for users by Aprimo user ID. |
| CreatedBy | User | No | Search for users created by a specific user. Example: CreatedBy.Name = "Pete Newcase". |
| CreatedOn | DateTime | Yes | Search for users by creation date. Example: CreatedOn > '01/01/2000' AND CreatedOn < '12/31/2000'. |
| CreatedOnUtc | DateTime | Yes | Search for users by UTC creation date. Example: CreatedOnUtc > '01/01/2000' AND CreatedOnUtc < '12/31/2000'. |
| String | Yes | Search for users by email. Example: Email = "pete.newcase@aprimo.com". | |
| FirstName | String | No | Search for users by first name. Example: FirstName = "Pete". |
| Id | Guid | Yes | Search for a user by ID. Example: Id = "24cb1cb9-935d-4791-b47d-a10b0101e3cd". |
| Group | UserGroup | No | Search for users in a specific group. Example: Group.Name = 'Users'. |
| Language | Language | No | Search for users by default field language. Example: Language.Name = Dutch. |
| LanguageForUi | Language | No | Search for users by UI language. Example: LanguageForUi = "C2BD4F9B-BB95-4BCB-80C3-1E924C9C26DC". |
| LastName | String | No | Search for users by last name. Example: LastName = "Newcase". |
| Manager | User | No | Search for users by managers. Example: Manager.Name = "Pete Newcase". |
| ModifiedBy | User | No | Search for users modified by a specific user. Example: ModifiedBy.Email = "pete.newcase@aprimo.com". |
| ModifiedOn | DateTime | Yes | Search for users by modification date. Example: ModifiedOn < '12/31/2000'. |
| Name | String | Yes | Search for users by name. Example: Name = a*. |
| ProfileReader | Guid | No | Search for users whose profile can be read by a specific user. Example: ProfileReader = "C2BD4F9B-BB95-4BCB-80C3-1E924C9C26DC". |
| Reader | User | No | Search 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
-
Search for a specific user (one parameter):
{
"searchExpression": {
"expression": "Name = ?",
"parameters": ["John Doe"]
}
} -
Search for users with names starting with "a" or "b" (two parameters):
{
"searchExpression": {
"expression": "Name = ? OR Name = ?",
"parameters": ["a*", "b*"]
}
}
Named Parameters
- Search for users by name or email using a named parameter:
{
"searchExpression": {
"expression": "Name = @Word OR Email = @Word",
"namedParameters": {"Word": "John Doe"}
}
}
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:
| Operator | Description | Example |
|---|---|---|
= | Equal to | CreatedBy.Name = "Pete Newcase" |
> | Greater than or after | FileCount > 0 |
>= | Greater than or equals | FileCount >= 1 |
< | Less than or before | CreatedOn < 05/05/2015 |
<= | Less than or equals | CreatedOn <= 05/05/2015 |
<> | Not equal to | File.CheckedOutOn <> 05/05/2015 |
in | Matches one of | FileCount in '"1","3","5"' |
contains | Searches the full-text index | File.Version.Comment contains "draft" |
- String:
=,>,>=,<,<=,<>,contains,in - Date/Time:
=,>,>=,<,<=,<>,in(onlytodaysupported) - 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).
Example: Simple Field Search
Find records where the BrandName field contains "ADAM":
FieldName("BrandName") = "ADAM"
Searchable Properties for Simple Data Types
| Data Type | Property | Description |
|---|---|---|
| Text | Value | Match text values. Example: FieldName("Status").Value = "Draft" |
| Numeric | Value | Match numeric values. Example: FieldName("BasePrice").Value > 100 |
| Date/Time | Value, UtcValue | Match by local or UTC time. Example: FieldName("ExpiresOn").UtcValue < "01/01/2000 08:00:00 AM" |
| Duration | Value | Match duration values. Example: FieldName("TotalLength").Value < "1:30:00" |
| Hyperlink | Url, DisplayText | Match URLs or their labels. Example: FieldName("ExternalLinks").Url = "https://example.com" |
| OptionList | Option.Id, Option.Name, Option.Label | Match selected options. Example: FieldName("Status").Option.Name = "Draft" |
Searchable Properties for Complex Data Types
| Field Type | Property | Description |
|---|---|---|
| ClassificationList | Classification.Id | Match classifications by ID. Example: FieldName("SecondaryClassifications").Classification.Id = "381f76b9-a44d-433b-a1e3-a4bf00e31516" |
| LanguageList | Language.Id | Match languages by ID. Example: FieldName("EnabledLanguages").Language.Id = "381f76b9-a44d-433b-a1e3-a4bf00e31516" |
| RecordList | Record.Id, RecordId | Match linked records by ID. Example: FieldName("RelatedProducts").Record.Id = "381f76b9-a44d-433b-a1e3-a4bf00e31516" |
| RecordLink | Child.Record.Id | Match parent/child relationships. Example: FieldName("LinkedImages").Child.Record.Id = "381f76b9-a44d-433b-a1e3-a4bf00e31516" |
| UserList | User.Name | Match users by name. Example: FieldName("Owners").User.Name = "Pete Newcase" |
| UserGroupList | UserGroup.Id | Match 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