openapi: 3.2.0 info: title: Search Runtime API version: v1 servers: - url: https://rls.congacloud.com security: - Bearer: [] tags: - name: Search Runtime paths: /api/search/v1/document/query: post: tags: - Search Runtime summary: Search documents description: Searches an object using various query parameters (for example, Advanced, Fulltext, and Typeahead) and returns the results along with a count. parameters: - name: objectName in: query description: Document object for which the query needs to be executed. schema: type: string - name: IncludeTotalCount in: query schema: type: boolean - name: IsRefreshFromDB in: query schema: type: boolean requestBody: description: Query to be executed. content: application/json: schema: $ref: '#/components/schemas/SearchAPIQuery' text/json: schema: $ref: '#/components/schemas/SearchAPIQuery' application/*+json: schema: $ref: '#/components/schemas/SearchAPIQuery' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/StringObjectDictionaryListAPIResponse' example: Success: true RecordCount: 1 Data: - Name: System Admin Id: 49c384a9-a1a8-4b30-9a18-85c9acaf3965 StatusCode: OK '400': description: Bad Request '404': description: Not Found '500': description: Internal Server Error /api/search/v1/objects/multiple/query: post: tags: - Search Runtime summary: Search objects description: Searches over multiple objects using various query parameters (for example, Advanced, Fulltext, and Typeahead) and returns the results along with the record count.

When searching the text across all the documents, the response provides the total DocumentCount (which indicates in how many documents the document search text was found) and the NoOfOccurrances count (which indicates how many times the document search text appeared in all documents).

