AEM Forms provides a REST-based search API that web developers can use to query and retrieve a set of forms that meets the search criteria. You can use APIs to search forms based on various filters. The response object contains form attributes, properties, and render end points of forms.

To search forms using the REST API, send a GET request to the server at https://[server]:[port]/libs/fd/fm/content/manage.json with query parameters described below.

Query parameters

Attribute name

Description

func

Specifies the function to call. To search forms, set value of the func attribute to searchForms.

Specifies the application path to search for forms. By default, the appPath attribute searches all the applications available at the root node level.

You can specify multiple application paths in a single search query. Separate multiple paths with pipe (|) character.

cutPoints

Specifies the properties to fetch with the assets. You can use asterisk (*) to fetch all the properties at once. Use the pipe (|) operator to specify multiple properties.

For example, cutPoints=propertyName1|propertyName2|propertyName3

Note:

Properties such as id, path, and name are always fetched.

Every asset has a different set of properties. Properties such as formUrl, pdfUrl, and guideUrl do not depend on the cutpoints attribute. These properties depend on the asset type and are fetched accordingly.

relation

Specifies the related assets to fetch along with the search results. You can choose one of the following options to fetch related assets:

NO_RELATION: Do not fetch related assets.

IMMEDIATE: Fetches assets that are directly related to search results.

ALL: Fetch directly and indirectly related assets.

maxSize

Specifies the maximum number of forms to fetch.

offset

Specifies the number of forms to skip from the start.

returnCount

Specifies whether to return the search results that match the given criteria or not.

statements

Specifies the list of statements. The queries are executes on the list of the statements specified in the JSON format.

operator: specifies the operator to apply while searching. The following operators are supported:

EQ - Equal to

NEQ - Not equal to

GT - Greater than

LT - Less than

GTEQ - Greater than or equal to

LTEQ - Less than or equal to

CONTAINS - A contains B if B is a part of A

FULLTEXT - Full text search

STARTSWITH - A starts with B if B is the beginning part of A

ENDSWITH - A ends with B if B is the ending part of A

LIKE - Implements the LIKE operator

AND - Combine multiple statements

Note:GT, LT, GTEQ, and LTEQ operators are applicable for properties of linear type such as LONG, DOUBLE, and DATE.

orderings

Specifies the order criteria for the search results. The criteria is defined in the JSON format. You can sort search results on more than one field. The results are sorted in the order as the fields appear in the query.

For example,

To retrieve query results ordered by title property in the ascending order, add following parameter: