GETTING STARTED
SearchAssist Overview
SearchAssist Introduction
Onboarding SearchAssist
Build your first App
Glossary
Release Notes
What's new in SearchAssist
Previous Versions

CONCEPTS
Managing Sources
Introduction
Files
Web Pages
FAQs
Structured Data 
Connectors
Introduction to Connectors
Azure Storage Connector
Confluence Cloud Connector
Confluence Server Connector
Custom Connector
DotCMS Connector
Dropbox Connector
Google Drive Connector
Oracle Knowledge Connector
Salesforce Connector
ServiceNow Connector
SharePoint Connector
Zendesk Connector
RACL
Virtual Assistants
Managing Indices
Introduction
Index Fields
Traits
Workbench
Introduction to Workbench
Field Mapping
Entity Extraction
Traits Extraction
Keyword Extraction
Exclude Document
Semantic Meaning
Snippet Extraction
Custom LLM Prompts
Index Settings
Index Languages
Managing Chunks
Chunk Browser
Managing Relevance
Introduction
Weights
Highlighting
Presentable
Synonyms
Stop Words
Search Relevance
Spell Correction
Prefix Search
Custom Configurations
Personalizing Results
Introduction
Answer Snippets
Introduction
Extractive Model
Generative Model
Enabling Both Models
Simulation and Testing
Debugging
Best Practices and Points to Remember
Troubleshooting Answers
Answer Snippets Support Across Content Sources
Result Ranking
Facets
Business Rules
Introduction
Contextual Rules
NLP Rules
Engagement
Small Talk
Bot Actions
Designing Search Experience
Introduction
Search Interface
Result Templates
Testing
Preview and Test
Debug Tool
Running Experiments
Introduction
Experiments
Analyzing Search Performance
Overview
Dashboard
User Engagement
Search Insights
Result Insights
Answer Insights

ADMINISTRATION
General Settings
Credentials
Channels
Team
Collaboration
Integrations
OpenAI Integration
Azure OpenAI Integration
Custom Integration
Billing and Usage
Plan Details
Usage Logs
Order and Invoices
Smart Hibernation

SearchAssist APIs
API Introduction
API List

SearchAssist SDK

HOW TOs
Use Custom Fields to Filter Search Results and Answers
Add Custom Metadata to Ingested Content
Write Painless Scripts
Configure Business Rules for Generative Answers

RACL Resolver APIs

These APIs are used to manage the RACL resolver field. When RACL is enabled, this field is used to identify the parameter names in the request body that contain the user identity. 

Create/Update RACL Resolver

This API allows you to declare or update the field name in the request header or request body that will be used to resolve the user identity when RACL is enabled. Once set or updated, in all the subsequent search requests, SearchAssist uses the same field declared using this API to resolve the identity. 

Method POST
Endpoint <host_url>/searchassistapi/external/stream/<stream-id>/racl-resolver
Content-Type application/json
Authorization auth: <JWT Token>
API Scope   User Association

Query Parameters

Parameters Description Mandatory
Stream ID Provide your application ID here.  Yes

Request Parameters

Parameters Description Mandatory
contextSource This field can take the values as “headers” or “body”. It indicates how will the application send the RACL Identity information in the search APIs – as request header or request body.  Yes
raclUserMapping The field used for sharing the RACL Identity information.  Yes

Sample Request payload 

When the API is invoked using the following payload, SearchAssist will look for the field ‘useremail’ as part of request headers and use it to resolve the user identity. 

{
    “contextSource”: “headers”,
    “raclUserMapping”: “useremail”
}

Get RACL Resolver

This API returns the values of the RACL resolver fields. 

Method GET
Endpoint <host_url>/searchassistapi/external/stream/<stream-id>/racl-resolver
Content-Type application/json
Authorization auth: <JWT Token>
API Scope User Association

Query Parameters

Parameters Description Mandatory
Stream ID Provide your application ID here.  Yes

Sample Response

{
  “_id”: “frr-981fb9d5-50b0-584e-8985-85e66ba87e86”,
  “contextSource”: “body”,
  “raclUserMapping”: “customData.userIdentity”,
  “searchIndexId”: “sidx-e7842d89-d7b5-59bd-ac62-39edb96e3db3”,
  “createdOn”: “2024-07-02T10:59:28.589Z”,
  “modifiedOn”: “2024-07-02T10:59:28.589Z”
}

Delete RACL Resolver

This API deletes the RACL resolver field. 

Method DELETE
Endpoint <host_url>/searchassistapi/external/stream/<stream-id>/racl-resolver
Content-Type application/json
Authorization auth: <JWT Token>
API Scope User Association

Query Parameters

Parameters Description Mandatory
Stream ID Provide your application ID here.  Yes

RACL Resolver APIs

These APIs are used to manage the RACL resolver field. When RACL is enabled, this field is used to identify the parameter names in the request body that contain the user identity. 

Create/Update RACL Resolver

This API allows you to declare or update the field name in the request header or request body that will be used to resolve the user identity when RACL is enabled. Once set or updated, in all the subsequent search requests, SearchAssist uses the same field declared using this API to resolve the identity. 

Method POST
Endpoint <host_url>/searchassistapi/external/stream/<stream-id>/racl-resolver
Content-Type application/json
Authorization auth: <JWT Token>
API Scope   User Association

Query Parameters

Parameters Description Mandatory
Stream ID Provide your application ID here.  Yes

Request Parameters

Parameters Description Mandatory
contextSource This field can take the values as “headers” or “body”. It indicates how will the application send the RACL Identity information in the search APIs – as request header or request body.  Yes
raclUserMapping The field used for sharing the RACL Identity information.  Yes

Sample Request payload 

When the API is invoked using the following payload, SearchAssist will look for the field ‘useremail’ as part of request headers and use it to resolve the user identity. 

{
    “contextSource”: “headers”,
    “raclUserMapping”: “useremail”
}

Get RACL Resolver

This API returns the values of the RACL resolver fields. 

Method GET
Endpoint <host_url>/searchassistapi/external/stream/<stream-id>/racl-resolver
Content-Type application/json
Authorization auth: <JWT Token>
API Scope User Association

Query Parameters

Parameters Description Mandatory
Stream ID Provide your application ID here.  Yes

Sample Response

{
  “_id”: “frr-981fb9d5-50b0-584e-8985-85e66ba87e86”,
  “contextSource”: “body”,
  “raclUserMapping”: “customData.userIdentity”,
  “searchIndexId”: “sidx-e7842d89-d7b5-59bd-ac62-39edb96e3db3”,
  “createdOn”: “2024-07-02T10:59:28.589Z”,
  “modifiedOn”: “2024-07-02T10:59:28.589Z”
}

Delete RACL Resolver

This API deletes the RACL resolver field. 

Method DELETE
Endpoint <host_url>/searchassistapi/external/stream/<stream-id>/racl-resolver
Content-Type application/json
Authorization auth: <JWT Token>
API Scope User Association

Query Parameters

Parameters Description Mandatory
Stream ID Provide your application ID here.  Yes