parameters: - name: IncludeTotalCount in: query schema: type: boolean - name: IsRefreshFromDB in: query schema: type: boolean requestBody: description: Query to be executed. content: application/json: schema: $ref: '#/components/schemas/MultipleObjectDocumentSearchRequest' text/json: schema: $ref: '#/components/schemas/MultipleObjectDocumentSearchRequest' application/*+json: schema: $ref: '#/components/schemas/MultipleObjectDocumentSearchRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/StringObjectDictionaryListAPIResponse' example: Success: true RecordCount: 1 Data: - Name: System Admin Id: 7c9fccb5-9eeb-4b88-8df6-8cc03ea03c0f StatusCode: OK '400': description: Bad Request '404': description: Not Found '500': description: Internal Server Error /api/search/v1/objects/{objectName}/indexedfields: get: tags: - Search Runtime summary: Retrieve fields from the search settings or database description: Retrieves the list of fields first from the [search settings](https://documentation.conga.com/congaplatform/latest/creating-and-managing-search-settings-222430006.html), and if no fields are enabled for search for the object, it displays indexed fields from the database. parameters: - name: objectName in: path description: Name of the object for which the field list to be retrieved. required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/StringObjectDictionaryListAPIResponse' example: Success: true RecordCount: 1 Data: - Name: System Admin Id: 290ee5a1-7a9f-4a66-9961-d55d5d4534d6 StatusCode: OK '400': description: Bad Request '404': description: Not Found '500': description: Internal Server Error /api/search/v1/objects/{objectName}/query: post: tags: - Search Runtime summary: Search an object description: 'Searches an object using various query parameters (for example, Advanced, Fulltext, and Typeahead) and returns the results along with a count.

**Note**: If no search settings are configured for User, Role, and Object Permission objects, the API searches the database for object details.

' parameters: - name: objectName in: path description: Name of the object for which the query needs to be executed. required: true schema: type: string - name: IncludeTotalCount in: query schema: type: boolean - name: IsRefreshFromDB in: query schema: type: boolean requestBody: description: Query to be executed. content: application/json: schema: $ref: '#/components/schemas/SearchAPIQuery' text/json: schema: $ref: '#/components/schemas/SearchAPIQuery' application/*+json: schema: $ref: '#/components/schemas/SearchAPIQuery' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/StringObjectDictionaryListAPIResponse' example: Success: true RecordCount: 1 Data: - Name: System Admin Id: c805377e-94a0-4981-9b99-977e415ef4ff StatusCode: OK '400': description: Bad Request '404': description: Not Found '500': description: Internal Server Error /api/search/v1/setting/list: get: tags: - Search Runtime summary: Get a list of objects for which the search setting is enabled description: Retrieves a list of objects for which the search setting is enabled. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/StringAPIResponse' '400': description: Bad Request '404': description: Not Found '500': description: Internal Server Error /api/search/v1/setting/{objectName}: get: tags: - Search Runtime summary: Get search setting description: Retrieves the search setting by object name. parameters: - name: objectName in: path description: Name of the object. required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/SearchSettingResponseAPIResponse' example: Success: true Data: ObjectName: SampleObjectName EnableAllSearchFields: false IsGlobalSearchEnabled: true SearchFields: - FieldName: SearchFields Source: None GlobalSearchFields: - FieldName: GlobalSearchField TypeAheadFields: - FieldName: TypeAheadFieldName SelectFields: - FieldName: SearchField IgnoreFields: [] PriorityFields: - FieldName: PriorityField Priority: 1 Id: 52c6470c-47e0-4592-bf23-9f39fe9fdb71 Name: SampleName CreatedBy: null CreatedDate: '0001-01-01T00:00:00' ModifiedBy: null ModifiedDate: '0001-01-01T00:00:00' ExternalId: null ETag: null StatusCode: OK '400': description: Bad Request '404': description: Not Found '500': description: Internal Server Error components: schemas: MultipleObjectDocumentSearchRequest: type: object properties: DocumentSearchText: type: - string - 'null' IsInverseRelation: type: boolean MultipleObjectSearchQueries: type: - array - 'null' items: $ref: '#/components/schemas/MultipleObjectSearchQuery' additionalProperties: false StringObjectDictionaryListAPIResponse: type: object properties: Success: type: boolean RecordCount: type: - integer - 'null' format: int64 Data: type: - array - 'null' items: type: object additionalProperties: {} Errors: type: - array - 'null' items: $ref: '#/components/schemas/ErrorDetail' Profile: type: - string - 'null' TotalTime: type: number format: float StatusCode: $ref: '#/components/schemas/HttpStatusCode' HasMoreRecords: type: - boolean - 'null' NextCursor: type: - string - 'null' Warnings: type: - array - 'null' items: $ref: '#/components/schemas/ErrorDetail' additionalProperties: false PriorityField: type: object properties: FieldName: type: - string - 'null' Priority: type: integer format: int32 additionalProperties: false TableField: type: object properties: FieldName: type: - string - 'null' additionalProperties: false GlobalSearchField: type: object properties: FieldName: type: - string - 'null' description: Gets or sets the name of the field. additionalProperties: false description: Contains the definition of a global search field. SearchSettingResponse: type: object properties: Id: type: - string - 'null' description: Id for the search setting. Name: type: - string - 'null' description: Name of the object for which search setting is created. CreatedBy: $ref: '#/components/schemas/LookupObject' CreatedDate: type: string description: Indicates the date and time when search setting was created. format: date-time ModifiedBy: $ref: '#/components/schemas/LookupObject' ModifiedDate: type: string description: Indicates the date and time when search setting was updated. format: date-time ObjectName: type: - string - 'null' description: Name of the object EnableAllSearchFields: type: boolean description: Enable All Search Fields from metadata. SearchFields: type: - array - 'null' items: $ref: '#/components/schemas/TableField' description: Search Fields - Perform search on SearchFields set. GlobalSearchFields: type: - array - 'null' items: $ref: '#/components/schemas/GlobalSearchField' description: Global Search Fields - Perform search on GlobalSearchFields set. TypeAheadFields: type: - array - 'null' items: $ref: '#/components/schemas/TableField' description: TypeAhead Fields - Provide suggestions for users as they type in a query and return list of fields in result. SelectFields: type: - array - 'null' items: $ref: '#/components/schemas/TableField' description: Select Fields - users as they type in a query and return list of fields in result. IgnoreFields: type: - array - 'null' items: $ref: '#/components/schemas/TableField' description: Ignore fields - should not return in results. PriorityFields: type: - array - 'null' items: $ref: '#/components/schemas/PriorityField' description: Based on Priority fields - result should be sort. additionalProperties: false Query: type: object properties: ObjectName: type: - string - 'null' description: Name of object on which querying needs to be done. Criteria: type: - string - 'null' Select: type: - array - 'null' items: type: string description: The fields which are to be displayed. Distinct: type: boolean description: Select true to get distinct records Limit: type: - integer - 'null' description: 'Limit set for records to be fetched. **For example**: Limit = 100, This will fetch 100 records matching the criteria.' format: int32 Skip: type: - integer - 'null' description: Number of records to be skipped. format: int32 Sort: $ref: '#/components/schemas/Sort' GroupBy: type: - array - 'null' items: type: string description: List of field names which are to be grouped. additionalProperties: false description: Schema Model for Query LookupObject: type: object properties: Id: type: - string - 'null' Name: type: - string - 'null' additionalProperties: false Sort: type: object properties: FieldName: type: - string - 'null' description: 'Field name for sort. **For example**: FirstName.

**Note**: The sort field (in this case, FirstName) should be indexed or sortable.

' OrderBy: $ref: '#/components/schemas/OrderBy' additionalProperties: false description: Sort information for records. ErrorDetail: type: object properties: Message: type: - string - 'null' additionalProperties: false MultipleObjectSearchQuery: type: object properties: Query: $ref: '#/components/schemas/Query' IsPrimaryObject: type: boolean ReferenceAliasName: type: - string - 'null' additionalProperties: false OrderBy: enum: - Ascending - Descending type: string SearchAPIQuery: type: object properties: ObjectName: type: - string - 'null' description: Name of object on which querying needs to be done. Criteria: type: - string - 'null' Select: type: - array - 'null' items: type: string description: The fields which are to be displayed. Distinct: type: boolean description: Select true to get distinct records Limit: type: - integer - 'null' description: 'Limit set for records to be fetched. **For example**: Limit = 100, This will fetch 100 records matching the criteria.' format: int32 Skip: type: - integer - 'null' description: Number of records to be skipped. format: int32 Sort: $ref: '#/components/schemas/Sort' GroupBy: type: - array - 'null' items: type: string description: List of field names which are to be grouped. SearchType: type: - string - 'null' AdditionalTypeAheadFilterCriteria: type: - string - 'null' additionalProperties: false StringAPIResponse: type: object properties: Success: type: boolean RecordCount: type: - integer - 'null' format: int64 Data: type: - string - 'null' Errors: type: - array - 'null' items: $ref: '#/components/schemas/ErrorDetail' Profile: type: - string - 'null' TotalTime: type: number format: float StatusCode: $ref: '#/components/schemas/HttpStatusCode' HasMoreRecords: type: - boolean - 'null' NextCursor: type: - string - 'null' Warnings: type: - array - 'null' items: $ref: '#/components/schemas/ErrorDetail' additionalProperties: false HttpStatusCode: enum: - Continue - SwitchingProtocols - Processing - EarlyHints - OK - Created - Accepted - NonAuthoritativeInformation - NoContent - ResetContent - PartialContent - MultiStatus - AlreadyReported - IMUsed - MultipleChoices - MovedPermanently - Found - SeeOther - NotModified - UseProxy - Unused - TemporaryRedirect - PermanentRedirect - BadRequest - Unauthorized - PaymentRequired - Forbidden - NotFound - MethodNotAllowed - NotAcceptable - ProxyAuthenticationRequired - RequestTimeout - Conflict - Gone - LengthRequired - PreconditionFailed - RequestEntityTooLarge - RequestUriTooLong - UnsupportedMediaType - RequestedRangeNotSatisfiable - ExpectationFailed - MisdirectedRequest - UnprocessableEntity - Locked - FailedDependency - UpgradeRequired - PreconditionRequired - TooManyRequests - RequestHeaderFieldsTooLarge - UnavailableForLegalReasons - InternalServerError - NotImplemented - BadGateway - ServiceUnavailable - GatewayTimeout - HttpVersionNotSupported - VariantAlsoNegotiates - InsufficientStorage - LoopDetected - NotExtended - NetworkAuthenticationRequired type: string SearchSettingResponseAPIResponse: type: object properties: Success: type: boolean RecordCount: type: - integer - 'null' format: int64 Data: $ref: '#/components/schemas/SearchSettingResponse' Errors: type: - array - 'null' items: $ref: '#/components/schemas/ErrorDetail' Profile: type: - string - 'null' TotalTime: type: number format: float StatusCode: $ref: '#/components/schemas/HttpStatusCode' HasMoreRecords: type: - boolean - 'null' NextCursor: type: - string - 'null' Warnings: type: - array - 'null' items: $ref: '#/components/schemas/ErrorDetail' additionalProperties: false securitySchemes: Bearer: type: apiKey description: Please insert JWT with Bearer into field name: Authorization in: header