Search
Search-APIs are used to find the records in the environment. In combination with the configuration-APIs a set of specific search-fields can be presented. Familiarize yourself with these responses to include all possible options.
Search Globally
Endpoint: /publicapi/global/search-global
Method: POST
Content-Type: application/json
Search Api used for finding moderated documents inside Atlantis. The following steps can be used to start searching, sorting, and filtering.
Examples
Below you'll find several examples demonstrating how to use the Public Search API. These examples illustrate how to construct search requests for basic queries, filtered searches, and more advanced use cases like searching within a specific working set or description groups.
Simple search
The following payload can be used a good starting point:
{
"data": {
"term": "*",
"startIndex": 0,
"endIndex": 9
}
}
Simple search with filter
In the result-response you get, based on configuration, filters from the response-property: data.filterFieldsWithOptions which can be used to filter on specific values. You can provide multiple terms in the terms array to filter on multiple values for the same field.
{
"data": {
"term": "*",
"startIndex": 0,
"endIndex": 9,
"filterFields": [
{
"name": "Objectnaam",
"terms": [
"stoel",
"tafel"
]
}
]
}
}
Simple search with sorting
In the result-response you get, based on configuration, sort-options from the response-property: data.sortOptions which can be used to sort on specific values.
{
"data": {
"term": "*",
"startIndex": 0,
"endIndex": 9,
"sort": {
"name": "Periode",
"direction": "asc"
}
}
}
Simple search within a working set
To search within a specific public working set, use the workingSet property with the name of the working set. This is useful when you want to limit search results to a curated subset of documents, such as a thematic collection or a specific project.
Note: This feature is available in a minor release after 5.26.1.
{
"data": {
"term": "*",
"startIndex": 0,
"endIndex": 9,
"workingSet": {
"name": "Collectie_Oude_Kaarten"
}
}
}
Simple search within specific description groups
To limit your search to specific description groups, use the descriptionGroups property with an array of description group names. This allows you to search only within certain categories or types of records.
{
"data": {
"term": "*",
"startIndex": 0,
"endIndex": 9,
"descriptionGroups": [
"Beelddocumenten",
"Kranten"
]
}
}
Response
The response will be the result of your search data. Using the current resultPage, you can receive the found documents.
Response will also include filterFields and sortOptions, which can be used to improve the result.
Important: All fields in the response, including
resultFields,filterFieldsWithOptions, andsortOptions, are based on configuration that can be customized per customer. The available fields and options are configured in the system and can be added or modified upon customer request.
{
"data": {
"resultCount": 0,
"currentResultPage": [
{
"id": "string",
"title": "string",
"icoonUrl": "string",
"multimediaUrls": [
"string"
],
"resultFields": {},
"extraFields": {},
"location": "string"
}
],
"filterFieldsWithOptions": [
{
"name": "string",
"label": "string",
"filterOptions": [
{
"Waarde": "string",
"Aantal": 0
}
]
}
],
"sortOptions": [
{
"name": "string"
}
]
}
}
Search globally using multiple search-fields
Endpoint: /publicapi/global/search-with-fields
Method: POST
Content-Type: application/json
When the base Search Api is not enough for your needs than you can use this API to search with specific search-fields. Search-fields can be retrieved from the configuration-api.
The following steps can be used to start searching with fields
Examples
Below you'll find several examples demonstrating how to use the Public Search API with fields. These examples illustrate how to construct search requests for basic queries, filtered searches, and more advanced use cases like searching within a specific working set or description groups.
Search with search-fields
The following payload can be used a good starting point:
{
"data": {
"startIndex": 0,
"endIndex": 9,
"criteria": {
"searchFields": [
{
"name": "Vervaardiger",
"term": "*Henk*"
}
]
}
}
}
In this example two wildcards are used to search for Vervaardiger containing Henk. You can also provide multiple terms in a terms array to search for multiple values in the same field:
{
"data": {
"startIndex": 0,
"endIndex": 9,
"criteria": {
"searchFields": [
{
"name": "Vervaardiger",
"terms": [
"*Henk*",
"*Jan*"
]
}
]
}
}
}
Search with range search-fields
For numeric or date fields, you can use a range search instead of a term. Use the range property with from and to values to search within a specific range.
{
"data": {
"startIndex": 0,
"endIndex": 9,
"criteria": {
"searchFields": [
{
"name": "Periode",
"range": {
"from": "2000",
"to": "2019"
}
}
]
}
}
}
Search with search-fields and filter fields
You can combine searchFields with filterFields to refine your search results. Filter fields can be used to filter on specific values, and you can provide multiple terms in the terms array to filter on multiple values for the same field.
{
"data": {
"startIndex": 0,
"endIndex": 9,
"criteria": {
"searchFields": [
{
"name": "Vervaardiger",
"term": "*Henk*"
}
],
"filterFields": [
{
"name": "Objectnaam",
"terms": [
"stoel",
"tafel"
]
}
]
}
}
}
Search with search-fields within a working set
To search within a specific public working set, use the workingSet property with the name of the working set. This is useful when you want to limit search results to a curated subset of documents, such as a thematic collection or a specific project.
Note: This feature is available in a minor release after 5.26.1.
{
"data": {
"startIndex": 0,
"endIndex": 9,
"criteria": {
"searchFields": [
{
"name": "Vervaardiger",
"term": "*Henk*"
}
],
"workingSet": {
"name": "Collectie_Oude_Kaarten"
}
}
}
}
Search within specific description groups
To limit your search to specific description groups, use the descriptionGroups property with an array of description group names. This allows you to search only within certain categories or types of records.
{
"data": {
"startIndex": 0,
"endIndex": 9,
"criteria": {
"searchFields": [
{
"name": "Vervaardiger",
"term": "*Henk*"
}
],
"descriptionGroups": [
"Beelddocumenten",
"Kranten"
]
}
}
}
Response
The response will be the result of your search data. Using the current resultPage, you can receive the found documents.
Response will also include filterFields and sortOptions, which can be used to improve the result.
Important: All fields in the response, including
resultFields,filterFieldsWithOptions, andsortOptions, are based on configuration that can be customized per customer. The available fields and options are configured in the system and can be added or modified upon customer request.
{
"data": {
"resultCount": 0,
"currentResultPage": [
{
"id": "string",
"title": "string",
"icoonUrl": "string",
"multimediaUrls": [
"string"
],
"resultFields": {},
"extraFields": {},
"location": "string"
}
],
"filterFieldsWithOptions": [
{
"name": "string",
"label": "string",
"filterOptions": [
{
"Waarde": "string",
"Aantal": 0
}
]
}
],
"sortOptions": [
{
"name": "string"
}
]
}
}
Shared environment notes
For shared environments like AtlantisLite, a special searchfield will be available to make sure you'll retrieve only records from the desired part of the environment.
For example; the field CMSegment will be available and prefilled with the prefix of the customer.
{
"data": {
"startIndex": 0,
"endIndex": 9,
"criteria": {
"searchFields": [
{
"name": "CMSegment",
"term": "DEVENTIT"
}
]
}
}
}