PDF
Download PDF
Download page Conga Max REST APIs.
Conga Max REST APIs
openapi: 3.0.0
info:
title: The Conga Max REST API
description: Welcome to the Max REST API. Find out more about Max at the [Conga MAX website](https://apttus.com/solutions/artificial-intelligence-quote-to-cash/). To explore the Max API, you must have an API key and a valid tenant registered with Max.
termsOfService: https://apttus.com/company/legal/apttus-general-terms-of-use/
contact:
email: maxcustomersupport@conga.com
version: 1.0.0
servers:
- url: https://MAX_MAIN_URL/api/v1
description: Max API
tags:
- name: ichronos
description: Resolve natural language-based time phrases, currency, and numeric expressions.
- name: isearch
description: Smart Search for business objects using various input flavors
- name: document
description: Document conversion, information, and snippet extraction
- name: admin
description: Administrator queries
paths:
/{tenantId}/ichronos/resolvephrase:
get:
tags:
- ichronos
summary: Extract data from natural language.
description: <p>Extracts date, currency, and numeric data from natural language text. This API accepts tenant name, input phrase, and time zone as input parameters and returns date, currency, and time as outputs, with options to modify the date format. For example,</p>
<ul>
<li><b>Input:</b><p><i>"The Acme agreement is expected to start on the first Monday of 2021 and end two years later, and it is valued at fifty thousand dollars, payable in the first 3 months of next year."</i></p></li>
<li><b>Output:</b>
<ul>
<li>first Monday of 2021 = 2021-01-04</li>
<li>two years later = 2023-01-04</li>
<li>fifty thousand dollars = USD 50000</li>
<li>the first 3 months of next year = 2021-01-01 to 2021-03-31</li>
</ul>
</li>
</ul>
operationId: ichronosResolvePhrase
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: input
in: query
description: Input phrase to be resolved
required: true
style: form
explode: true
schema:
type: string
example:
effective as of 01 / 01/ 2019
- name: timezone
in: query
description: Time zone [SID key](https://www.salesforceben.com/list-timezonesidkey-salesforce/)
required: false
style: form
explode: true
schema:
type: string
example:
"America/Los_Angeles"
- name: options
in: query
description: Stringified form of JSON representing the iChronosOptions object
required: false
schema:
type: string
example:
{
"objectName": "Apttus__APTS_Agreement__c",
"fullNLUResult": false,
"format": "mm-dd-yyyy"
}
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/entityResponseList'
security:
- APIKeyAuth: []
/{tenantId}/ichronos/resolvetemplate:
get:
tags:
- ichronos
summary: Extract date and time parameters from natural language.
description: Extracts date and time parameters from natural language queries that contain variables or templates. This API accepts tenant name, template phrase, time zone, data map, and options as input parameters. For example, if you provide input query as 6 weeks from contract start date and specify the contract start date as `1/1/2021` in the Data Map field, it returns `2/12/2021`. This API works in combination with the Resolve Phrase API.
operationId: ichronosResolveTemplate
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: input
in: query
description: Input templated phrase to be resolved.
required: true
style: form
explode: true
schema:
type: string
example:
"90 days from the ${Apttus__Contract_Start_Date__c}"
- name: timezone
in: query
description: Time zone [SID key](https://www.salesforceben.com/list-timezonesidkey-salesforce/)
required: false
style: form
explode: true
schema:
type: string
example:
"America/Los_Angeles"
- name: dataMap
in: query
description: Stringified form of JSON representing the dataMap to resolve the template
required: false
style: form
explode: true
schema:
type: string
example:
{
"Apttus__Contract_Start_Date__c": "2019-10-01",
"Apttus__Contract_End_Date__c": "2020-10-01"
}
- name: options
in: query
description: Stringified form of JSON representing the iChronosOptions object
required: false
schema:
type: string
example:
{
"objectName": "Apttus__APTS_Agreement__c",
"fullNLUResult": false,
"format": "mm-dd-yyyy"
}
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/entityResponseList'
security:
- APIKeyAuth: []
/{tenantId}/ichronos/feedback:
post:
tags:
- ichronos
summary: Log a feedback event.
description: Logs app-level feedback event on iChronos resolution. This API can be used by a client application to log analytics events that show how iChronos resolutions are performing. The API accepts tenant name, prior API response, the application-level resolved value, and the user-specified correct value as input parameters.
operationId: ichronosFeedback
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: phrase
in: query
description: Input phrase used in recent iChronos API request.
required: true
style: form
explode: true
schema:
type: string
example:
"the term is three (3) years"
- name: response
in: query
description: Stringified form of JSON response returned by iChronos
required: false
style: form
explode: true
schema:
type: string
example:
{
"phrase": "the term is three (3) years",
"entities": [
{
"entity": "three (3) years",
"startIndex": 12,
"endIndex": 26,
"type": "duration",
"resolution": {
"values": [
{
"type": "duration",
"value": 94608000000
}
]
}
}
]
}
- name: correctResolution
in: query
description: Indicates whether the iChronos resolution was accepted unchanged by the user. If `true`, user accepts it as-is; else, iChronos resolution was changed and it is thus set `false`.
required: true
style: form
explode: true
schema:
type: boolean
example:
"true"
- name: resolvedValue
in: query
description: Stringified JSON or a simple string describing how the app resolved the value
required: true
style: form
explode: true
schema:
type: string
example:
"36"
- name: correctValue
in: query
description: Stringified JSON or a simple string describing how the user corrected the value
required: true
style: form
explode: true
schema:
type: string
example:
"48"
- name: options
in: query
description: Stringified form of JSON representing the iChronosOptions object. You must pass in the context parameter with the below properties
<ul>
<li><b>instanceUrl</b>, the SFDC org originating the request.</li>
<li><b>userId</b>, the SFDC userId, identifying the user.</li>
<li><b>userName</b>, the SFDC user name, identifying the user.</li>
<li><b>requestId</b>, indicating the x-request-id returned by the original iChronos request</li>
<li>a field, such as Apttus__Contract_Start_Date__c, for which the feedback is provided
<li><b>sessionId</b>, a unique ID identifying a set of iChronos resolutions for a single user session (e.g., if the start date, end date, and term are resolved for a single user document, this could be set to the documentId)</li>
</ul>
required: false
schema:
type: string
example:
{
"context": {
"instanceUrl": "https://max1.my.salesforce.com",
"clientVersion": "12.2020.000.0001",
"userId": "0054T000000dqllQAB",
"userName": "Jeremy Jones",
"requestId": "29080e70-3993-437a-a923-fa59700cc07e",
"field": "Apttus__Contract_Start_Date__c",
"sessionId": "a0h4T000000iuqjQAA"
}
}
responses:
"200":
description: OK
security:
- APIKeyAuth: []
/{tenantId}/isearch/tenantinfo:
get:
tags:
- isearch
summary: Return a tenant profile.
description: Returns a tenant profile with limits, license types, supported modules, tables, and other information.
operationId: isearchGetTenantInfo
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: instanceUrl
in: query
description: The URL of the org instance
required: true
explode: false
schema:
type: string
example:
https://max1.my.salesforce.com
- name: module
in: query
description: Module to search, such as `clm`, `cpq`, `qtc` etc.
required: true
explode: false
schema:
type: string
example:
clm
- name: clientVersion
in: query
description: Version of client software
required: true
explode: false
schema:
type: string
example:
12.80.000.1
- name: clientChannel
in: query
description: Channel associated with client
required: true
explode: false
schema:
type: string
example:
SFDC
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/iSearchTenantConfig'
security:
- APIKeyAuth: []
BearerAuth: []
post:
tags:
- isearch
summary: Create a tenant info object.
description: Creates the tenant info object for a specific tenant.
operationId: isearchPostTenantInfo
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: instanceUrl
in: query
description: The URL of the org instance
required: true
explode: false
schema:
type: string
example:
https://max1.my.salesforce.com
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/iSearchTenantConfig'
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/iSearchTenantConfig'
security:
- APIKeyAuth: []
put:
tags:
- isearch
summary: Update a tenant info object.
description: Updates the tenant info object for a specific tenant.
operationId: isearchPutTenantInfo
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: instanceUrl
in: query
description: The URL of the org instance
required: true
explode: false
schema:
type: string
example:
https://max1.my.salesforce.com
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/iSearchTenantConfig'
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/iSearchTenantConfig'
security:
- APIKeyAuth: []
delete:
tags:
- isearch
summary: Delete tenant profile.
description: Deletes tenant profile information
operationId: isearchDeleteTenantInfo
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: instanceUrl
in: query
description: The URL of the org instance
required: true
explode: false
schema:
type: string
example:
https://max1.my.salesforce.com
- name: module
in: query
description: Module to delete, such as `clm`, `cpq`, `qtc`, etc.
required: true
explode: false
schema:
type: string
example:
clm
responses:
"200":
description: OK
security:
- APIKeyAuth: []
/{tenantId}/isearch/alias:
get:
tags:
- isearch
summary: Return a user's search aliases.
description: Returns a list of search aliases associated with a user.
operationId: isearchGetAlias
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: userId
in: query
description: The SFDC user ID of the logged-in user or "global" for the public alias
required: true
style: form
explode: true
schema:
type: string
example:
0054T000000dqllQAA
- name: userName
in: query
description: Full name of the logged-in SFDC user
required: true
style: form
explode: true
schema:
type: string
example:
Gilad Turbahn
- name: instanceUrl
in: query
description: The URL of the SFDC org instance
required: true
style: form
explode: true
schema:
type: string
example:
https://max1.my.salesforce.com
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/iSearchAliasInfoList'
security:
- APIKeyAuth: []
post:
tags:
- isearch
summary: Create or update a search alias list for a user.
description: Creates or updates a search alias list for a user.
operationId: isearchPostAlias
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: userId
in: query
description: SFDC user ID of the logged-in user or "global" for public alias
required: true
style: form
explode: true
schema:
type: string
example:
0054T000000dqllQAA
- name: userName
in: query
description: Full name of the logged-in SFDC user
required: true
style: form
explode: true
schema:
type: string
example:
Gilad Turbahn
- name: instanceUrl
in: query
description: The URL of the SFDC org instance
required: true
style: form
explode: true
schema:
type: string
example:
https://max1.my.salesforce.com
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/iSearchAliasInfoList'
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/iSearchAliasInfoList'
security:
- APIKeyAuth: []
put:
tags:
- isearch
summary: Create or update a list of search aliases for a user.
description: Creates or updates a list of search aliases for a given user.
operationId: isearchPutAlias
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: userId
in: query
description: SFDC user ID of the logged-in user, or "global" for public alias
required: true
style: form
explode: true
schema:
type: string
example:
0054T000000dqllQAA
- name: userName
in: query
description: Full name of the logged in SFDC user
required: true
style: form
explode: true
schema:
type: string
example:
Gilad Turbahn
- name: instanceUrl
in: query
description: The URL of the SFDC org instance
required: true
style: form
explode: true
schema:
type: string
example:
https://max1.my.salesforce.com
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/iSearchAliasInfoList'
responses:
"200":
description: OK
security:
- APIKeyAuth: []
delete:
tags:
- isearch
summary: Delete search alias(es) for a user.
description: Delete search alias or aliases for a given user. If no aliasList is specified, the entire alias list for that user is removed.
operationId: isearchDeleteAlias
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: userId
in: query
description: SFDC user ID of the logged-in user or "global" for public alias
required: true
style: form
explode: true
schema:
type: string
example:
0054T000000dqllQAA
- name: userName
in: query
description: Full name of the logged-in SFDC user
required: true
style: form
explode: true
schema:
type: string
example:
Gilad Turbahn
- name: instanceUrl
in: query
description: The URL of the SFDC org instance
required: true
style: form
explode: true
schema:
type: string
example:
https://max1.my.salesforce.com
- name: aliasList
in: query
description: List of aliases to be removed
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/stringItems'
example:
["NDA2020", "HighValueMSAs"]
responses:
"200":
description: OK
security:
- APIKeyAuth: []
patch:
tags:
- isearch
summary: Create or update a list of search aliases for a user.
description: Creates or updates a specific list of search aliases for a given user.
operationId: isearchEditAlias
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: userId
in: query
description: SFDC user ID of the logged-in user or "global" for public alias
required: true
style: form
explode: true
schema:
type: string
example:
0054T000000dqllQAA
- name: userName
in: query
description: Full name of the logged-in SFDC user
required: true
style: form
explode: true
schema:
type: string
example:
Gilad Turbahn
- name: instanceUrl
in: query
description: The URL of the SFDC org instance
required: true
style: form
explode: true
schema:
type: string
example:
https://max1.my.salesforce.com
- name: oldAliasKey
in: query
description: Existing Alias name for the search
required: true
style: form
explode: true
schema:
type: string
example:
NDA from 2020
- name: newAliasKey
in: query
description: New Alias name for the search
required: true
style: form
explode: true
schema:
type: string
example:
All NDA's from 2020
responses:
"200":
description: OK
"404":
description: Not Found
security:
- APIKeyAuth: []
/{tenantId}/isearch/displayinfo:
get:
tags:
- isearch
summary: Return personalized display column settings.
description: Returns a list of personalized display column settings for each search object.
operationId: isearchGetDisplayInfo
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: userId
in: query
description: SFDC user ID of the logged-in user
required: true
style: form
explode: true
schema:
type: string
example:
0054T000000dqllQAA
- name: userName
in: query
description: Full name of the logged-in SFDC user
required: true
style: form
explode: true
schema:
type: string
example:
Gilad Turbahn
- name: instanceUrl
in: query
description: The URL of the SFDC org instance
required: true
style: form
explode: true
schema:
type: string
example:
https://max1.my.salesforce.com
- name: module
in: query
description: Module to search, such as `clm`, `cpq`, `qtc`, etc.
required: true
explode: false
schema:
type: string
example:
clm
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/iSearchDisplayInfoList'
security:
- APIKeyAuth: []
BearerAuth: []
put:
tags:
- isearch
summary: Create or update display column info.
description: Creates or updates display column info for each search object for a given user
operationId: isearchPutDisplayInfo
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: userId
in: query
description: SFDC user ID of the logged-in user
required: true
style: form
explode: true
schema:
type: string
example:
0054T000000dqllQAA
- name: userName
in: query
description: Full name of the logged-in SFDC user
required: true
style: form
explode: true
schema:
type: string
example:
Gilad Turbahn
- name: instanceUrl
in: query
description: The URL of the SFDC org instance
required: true
style: form
explode: true
schema:
type: string
example:
https://max1.my.salesforce.com
- name: module
in: query
description: Module for display config, such as `clm`, `cpq`, `qtc`, etc.
required: true
explode: false
schema:
type: string
example:
clm
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/iSearchDisplayInfoList'
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/iSearchDisplayInfoList'
security:
- APIKeyAuth: []
BearerAuth: []
delete:
tags:
- isearch
summary: Return search aliases for a user.
description: Returns a list of search aliases associated with a specific user
operationId: isearchDeleteDisplayInfo
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: userId
in: query
description: SFDC user ID of the logged-in user
required: true
style: form
explode: true
schema:
type: string
example:
0054T000000dqllQAA
- name: userName
in: query
description: Full name of the logged-in SFDC user
required: true
style: form
explode: true
schema:
type: string
example:
Gilad Turbahn
- name: instanceUrl
in: query
description: The URL of the SFDC org instance
required: true
style: form
explode: true
schema:
type: string
example:
https://max1.my.salesforce.com
- name: module
in: query
description: Module for display config, such as `clm`, `cpq`, `qtc`, etc.
required: true
explode: false
schema:
type: string
example:
clm
responses:
"200":
description: OK
security:
- APIKeyAuth: []
/{tenantId}/isearch/typeahead:
get:
tags:
- isearch
summary: Return auto-complete suggestions for type-ahead.
description: Returns auto-complete suggestions for the given phrase for a type-ahead feature.
operationId: isearchTypeAhead
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: input
in: query
description: Input prefix to be resolved
required: true
style: form
explode: true
schema:
type: string
example:
agreements
- name: limit
in: query
description: Input prefix to be resolved
required: false
style: form
explode: true
schema:
type: integer
default: 5
example:
5
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/matchingPhraseList'
security:
- APIKeyAuth: []
/{tenantId}/isearch/spellcheck:
get:
tags:
- isearch
summary: Check for input spelling errors, auto-correct, and suggest corrections.
description: Checks for spelling errors in user input, auto-corrects the input, and offers recommendations for correct spellings.
operationId: isearchSpellcheck
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: input
in: query
description: Input prefix to be resolved
required: true
style: form
explode: true
schema:
type: string
example:
cntracts over $20k that mention Force Majure
- name: limit
in: query
description: Input prefix to be resolved
required: false
style: form
explode: true
schema:
type: integer
default: 5
example:
5
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/spellcheckPhraseList'
security:
- APIKeyAuth: []
/{tenantId}/isearch/resolvequeryplan:
post:
tags:
- isearch
summary: Find business objects per query plan.
description: Finds business objects based on a query plan. It accepts tenant name, input query, the logged-in user's SFDC user ID, and the SFDC org's Instance URL as input parameters.
operationId: isearchResolveQueryPlan
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: userId
in: query
description: SFDC user ID of the logged-in user
required: true
style: form
explode: true
schema:
type: string
example:
0054T000000dqllQAA
- name: userName
in: query
description: Full name of the logged-in SFDC user
required: true
style: form
explode: true
schema:
type: string
example:
Gilad Turbahn
- name: instanceUrl
in: query
description: The URL of the SFDC org instance
required: true
style: form
explode: true
schema:
type: string
example:
https://max1.my.salesforce.com
- name: module
in: query
description: Module for display config, such as `clm`, `cpq`, `qtc`, etc.
required: true
explode: false
schema:
type: string
example:
clm
- name: timezone
in: query
description: Time zone [SID key](https://www.salesforceben.com/list-timezonesidkey-salesforce/)
required: false
style: form
explode: true
schema:
type: string
example:
"America/Los_Angeles"
- name: limit
in: query
description: Record count for the query
required: false
schema:
type: integer
example:
25
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/iSearchQuery'
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/searchQueryResponse'
security:
- APIKeyAuth: []
BearerAuth: []
/{tenantId}/isearch/resolvephrase:
post:
tags:
- isearch
summary: Extract business objects from natural language.
description: Finds business objects in natural-language text. It accepts tenant name, input query, the logged-in user's SFDC user ID, and the SFDC org's instance URL as input parameters.
For example,
<ul>
<li><b>Input:</b> <p><i>Pull up agreements over $20k with the mention "Force Majeure"</i></p></li>
<li><b>Output:</b> <p>Returns a list of agreements matching the criteria</p></li>
</ul>
operationId: isearchResolvePhrase
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: userId
in: query
description: SFDC user ID of the logged-in user
required: true
style: form
explode: true
schema:
type: string
example:
0054T000000dqllQAA
- name: userName
in: query
description: Full name of the logged-in SFDC user
required: true
style: form
explode: true
schema:
type: string
example:
Gilad Turbahn
- name: instanceUrl
in: query
description: The URL of the SFDC org instance
required: true
style: form
explode: true
schema:
type: string
example:
https://max1.my.salesforce.com
- name: timezone
in: query
description: Time zone [SID key](https://www.salesforceben.com/list-timezonesidkey-salesforce/)
required: false
style: form
explode: true
schema:
type: string
example:
"America/Los_Angeles"
- name: limit
in: query
description: Record count for the query
required: false
schema:
type: integer
example:
25
- name: module
in: query
description: Module for display config, such as `clm`, `cpq`, `qtc`, etc.
required: true
explode: false
schema:
type: string
example:
clm
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/iSearchNLQuery'
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/searchResponse'
security:
- APIKeyAuth: []
BearerAuth: []
/{tenantId}/isearch/resolvefollowup:
post:
tags:
- isearch
summary: Run a followup query and filter objects.
description: Finds business objects based on a followup query plan.
operationId: isearchResolvFollowup
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: requestId
in: query
description: RequestId corresponding to the page
required: true
schema:
type: string
example:
7fd04d80-c4c3-4ab6-a770-e9a9ff277328
- name: limit
in: query
description: Record count for the query
required: false
schema:
type: integer
example:
25
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/iSearchFollowupQuery'
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/searchQueryResponse'
security:
- APIKeyAuth: []
BearerAuth: []
/{tenantId}/isearch/validaterules:
post:
tags:
- isearch
summary: Validate the rules specification.
description: <p>Validates each term in the conditions list to ensure it is correct and ready to be processed.</p>
<p>Conditions are validated as below</p>
<ul>
<li>There is no scope block in validaterules call.</li>
<li>If fieldType = metaData or keywords or mergedField or extractedField or extractedClause</li>
<li>fieldId is required for all fields except metaData fields</li>
<li>If operator = Natural Language, the expression specified in the value field is evaluated to ensure it is a valid expression</li>
<li>If value is a relative expression that contains other fields, these should be valid fields of the primary object.</li>
<ul>
<li>Eg value = "2 years from ${Apttus__Contract_Start_Date__c}", Apttus__Contract_Start_Date__c must be a valid field in the specified primary object</li>
</ul>
</ul>
</p>
operationId: isearchValidateRules
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: userId
in: query
description: SFDC user ID of the logged-in user
required: true
style: form
explode: true
schema:
type: string
example:
0054T000000dqllQAA
- name: userName
in: query
description: Full name of the logged-in SFDC user
required: true
style: form
explode: true
schema:
type: string
example:
Gilad Turbahn
- name: instanceUrl
in: query
description: The URL of the SFDC org instance
required: true
style: form
explode: true
schema:
type: string
example:
https://max1.my.salesforce.com
- name: module
in: query
description: Module for display config, such as `clm`, `cpq`, `qtc`, etc.
required: true
explode: false
schema:
type: string
example:
clm
- name: timezone
in: query
description: Time zone [SID key](https://www.salesforceben.com/list-timezonesidkey-salesforce/)
required: false
style: form
explode: true
schema:
type: string
example:
"America/Los_Angeles"
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/iSearchRuleQuery'
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/searchRuleResponseList'
security:
- APIKeyAuth: []
BearerAuth: []
/{tenantId}/isearch/resolverules:
post:
tags:
- isearch
summary: Evaluate the rules implied by terms and keywords.
description: <p>This endpoint loads business objects specified in scope, overlays objectData (if options.objectOverride = true), then evaluates the conditions specified in the terms group. Individually annotated results, as well as a description of the condition evaluation result, are returned. Any specified metadata, such as a cookie, is also returned with the result.</p>
<p>Conditions are evaluated as follows.</p>
<ul>
<li>If <code>fieldType = metaData</code>, the value of the field in the object record is used.</li>
<li>If <code>fieldType = extractedField</code>, the value extracted from document is used.</li>
<li>If <code>fieldType = mergedField</code>, the value extracted from document is used to override the object level value. If extracted value is empty object level data is used.</li>
<li>If <code>fieldType = extractedClause</code>, the clause extracted from the document is used. If operator = Natural Language the value is interpreted as keyword expression and the matching is performed similarly to the case where fieldType = keyword.</li>
<li>If <code>field = keywords</code>, the value is used to search the document specified by the fieldId. Only operator = Natural Language is supported for this field</li>
<li>fieldId is used to resolve the value of extractedField and extractedClause field types. For <code>field = keywords</code>, fieldId specifies the document's ID (for example, the ContentVersion ID for an SFDC object)</li>
<li>The desc field is used to annotate the result</li>
<li>If <code>operator = Natural Language</code>, the expression specified in the value field is evaluated. For example,
<ul>
<li><code>value="30 days from now"</code> is resolved to a date 30 days in the future.</li>
<li><code>value="Pandemic, earthquake but not floods"</code> is resolved to an appropriate keyword Boolean expression.</li>
<li><code>value="NOT Pandemic and (earthquake or flood)"</code> is resolved to an appropriate keyword Boolean expression.</li>
</ul></li>
<li>If <code>value</code> is a relative expression that contains other fields, the value of all dependent fields is resolved before this expression is evaluated. For example,
<ul>
<li><code>value = "2 years from ${Apttus__Contract_Start_Date__c}"</code>, Apttus__Contract_Start_Date__c is resolved first; then the larger expression is resolved.</li>
<li>If the dependent field is already in the list of conditions, its field type is used to resolve its value.</li>
<li>Otherwise, the defaultFieldType options setting is used to determine the dependent field's type. <code>defaultFieldType = mergedField</code> implies its value will be resolved to extractedField or the object-level metaData value.</li>
<li>Other values for defaultFieldType are extractedField, extractedClause or metaData</li>
</ul>
<li>Here is a list of valid operators (with their normalized value in parentheses).
<ul>
<li>greater (>)</li>
<li>greater than (>)</li>
<li>greater than or equals (>=)</li>
<li>greater than equals (>=)</li>
<li>greater or equals (>=)</li>
<li>lesser (<)</li>
<li>lesser than (<)</li>
<li>lesser than or equals (<=)</li>
<li>lesser than equals (<=)</li>
<li>less or equal (<=)</li>
<li>less or equals (<=)</li>
<li>equals (==)</li>
<li>equal (==)</li>
<li>not equals (!=)</li>
<li>not equal (!=)</li>
<li>> (>)</li>
<li>>= (>=)</li>
<li>< (<)</li>
<li><= (<=)</li>
<li>== (==)</li>
<li>!= (!=)</li>
<li>natural language (natural language)</li>
<li>contains (contains)</li>
<li>not contains (not contains)</li>
<li>doesn't contains (not contains)</li>
<li>starts with (starts with)</li>
<li>ends with (ends with)</li>
<li>missing (not contains)</li>
<li>like (like)</li>
<li>not like (not like)</li>
<li>in (in)</li>
<li>not in (not in)</li>
</ul>
</ul>
</p>
operationId: isearchResolveRules
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: userId
in: query
description: SFDC user ID of the logged-in user
required: true
style: form
explode: true
schema:
type: string
example:
0054T000000dqllQAA
- name: userName
in: query
description: Full name of the logged-in SFDC user
required: true
style: form
explode: true
schema:
type: string
example:
Gilad Turbahn
- name: instanceUrl
in: query
description: The URL of the SFDC org instance
required: true
style: form
explode: true
schema:
type: string
example:
https://max1.my.salesforce.com
- name: module
in: query
description: Module for display config, such as `clm`, `cpq`, `qtc`, etc.
required: true
explode: false
schema:
type: string
example:
clm
- name: timezone
in: query
description: Time zone [SID key](https://www.salesforceben.com/list-timezonesidkey-salesforce/)
required: false
style: form
explode: true
schema:
type: string
example:
"America/Los_Angeles"
- name: async
in: query
description: If true, this operation is performed asynchronously. Default is `false`.
required: false
style: form
explode: true
schema:
type: boolean
example:
false
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/iSearchRuleQuery'
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/searchRuleResponseList'
security:
- APIKeyAuth: []
BearerAuth: []
/{tenantId}/isearch/page:
get:
tags:
- isearch
summary: Return the specified page.
description: Returns the page specifed by pageIndex. The requestId parameter identifies the paged response.
operationId: isearchGetPage
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: requestId
in: query
description: Request ID corresponding to the page
required: true
schema:
type: string
example:
7fd04d80-c4c3-4ab6-a770-e9a9ff277328
- name: pageIndex
in: query
description: Zero-based index of the page to fetch
required: true
schema:
type: string
example:
1
- name: deleteResponse
in: query
description: If true, all pages associated with this request are deleted.
required: false
schema:
type: boolean
example:
false
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/searchResponse'
security:
- APIKeyAuth: []
BearerAuth: []
/{tenantId}/isearch/sort:
post:
tags:
- isearch
summary: Return records in order.
description: Returns the records in a page in sorted order. Items can be sorted either within the page or globally across all pages. Only paged responses identified by requestId can be sorted.
operationId: isearchPostSort
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: requestId
in: query
description: RequestId corresponding to the response
required: true
schema:
type: string
example:
7fd04d80-c4c3-4ab6-a770-e9a9ff277328
- name: sortFields
in: query
description: List of fields for sorting. The first field is used as the primary sorting criterion. Subsequent fields are used in order for secondary sorting.
required: true
schema:
type: array
items:
type: string
example:
["Name", "LastModifiedDate"]
- name: sortOrder
in: query
description: Sort order ASC (ascending) or DESC (descending). ASC is the default.
required: false
schema:
type: string
enum: [ASC, DESC]
example:
ASC
- name: groupResults
in: query
description: If true result is grouped by primary object, when possible.
required: false
schema:
type: boolean
default: true
example:
true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/searchResponse'
security:
- APIKeyAuth: []
/{tenantId}/isearch/feedback:
post:
tags:
- isearch
summary: Log app-level feedback on iSearch resolution.
description: Logs an app-level feedback event when an iSearch resolves. A client application can use this API to log analytics events that show how iSearch resolutions are performing.
operationId: isearchFeedback
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: module
in: query
description: Module to search, such as `clm`, `cpq`, `qtc`, etc.
required: true
explode: false
schema:
type: string
example:
clm
- name: like
in: query
description: "Like/Dislike: `1` (like), `-1` (dislike)"
required: true
schema:
type: number
example:
1
requestBody:
description: Original request, with options context for analytics
content:
application/json:
schema:
$ref: '#/components/schemas/iSearchFeedback'
responses:
"200":
description: OK
security:
- APIKeyAuth: []
/{tenantId}/isearch/validateexpression:
get:
tags:
- isearch
summary: Validate search expressions.
description: Validates Boolean query expressions that could be used for Smart Search. For example,
<ul>
<li><b>Input:</b> <p><i>(1 AND 2) OR 3</i></li>
<li><b>Output:</b> <p>OK</p></li>
</ul>
operationId: isearchValidateExpression
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: input
in: query
description: Input phrase to be resolved
required: true
style: form
explode: true
schema:
type: string
example:
(1 OR 2) AND 3
responses:
"200":
description: OK
security:
- APIKeyAuth: []
/{tenantId}/isearch/parsequeryterm:
post:
tags:
- isearch
summary: Parse query terms and return metadata.
description: Parses query terms and returns metadata
operationId: isearchParseQueryTerm
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: userId
in: query
description: SFDC user ID of the logged-in user
required: true
style: form
explode: true
schema:
type: string
example:
0054T000000dqllQAA
- name: userName
in: query
description: The full name of the logged-in SFDC user
required: true
style: form
explode: true
schema:
type: string
example:
Gilad Turbahn
- name: instanceUrl
in: query
description: The URL of the SFDC org instance
required: true
style: form
explode: true
schema:
type: string
example:
https://max1.my.salesforce.com
- name: objectName
in: query
description: "Object name, such as: Apttus__APTS_Agreement__c"
required: true
schema:
type: string
example:
Apttus__APTS_Agreement__c
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/iSearchQueryTerms'
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/iSearchParsedQueryTermResponse'
security:
- APIKeyAuth: []
BearerAuth: []
/{tenantId}/async/jobstatus:
get:
tags:
- async
summary: Return the status of an asynchronous task.
description: Returns the status of an asynchronous task.
operationId: asyncGetJobStatus
parameters:
- name: tenantId
in: path
description: The name of the tenant, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: userId
in: query
description: The SFDC user ID of the logged-in user
required: true
style: form
explode: true
schema:
type: string
example:
0054T000000dqllQAA
- name: userName
in: query
description: The full name of the logged-in SFDC user
required: true
style: form
explode: true
schema:
type: string
example:
Gilad Turbahn
- name: instanceUrl
in: query
description: The URL of the SFDC org instance
required: true
style: form
explode: true
schema:
type: string
example:
https://max1.my.salesforce.com
- name: jobId
in: query
description: The async task ID
required: true
schema:
type: string
example:
edae526a-c5b4-4f87-846b-90fbb6615b8b
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/jobStatusResponse'
security:
- APIKeyAuth: []
/{tenantId}/async/jobresult:
get:
tags:
- async
summary: Return results of a completed async task.
description: Returns the results of a completed async task. If the task is invalid, a 404 is returned. If the task is incomplete, this API behaves like the jobstatus API.
operationId: asyncGetJobResult
parameters:
- name: tenantId
in: path
description: The tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: userId
in: query
description: The SFDC user ID of the logged-in user
required: true
style: form
explode: true
schema:
type: string
example:
0054T000000dqllQAA
- name: userName
in: query
description: The full name of the logged-in SFDC user
required: true
style: form
explode: true
schema:
type: string
example:
Gilad Turbahn
- name: instanceUrl
in: query
description: The URL of the SFDC org instance
required: true
style: form
explode: true
schema:
type: string
example:
https://max1.my.salesforce.com
- name: jobId
in: query
description: Async task Id
required: true
schema:
type: string
example:
edae526a-c5b4-4f87-846b-90fbb6615b8b
responses:
"200":
description: OK
content:
application/json:
schema:
type: string
application/pdf:
schema:
type: string
format: binary
application/vnd.openxmlformats-officedocument.wordprocessing:
schema:
type: string
format: binary
application/octet-stream:
schema:
type: string
format: binary
text/html:
schema:
type: string
security:
- APIKeyAuth: []
BearerAuth: []
/{tenantId}/document/snippet:
post:
tags:
- document
summary: Return matching snippets.
description: Returns snippets that match requested keywords.
operationId: documentPostSnippet
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: userId
in: query
description: SFDC user ID of the logged-in user
required: true
style: form
explode: true
schema:
type: string
example:
0054T000000dqllQAA
- name: userName
in: query
description: Full name of the logged-in SFDC user
required: true
style: form
explode: true
schema:
type: string
example:
Gilad Turbahn
- name: instanceUrl
in: query
description: The URL of the SFDC org instance
required: true
style: form
explode: true
schema:
type: string
example:
https://max1.my.salesforce.com
- name: async
in: query
description: If true, this operation is performed asynchronously. Default is `false`.
required: false
style: form
explode: true
schema:
type: boolean
example:
false
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/snippetExtractionInfo'
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/snippetResponseWrapper'
security:
- APIKeyAuth: []
BearerAuth: []
/{tenantId}/document/snippetfromchunks:
post:
tags:
- document
summary: Return matching snippets from chunks.
description: Returns the snippets matching requested keywords from searched chunks.
operationId: chunksGetSnippet
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: userId
in: query
description: SFDC user ID of the logged-in user
required: true
style: form
explode: true
schema:
type: string
example:
0054T000000dqllQAA
- name: userName
in: query
description: Full name of the logged-in SFDC user
required: true
style: form
explode: true
schema:
type: string
example:
Gilad Turbahn
- name: instanceUrl
in: query
description: The URL of the SFDC org instance
required: true
style: form
explode: true
schema:
type: string
example:
https://max1.my.salesforce.com
- name: async
in: query
description: If true, this operation is performed asynchronously. Default is `false`.
required: false
style: form
explode: true
schema:
type: boolean
example:
false
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/snippetExtractionChunkInfo'
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/snippetChunkResponseWrapper'
security:
- APIKeyAuth: []
BearerAuth: []
/{tenantId}/document/snippetfromrequest:
post:
tags:
- document
summary: Return matching snippets as a search result.
description: Returns the snippets matching requested keywords for a given search result.
operationId: documentGetSnippetFromRequest
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: requestId
in: query
description: Request identifier identifying the search results
required: true
style: form
explode: true
schema:
type: string
example:
6cf63034-fe7e-4cb4-a536-549f9602219e
- name: objectId
in: query
description: Object ID associated with text snippets to be searched
required: true
style: form
explode: true
schema:
type: string
example:
a0C4T000000iF5rUAE
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/snippetExtractionInfo2'
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/snippetResponseForText'
security:
- APIKeyAuth: []
BearerAuth: []
/{tenantId}/document/snippetfromfile:
post:
tags:
- document
summary: Return matching snippets from a file.
description: Returns the snippets matching requested keywords from a file.
operationId: documentGetSnippetFromFile
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: async
in: query
description: If true, this operation is performed asynchronously. Default is `false`.
required: false
style: form
explode: true
schema:
type: boolean
example:
false
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
srcFileName:
type: string
format: string
srcFormat:
type: string
enum: [docx, doc, pdf, pptx, ppt, csv, xls, xlsx, html]
srcFile:
type: string
format: binary
keywordMap:
$ref: '#/components/schemas/keywordMap'
format: string
options:
$ref: '#/components/schemas/snippetOptions'
format: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/snippetResponseWrapper'
security:
- APIKeyAuth: []
/{tenantId}/document/supportedinfo:
get:
tags:
- document
summary: Return matching snippets.
description: Returns the snippets matching requested keywords.
operationId: documentGetSupportedInfo
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/docSupportInfo'
security:
- APIKeyAuth: []
BearerAuth: []
/{tenantId}/document/email:
get:
tags:
- document
summary: Prepare email for sharing search results.
description: Prepares email content (subject, default body, attachments, etc.) for sharing search results.
operationId: docGetEmailInfo
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: requestId
in: query
description: Request identifier for search results
required: true
style: form
explode: true
schema:
type: string
example:
6cf63034-fe7e-4cb4-a536-549f9602219e
- name: subject
in: query
description: Optional email subject
required: false
style: form
explode: true
schema:
type: string
example:
Search report
- name: body
in: query
description: Email body
required: false
style: form
explode: true
schema:
type: string
example:
Below are the results of your recent search
- name: includeQueryInfo
in: query
description: Flag to include search query info in the email body
required: false
style: form
explode: true
schema:
type: boolean
default: false
example:
false
- name: objectList
in: query
description: List of object IDs to be included in the report. All objects are included by default.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/stringItems'
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/searchResultEmail'
security:
- APIKeyAuth: []
post:
tags:
- document
summary: Email a search snapshot report.
description: Sends an email report of search results
operationId: docPostEmailInfo
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: requestId
in: query
description: Request identifier
required: true
style: form
explode: true
schema:
type: string
example:
6cf63034-fe7e-4cb4-a536-549f9602219e
- name: from
in: query
description: '"From:" email address(es)'
required: false
style: form
explode: true
schema:
type: array
items:
type: string
example:
["\"Conga Max\" <maxcustomersupport@conga.com>"]
- name: to
in: query
description: '"To:" email address(es)'
required: true
style: form
explode: true
schema:
type: array
items:
type: string
example:
["fmorris@acme.com"]
- name: cc
in: query
description: '"Cc:" email addresses'
required: false
style: form
explode: true
schema:
type: array
items:
type: string
example:
["jdaniels@acme.com"]
- name: subject
in: query
description: Email subject
required: false
style: form
explode: true
schema:
type: string
example:
Search Report
- name: body
in: query
description: Email body
required: false
style: form
explode: true
schema:
type: string
example:
Below are the results of your recent search
- name: includeQueryInfo
in: query
description: Flag that indicates whether search query info must be included in the email body
required: false
style: form
explode: true
schema:
type: boolean
default: false
example:
false
- name: attachment
in: query
description: Attachment preference. If unspecified or set to none, the email body will contain search results in html. If set to empty, only the body is sent in email, with no attachments or inline reports sent.
required: false
schema:
type: string
enum: [none, empty, html, xlsx, csv, pdf]
default: none
- name: objectList
in: query
description: List of object IDs to be included in the report. All objects are included by default.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/stringItems'
responses:
"200":
description: OK
security:
- APIKeyAuth: []
/{tenantId}/document/report:
get:
tags:
- document
summary: Prepare a report of search results for sharing.
description: Prepares a report of search results for sharing
operationId: docGetReport
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: requestId
in: query
description: Request identifier
required: true
style: form
explode: true
schema:
type: string
example:
6cf63034-fe7e-4cb4-a536-549f9602219e
- name: format
in: query
description: Report content format (html, pdf, xlsx, etc.)
required: false
style: form
explode: true
schema:
type: string
enum: [html, pdf, xlsx, csv]
example:
html
- name: pageIndex
in: query
description: Page index. If not specified, the entire result is sent.
required: false
style: form
explode: true
schema:
type: string
example:
1
- name: objectList
in: query
description: List of object IDs to be included in the report. All objects are included by default.
required: false
style: form
explode: true
schema:
$ref: '#/components/schemas/stringItems'
responses:
"200":
description: OK
security:
- APIKeyAuth: []
/{tenantId}/document/convert:
post:
tags:
- document
summary: Convert a remote document's format.
description: Convert a remote document from one format to another.
operationId: documentConvert
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: userId
in: query
description: SFDC user ID of the logged-in user
required: true
style: form
explode: true
schema:
type: string
example:
0054T000000dqllQAA
- name: userName
in: query
description: Full name of the logged-in SFDC user
required: true
style: form
explode: true
schema:
type: string
example:
Gilad Turbahn
- name: instanceUrl
in: query
description: The URL of the SFDC org instance
required: true
style: form
explode: true
schema:
type: string
example:
https://max1.my.salesforce.com
- name: format
in: query
description: Target format (html, pdf, etc.)
required: false
style: form
explode: true
schema:
type: string
enum: [html, pdf, text, png]
example:
html
- name: async
in: query
description: If true, this operation is performed asynchronously. Default is `false`.
required: false
style: form
explode: true
schema:
type: boolean
example:
false
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/docInfo'
responses:
"200":
description: OK
content:
application/pdf:
schema:
type: string
format: binary
application/vnd.openxmlformats-officedocument.wordprocessing:
schema:
type: string
format: binary
application/octet-stream:
schema:
type: string
format: binary
text/html:
schema:
type: string
security:
- APIKeyAuth: []
BearerAuth: []
/{tenantId}/document/convertfile:
post:
tags:
- document
summary: Convert a document's format.
description: Convert a document from one format to another.
operationId: documentConvertFile
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: format
in: query
description: Target document format
required: true
schema:
type: string
enum: [pdf, html, text, png]
example:
pdf
- name: async
in: query
description: If true, this operation is performed asynchronously. Default is `false`.
required: false
style: form
explode: true
schema:
type: boolean
example:
false
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
srcFileName:
type: string
format: string
srcFormat:
type: string
enum: [docx, doc, pdf, pptx, ppt, csv, xls, xlsx, html, gif, tiff, jpeg, png]
srcFile:
type: string
format: binary
responses:
"200":
description: OK
content:
application/pdf:
schema:
type: string
format: binary
application/vnd.openxmlformats-officedocument.wordprocessing:
schema:
type: string
format: binary
application/octet-stream:
schema:
type: string
format: binary
text/html:
schema:
type: string
security:
- APIKeyAuth: []
/{tenantId}/document/history:
put:
tags:
- document
summary: Add search history.
description: >-
Adds every user search, along with user ID, tenant ID, org, search topics, and time stamp.
operationId: adduserHistory
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example: apttussfdc
- name: userId
in: query
description: 'User ID. For example: "0056g000001tJrMAAU"'
required: true
explode: false
schema:
type: string
example: 0056g000001tJrMAAU
- name: instanceUrl
in: query
description: The URL of the org instance
required: true
explode: false
schema:
type: string
example: 'https://max1.my.salesforce.com'
- name: topic
in: query
description: Search topic to add
required: true
explode: false
schema:
type: string
example: history
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/historyaddUser'
responses:
'200':
description: OK
'500':
description: Internal server error. Couldn't add.
security:
- APIKeyAuth: []
get:
tags:
- document
summary: Return a user's searches.
description: Returns a list of search entries for a given user based on tenant ID and user ID
operationId: getUserHistory
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
- name: userId
in: query
description: 'User ID that is unique within the tenant ID. For example: "0056g000001tJrMAAU"'
required: true
explode: true
schema:
type: string
example:
"0056g000001tJrMAAU"
- name: instanceUrl
in: query
description: The URL of the SFDC org instance
required: true
explode: true
schema:
type: string
example:
https://max1.my.salesforce.com
- name: topic
in: query
description: Topic in which the search is happening
required: true
explode: true
schema:
type: string
example:
history
- name: size
in: query
description: The size limit of the data on person
required: false
explode: true
schema:
type: number
example:
50
- name: unit
in: query
description: The unit for age (default day)
required: false
schema:
type: string
enum: [Years, Months, Days, Hours, Minutes, Seconds]
example:
Days
- name: age
in: query
description: The data time at which it can be left
required: false
explode: true
schema:
type: number
example:
2
- name: phrase
in: query
description: Key word that can be used for searching
required: false
explode: true
schema:
type: string
example:
"force"
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/historyretrieveentries'
"500":
description: Internal server error
security:
- APIKeyAuth: []
delete:
tags:
- document
summary: Delete search history.
description: Deletes a user's search history by tenant and user IDs
operationId: deleteUserHistory
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
explode: false
schema:
type: string
example:
apttussfdc
- name: userId
in: query
description: Unique user ID
required: true
explode: false
schema:
type: string
example:
"0056g000001tJrMAAU"
- name: instanceUrl
in: query
description: The URL of the org instance
required: true
explode: false
schema:
type: string
example:
"https://max1.my.salesforce.com"
- name: topic
in: query
description: Topic to delete from
required: true
explode: false
schema:
type: string
example:
"history"
- name: size
in: query
description: The size limit of the data on person.
required: false
explode: true
schema:
type: number
example:
50
- name: unit
in: query
description: The unit for age (default day)
required: false
schema:
type: string
enum: [Years, Months, Days, Hours, Minutes, Seconds]
example:
Day
- name: age
in: query
description: Time from which data can be deleted
required: false
explode: false
schema:
type: number
example:
2
- name: phrase
in: query
description: Key word that can be used for searching
required: false
explode: true
schema:
type: string
example:
"force"
responses:
"200":
description: OK
"404":
description: Not found
"500":
description: Internal server error
security:
- APIKeyAuth: []
/max/admin/apikey:
get:
tags:
- admin
summary: Generate an API key for Max API access.
description: Generates a unique API key you can use to access Max APIs. You can also activate the API key in Max's admin console.
operationId: genAPIKey
responses:
"200":
description: OK
content:
text/plain:
schema:
type: string
x-content-type: text/plain
security:
- APIKeyAuth: []
x-swagger-router-controller: Admin
/max/admin/preregistertenant:
post:
tags:
- admin
summary: Start two-factor tenant onboarding.
description: Starts a two-factor auth-based onboarding process for new tenants. A valid email used at product purchase provides a secret code.
operationId: preregisterTenant
parameters:
- name: provider
in: query
description: Provider name
required: false
explode: false
schema:
type: string
example:
ApttusSFDC
- name: tenantId
in: query
description: Unique tenant ID, in lower case.
required: true
explode: false
schema:
type: string
example:
nokia
- name: appName
in: query
description: App name. For example, `SmartSearch` or `IDD`.
required: false
explode: false
schema:
type: string
enum: [SmartSearch, IDD]
example:
SmartSearch
- name: orgId
in: query
description: Org identifier
required: true
schema:
type: string
example:
0054T012000dqllXAC
- name: instanceUrl
in: query
description: The URL of the org instance
required: true
explode: false
schema:
type: string
example:
"https://max1.my.salesforce.com"
- name: userId
in: query
description: SFDC user ID of the logged-in user or "global" for public alias
required: true
style: form
explode: true
schema:
type: string
example:
0054T000000dqllQAA
- name: userName
in: query
description: Full name of the logged-in SFDC user
required: true
style: form
explode: true
schema:
type: string
example:
Gilad Turbahn
- name: email
in: query
description: Valid email address to which the secret code must be sent. This email must belong to the same domain as the registered tenant.
required: true
schema:
type: string
example:
"joe@acme.com"
- name: enableOfflineReview
in: query
description: If true, the preregister request must be reviewed by a customer representative for approval.
required: false
schema:
type: boolean
example:
false
- name: resend
in: query
description: If true, the preregister request can resend one-time passcodes even for existing tenants already in the preregister queue.
required: false
schema:
type: boolean
example:
false
responses:
"200":
description: OK
content:
text/plain:
schema:
type: string
x-content-type: text/plain
security:
- APIKeyAuth: []
x-swagger-router-controller: Admin
/max/admin/registertenant:
post:
tags:
- admin
summary: Onboard a new tenant and return an API key.
description: Onboards a new tenant and returns an API key. Can revoke and replace existing API keys.
operationId: registerTenant
parameters:
- name: provider
in: query
description: Provider name
required: false
explode: false
schema:
type: string
example:
ApttusSFDC
- name: tenantId
in: query
description: Unique tenant ID, in lowercase only
required: true
explode: false
schema:
type: string
example:
nokia
- name: appName
in: query
description: App name, such as "SmartSearch" or "IDD"
required: false
explode: false
schema:
type: string
enum: [SmartSearch, IDD]
example:
SmartSearch
- name: orgId
in: query
description: Org identifier
required: true
schema:
type: string
example:
0054T012000dqllXAC
- name: instanceUrl
in: query
description: The URL of the org instance. Required for first-time registration.
required: true
explode: false
schema:
type: string
example:
"https://max1.my.salesforce.com"
- name: userId
in: query
description: SFDC user ID of the logged-in user or "global" for public alias
required: true
style: form
explode: true
schema:
type: string
example:
0054T000000dqllQAA
- name: userName
in: query
description: Full name of the logged-in SFDC user
required: true
style: form
explode: true
schema:
type: string
example:
Gilad Turbahn
- name: regenerateKey
in: query
description: If true, any existing key is revoked and a new key is generated
required: false
schema:
type: boolean
default: false
responses:
"200":
description: OK
content:
text/plain:
schema:
type: string
x-content-type: text/plain
security:
- APIKeyAuth: []
x-swagger-router-controller: Admin
/max/admin/unregistertenant:
post:
tags:
- admin
summary: Unregister a tenant.
description: Unregisters an existing tenant. This tenant no longer has API access for any services.
operationId: unregisterTenant
parameters:
- name: provider
in: query
description: Provider name
required: false
explode: false
schema:
type: string
example:
ApttusSFDC
- name: tenantId
in: query
description: Unique tenant ID, in lowercase only
required: true
explode: false
schema:
type: string
example:
nokia
- name: appName
in: query
description: App name, usch as "SmartSearch" or "IDD"
required: false
explode: false
schema:
type: string
enum: [SmartSearch, IDD]
example:
SmartSearch
responses:
"200":
description: OK
content:
text/plain:
schema:
type: string
x-content-type: text/plain
security:
- APIKeyAuth: []
x-swagger-router-controller: Admin
/{tenantId}/admin/version:
get:
tags:
- admin
summary: Return software version and config details.
description: Returns software version and config details for a tenant. Call this API to obtain the version, environment, tenant configuration, build information, and other details about your Max instance.
operationId: adminVersion
parameters:
- name: tenantId
in: path
description: Tenant name, such as "apttussfdc" or "max"
required: true
style: simple
explode: false
schema:
type: string
example:
apttussfdc
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/versionResponse'
security:
- APIKeyAuth: []
components:
schemas:
historyaddUser:
type: object
properties:
entries:
type: object
description: A user's most common search entries
example:
{
"entries": [
{ "text": "Clause text contains Force majeure" },
{ "text": "Start date is 12/20/20" },
{ "text": "Location equals to SanFrancisco, California" },
{ "text": "force of nature" },
{ "text": "natural force" },
{ "text": "earthquake" }
]
}
historyretrieveentries:
type: object
properties:
entries:
type: object
description: A user's most common search entries
example:
{
"entries": [
"Clause text contains Force majeure",
"Start date is 12/20/20",
"Location equals to SanFrancisco, California",
"force of nature",
"natural force",
"earthquake"
]
}
entityResponse:
type: object
properties:
entity:
type: string
description: Sub-phrase
format: string
startIndex:
type: integer
description: Sub-phrase's start index
format: int32
endIndex:
type: integer
description: Sub-phrase's end index
format: int32
type:
type: string
description: Entity resolution type
format: string
resolution:
$ref: '#/components/schemas/entityResolutionResultList'
entityResponseList:
type: object
properties:
phrase:
type: string
description: Input phrase
entities:
type: array
items:
$ref: '#/components/schemas/entityResponse'
example:
phrase: pull up quotes expiring in the next 90 days that are starting next week
entities:
- entity: in the next 90 days
startIndex: 24
endIndex: 42
type: daterange
resolution:
values:
- type: daterange
start: '2020-09-11'
end: '2020-12-10'
- entity: starting next week
startIndex: 53
endIndex: 70
type: daterange
resolution:
values:
- type: daterange
Mod: since
start: '2020-09-14'
altValues:
- type: daterange
start: '2020-09-14'
end: '2020-09-20'
notes: starting
searchResponsePage:
type: object
properties:
index:
type: integer
description: Zero-based index of current result page, e.g., 0
total:
type: integer
description: Total number of pages in result, e.g., 3
pageSize:
type: integer
description: Size of each page in number of records, e.g., 30
keywordMapList:
type: array
items:
$ref: '#/components/schemas/keywordMap'
keywordMap:
type: object
properties:
keywords:
type: array
items:
type: string
description: List of keywords detected
rawExpression:
type: string
description: The un-normalized expression constructed based on a query
normalizedExpression:
type: string
description: The normalized expression after factoring in synonyms
synomymMap:
type: object
description: Synonym map used for normalization
missingKeywords:
type: boolean
description: If true, the keywords constitute a missing list
example:
{
"keywords": [
"Force majeure",
"term"
],
"synonymMap": {
"force majeure": {
"className": "Force majeure",
"synonyms": [
"Force majeure",
"act of god",
"natural disaster",
"force of nature",
"natural force",
"earthquake"
]
},
"term": {
"className": null,
"synonyms": [
"term"
]
}
}
}
searchRuleResponseList:
type: array
items:
$ref: '#/components/schemas/searchRuleResponse'
searchRuleResponse:
type: object
properties:
metaData:
type: object
description: Meta data
format: string
result:
type: object
description: Rule evaluation result
example:
{
"metaData": {
"name": "Core risk criteria",
"score": "0.1"
},
"result": [
{
"objectId": "a0C4T000000ifZZUAY",
"objectType": "Apttus__APTS_Agreement__c",
"ruleEvaluation": {
"terms": {
"result": true,
"expression": "(1 AND ((2 AND 3) OR 4 OR 5) AND 6 AND (7 OR 8))",
"desc": [
{
"field": "Apttus__Contract_Start_Date__c",
"fieldType": "mergedField",
"fieldId": "1039",
"value": "1/1/2019",
"desc": "Agreement Start Date <= 2021-10-22",
"result": true
},
{
"field": "Apttus__Contract_End_Date__c",
"fieldType": "mergedField",
"fieldId": "1040",
"value": "12/31/2019",
"desc": "Agreement End Date >= 2019-01-01",
"result": true
},
{
"field": "Apttus__Contract_End_Date__c",
"fieldType": "mergedField",
"fieldId": "1040",
"value": "12/31/2019",
"desc": "Agreement End Date >= 2021-01-01",
"guidance": "End date is more than 2 years from start date",
"result": false
},
{
"field": "Kira : Contract Value",
"fieldType": "extractedField",
"fieldId": 681,
"value": "150000",
"desc": "Total Agreement Value > 1000",
"result": true
},
{
"field": "Apttus__Remaining_Contracted_Days__c",
"fieldType": "metaData",
"value": 0,
"desc": "Remaining Contracted Days = 0",
"result": false
},
{
"field": "keywords",
"fieldType": "keywords",
"fieldId": "0684T000003u3eeQAA",
"value": "[pp: 2] pecific Software or\nService giving rise to such claim , or (b ) One Million United States Dollars.\n\nTerm of Agreement. The term of the Agreement commences on the 1/1/2019 , ( “ Effective Date” ) and\n1[pp: 2] ...of stock, reorganization or otherwise.\n\nForce Majeure Neither party shall be liable to the ot...",
"desc": "['Term': found, 'Force Majeure': found]",
"result": true
},
{
"field": "Force Majeure",
"fieldType": "extractedClause",
"fieldId": "267",
"value": "9. Force Majeure. Neither party shall be liable to the other party for its failure to perform any of its obligations under the Agreement (except for breaches of Section 8 or any payment obligations) during any period in which such performance is delayed or rendered impracticable or impossible due to circumstances beyond the nonperforming party’s reasonable control.",
"desc": "Force Majeure not contains Pandemic, earthquake",
"result": true
},
{
"field": "Limitation of Liability",
"fieldType": "extractedField",
"desc": "Limitation of Liability > 2000000",
"result": false
}
]
}
}
}
]
}
searchResponse:
type: object
properties:
query:
type: string
description: SFDC SOQL query capturing the NL phrase
format: string
phrase:
type: string
description: NL phrase input
inputType:
type: string
description: Type of input
page:
$ref: '#/components/schemas/searchResponsePage'
description: Paging info
whereClauseFields:
type: array
description: List of fields in the "where" clause
items:
type: string
description: DB field
selectFields:
type: array
description: List of select fields in the query
items:
type: string
description: DB field
orderByFields:
type: array
description: List of fields in the "order by" clause
items:
type: string
description: DB field
questionClauseFields:
type: array
description: List of fields in the "question" clause
items:
type: string
description: DB field
keywordMap:
type: object
description: Keyword metadata extracted from the query
$ref: '#/components/schemas/keywordMapList'
result:
$ref: '#/components/schemas/searchResponseResult'
explanation:
$ref: '#/components/schemas/explanationResult'
example:
{
"query": "SELECT Id,Apttus_Approval__Approval_Status__c,Apttus__Agreement_Number__c,Apttus__Perpetual__c....,Apttus__LatestVersionId__r.Apttus__ContentId__c,CreatedDate,LastModifiedDate,CreatedById,CreatedBy.Name,LastModifiedById FROM Apttus__DocumentVersions__r ) FROM Apttus__APTS_Agreement__c WHERE Id IN ('a0C4T000000iGG3UAM', 'a0C4T000000iGFyUAM', ... 'a0C4T000000iBOmUAM', 'a0C4T000000iBMCUA2') AND CreatedDate >= 2020-01-01T08:00:00.000Z AND CreatedDate <= 2021-01-01T08:00:00.000Z AND (CreatedBy.Id = '0054T000000dqllQAA' OR OwnerId = '0054T000000dqllQAA') ORDER BY CreatedDate DESC NULLS LAST LIMIT 15",
"phrase": "pull up agreements from last year with the mention Force Majeure or Term",
"inputType": "NL",
"whereClauseFields": [
"CreatedDate",
"CreatedBy.Name",
"Owner.Name"
],
"selectFields": [],
"orderByFields": [
"CreatedDate"
],
"questionClauseFields": [],
"keywordMap": [
{
"keywords": [
"Force majeure",
"term"
],
"rawExpression": "(\"Force majeure\" OR \"term\")",
"normalizedExpression": "((\"Force majeure\" OR \"act of god\" OR \"natural disaster\" OR \"force of nature\" OR \"natural force\" OR \"earthquake\") OR (\"term\"))",
"synonymMap": {
"force majeure": {
"className": "Force majeure",
"synonyms": [
"Force majeure",
"act of god",
"natural disaster",
"force of nature",
"natural force",
"earthquake"
]
},
"term": {
"className": null,
"synonyms": [
"term"
]
}
},
"missingKeywords": false,
"fileNameMach": false
}
],
"result": {
"objectName": "Apttus__APTS_Agreement__c",
"objectDisplayName": "Agreement",
"docHits": 2,
"rowCount": 974,
"records": [
{
"Id": "a0C4T000000iFFqUAM",
"Name": "2 years issue",
"Apttus__Account__r": {
"Name": "Kirk Solutions"
},
"Apttus__Primary_Contact__r": {
"Name": "Diego Francis"
},
"RecordType": {
"Name": "NDA"
},
"Apttus__Status_Category__c": "Import",
"Apttus__Status__c": "Review",
"Apttus_Approval__Approval_Status__c": "Not Submitted",
"CreatedBy": {
"Name": "Gilad Turbahn"
},
"CreatedDate": "2020-12-31T05:43:27.000+0000",
"LastModifiedBy": {
"Name": "Gilad Turbahn"
},
"LastModifiedDate": "2020-12-31T05:44:12.000+0000",
"__docs": [
{
"id": "0694T000003rc7hQAA",
"type": "ContentDocument",
"desc": null,
"title": "Intelligent Import Sample Document -Defect two Years Ter.docx",
"fileType": "WORD_X",
"fileExt": "docx",
"version": {
"major": 1,
"minor": 0,
"latest": "1.0.0"
},
"link": "https://max1.my.salesforce.com/sfc/servlet.shepherd/document/download/0694T000003rc7hQAA",
"downloadLink": "https://max1.my.salesforce.com/services/data/v47.0/sobjects/ContentVersion/0684T000003rnzGQAQ/VersionData",
"thumbNail": "https://max1.my.salesforce.com/sfc/servlet.shepherd/version/renditionDownload?rendition=THUMB720BY480&versionId=\"0684T000003rnzGQA\"&operationContext=CHATTER&page=0",
"size": 17970
}
],
"__link": {
"value": "https://max1.my.salesforce.com/a0C4T000000iFFqUAM",
"fields": [
"Name",
"Id"
]
}
},
{
"Id": "a0C4T000000iF5XUAU",
"Name": "Multi value check- 2",
"Apttus__Account__r": {
"Name": "Kirk Solutions"
},
"Apttus__Primary_Contact__r": {
"Name": "Diego Francis"
},
"RecordType": {
"Name": "NDA"
},
"Apttus__Status_Category__c": "Import",
"Apttus__Status__c": "Review",
"Apttus_Approval__Approval_Status__c": "Not Submitted",
"CreatedBy": {
"Name": "Gilad Turbahn"
},
"CreatedDate": "2020-12-30T03:55:38.000+0000",
"LastModifiedBy": {
"Name": "Gilad Turbahn"
},
"LastModifiedDate": "2020-12-30T03:56:11.000+0000",
"__docs": [
{
"id": "0694T000003ramnQAA",
"type": "ContentDocument",
"desc": null,
"title": "JH-BVV_Jungheinrich Master-Agreement 26 02 2014.doc",
"fileType": "WORD",
"fileExt": "doc",
"version": {
"major": 1,
"minor": 0,
"latest": "1.0.0"
},
"link": "https://max1.my.salesforce.com/sfc/servlet.shepherd/document/download/0694T000003ramnQAA",
"downloadLink": "https://max1.my.salesforce.com/services/data/v47.0/sobjects/ContentVersion/0684T000003rmQtQAI/VersionData",
"thumbNail": "https://max1.my.salesforce.com/sfc/servlet.shepherd/version/renditionDownload?rendition=THUMB720BY480&versionId=\"0694T000003ramnQAA\"&operationContext=CHATTER&page=0",
"size": 52950
}
],
"__link": {
"value": "https://max1.my.salesforce.com/a0C4T000000iF5XUAU",
"fields": [
"Name",
"Id"
]
}
}
],
"displayConfig": [
{
"field": "Id",
"label": "Record Id"
},
{
"field": "Name",
"label": "Name"
},
{
"field": "Apttus__Account__r.Name",
"label": "Account"
},
{
"field": "Apttus__Primary_Contact__r.Name",
"label": "Primary Contact"
},
{
"field": "RecordType.Name",
"label": "Type"
},
{
"field": "Apttus__Status_Category__c",
"label": "Status Category"
},
{
"field": "Apttus__Status__c",
"label": "Agreement Status"
},
{
"field": "Apttus_Approval__Approval_Status__c",
"label": "Approval Status"
},
{
"field": "CreatedBy.Name",
"label": "Created By"
},
{
"field": "CreatedDate",
"label": "Created Date"
},
{
"field": "LastModifiedBy.Name",
"label": "Last Modified By"
},
{
"field": "LastModifiedDate",
"label": "Last Modified Date"
},
{
"field": "__docs",
"label": "Documents"
}
],
"scope": {
"page0": "Id IN ('a0C4T000000iFFqUAM', 'a0C4T000000iFFXUA2', 'a0C4T000000iF5rUAE', 'a0C4T000000iF5cUAE', 'a0C4T000000iF5XUAU')",
"page1": "Id IN ('a0C4T000000iF5SUAU', 'a0C4T000000iDiRUAU', 'a0C4T000000iDiCUAU', 'a0C4T000000iDfAUAU', 'a0C4T000000iDf5UAE')",
"page2": "Id IN ('a0C4T000000iDf0UAE', 'a0C4T000000iDHIUA2', 'a0C4T000000iCqFUAU', 'a0C4T000000iCqAUAU', 'a0C4T000000iCO5UAM')"
},
"size": 15,
"page": {
"requestId": "c6097ddd-8050-4fa6-aacb-0f7e96e097fb",
"index": 0,
"total": 3,
"pageSize": 5
}
},
"explanation": {
"mainClause": {
"objectName": "Apttus__APTS_Agreement__c",
"annotation": [
{
"subphrase": "mention '\"Term\"'",
"whereClause": "Id IN ('a0C4T000000iGG3UAM', 'a0C4T000000iGFyUAM', 'a0C4T000000iGFkUAM', .., 'a0C4T000000iBOmUAM', 'a0C4T000000iBOmUAM', 'a0C4T000000iBMCUA2')",
"queryClauseType": "whereClause",
"nestedClause": false,
"annotation": "50 agreements with documents matching the criteria \"Term\"",
"questionClause": false
},
{
"subphrase": "from last year",
"whereClause": "CreatedDate >= 2020-01-01T08:00:00.000Z AND CreatedDate <= 2021-01-01T08:00:00.000Z",
"queryClauseType": "whereClause",
"nestedClause": false,
"annotation": "'Created Date' is more than 2020-01-01T08:00:00.000Z AND 'Created Date' is less than 2021-01-01T08:00:00.000Z",
"questionClause": false
},
{
"subphrase": "my (default alias)",
"whereClause": "(CreatedBy.Id = '0054T000000dqllQAA' OR OwnerId = '0054T000000dqllQAA')",
"queryClauseType": "alias",
"nestedClause": false,
"annotation": "(CreatedBy.Id is 'Gilad Turbahn' OR OwnerId is 'Gilad Turbahn')",
"questionClause": false
},
{
"subphrase": "implicit sort criteria",
"whereClause": "",
"queryClauseType": "sortCriteria",
"nestedClause": false,
"annotation": "Sort by created date in DESC order",
"questionClause": false
},
{
"subphrase": "record count",
"whereClause": "",
"queryClauseType": "recordCount",
"nestedClause": false,
"annotation": "Maximum number of records fetched: 15",
"questionClause": false
}
]
}
}
}
searchQueryResponse:
type: object
properties:
query:
type: string
description: SFDC SOQL query capturing the NL phrase
format: string
queryPlan:
$ref: '#/components/schemas/iSearchQuery'
description: Input query plan
page:
$ref: '#/components/schemas/searchResponsePage'
description: Paging info
whereClauseFields:
type: array
description: List of fields in the "where" clause
items:
type: string
description: DB field
selectFields:
type: array
description: List of select fields in the query
items:
type: string
description: DB field
orderByFields:
type: array
description: List of fields in the "order by" clause
items:
type: string
description: DB field
questionClauseFields:
type: array
description: List of fields in the "question" clause
items:
type: string
description: DB field
keywords:
type: array
description: List of keywords detected in the query
items:
type: string
description: keyword
result:
$ref: '#/components/schemas/searchResponseResult'
explanation:
$ref: '#/components/schemas/explanationResult'
example:
{
"query": "SELECT Id,Apttus_Approval__Approval_Status__c...,LastModifiedDate,CreatedById,CreatedBy.Name,LastModifiedById FROM Apttus__DocumentVersions__r ) FROM Apttus__APTS_Agreement__c WHERE (CreatedDate < 2020-07-01T00:00:00.000Z AND (Apttus__Total_Contract_Value__c > 20000 OR Apttus__Perpetual__c = true)) AND Apttus__Account__c IN (SELECT Id FROM Account WHERE (BillingPostalCode = '95134' OR BillingPostalCode = '95135')) AND Id IN ('a0C4T000000gCs0UAE', 'a0C4T000000gCy2UAE', 'a0C4T000000gCxlUAE', 'a0C4T000000gCyBUAU', 'a0C4T000000gCxjUAE', 'a0C4T000000gCyEUAU') ORDER BY LastModifiedDate LIMIT 15",
"queryPlan": {
"primaryObject": "Apttus__APTS_Agreement__c",
"clause": {
"Apttus__APTS_Agreement__c": {
"expression": "(1 AND (2 OR 3))",
"terms": [
"CreatedDate < 2020-07-01T00:00:00.000Z",
"Apttus__Total_Contract_Value__c > 20000",
"Apttus__Perpetual__c = true"
]
},
"Account": {
"expression": "(1 OR 2)",
"terms": [
"BillingPostalCode = '95134'",
"BillingPostalCode = '95135'"
]
}
},
"scope": [
"Id IN ('a0C4T000000gCs0UAE', 'a0C4T000000gCy2UAE', 'a0C4T000000gCxlUAE', 'a0C4T000000gCyBUAU', 'a0C4T000000gCxjUAE', 'a0C4T000000gCyEUAU')"
],
"alias": {
"name": "PerpetualAgreementsFromPast",
"private": true
}
},
"whereClauseFields": [
"CreatedDate",
"Apttus__Total_Contract_Value__c",
"Apttus__Perpetual__c",
"BillingPostalCode",
"Id"
],
"selectFields": [],
"orderByFields": [],
"questionClauseFields": [],
"keywordMap": [],
"result": {
"objectName": "Apttus__APTS_Agreement__c",
"rowCount": 974,
"records": [
{
"Id": "a0C4T000000gCy2UAE",
"Name": "MSA",
"Apttus__Account__r": {
"Name": "ABC Corporation"
},
"Apttus__Primary_Contact__r": {
"Name": "Diego Francis"
},
"RecordType": {
"Name": "MSA"
},
"Apttus__Status_Category__c": "In Authoring",
"Apttus__Status__c": "Approved Request",
"Apttus_Approval__Approval_Status__c": "Approved",
"CreatedBy": {
"Name": "Gilad Turbahn"
},
"CreatedDate": "2019-09-12T21:40:28.000+0000",
"LastModifiedBy": {
"Name": "Gilad Turbahn"
},
"LastModifiedDate": "2019-09-12T21:40:28.000+0000"
},
{
"Id": "a0C4T000000gCyEUAU",
"Name": "ABC MSA",
"Apttus__Account__r": {
"Name": "ABC Corporation"
},
"Apttus__Primary_Contact__r": {
"Name": "Diego Francis"
},
"RecordType": {
"Name": "MSA"
},
"Apttus__Status_Category__c": "In Signatures",
"Apttus__Status__c": "Ready for Signatures",
"Apttus_Approval__Approval_Status__c": "Approved",
"CreatedBy": {
"Name": "Gilad Turbahn"
},
"CreatedDate": "2019-09-12T21:40:28.000+0000",
"LastModifiedBy": {
"Name": "Gilad Turbahn"
},
"LastModifiedDate": "2020-08-05T23:29:52.000+0000"
}
],
"objectDisplayName": "Agreement",
"displayConfig": [
{
"field": "Id",
"link": "https://max1.my.salesforce.com/a0C4T000000gCy2UAE",
"label": "Record Id"
},
{
"field": "Name",
"label": "Name"
},
{
"field": "Apttus__Account__r.Name",
"label": "Account"
},
{
"field": "Apttus__Primary_Contact__r.Name",
"label": "Primary Contact"
},
{
"field": "RecordType.Name",
"label": "Type"
},
{
"field": "Apttus__Status_Category__c",
"label": "Status Category"
},
{
"field": "Apttus__Status__c",
"label": "Agreement Status"
},
{
"field": "Apttus_Approval__Approval_Status__c",
"label": "Approval Status"
},
{
"field": "CreatedBy.Name",
"label": "Created By"
},
{
"field": "CreatedDate",
"label": "Created Date"
},
{
"field": "LastModifiedBy.Name",
"label": "Last Modified By"
},
{
"field": "LastModifiedDate",
"label": "Last Modified Date"
}
],
"scope": {
"page0": "Id IN ('a0C4T000000gCy2UAE', 'a0C4T000000gCs0UAE', 'a0C4T000000gCxlUAE', 'a0C4T000000gCyBUAU', 'a0C4T000000gCxjUAE', 'a0C4T000000gCyEUAU')"
},
"size": 6
},
"explanation": {
"mainClause": {
"objectName": "Apttus__APTS_Agreement__c",
"annotation": [
{
"subphrase": "Clause: Apttus__APTS_Agreement__c.CreatedDate < 2020-07-01T00:00:00.000Z",
"whereClause": "CreatedDate < 2020-07-01T00:00:00.000Z",
"queryClauseType": "whereClause",
"annotation": "Created Date < 2020-07-01T00:00:00.000Z",
"questionClause": false
},
{
"subphrase": "Clause: Apttus__APTS_Agreement__c.Apttus__Total_Contract_Value__c > 20000",
"whereClause": "Apttus__Total_Contract_Value__c > 20000",
"queryClauseType": "whereClause",
"annotation": "Total Agreement Value > 20000",
"questionClause": false
},
{
"subphrase": "Clause: Apttus__APTS_Agreement__c.Apttus__Perpetual__c = true",
"whereClause": "Apttus__Perpetual__c = true",
"queryClauseType": "whereClause",
"annotation": "Perpetual = true",
"questionClause": false
},
{
"subphrase": "Nested Clause: Account.BillingPostalCode = '95134'",
"whereClause": "BillingPostalCode = '95134'",
"queryClauseType": "whereClause",
"annotation": "Billing Zip/Postal Code = '95134'",
"questionClause": false
},
{
"subphrase": "Nested Clause: Account.BillingPostalCode = '95135'",
"whereClause": "BillingPostalCode = '95135'",
"queryClauseType": "whereClause",
"annotation": "Billing Zip/Postal Code = '95135'",
"questionClause": false
},
{
"subphrase": "Scope: Apttus__APTS_Agreement__c.Id IN ('a0C4T000000gCs0UAE', 'a0C4T000000gCy2UAE', 'a0C4T000000gCxlUAE', 'a0C4T000000gCyBUAU', 'a0C4T000000gCxjUAE', 'a0C4T000000gCyEUAU')",
"whereClause": "Id IN ('a0C4T000000gCs0UAE', 'a0C4T000000gCy2UAE', 'a0C4T000000gCxlUAE', 'a0C4T000000gCyBUAU', 'a0C4T000000gCxjUAE', 'a0C4T000000gCyEUAU')",
"queryClauseType": "whereClause",
"annotation": "Record ID IN ('a0C4T000000gCs0UAE', 'a0C4T000000gCy2UAE', 'a0C4T000000gCxlUAE', 'a0C4T000000gCyBUAU', 'a0C4T000000gCxjUAE', 'a0C4T000000gCyEUAU')",
"questionClause": false
}
]
}
}
}
iChronosOptions:
type: object
properties:
fullNLUResult:
type: boolean
description: If true, returns the full result (NLU + iChronos results). Otherwise, returns only iChronos results.
format: boolean
default: false
objectName:
type: string
description: Table name of the object. This is used to generate template expressions for relative time phrases.
example:
Apttus__APTS_Agreement__c
resolveRelativeReference:
type: boolean
description: Indicates whether to resolve relative reference expressions to templates.
format: boolean
default: true
context:
type: object
description: Any JSON object to be logged in the analytics payload associated with this request. SFDC instanceUrl is a helpful context setting to pass in.
format:
type: string
description: Date format, such as mm/dd/yyyy (where m=month, d=day, y=year)
default: yyyy-mm-dd
startOfQuarter:
type: string
default: "01-01-current"
description: <p>Common scenarios include</p>
<ol>
<li>The current fiscal year starts and ends with the calendar year => No configuration needed</li>
<li>The current fiscal year began the previous calendar year, runs into and ends during the current calendar year, and the next fiscal year begins during this calendar year. In this typical case, configure StartOfQuarter as shown.</li>
<ul>
<li>Current calendar year = 2019, fiscal year = 2019</li>
<li>FY 2019 began 06/15/2018 and ends 06/14/2019</li>
<li>Q1":" 06/15/2018 to 09/14/2018</li>
<li>Q2":" 09/15/2018 to 12/14/2018</li>
<li>Q3":" 12/15/2018 to 03/14/2019</li>
<li>Q4":" 03/15/2019 to 06/14/2019</li>
<li>startOfQuarter = "06-15-next". This tells Max that the next fiscal year begins on 06/15 during calendar year 2019. With this hint, Max automatically computes the current and next fiscal years.</li>
</ul>
<li>The current fiscal year begins in the middle of the calendar year, runs into next year, and ends during the next calendar year, while the prior fiscal year ends during the current calendar year. In this unusual but possible case, configure the StartOfQuarter as shown.</li>
<ul>
<li>Current calendar year = 2019, fiscal year = 2019</li>
<li>FY 2019 began 06/15/2019 and ends 06/14/2020</li>
<li>Q1":" 06/15/2019 to 09/14/2019</li>
<li>Q2":" 09/15/2019 to 12/14/2019</li>
<li>Q3":" 12/15/2019 to 03/14/2020</li>
<li>Q4":" 03/15/2020 to 06/14/2020</li>
<li>startOfQuarter = "06-15-current". This tells Max that the current fiscal year begins on 06/15 during calendar year 2019. With this hint, Max automatically computes the current and next fiscal years.</li>
</ul>
<li>The prior fiscal year begins in the middle of the calendar year, runs into next year, and ends during the next calendar year. In this very unusual but theoretically possible case, configure the StartOfQuarter as shown:</li>
<ul>
<li>Current calendar year = 2019, fiscal year = 2018</li>
<li>FY 2018 began 06/15/2019 and ends 06/14/2020</li>
<li>Q1":" 06/15/2019 to 09/14/2019</li>
<li>Q2":" 09/15/2019 to 12/14/2019</li>
<li>Q3":" 12/15/2019 to 03/14/2020</li>
<li>Q4":" 03/15/2020 to 06/14/2020</li>
<li>startOfQuarter = "06-15-prior". This tells Max that the prior fiscal year began on 06/15 during the calendar year 2019. With this hint, Max automatically computes the current and next fiscal years.
</ul>
</ol>
example:
a) 03-15-current (FY20 begins 03-15-2020 and ends 03-14-2021)
b) 03-15-next (FY 21 begins on 03-15-2020 and ends 03-14-2021) or
c) 01-15-prior (FY 19 begins 03-15-2020 and ends 03-14-2021)
startOfWeek:
type: string
default: "monday"
description: Weekday that marks the beginning of the week
example:
sunday or saturday (any day of the week)
example:
{
"objectName": "Apttus__APTS_Agreement__c",
"fullNLUResult": false,
"format": "mm-dd-yyyy"
}
dataMap:
type: object
additionalProperties:
type: string
description: Map of key-value pairs containing values for keys to be substituted in the templated expression
example:
{
"Apttus__Contract_Start_Date__c": "2019-10-01",
"Apttus__Contract_End_Date__c": "2020-10-01"
}
searchOptions:
type: object
properties:
fetchResults:
type: boolean
description: If true, resolve query and return object IDs matching the query.
format: boolean
default: false
fetchQueryPlan:
type: boolean
description: If true, return query plan used to resolve the NL phrase.
format: boolean
default: false
mask:
type: boolean
description: If true, redact input phrase details in analytics logging.
format: boolean
default: false
sessionTreatment:
type: string
description: '''clear'': Clears the session <br>''keep-alive'': Does not
alter the session<br>''terminate'' (or any other value): Terminates the
session'
format: string
default: terminate
applyDefaultAlias:
type: boolean
description: If true, applies a default implicit alias to applicable objects. For example, when querying for opportunities, only opportunities with stage open are returned.
default: true
personalize:
type: boolean
description: If true, only records owned or created by the searching user are searched.
default: true
keywordCacheTimeout:
type: integer
description: Time, in minutes, that document lookups are cached (0 to 60). If <= 0, cache is disabled.
default: 30
searchLimit:
type: integer
description: "Maximum number of records to pull up during document search"
default: 300
pageSize:
type: integer
description: "Maximum number of records to return in a single response"
default: 30
countRows:
type: boolean
description: "Enables counting records matching the query, regardless of limit"
default: false
enableDocVersionSearch:
type: boolean
description: "Enables a search of the doc version"
default: true
enableContentDocumentSearch:
type: boolean
description: "Enables a search of document contents"
default: true
enableAgreementDocSearch:
type: boolean
description: "Enables an agreement doc search"
default: true
singleDocPerRow:
type: boolean
description: "If set, one array row is returned for each document"
default: false
includeFiles:
type: array
description: List of file names to be included in document search. If specified, trumps the excludeFiles setting
items:
type: string
example: ["*Final.pdf", "*.docx", "Intelligent.*"]
excludeFiles:
type: array
description: List of file names to be excluded from document search. If specified in tandem with includeFiles, this is ignored.
items:
type: string
example: ["*Tentative.pdf", "*.rtf", "Intelligent*.png"]
timeout:
type: integer
description: "Time, in milliseconds, allowed for the execution of a search query. The maximum permissible timeout is 90 seconds"
default: 15000
context:
type: object
description: Any JSON object to be logged in an analytics payload
example:
{
"fetchResults": true,
"sessionTreatment": "clear",
"countRows": true,
"enableSynonymSearch": true
}
searchResponseResult:
type: object
properties:
objectName:
type: string
description: Object returned in results
objectDisplayName:
type: string
description: Object display name
records:
type: array
description: Object record data
items:
$ref: '#/components/schemas/recordData'
size:
type: integer
description: Number of results
questionClauseMatchSize:
type: integer
description: Number of question clause matches (if question clause is present)
docs:
$ref: '#/components/schemas/docResultList'
example:
size: 0
records: {}
object: object
docResultList:
type: array
items:
$ref: '#/components/schemas/docResult'
docResult:
type: object
properties:
id:
type: string
description: Document ID
type:
type: string
description: The document type in SFDC; for example, "ContentDocument"
desc:
type: string
description: Document description
title:
type: string
description: Document title
fileType:
type: string
description: The document's file type; for example, "WORD_X"
fileExt:
type: string
description: The document's file extension; for example, "docx"
version:
description: The document's major, minor, and latest version
$ref: '#/components/schemas/docVersion'
link:
type: string
description: SFDC link to the document page
downloadLink:
type: string
description: SFDC download link for the raw document
size:
type: integer
description: Document size in bytes
example:
{
"id": "0694T000003rIf5QAE",
"type": "ContentDocument",
"desc": null,
"title": "Final_Term_Defect check for apostrophy.docx",
"fileType": "WORD_X",
"fileExt": "docx",
"version": {
"major": 1,
"minor": 0,
"latest": "1.0.0"
},
"link": "https://max1.my.salesforce.com/sfc/servlet.shepherd/document/download/0694T000003rIf5QAE",
"downloadLink": "https://max1.my.salesforce.com/services/data/v47.0/sobjects/ContentVersion/0684T000003rTKaQAM/VersionData",
"size": 20608
}
docVersion:
type: object
description: Document version
properties:
major:
type: string
description: Major version of document
minor:
type: string
description: Minor version of document
latest:
type: string
description: Latest version of document
recordData:
type: object
description: Entity resolution
properties:
Id:
type: string
description: Object ID
field:
type: string
description: Field name and value in the record
match:
type: boolean
description: If true, this record matches the question clause.
entityResolutionResultList:
type: object
description: Entity resolution
properties:
values:
type: array
items:
$ref: '#/components/schemas/entityResolutionResult'
entityResolutionResult:
type: object
description: Explanation of query clause
properties:
type:
type: string
description: Entity type
Mod:
type: string
description: Modifier
start:
type: string
description: Start date
format: datetime
end:
type: string
description: End date
format: datetime
explanationResult:
type: object
description: Explanation of query
properties:
mainClause:
type: object
description: Main object clause list
properties:
objectName:
type: string
description: Object returned in results
annotation:
type: array
description: Annotation of clauses
items:
$ref: '#/components/schemas/annotationItem'
nestedClause:
type: object
description: Nested object clause list
properties:
object:
type: string
description: Object returned in results
annotation:
type: array
description: Annotation of clauses
items:
$ref: '#/components/schemas/annotationItem'
annotationItem:
type: object
description: Explanation of query clause
properties:
subphrase:
type: object
description: User NL subphrase
whereClause:
type: object
description: Actual "where" clause
annotation:
type: object
description: Annotation of "where" clause
questionClause:
type: boolean
description: Is this a question clause?
versionResponse:
type: object
description: Max platform and tenant version info
properties:
version:
type: string
description: Max platform version
buildTime:
type: string
description: Time the version was built
platformSubroutines:
type: string
description: Last update time for platform subroutines
platformDialogs:
type: string
description: Last update time for platform dialogs
platformConversations:
type: string
description: Last update time for platform conversations
tenantSubroutines:
type: string
description: Last update time for tenant subroutines
tenantDialogs:
type: string
description: Last update time for tenant dialogs
tenantConversations:
type: string
description: Last update time for tenant conversations
tenantConfig:
type: string
description: Last update time for tenant configuration
example:
{
"version": "4.0.0.472",
"buildTime": "2020-10-15T02:14:45.000Z (2 hours ago)",
"currentTimeUTC": "2020-10-15T05:11:39.527Z (now)",
"startTime": "2020-10-15T03:21:12.910Z (1 hours ago)",
"platformConversations": "2020-10-15T03:21:23.664Z (1 hours ago)",
"platformDialogs": "2020-10-15T03:19:56.994Z (1 hours ago)",
"platformSubroutines": "2020-10-15T03:20:42.958Z (1 hours ago)",
"tenant": "ApttusSFDC",
"tenantDialogs": "2020-10-15T03:21:13.598Z (1 hours ago)",
"tenantConversations": "2020-10-15T03:21:13.598Z (1 hours ago)",
"tenantSubroutines": "2020-10-15T03:21:37.994Z (1 hours ago)",
"tenantConfig": "2020-10-15T03:21:05.678Z (1 hours ago)",
"env": "Azure_qa"
}
iSearchTenantConfig:
type: object
format: string
description: Max platform and tenant version info
properties:
clientVersion:
type: string
description: Client version
clientChannel:
type: string
description: Client channel, such as sfdc, slack, teams
license:
type: string
description: License type
emailReportTemplate:
type: object
description: Search limits
properties:
subject:
type: string
description: Email template subject
body:
type: string
description: Email template body
limits:
type: object
description: Search limits
defaultTenant:
type: boolean
description: Indicates if this is a default tenant or a custom tenant
module:
type: string
description: Module subscribed to for search
searchObjects:
type: object
description: Objects available for search
example:
{
"license": "full",
"defaultTenant": false,
"module": "clm",
"searchObjects": [
{
"objectName": "Opportunity",
"objectId": "opportunity",
"related": [
"Account",
"Contact",
"Apttus__APTS_Agreement__c"
],
"enableDocSearch": true,
"relationships": {
"Account": [
{
"relationship": "Account",
"field": "AccountId",
"label": "Account ID"
}
],
"Contact": [
{
"relationship": "APTSMD_Primary_Contact__r",
"field": "APTSMD_Primary_Contact__c",
"label": "Primary Contact"
}
]
}
},
{
"objectName": "Account",
"objectId": "account",
"related": [
"Opportunity",
"Contact",
"Apttus__APTS_Agreement__c",
"Apttus__DocumentVersion__c",
"Apttus__DocumentVersionDetail__c"
],
"enableDocSearch": true,
"relationships": {
"Contact": [
{
"relationship": "PersonContact",
"field": "PersonContactId",
"label": "Contact ID"
},
{
"relationship": "APTSMD_Primary_Contact__r",
"field": "APTSMD_Primary_Contact__c",
"label": "Primary Contact"
}
]
}
},
{
"objectName": "Contact",
"objectId": "contact",
"related": [
"Opportunity",
"Account",
"Apttus__APTS_Agreement__c"
],
"relationships": {
"Account": [
{
"relationship": "Account",
"field": "AccountId",
"label": "Account ID"
}
]
}
},
{
"objectName": "Apttus__APTS_Agreement__c",
"objectId": "agreement",
"primary": true,
"related": [
"Opportunity",
"Account",
"Contact",
"Apttus__Agreement_Clause__c",
"Apttus_Approval__Approval_Request__c",
"Apttus__DocumentVersion__c"
],
"enableDocSearch": true,
"relationships": {
"Opportunity": [
{
"relationship": "Apttus__Related_Opportunity__r",
"field": "Apttus__Related_Opportunity__c",
"label": "Related Opportunity"
}
],
"Account": [
{
"relationship": "Apttus__Account__r",
"field": "Apttus__Account__c",
"label": "Account"
},
{
"relationship": "Apttus_CMConfig__BillToAccountId__r",
"field": "Apttus_CMConfig__BillToAccountId__c",
"label": "Bill To"
},
{
"relationship": "Apttus_CMConfig__ShipToAccountId__r",
"field": "Apttus_CMConfig__ShipToAccountId__c",
"label": "Ship To"
}
],
"Contact": [
{
"relationship": "Apttus__Company_Signed_By__r",
"field": "Apttus__Company_Signed_By__c",
"label": "Company Signed By"
},
{
"relationship": "Apttus__Other_Party_Signed_By__r",
"field": "Apttus__Other_Party_Signed_By__c",
"label": "Other Party Signed By"
},
{
"relationship": "Apttus__Primary_Contact__r",
"field": "Apttus__Primary_Contact__c",
"label": "Primary Contact"
}
]
}
},
{
"objectName": "Apttus__Agreement_Clause__c",
"objectId": "agreementclause",
"related": [
"Apttus__APTS_Agreement__c",
"Apttus__DocumentVersion__c"
],
"enableDocSearch": true,
"enableObjectSearch": true,
"relationships": {
"Apttus__APTS_Agreement__c": [
{
"relationship": "Apttus__Agreement__r",
"field": "Apttus__Agreement__c",
"label": "Agreement"
}
],
"Apttus__DocumentVersion__c": [
{
"relationship": "Apttus__VersionId__r",
"field": "Apttus__VersionId__c",
"label": "Document Version"
}
]
}
},
{
"objectName": "Apttus_Approval__Approval_Request__c",
"objectId": "approval",
"related": [
"Opportunity",
"Account",
"Contact",
"Apttus__APTS_Agreement__c",
"Apttus__Agreement_Clause__c"
],
"relationships": {
"Opportunity": [
{
"relationship": "Apttus_Approval__Related_Opportunity__r",
"field": "Apttus_Approval__Related_Opportunity__c",
"label": "Related Opportunity"
}
],
"Apttus__APTS_Agreement__c": [
{
"relationship": "Apttus_Approval__Parent_Agreement__r",
"field": "Apttus_Approval__Parent_Agreement__c",
"label": "Parent Agreement"
},
{
"relationship": "Apttus_Approval__Related_Agreement__r",
"field": "Apttus_Approval__Related_Agreement__c",
"label": "Related Agreement"
}
]
}
},
{
"objectName": "Apttus__ReviewCycle__c",
"objectId": "reviewcycle",
"related": [
"Apttus__Reviewer__c"
],
"relationships": {}
},
{
"objectName": "Apttus__Reviewer__c",
"objectId": "reviewer",
"related": [],
"relationships": {}
},
{
"objectName": "Apttus__DocumentVersion__c",
"objectId": "docversion",
"related": [
"Apttus__DocumentVersionDetail__c",
"Apttus__APTS_Agreement__c"
],
"relationships": {
"Apttus__DocumentVersionDetail__c": [
{
"relationship": "Apttus__CheckoutVersionDetailId__r",
"field": "Apttus__CheckoutVersionDetailId__c",
"label": "Checkout Version Detail"
},
{
"relationship": "Apttus__LatestVersionId__r",
"field": "Apttus__LatestVersionId__c",
"label": "Latest Version Detail"
}
],
"Apttus__APTS_Agreement__c": [
{
"relationship": "Apttus__AgreementId__r",
"field": "Apttus__AgreementId__c",
"label": "Agreement"
}
]
}
},
{
"objectName": "Apttus__DocumentVersionDetail__c",
"objectId": "docversiondetail",
"related": [
"Apttus__DocumentVersion__c",
"Apttus__ReviewCycle__c"
],
"relationships": {
"Apttus__DocumentVersion__c": [
{
"relationship": "Apttus__DocumentVersionId__r",
"field": "Apttus__DocumentVersionId__c",
"label": "Document Version"
}
]
}
}
],
"emailReportTemplate": {
"subject": "${objectname} report ${date}",
"body": "Hi -- Here is the report of the recent search you ran\n. Thanks\n!"
},
"limits": {
"userAliasList": 15,
"globalAliasList": 50,
"snippetWindowSize": 200,
"maxSnippetsInSearch": 25,
"snippetMatchIgnoreCase": true,
"startSnippetMatchAtPage": 0,
"endSnippetMatchAtPage": -1,
"applyDefaultAlias": true,
"personalize": true,
"enableSynonymSearch": true,
"fuzzySnippetMatch": true,
"preferWholeWordsMatch": true,
"preferredSnippetLinebreak": "\r\n",
"preferredSnippetInsertPage": true,
"matchWholeWordsOnly": true,
"docSearchLimit": 2000,
"searchResultLimit": 100,
"pageSize": 30,
"keywordCacheTimeout": 30,
"enableLargeFileSearch": false
},
"tenantId": "apttussfdc",
"userId": "user",
"channel": "api",
"org": "https://max1.my.salesforce.com",
"lastUpdateTime": 1618958070957,
"clientVersion": "12.80.000.1",
"clientChannel": "SFDC"
}
iSearchAliasInfoList:
type: array
format: string
items:
$ref: '#/components/schemas/iSearchAliasInfo'
example:
{
"NDA2020":
{
"type": "NL",
"query": {
"expression": "Pull up NDAs from 2020"
},
"desc": "NDAs from the year 2020",
"private": false,
"owner": "0054T000000dqllQAB"
},
"IBM-NDA2020":
{
"type": "NL",
"query": {
"scope": [
"Apttus__Account__r.Name = 'IBM'"
],
"expression": "Pull up NDAs from 2020"
},
"desc": "NDAs from the year 2020",
"private": true,
"owner": "0054T000000dqllQAA"
},
"HighValuePastAgreements":
{
"type": "QueryPlan",
"desc": "High value agreements prior to this year",
"private": false,
"primaryObject": "Apttus__APTS_Agreement__c",
"query": {
"clause": {
"Apttus__APTS_Agreement__c": {
"expression": "(1 AND (2 OR 3))",
"terms": [
"CreatedDate < 2020-07-01T00:00:00.000Z",
"Apttus__Total_Contract_Value__c > 20000",
"Apttus__Perpetual__c = true"
]
},
"Account": {
"expression": "(1 OR 2)",
"terms": [
"BillingPostalCode = '95134'",
"BillingPostalCode = '95135'"
]
}
}
},
"owner": "0054T000000dqllQAA"
}
}
iSearchAliasInfo:
type: object
description: Search alias config
properties:
name:
type: string
description: Name of the alias
type:
type: string
description: Alias type (NL, QueryPlan)
desc:
type: string
description: Description of the alias
query:
$ref: '#/components/schemas/iSearchQuery'
description: Query expression
example:
{
"name":"NDA2020",
"type": "NL",
"query": {
"expression": "Pull up NDAs from 2020"
},
"desc": "NDAs from the year 2020"
}
iSearchFeedback:
type: object
description: iSearch query block
properties:
scope:
type: array
description: List of conditions specifying the candidate objects on which the query plan must be executed
items:
$ref: '#/components/schemas/iSearchQueryTerm'
input:
oneOf:
- $ref: '#/components/schemas/iSearchNLQuery'
- $ref: '#/components/schemas/iSearchQuery'
description: Search input (stringified JSON of iSearchNLQuery or iSearchQueryPlan)
query:
type: object
description: Optional query plan object
options:
description: "Stringified form of JSON representing the iChronosOptions. You must pass in the context parameter with:
<ul>
<li><b>instanceUrl</b> to identify the SFDC org originating the request.</li>
<li><b>userId</b> SFDC userId identifying the user.</li>
<li><b>userName</b> SFDC user name identifying the user.</li>
<li><b>requestId</b> indicating the x-request-id returned by the original iChronos request for which feedback is provided</li>
</ul>"
type: object
example:
{
"input": {
"scope": [
"Id IN ('a0C4T000000gCrZUAU', 'a0C4T000000gCraUAE')"
],
"phrase": "pull up agreements from last year with the mention \"Term\"",
"options": {
"fetchResults": true,
"sessionTreatment": "clear",
"pageSize": 4
},
"alias": {
"name": "Recent agreement terms",
"private": true
}
},
"result":{
"recordCount": 15,
"docCount": 5,
"pageTotal": 4,
"pageSize": 4,
"keywords": ["Force Majeure", "Terms"]
},
"context": {
"instanceUrl": "https://max1.my.salesforce.com",
"userId": "0054T000000dqllQAB",
"userName": "Jeremy Jones",
"requestId": "29080e70-3993-437a-a923-fa59700cc07e"
}
}
iSearchNLQuery:
type: object
description: iSearch query block
properties:
scope:
type: array
description: List of conditions specifying the candidate objects on which the query plan must be executed
items:
$ref: '#/components/schemas/iSearchQueryTerm'
phrase:
type: string
description: NL phrase
options:
$ref: '#/components/schemas/searchOptions'
example:
{
"scope": [
"RecordType.Name IN ('NDA')"
],
"phrase": "pull up agreements from last year with the mention \"Term\"",
"options": {
"fetchResults": true,
"sessionTreatment": "clear",
"pageSize": 4,
"countRows": false,
"enableSynonymSearch": false,
"singleDocPerRow": true,
"saveToSearchHistory": true
},
"alias": {
"name": "Recent agreement terms",
"private": true
}
}
iSearchQuery:
type: object
description: iSearch query block
properties:
primaryObject:
type: string
description: Primary object being queried
scope:
type: array
description: List of conditions specifying the candidate objects on which the query plan shall be executed
items:
$ref: '#/components/schemas/iSearchQueryTerm'
clause:
type: array
items:
$ref: '#/components/schemas/iSearchQueryClauseList'
options:
$ref: '#/components/schemas/searchOptions'
example:
{
"primaryObject": "Apttus__APTS_Agreement__c",
"scope": [
"Id IN ('a0C4T000000gCrZUAU', 'a0C4T000000gCraUAE')"
],
"clause": {
"Apttus__APTS_Agreement__c": {
"expression": "(1 AND (2 OR 3))",
"terms": [
"CreatedDate < 2020-07-01T00:00:00.000Z",
"Apttus__Total_Contract_Value__c > 20000",
"Apttus__Perpetual__c = true"
],
"keywords": "Force Majeure and Term but not Tax Credits"
},
"Account": {
"expression": "(1 OR 2)",
"terms": [
"BillingPostalCode = '95134'",
"BillingPostalCode = '95135'"
]
}
},
"options": {
"fetchResults": true,
"sessionTreatment": "clear",
"singleDocPerRow": false
},
"alias": {
"name": "PerpetualAgreementsFromPast",
"private": true
}
}
iSearchRuleQuery:
type: object
description: iSearch rule query block
properties:
primaryObject:
type: string
description: Primary object being queried
primaryObjectLabel :
type: string
description: Primary object Label being queried
scope:
type: array
description: List of conditions specifying the candidate objects on which the query plan shall be executed
items:
$ref: '#/components/schemas/iSearchQueryTerm'
clause:
type: array
items:
$ref: '#/components/schemas/iSearchRuleQueryClauseList'
options:
$ref: '#/components/schemas/searchOptions'
example:
{
"name": "MSA-Risk",
"primaryObject": "Apttus__APTS_Agreement__c",
"primaryObjectLabel" : "Agreement",
"scope": ["a0C4T000000ifZZUAY"],
"iddJobId" : ["a5u7A0000000C67QAE"],
"clause": {
"Apttus__APTS_Agreement__c": {
"terms": {
"recordType" : "MSA",
"expression": "(1 AND ((2 AND 3) OR 4 OR 5) AND 6 AND (7 OR 8))",
"conditions": [
{
"field": "Apttus__Contract_Start_Date__c",
"fieldType": "mergedField",
"fieldId": "1039",
"operator": "Natural Language",
"value": "less than 30 days from now"
},
{
"field": "Apttus__Contract_End_Date__c",
"fieldType": "mergedField",
"fieldId": "1040",
"operator": "Natural Language",
"value": "after ${Apttus__Contract_Start_Date__c}"
},
{
"field": "Apttus__Contract_End_Date__c",
"fieldType": "mergedField",
"fieldId": "1040",
"operator": "Natural Language",
"value": "more than 2 years from ${Apttus__Contract_Start_Date__c}",
"guidance": "End date is more than 2 years from start date"
},
{
"field": "Kira : Contract Value",
"fieldType": "extractedField",
"fieldId": 681,
"operator": ">",
"value": "1000"
},
{
"field": "Apttus__Remaining_Contracted_Days__c",
"fieldType": "metaData",
"operator": "=",
"value": "0"
},
{
"field": "keywords",
"fieldType": "ContentVersion",
"fieldId": "0684T000003u3eeQAA",
"title": "intellimport",
"format": "pdf",
"operator": "Natural Language",
"value": "Force Majeure and Term"
},
{
"field": "Force Majeure",
"fieldType": "extractedClause",
"fieldId": "267",
"operator": "not contains",
"value": "Pandemic, earthquake"
},
{
"field": "Limitation of Liability",
"fieldType": "extractedField",
"operator": ">",
"value": "2000000",
"desc": "High liability"
}
]
}
}
},
"options": {
"objectOverride": true,
"defaultFieldType": "mergedField",
"fetchResults": true,
"sessionTreatment": "clear",
"singleDocPerRow": false
},
"objectData": {
"a0C4T000000ifZUUAY": {
"Account.Name": "Acme Inc",
"Limitation of Liability": "1000000"
}
},
"metaData": {
"name": "Core risk criteria",
"score": "0.1"
}
}
iSearchFollowupQuery:
type: object
description: iSearch query block
properties:
primaryObject:
type: string
description: Primary object being queried
scope:
type: array
description: List of conditions specifying the candidate objects on which the query plan shall be executed
items:
$ref: '#/components/schemas/iSearchQueryTerm'
clause:
type: array
items:
$ref: '#/components/schemas/iSearchQueryClauseList'
options:
$ref: '#/components/schemas/searchOptions'
example:
{
"keepClause": [0, 1, 3],
"addClause": {
"expression": "(1 AND (2 OR 3))",
"terms": [
"CreatedDate < 2020-07-01T00:00:00.000Z",
"Apttus__Total_Contract_Value__c > 20000",
"Apttus__Perpetual__c = true"
],
"keywords": "Force Majeure and Term but not Tax Credits"
},
"options": {
"fetchResults": true,
"sessionTreatment": "clear",
"singleDocPerRow": false
}
}
iSearchRuleQueryClauseList:
type: array
items:
$ref: '#/components/schemas/iSearchRuleQueryClause'
iSearchRuleQueryClause:
type: object
additionalProperties:
$ref: '#/components/schemas/iSearchRuleQueryClauseItem'
iSearchRuleQueryClauseItem:
type: object
properties:
expression:
type: string
description: Query expression
terms:
type: array
items:
$ref: '#/components/schemas/iSearchRuleQueryClauseTerm'
keywords:
type: string
description: Keyword expression
iSearchRuleQueryClauseTerm:
type: object
properties:
condition:
type: string
description: Query expression
example: "Apttus__Total_Contract_Value__c > 20000"
desc:
type: string
description: "Contract value compliance"
iSearchQueryClauseList:
type: array
items:
$ref: '#/components/schemas/iSearchQueryClause'
iSearchQueryClause:
type: object
additionalProperties:
$ref: '#/components/schemas/iSearchQueryClauseItem'
iSearchQueryClauseItem:
type: object
properties:
expression:
type: string
description: Query expression
terms:
type: array
items:
type: string
keywords:
type: string
description: Keyword expression
iSearchQueryTerm:
type: object
additionalProperties:
type: string
description: Map of key-value pairs containing table-to-query-term mapping
iSearchQueryTerms:
type: array
items:
$ref: '#/components/schemas/iSearchQueryTermItem'
example:
[
"CreatedDate < 2020-07-01T00:00:00.000Z",
"Apttus__Total_Contract_Value__c > 20000",
"NOT Name LIKE '%NDA%'"
]
iSearchQueryTermItem:
type: string
example:
CreatedDate >= 2021-05-06T00:00:00Z
iSearchParsedQueryTermResponse:
type: array
items:
$ref: '#/components/schemas/iSearchParsedQueryTermResponseItem'
example:
[
{
"objectName": "Agreement",
"field": "CreatedDate",
"label": "Created Date",
"operator": "<",
"value": "2020-07-01T00:00:00.000Z",
"leadModifier": ""
},
{
"objectName": "Agreement",
"field": "Apttus__Total_Contract_Value__c",
"label": "Total Agreement Value",
"operator": ">",
"value": "20000",
"leadModifier": ""
},
{
"objectName": "Agreement",
"field": "Name",
"label": "Agreement Name",
"operator": "LIKE",
"value": "'%NDA%'",
"leadModifier": "NOT"
}
]
iSearchParsedQueryTermResponseItem:
type: object
example:
{
"objectName": "Agreement",
"field": "Apttus__Total_Contract_Value__c",
"label": "Total Agreement Value",
"operator": ">",
"value": "20000",
"leadModifier": ""
}
iSearchDisplayInfoList:
type: object
format: string
description: Display config for search results
properties:
object:
$ref: '#/components/schemas/iSearchDisplayInfo'
example:
{
"searchObjects": {
"Opportunity": [
{
"label": "Opportunity Name",
"type": "string",
"field": "Name"
},
{
"label": "Account",
"type": "string",
"field": "Account.Name"
},
{
"label": "Owner",
"type": "string",
"field": "Owner.Name"
},
{
"label": "Stage Name",
"type": "picklist",
"field": "StageName"
},
{
"label": "Amount",
"type": "currency",
"field": "Amount"
},
{
"label": "Close Date",
"type": "date",
"field": "CloseDate"
}
],
"Account": [
{
"label": "Account Name",
"type": "string",
"field": "Name"
},
{
"label": "Primary Contact",
"type": "string",
"field": "APTSMD_Primary_Contact__r.Name"
},
{
"label": "Type",
"type": "picklist",
"field": "Type"
},
{
"label": "Account Owner",
"type": "string",
"field": "Owner.Name"
},
{
"label": "Industry",
"type": "picklist",
"field": "Industry"
},
{
"label": "Billing Address",
"type": "textarea",
"field": "BillingStreet"
}
],
"Contact": [
{
"label": "Contact Name",
"type": "string",
"field": "Name"
},
{
"label": "Account Name",
"type": "string",
"field": "Account.Name"
},
{
"label": "Title",
"type": "string",
"field": "Title"
},
{
"label": "Contact Owner",
"type": "string",
"field": "Owner.Name"
},
{
"label": "Phone Number",
"type": "phone",
"field": "Phone"
},
{
"label": "Email",
"type": "email",
"field": "Email"
},
{
"label": "Mailing Address",
"type": "textarea",
"field": "MailingStreet"
}
],
"Apttus__APTS_Agreement__c": [
{
"label": "Name",
"type": "string",
"field": "Name"
},
{
"label": "Account",
"type": "string",
"field": "Apttus__Account__r.Name"
},
{
"label": "Primary Contact",
"type": "string",
"field": "Apttus__Primary_Contact__r.Name"
},
{
"label": "Type",
"type": "string",
"field": "RecordType.Name"
},
{
"label": "Status Category",
"type": "picklist",
"field": "Apttus__Status_Category__c"
},
{
"label": "Agreement Status",
"type": "picklist",
"field": "Apttus__Status__c"
},
{
"label": "Approval Status",
"type": "picklist",
"field": "Apttus_Approval__Approval_Status__c"
},
{
"label": "Created By",
"type": "string",
"field": "CreatedBy.Name"
},
{
"label": "Created Date",
"type": "datetime",
"field": "CreatedDate"
},
{
"label": "Last Modified By",
"type": "string",
"field": "LastModifiedBy.Name"
},
{
"label": "Last Modified Date",
"type": "datetime",
"field": "LastModifiedDate"
}
],
"Apttus__Agreement_Clause__c": [
{
"label": "Account",
"type": "string",
"field": "Apttus__Agreement__r.Apttus__Account__r.Name"
},
{
"label": "Agreement",
"type": "string",
"field": "Apttus__Agreement__r.Name"
},
{
"label": "Primary Contact",
"type": "string",
"field": "Apttus__Agreement__r.Apttus__Primary_Contact__r.Name"
},
{
"label": "Category",
"type": "picklist",
"field": "Apttus__Category__c"
},
{
"label": "Approval Status",
"type": "picklist",
"field": "Approval_Status__c"
},
{
"label": "Created By",
"type": "string",
"field": "CreatedBy.Name"
},
{
"label": "Created Date",
"type": "datetime",
"field": "CreatedDate"
},
{
"label": "Last Modified By",
"type": "string",
"field": "LastModifiedBy.Name"
},
{
"label": "Last Modified Date",
"type": "datetime",
"field": "LastModifiedDate"
}
],
"Apttus_Approval__Approval_Request__c": [
{
"label": "Business Object",
"type": "string",
"field": "Apttus_Approval__Object_Name__c"
},
{
"label": "Approval Request Id",
"type": "string",
"field": "Name"
},
{
"label": "Approval Request Status",
"type": "picklist",
"field": "Apttus_Approval__Approval_Status__c"
},
{
"label": "Assigned To",
"type": "string",
"field": "Apttus_Approval__Assigned_To_Name__c"
},
{
"label": "Approval Details",
"type": "textarea",
"field": "Apttus_Approval__Request_Comments__c"
},
{
"label": "Initial Submitter",
"type": "string",
"field": "Apttus_Approval__Initial_Submitter__r.Name"
},
{
"label": "Approver Comments",
"type": "textarea",
"field": "Apttus_Approval__Approver_Comments__c"
},
{
"label": "Requestor Comments",
"type": "textarea",
"field": "Apttus_Approval__SubmissionComment1__c"
}
],
"Apttus__ReviewCycle__c": [
{
"label": "Name",
"type": "string",
"field": "Name"
},
{
"label": "Agreement",
"type": "string",
"field": "Apttus__OriginalDocumentVersionDetail__r.Apttus__DocumentVersionId__r.Apttus__AgreementId__r.Name"
},
{
"label": "Account",
"type": "string",
"field": "Apttus__OriginalDocumentVersionDetail__r.Apttus__DocumentVersionId__r.Apttus__AgreementId__r.Apttus__Account__r.Name"
},
{
"label": "Review Status",
"type": "picklist",
"field": "Apttus__ReviewStatus__c"
},
{
"label": "Created Date",
"type": "datetime",
"field": "CreatedDate"
},
{
"label": "Created By",
"type": "string",
"field": "CreatedBy.Name"
}
],
"Apttus__Reviewer__c": [
{
"label": "Review Cycle",
"type": "string",
"field": "Apttus__ReviewCycle__r.Name"
},
{
"label": "Agreement",
"type": "string",
"field": "Apttus__ReviewCycle__r.Apttus__OriginalDocumentVersionDetail__r.Apttus__DocumentVersionId__r.Apttus__AgreementId__r.Name"
},
{
"label": "Account",
"type": "string",
"field": "Apttus__ReviewCycle__r.Apttus__OriginalDocumentVersionDetail__r.Apttus__DocumentVersionId__r.Apttus__AgreementId__r.Apttus__Account__r.Name"
},
{
"label": "Name",
"type": "string",
"field": "Name"
},
{
"label": "Email",
"type": "email",
"field": "Apttus__ReviewerEmail__c"
},
{
"label": "Review Status",
"type": "picklist",
"field": "Apttus__ReviewStatus__c"
},
{
"label": "Created Date",
"type": "datetime",
"field": "CreatedDate"
},
{
"label": "Created By",
"type": "string",
"field": "CreatedBy.Name"
}
]
},
"tenantId": "apttussfdc",
"userId": "0054T000000dqllQAA",
"channel": "api",
"org": "https://max1.my.salesforce.com",
"module": "clm",
"lastUpdateTime": 1610089483217
}
iSearchDisplayInfo:
type: array
items:
$ref: '#/components/schemas/iSearchDisplayColumn'
iSearchDisplayColumn:
type: object
properties:
label:
type: string
description: Display label
type:
type: string
description: Column type
field:
type: string
description: Display column field
stringItems:
type: array
items:
type: string
example:
["Item1", "Item2"]
keywordList:
type: array
items:
type: string
example:
["Force Majeure", "Tax Credits"]
snippetExtractionChunkInfo:
type: object
properties:
doc:
$ref: '#/components/schemas/chunkInfo'
options:
$ref: '#/components/schemas/snippetOptions'
keywordMap:
$ref: '#/components/schemas/keywordMap'
snippetExtractionInfo:
type: object
properties:
doc:
$ref: '#/components/schemas/docInfo'
options:
$ref: '#/components/schemas/snippetOptions'
keywordMap:
$ref: '#/components/schemas/keywordMap'
snippetExtractionInfo2:
type: object
properties:
options:
$ref: '#/components/schemas/snippetOptions'
keywordMap:
$ref: '#/components/schemas/keywordMap'
docInfo:
type: object
format: string
description: Document metadata
properties:
id:
type: string
description: Identifier
example:
0684T000003rao4QAA
url:
type: string
description: Full URL or relative path to the document download URL
example: /services/data/v47.0/sobjects/ContentVersion/0684T000003rao4QAA/VersionData
type:
type: string
description: SFDC object type
title:
type: string
description: Doc title
format:
type: string
description: "Doc format; for example: doc, docx, pdf, rtf."
size:
type: number
description: Document size
example:
{
"id": "0684T000003rao4QAA",
"url": "/services/data/v47.0/sobjects/ContentVersion/0684T000003rao4QAA/VersionData",
"title": "TC_2349-KIRA Extraction- Term (In Years).docx",
"type": "ContentDocument",
"format": "docx",
"size": 2397
}
ocrDocInfo:
type: object
format: string
description: Document metadata
properties:
id:
type: string
description: Identifier
example:
0684T000003rao4QAA
url:
type: string
description: Full URL or relative path to the document download URL
example: /services/data/v47.0/sobjects/ContentVersion/0684T000003rao4QAA/VersionData
type:
type: string
description: SFDC object type
title:
type: string
description: Doc title
format:
type: string
description: "Doc format; for example: doc, docx, pdf, rtf"
size:
type: number
description: Document size
example:
{
"id": "0684T0000084vwoQAA",
"url": "/services/data/v47.0/sobjects/ContentVersion/0684T0000084vwoQAA/VersionData",
"title": "ABC-MSA-Scanned.pdf",
"type": "ContentDocument",
"format": "pdf",
"size": 2397,
"options": {
"ocrOnly": false,
"startPage": 1
}
}
chunkInfo:
type: object
format: string
description: Document metadata
properties:
id:
type: string
description: Identifier
example:
0684T000003rao4QAA
chunks:
type: array
items:
$ref: '#/components/schemas/chunkItemInfo'
type:
type: string
description: SFDC object type
title:
type: string
description: Doc title
format:
type: string
description: "Doc format; for example: doc, docx, pdf, rtf"
size:
type: number
description: Document size
example:
{
"id": "0684T000003rao4QAA",
"title": "TC_2349-KIRA Extraction- Term (In Years).pdf",
"type": "ContentDocument",
"format": "pdf",
"size": 3111459473,
"chunks": [
{
"chunkId": 9,
"url": "/services/data/v47.0/sobjects/ContentVersion/0684T000003tNlHQAU/VersionData"
},
{
"chunkId": 14,
"url": "/services/data/v47.0/sobjects/ContentVersion/0684T000003tEp1QAE/VersionData"
}
]
}
chunkItemInfo:
type: object
format: string
properties:
chunkId:
type: integer
description: Chunk ID
example:
1
url:
type: string
description: Relative or absolute URL of the chunk document
example:
/services/data/v47.0/sobjects/ContentVersion/0684T000003rao4QAC/VersionData
snippetResponseForText:
type: object
description: Snippet response wrapper
properties:
object:
type: string
description: Object ID corresponding to the text
example:
0684T000003rao4QAA
type:
type: string
description: Text blob type
example:
text
snippets:
$ref: '#/components/schemas/snippetResponseList'
example:
{
"objectId": "a0L4T000000ToMAUA0",
"type": "text",
"snippets": [
{
"snippet": "olding agent shall provide reasonable cooperation to the Company in claiming any corresponding U.S. tax credits, including without limitation by providing to Company the withholding tax certificate is",
"keywords": [
{
"className": "Tax credits",
"searchWord": "Tax credits",
"synonymMatch": "Tax credits",
"startIndex": 100,
"endIndex": 110
}
],
"page": 1,
"snippetStartIndex": 250,
"snippetEndIndex": 450,
"size": 200,
"label": "Text"
}
]
}
snippetResponseWrapper:
type: object
description: Snippet response wrapper
properties:
url:
type: string
description: Full URL or relative path to the document download URL
example: /services/data/v47.0/sobjects/ContentVersion/0684T000003rao4QAA/VersionData
type:
type: string
description: "File format type; for example: pdf, docx"
example:
pdf
name:
type: string
description: Document name
example:
Intelligent-Import-Demo.pdf
snippets:
$ref: '#/components/schemas/snippetResponseList'
snippetChunkResponseWrapper:
type: object
description: Snippet response wrapper
properties:
url:
type: string
description: Full URL or relative path to the document download URL
example: /services/data/v47.0/sobjects/ContentVersion/0684T000003rao4QAA/VersionData
type:
type: string
description: "File format; for example: pdf, docx"
example:
pdf
name:
type: string
description: Document name
example:
Intelligent-Import-Demo.pdf
snippets:
$ref: '#/components/schemas/snippetChunkResponseList'
snippetResponseList:
type: array
description: List of snippets
items:
$ref: '#/components/schemas/snippetResponse'
example:
{
"url": "https://max1.my.salesforce.com/services/data/v47.0/sobjects/ContentVersion/0684T000003rao4QAA/VersionData",
"name": "TC_2349-KIRA Extraction- Term (In Years).docx",
"type": "docx",
"summary": {
"stats": {
"term": 3,
"Act of God": 1,
"liable": 1
},
"preferredSnippet": {
"snippet": "[pp: 2] ...e Million United States Dollars). \r\nThe Term of this Agreement shall be for an initi...\r\n[pp: 2] ement relates, whether by merger, sale of assets, sale of stock, reorganization or otherwise. \r\nForce Majeure. Neither party shall be liable to the other party for its failure to perform any of i",
"keywords": [
{
"className": "term",
"searchWord": "term",
"synonymMatch": "term",
"synonymSearch": false,
"startIndex": 51,
"endIndex": 55
},
{
"className": "Force majeure",
"searchWord": "Act of God",
"synonymMatch": "force majeure",
"synonymSearch": true,
"startIndex": 208,
"endIndex": 221
},
{
"className": "liable",
"searchWord": "liable",
"synonymMatch": "liable",
"synonymSearch": false,
"startIndex": 247,
"endIndex": 253
}
],
"page": [
2
],
"snippetStartIndex": 1669,
"snippetEndIndex": 3734,
"size": 308,
"uniqueKeywordMatch": 3,
"snippetIndex": [
0,
100
],
"formattedSnippet": "<b>[pp: 2]</b>...e Million United States Dollars). \r\nThe <mark>Term</mark> of this Agreement shall be for an initi...\r\n<b>[pp: 2]</b>ement relates, whether by merger, sale of assets, sale of stock, reorganization or otherwise. \r\n<mark>Force Majeure</mark>. Neither party shall be <mark>liable</mark> to the other party for its failure to perform any of i"
}
},
"snippets": [
{
"snippet": "Service giving rise to such claim, or (b) USD $1,000,000 (One Million United States Dollars). \r\nThe Term of this Agreement shall be for an initial period of three (3) years after the Effective Date of",
"keywords": [
{
"className": "term",
"searchWord": "term",
"synonymMatch": "term",
"synonymSearch": false,
"startIndex": 100,
"endIndex": 104
}
],
"page": 2,
"snippetStartIndex": 1669,
"snippetEndIndex": 1869,
"size": 200,
"formattedSnippet": "Service giving rise to such claim, or (b) USD $1,000,000 (One Million United States Dollars). \r\nThe <mark>Term</mark> of this Agreement shall be for an initial period of three (3) years after the Effective Date of"
},
{
"snippet": "ll have given notice of termination of this Agreement sixty (60) days before the end of the initial term or any renewal term, or unless otherwise terminated in accordance with this Agreement.\r\nTermina",
"keywords": [
{
"className": "term",
"searchWord": "term",
"synonymMatch": "term",
"synonymSearch": false,
"startIndex": 100,
"endIndex": 104
},
{
"className": "term",
"searchWord": "term",
"synonymMatch": "term",
"synonymSearch": false,
"startIndex": 120,
"endIndex": 124
}
],
"page": 2,
"snippetStartIndex": 1985,
"snippetEndIndex": 2185,
"size": 200,
"formattedSnippet": "ll have given notice of termination of this Agreement sixty (60) days before the end of the initial <mark>term</mark> or any renewal <mark>term</mark>, or unless otherwise terminated in accordance with this Agreement.\r\nTermina"
},
{
"snippet": "ement relates, whether by merger, sale of assets, sale of stock, reorganization or otherwise. \r\nForce Majeure. Neither party shall be liable to the other party for its failure to perform any of i",
"keywords": [
{
"className": "Force majeure",
"searchWord": "Act of God",
"synonymMatch": "force majeure",
"synonymSearch": true,
"startIndex": 100,
"endIndex": 113
},
{
"className": "liable",
"searchWord": "liable",
"synonymMatch": "liable",
"synonymSearch": false,
"startIndex": 139,
"endIndex": 145
}
],
"page": 2,
"snippetStartIndex": 3534,
"snippetEndIndex": 3734,
"size": 200,
"formattedSnippet": "ement relates, whether by merger, sale of assets, sale of stock, reorganization or otherwise. \r\n<mark>Force Majeure</mark>. Neither party shall be <mark>liable</mark> to the other party for its failure to perform any of i"
}
]
}
snippetChunkResponseList:
type: array
description: List of snippets
items:
$ref: '#/components/schemas/snippetResponse'
example:
{
"url": "test.pdf",
"name": "test.pdf",
"type": "pdf",
"summary": {
"stats": {
"term": 10
},
"preferredSnippet": {
"snippet": "porated into, and part of this Agreement. In the event of any conflict or inconsistency between the\nterms of the Professional Services Agreement and any Statement of Work the terms of the Statement of",
"keywords": [
{
"className": "term",
"searchWord": "term",
"synonymMatch": "term",
"startIndex": 100,
"endIndex": 104
},
{
"className": "term",
"searchWord": "term",
"synonymMatch": "term",
"startIndex": 175,
"endIndex": 179
}
],
"page": 3,
"snippetStartIndex": 997,
"snippetEndIndex": 1197,
"size": 200,
"chunk": {
"chunkId": 9,
"url": "https://max1.my.salesforce.com/services/data/v47.0/sobjects/ContentVersion/0684T000003tNlHQAU/VersionData",
"type": "pdf",
"size": 722160
},
"uniqueKeywordMatch": 1
}
},
"snippets": [
{
"snippet": " 2/25/2021\n\nEnd Date 2/26/2022\n\n\nSchedule of Rates\n\n\nPayment Terms\n\nPhase Completion Date Pay",
"keywords": [
{
"className": "term",
"searchWord": "term",
"synonymMatch": "term",
"startIndex": 100,
"endIndex": 104
}
],
"page": 2,
"snippetStartIndex": 184,
"snippetEndIndex": 384,
"size": 200,
"chunk": {
"chunkId": 9,
"url": "https://max1.my.salesforce.com/services/data/v47.0/sobjects/ContentVersion/0684T000003tNlHQAU/VersionData",
"type": "pdf",
"size": 722160
},
"uniqueKeywordMatch": 1
},
{
"snippet": "porated into, and part of this Agreement. In the event of any conflict or inconsistency between the\nterms of the Professional Services Agreement and any Statement of Work the terms of the Statement of",
"keywords": [
{
"className": "term",
"searchWord": "term",
"synonymMatch": "term",
"startIndex": 100,
"endIndex": 104
},
{
"className": "term",
"searchWord": "term",
"synonymMatch": "term",
"startIndex": 175,
"endIndex": 179
}
],
"page": 3,
"snippetStartIndex": 997,
"snippetEndIndex": 1197,
"size": 200,
"chunk": {
"chunkId": 9,
"url": "https://max1.my.salesforce.com/services/data/v47.0/sobjects/ContentVersion/0684T000003tNlHQAU/VersionData",
"type": "pdf",
"size": 722160
},
"uniqueKeywordMatch": 1
},
{
"snippet": "l continue until the completion of the Services described in such Statement of Work, unless earlier\nterminated in accordance with this Agreement.\n\n2.2 Tier1 Systems warrants that they will have and wi",
"keywords": [
{
"className": "term",
"searchWord": "term",
"synonymMatch": "term",
"startIndex": 100,
"endIndex": 104
}
],
"page": 3,
"snippetStartIndex": 1431,
"snippetEndIndex": 1631,
"size": 200,
"chunk": {
"chunkId": 9,
"url": "https://max1.my.salesforce.com/services/data/v47.0/sobjects/ContentVersion/0684T000003tNlHQAU/VersionData",
"type": "pdf",
"size": 722160
}
},
{
"snippet": "Acceptance and Authorization\n\nThe terms and conditions of the Professional Services Agreement apply in full to the services and\nproduc",
"keywords": [
{
"className": "term",
"searchWord": "term",
"synonymMatch": "term",
"startIndex": 34,
"endIndex": 38
}
],
"page": 6,
"snippetStartIndex": 0,
"snippetEndIndex": 134,
"size": 134,
"chunk": {
"chunkId": 9,
"url": "https://max1.my.salesforce.com/services/data/v47.0/sobjects/ContentVersion/0684T000003tNlHQAU/VersionData",
"type": "pdf",
"size": 722160
}
},
{
"snippet": "isclosure, are designated as\n“Confidential” or “Proprietary” in writing to the receiving 5. Term. The Term of this Agreement commences on\nParty. Information contained in any RFP document shall",
"keywords": [
{
"className": "term",
"searchWord": "term",
"synonymMatch": "term",
"startIndex": 100,
"endIndex": 104
},
{
"className": "term",
"searchWord": "term",
"synonymMatch": "term",
"startIndex": 110,
"endIndex": 114
}
],
"page": 1,
"snippetStartIndex": 2663,
"snippetEndIndex": 2863,
"size": 200,
"chunk": {
"chunkId": 14,
"url": "https://max1.my.salesforce.com/services/data/v47.0/sobjects/ContentVersion/0684T000003tEp1QAE/VersionData",
"type": "pdf",
"size": 627608
}
},
{
"snippet": "ng the foregoing, either Party may\nParty only for purpose of legal reasons. terminate this Agreement upon thirty (30) days written\n ",
"keywords": [
{
"className": "term",
"searchWord": "term",
"synonymMatch": "term",
"startIndex": 100,
"endIndex": 104
}
],
"page": 1,
"snippetStartIndex": 3137,
"snippetEndIndex": 3337,
"size": 200,
"chunk": {
"chunkId": 14,
"url": "https://max1.my.salesforce.com/services/data/v47.0/sobjects/ContentVersion/0684T000003tEp1QAE/VersionData",
"type": "pdf",
"size": 627608
}
},
{
"snippet": " notice to the other Party, but such termination shall not\n2. Exceptions. The following shall not be “Confidential relieve the P",
"keywords": [
{
"className": "term",
"searchWord": "term",
"synonymMatch": "term",
"startIndex": 100,
"endIndex": 104
}
],
"page": 1,
"snippetStartIndex": 3293,
"snippetEndIndex": 3493,
"size": 200,
"chunk": {
"chunkId": 14,
"url": "https://max1.my.salesforce.com/services/data/v47.0/sobjects/ContentVersion/0684T000003tEp1QAE/VersionData",
"type": "pdf",
"size": 627608
}
},
{
"snippet": " any patent, trademark, mask work, copyright, or other\n3. Obligations. (a) During the Term of this Agreement proprietary right under this Agreement. This Agreement\nor while this",
"keywords": [
{
"className": "term",
"searchWord": "term",
"synonymMatch": "term",
"startIndex": 100,
"endIndex": 104
}
],
"page": 1,
"snippetStartIndex": 4724,
"snippetEndIndex": 4924,
"size": 200,
"chunk": {
"chunkId": 14,
"url": "https://max1.my.salesforce.com/services/data/v47.0/sobjects/ContentVersion/0684T000003tEp1QAE/VersionData",
"type": "pdf",
"size": 627608
}
}
]
}
snippetResponse:
type: object
description: Single snippet
properties:
snippet:
type: string
description: Text snippet
page:
type: number
description: Page number
keywords:
type: array
items:
type: string
example:
{
"snippet": "The Force of Nature clause: .....",
"keywords": [{
"className": "Force Majeure",
"searchWord": "Act of God",
"synonymMatch": "Force of Nature"
}],
"page": 2,
"startIndex": 21,
"endIndex": 221,
"size": 201
}
snippetOptions:
type: object
description: Snippet extraction options
properties:
snippetWindowSize:
type: integer
description: Snippet size extracted (min = 200)
default: 200
maxSnippetsInSearch:
type: integer
description: Maximum number of snippets to be extracted from a document
default: 30
matchWholeWordsOnly:
type: boolean
description: If true, only whole words are matched.
default: true
snippetMatchIgnoreCase:
type: boolean
description: Ignore case for snippet matching.
default: true
enableSynonymSearch:
type: boolean
description: If true, search synonyms of keywords.
default: false
startSnippetMatchAtPage:
type: integer
description: The page number to start matching from (zero-based index). Use -1 to start from the last page, -2 to start from the second-to-last last, and so forth.
default: 0
endSnippetMatchAtPage:
type: integer
description: The page number to end matching (zero-based index). Use -1 to end at the last page, -2 to end at the second-to-last, and so forth.
default: -1
preferWholeWordsMatch:
type: boolean
description: If true, whole-word matching is tried first (if matchWholeWordsOnly=true), failing which, a partial match is performed.
default: true
preferredSnippetLinebreak:
type: string
description: Insert this pattern between consolidated preferred snippets.
example:
\\r\\n or <br>
default: ""
preferredSnippetInsertPage:
type: boolean
description: If true, insert a page number before each consolidated snippet.
default: true
module:
type: string
description: Module to search, such as `clm`, `cpq`, `qtc` etc.
default: "clm"
example:
{
"snippetWindowSize": 200,
"maxSnippetsInSearch": 10,
"matchWholeWordsOnly": true,
"startSnippetMatchAtPage": 0,
"endSnippetMatchAtPage": -1,
"enableSynonymSearch": false,
"snippetMatchIgnoreCase": true,
"module": "clm"
}
ocrOptions:
type: object
description: OCR options
properties:
ocrOnly:
type: boolean
description: If true, raw OCR JSON is returned. Else, searchable PDF is returned.
default: false
startPage:
type: integer
description: Page number where OCR must start. Valid range [-lastPage to lastPage]. startPage = -n => startPage is <i>n</i>th from last
default: 1
endPage:
type: integer
description: Page number where OCR must end. Valid range [1 to lastPage]. If unspecified, it is the last page.
default: undefined
example:
{
"ocrOnly": false,
"startPage": 1
}
spellcheckPhraseList:
type: object
items:
type: string
example:
{
"fuzzyMatch": true,
"result": [
{
"phrase": "contracts over $20k that mention Force majeure",
"matchHint": [
{
"word": "contracts",
"dictionary": "entityDictionary"
},
{
"word": "over",
"dictionary": "entityDictionary"
},
{
"word": "$20k",
"dictionary": "none"
},
{
"word": "that",
"dictionary": "iChronosDictionary"
},
{
"word": "mention",
"dictionary": "entityDictionary"
},
{
"word": "Force",
"dictionary": "synonymDictionary"
},
{
"word": "majeure",
"dictionary": "synonymDictionary"
}
],
"confidence": 0.85
},
{
"phrase": "contacts over $20k that mention Force majeure",
"matchHint": [
{
"word": "contacts",
"dictionary": "entityDictionary"
},
{
"word": "over",
"dictionary": "entityDictionary"
},
{
"word": "$20k",
"dictionary": "none"
},
{
"word": "that",
"dictionary": "iChronosDictionary"
},
{
"word": "mention",
"dictionary": "entityDictionary"
},
{
"word": "Force",
"dictionary": "synonymDictionary"
},
{
"word": "majeure",
"dictionary": "synonymDictionary"
}
],
"confidence": 0.85
},
{
"phrase": "contract over $20k that mention Force majeure",
"matchHint": [
{
"word": "contract",
"dictionary": "entityDictionary"
},
{
"word": "over",
"dictionary": "entityDictionary"
},
{
"word": "$20k",
"dictionary": "none"
},
{
"word": "that",
"dictionary": "iChronosDictionary"
},
{
"word": "mention",
"dictionary": "entityDictionary"
},
{
"word": "Force",
"dictionary": "synonymDictionary"
},
{
"word": "majeure",
"dictionary": "synonymDictionary"
}
],
"confidence": 0.85
},
{
"phrase": "contracts over $20k that mention Force mature",
"matchHint": [
{
"word": "contracts",
"dictionary": "entityDictionary"
},
{
"word": "over",
"dictionary": "entityDictionary"
},
{
"word": "$20k",
"dictionary": "none"
},
{
"word": "that",
"dictionary": "iChronosDictionary"
},
{
"word": "mention",
"dictionary": "entityDictionary"
},
{
"word": "Force",
"dictionary": "synonymDictionary"
},
{
"word": "mature",
"dictionary": "languageDictionary"
}
],
"confidence": 0.78
},
{
"phrase": "contacts over $20k that mention Force mature",
"matchHint": [
{
"word": "contacts",
"dictionary": "entityDictionary"
},
{
"word": "over",
"dictionary": "entityDictionary"
},
{
"word": "$20k",
"dictionary": "none"
},
{
"word": "that",
"dictionary": "iChronosDictionary"
},
{
"word": "mention",
"dictionary": "entityDictionary"
},
{
"word": "Force",
"dictionary": "synonymDictionary"
},
{
"word": "mature",
"dictionary": "languageDictionary"
}
],
"confidence": 0.78
}
]
}
matchingPhraseList:
type: array
items:
type: object
example:
[
{
"objectId": "account",
"text": "Are there any accounts in California?",
"phrase": "Are there any",
"matchingWordCount": 3
},
{
"objectId": "contact",
"text": "Are there any contacts in California?",
"phrase": "Are there any",
"matchingWordCount": 3
},
{
"objectId": "contact",
"text": "Are there any contacts in California for quotes over $20k?",
"phrase": "Are there any",
"matchingWordCount": 3
}
]
searchResultEmail:
type: object
properties:
subject:
type: string
description: Email subject
body:
type: string
description: Base64 encoding of email body in HTML
example:
{
"subject": "Acme NDA 2020 Report",
"body": "PGRpdiBpZD0iYm9keSI+...Q+MjAyMC0wOC0wNVQyMzoyOTo1Mi4wMDArMDAwMDwvdGQ+ICAgICAgPC90cj4gIDwvdGFibGU+PC9kaXY+PC9kaXY+PC9kaXY+"
}
jobStatusResponse:
type: object
properties:
status:
type: string
description: Job status
enum: ["started", "completed"]
example:
{
"status": "completed"
}
docSupportInfo:
type: array
items:
type: object
example:
{
"pdf": {
"contentType": "application/pdf",
"snippetSupported": true,
"conversionSupported": [
"text"
],
"reportSupported": true
},
"docx": {
"contentType": "application/vnd.openxmlformats-officedocument",
"snippetSupported": true,
"conversionSupported": [
"pdf",
"html",
"text"
],
"reportSupported": false
},
"doc": {
"contentType": "application/msword",
"snippetSupported": true,
"conversionSupported": [
"pdf",
"html",
"text"
],
"reportSupported": false
},
"text": {
"contentType": "text/plain",
"snippetSupported": true,
"conversionSupported": [
"text"
],
"reportSupported": false
},
"rtf": {
"contentType": "text/plain",
"snippetSupported": true,
"conversionSupported": [
"pdf",
"html",
"text"
],
"reportSupported": false
},
"csv": {
"contentType": "application/csv",
"snippetSupported": true,
"conversionSupported": [
"pdf",
"html",
"text"
],
"reportSupported": false
},
"xls": {
"contentType": "application/vnd.ms-excel",
"snippetSupported": true,
"conversionSupported": [
"pdf",
"html",
"text"
],
"reportSupported": false
},
"xlsx": {
"contentType": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"snippetSupported": true,
"conversionSupported": [
"pdf",
"html",
"text"
],
"reportSupported": true
},
"ppt": {
"contentType": "application/vnd.ms-powerpoint",
"snippetSupported": true,
"conversionSupported": [
"pdf",
"html",
"text"
],
"reportSupported": false
},
"pptx": {
"contentType": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
"snippetSupported": true,
"conversionSupported": [
"pdf",
"html",
"text"
],
"reportSupported": false
},
"html": {
"contentType": "text/html",
"snippetSupported": true,
"conversionSupported": [
"pdf",
"html",
"text"
],
"reportSupported": true
},
"default": {
"contentType": "application/octet-stream",
"snippetSupported": true,
"conversionSupported": [
"pdf",
"html",
"text"
],
"reportSupported": false
}
}
securitySchemes:
BearerAuth:
type: apiKey
name: Authorization
in: header
APIKeyAuth:
type: apiKey
name: X-API-Key
in: header