openapi: 3.2.0 info: title: Search Admin API version: v1 servers: - url: https://rls.congacloud.com security: - Bearer: [] tags: - name: Search Admin paths: /api/search/v1/datasyncstatus: get: tags: - Search Admin summary: Get the data sync status of all objects description: Lists all objects and their data sync status (Elasticsearch and database). responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DataSyncStatusResponseListAPIResponse' '404': description: Not Found '500': description: Internal Server Error /api/search/v1/datasyncstatus/{trackingId}: get: tags: - Search Admin summary: Get data sync status by tracking ID description: Gets the data sync status for a specific tracking ID. parameters: - name: trackingId in: path required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/SearchDataSyncStatusResponseAPIResponse' '404': description: Not Found '500': description: Internal Server Error /api/search/v1/document/index: post: tags: - Search Admin summary: Index a document description: Creates an index for the specified document. requestBody: description: The ID of the document referring to the document store. content: application/json: schema: $ref: '#/components/schemas/SearchDocumentIndexRequest' text/json: schema: $ref: '#/components/schemas/SearchDocumentIndexRequest' application/*+json: schema: $ref: '#/components/schemas/SearchDocumentIndexRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/StringAPIResponse' '404': description: Not Found '500': description: Internal Server Error /api/search/v1/global-search-data-types: get: tags: - Search Admin summary: Get field data types supported in global search configuration. description: Returns field data types supported in global search configuration. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/StringListAPIResponse' '500': description: Internal Server Error /api/search/v1/rbac-migrate: post: tags: - Search Admin summary: Migrate Search RBAC settings description: Migrates Search RBAC settings by identifying missing RBAC fields in search settings and publishing a migration message if required. parameters: - name: updateSearchSetting in: query schema: type: boolean default: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/SearchRbacMigrationResponseAPIResponse' '404': description: Not Found '500': description: Internal Server Error /api/search/v1/resyncdata: post: tags: - Search Admin summary: Resync data for objects except Document description: "Resync data of objects which have mismatch (Elasticsearch and database) count and their data sync will be initialized.\n Document object will not be processed here. to sync data of Documents, trigger manually using `api/search/v1/{objectName}/resyncdata`" responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/StringAPIResponse' '404': description: Not Found '500': description: Internal Server Error /api/search/v1/setting: get: tags: - Search Admin summary: Get all search settings description: Retrieves all objects' search settings. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/SearchSettingAPIResponse' 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: e6e8542a-dbab-4fd6-986a-915bb3ada27c Name: SampleName CreatedBy: null CreatedDate: '0001-01-01T00:00:00' ModifiedBy: null ModifiedDate: '0001-01-01T00:00:00' ExternalId: null ETag: null StatusCode: OK '404': description: Not Found '500': description: Internal Server Error post: tags: - Search Admin summary: Create a search setting description: Creates a search setting for a particular object. requestBody: description: Search setting content: application/json: schema: $ref: '#/components/schemas/SearchSettingRequest' text/json: schema: $ref: '#/components/schemas/SearchSettingRequest' application/*+json: schema: $ref: '#/components/schemas/SearchSettingRequest' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/SearchSettingAPIResponse' 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: 24ae658e-b54f-4861-85a4-a4ed37fc29bb Name: SampleName CreatedBy: null CreatedDate: '0001-01-01T00:00:00' ModifiedBy: null ModifiedDate: '0001-01-01T00:00:00' ExternalId: null ETag: null StatusCode: OK '404': description: Not Found '500': description: Internal Server Error /api/search/v1/setting/{objectName}: delete: tags: - Search Admin summary: Delete object search setting description: Deletes the search setting for a given object name. parameters: - name: objectName in: path description: Name of the object to delete the search setting from. required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/StringAPIResponse' example: Success: true Data: true StatusCode: OK '404': description: Not Found '500': description: Internal Server Error put: tags: - Search Admin summary: Update object search setting description: Updates the search setting for a given object name. parameters: - name: objectName in: path description: Name of the object for which the search setting shall be updated. required: true schema: type: string - name: forceToUpdateSearchSetting in: query description: '' schema: type: boolean default: false requestBody: description: Search setting content: application/json: schema: $ref: '#/components/schemas/SearchSettingRequest' text/json: schema: $ref: '#/components/schemas/SearchSettingRequest' application/*+json: schema: $ref: '#/components/schemas/SearchSettingRequest' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/StringAPIResponse' example: Success: true Data: true StatusCode: OK '404': description: Not Found '500': description: Internal Server Error /api/search/v1/{objectName}/datasyncstatus: get: tags: - Search Admin summary: Get data sync status of an object description: Gets data sync status (Elasticsearch and database) of the given object. parameters: - name: objectName in: path description: Name of the object for which the data sync status to be checked. required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DataSyncStatusResponseAPIResponse' '404': description: Not Found '500': description: Internal Server Error /api/search/v1/{objectName}/resyncdata: post: tags: - Search Admin summary: Resync data for an object description: Resync data of an object which have mismatch (Elasticsearch and database) count and their data sync will be initialized. parameters: - name: objectName in: path required: true schema: type: string - name: forceToSyncData in: query schema: type: boolean default: false responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/StringAPIResponse' '404': description: Not Found '500': description: Internal Server Error components: schemas: DataSyncStatusResponseAPIResponse: type: object properties: Success: type: boolean RecordCount: type: - integer - 'null' format: int64 Data: $ref: '#/components/schemas/DataSyncStatusResponse' 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 DataSyncStatusResponseListAPIResponse: type: object properties: Success: type: boolean RecordCount: type: - integer - 'null' format: int64 Data: type: - array - 'null' items: $ref: '#/components/schemas/DataSyncStatusResponse' 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 SearchDataSyncStatusResponseAPIResponse: type: object properties: Success: type: boolean RecordCount: type: - integer - 'null' format: int64 Data: $ref: '#/components/schemas/SearchDataSyncStatusResponse' 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 TableField: type: object properties: FieldName: type: - string - 'null' additionalProperties: false PriorityField: type: object properties: FieldName: type: - string - 'null' Priority: type: integer format: int32 additionalProperties: false SearchRbacMigrationResponse: type: object properties: TrackingId: type: - string - 'null' description: Tracking ID for the migration UpdateSearchSetting: type: boolean description: Update search setting flag SearchSettingChanges: type: - array - 'null' items: $ref: '#/components/schemas/SearchRbacMigrationDetail' description: Search setting changes additionalProperties: false description: Search Rbac Migration response SearchObjectDataSyncStatus: type: object properties: Status: type: - string - 'null' Error: type: - string - 'null' additionalProperties: false SearchDataSyncStatusResponse: type: object properties: TrackingId: type: - string - 'null' EventType: type: - string - 'null' ObjectSyncStatus: type: - array - 'null' items: $ref: '#/components/schemas/SearchObjectSyncStatus' additionalProperties: false SearchSetting: type: object properties: Id: type: - string - 'null' Name: type: - string - 'null' CreatedBy: $ref: '#/components/schemas/LookupObject' CreatedDate: type: string format: date-time ModifiedBy: $ref: '#/components/schemas/LookupObject' ModifiedDate: type: string format: date-time ExternalId: type: - string - 'null' ETag: type: - string - 'null' ObjectName: type: - string - 'null' description: Name of the object EnableAllSearchFields: type: boolean description: Enable All Search Fields from metadata. IsGlobalSearchEnabled: type: boolean description: Enable Global Search readOnly: true SearchFields: type: - array - 'null' items: $ref: '#/components/schemas/SearchField' 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: {} description: Search Setting - Define search configuration for Object. SearchObjectSyncStatus: type: object properties: ObjectName: type: - string - 'null' TotalCount: type: integer format: int32 SuccessCount: type: integer format: int32 FailedCount: type: integer format: int32 ObjectDataSyncStatus: $ref: '#/components/schemas/SearchObjectDataSyncStatus' additionalProperties: false SearchRbacMigrationResponseAPIResponse: type: object properties: Success: type: boolean RecordCount: type: - integer - 'null' format: int64 Data: $ref: '#/components/schemas/SearchRbacMigrationResponse' 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 SearchDocumentIndexRequest: type: object properties: DocumentId: type: - string - 'null' description: ID of the document that refers to document store. Version: type: - string - 'null' additionalProperties: false description: Search Document Index Request DataSyncStatus: enum: - Error - InProgress - Completed - NotStarted type: string ErrorDetail: type: object properties: Message: type: - string - 'null' additionalProperties: false SearchRbacMigrationDetail: type: object properties: ObjectName: type: - string - 'null' SearchFieldsAdded: type: - array - 'null' items: type: string additionalProperties: false SearchSettingRequest: type: object properties: 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 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 SearchField: type: object properties: FieldName: type: - string - 'null' Source: $ref: '#/components/schemas/FieldSource' additionalProperties: false SearchSettingAPIResponse: type: object properties: Success: type: boolean RecordCount: type: - integer - 'null' format: int64 Data: $ref: '#/components/schemas/SearchSetting' 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 DataSyncStatusResponse: type: object properties: ObjectName: type: - string - 'null' ElasticSearchCount: type: - integer - 'null' format: int64 DatabaseCount: type: - integer - 'null' format: int64 DataSyncStatus: $ref: '#/components/schemas/DataSyncStatus' 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. LookupObject: type: object properties: Id: type: - string - 'null' Name: type: - string - 'null' additionalProperties: false StringListAPIResponse: type: object properties: Success: type: boolean RecordCount: type: - integer - 'null' format: int64 Data: type: - array - 'null' items: type: string 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 FieldSource: enum: - None - SeedSchema - User - RBACWorker type: string securitySchemes: Bearer: type: apiKey description: Please insert JWT with Bearer into field name: Authorization in: header