Search document by form
POST https://{{host}}/athento/site/automation/Athento.DocumentResultSet/
This endpoint allows searching documents that meet the criteria of a specific query.
Params
PageSize
PageSize defines how many documents you want to get in each page of the results.
Page
Page show a specific page or results.
Query
Athento uses a language similar to SQL to built queries.
The general syntax of a query expression is:
SELECT |select-clause| FROM |from-clause| WHERE |where-clause|
Let's review each clause.
SELECT clause (Mandatory)
The SELECT clause is a comma-separated list of document properties or fields.
Some document properties are:
doctype: form of the documentextension: extension of the file.content/length: size of the filetotalpages: number of pages of the document.public_url: public URL to access the document (if enabled).ecm:uuidIndicates the uuid of the document.ecm:path: path of the document.ecm:nameecm:versionLabelecm:serie:space where the document is stored.ecm:serie::uuid: uuid of the space where the document is stored.ecm:filename: filename of the main file.ecm:isTrashedecm:primaryTypeecm:currentLifeCycleState: current lifecycle state of the document.ecm:validecm:expiredecm:parentId: uuid of the folderish document that contains the document.ecm:hash: hash of the file.ecm:state: processing state (finished, validated, pending, processing).dc:title:Indicates the title of the document.dc:title: title of the document.dc:created: creation date of the document,dc:author: author of the document.dc:modified_date: last modification date.
Fields
Field values can be requested as columns in your Select clause.
Use the API name of fields in this clause.
Be aware
'*' is not supported since the search endpoint uses different providers.
FROM clause (Mandatory)
The FROM clause is a comma-separated list of forms. Use the API name of the form to retrieve documents using a specific form.
You can also use Documents in the FROM clause if you don't want to filter for a specific form.
WHERE clause (Optional)
The optional WHERE clause is a set of criteria or condition listed documents must meet.
The WHERE clause can be stated in different ways:
Properties|Operator|Values
Supported operators
=
AND
OR
< >
<= >=
LIKE
ILIKE
IN
Field values in the WHERE clause
Text fields: put them between ''
Date fields: use '' and the format of the date must be YYYY-DD-MM.
Number fields: do not use ''
Accessing to containers of documents (parent documents)
From a document, you can reach information about the folderish document that contains it. You can use this information in the WHERE clause.
WHERE metadata.contract_number = '21283234' AND parent:metadata.customer_code = '234234/2021"
Request Body
{"params"=>{"pageSize"=>20, "page"=>0, "query"=>"SELECT ecm:uuid, dc:title, metadata.my-form_jcm_field_1, metadata.my-form_jcm_field_2 FROM my-form_jcm WHERE metadata.my-form_jcm_field_1 = 'Field 1 Update.' AND metadata.my-form_jcm_field_2 = 'Field 2 Update.'"}}
RESPONSES
status: OK
{"isNextPageAvailable":true,"hasError":false,"pageSize":20,"errorMessage":null,"resultsCount":1,"entries":[{"ecm:uuid":"a7e7c74c-ca91-41d0-9f47-c4960ed99b13","dc:title":"Document update with API","metadata.my-form_jcm_field_2":"Field 2 Update.","metadata.my-form_jcm_field_1":"Field 1 Update."}],"isLastPageAvailable":true,"currentPageIndex":0,"numberOfPages":1,"entity-type":"recordSet","isPreviousPageAvailable":false,"currentPageSize":20,"isSortable":true,"isPaginable":true,"maxPageSize":1000000}