Swagger APIs
HCL Discover APIs are based around REST with predictable resource-oriented URLs, accepting form-encoded request bodies, returning JSON-encoded responses, and using standard HTTP response codes, authentication, & verbs.
Access to the Discover swagger HCL.Discover.WebAPI page is via the URL portal-path/portalapi/swagger.
Note
All API requests must be made over HTTPS.
DataExport
GetPortalURL
Returns the URL of the Discover Portal.
- get: /api/DataExport/GetPortalURL
- Content-Type: application/json
{
"value" : ""
}
GetSessionReplayLink
Redirects the requester to the Portal to replay the specified session via the specified replay client.
- get: /api/DataExport/GetSessionReplayLink
- Content-Type: application/json
| Parameter | Required | Value |
|---|---|---|
SessionType |
Yes | ACTIVE = 1, CLOSED = 2, ALL = 3 |
LinkType |
Yes | Session Replay = 1 |
Field |
Yes | |
Value |
Yes | |
MD5 |
Yes | |
SessionPreference |
Yes | EARLIEST = 1, LATEST, ANY = 3, CLOSEST = 4 |
Redirect |
Yes | |
SessionDate |
No | YYYY-MM-DD OR ISO format |
{
"value" : ""
}
UploadSessionSegmentSimple
Uploads the Session Segment to be processed by the Discover Segment Builder service based on config setting.
- get: /api/DataExport/UploadSessionSegmentSimple
- Content-Type: application/json
| Parameter | Required | Value |
|---|---|---|
SegmentData |
Yes | |
IncludesConfigSettings |
Yes |
true/false
UploadSessionSegment
Uploads the Session Segment to be processed by the Discover Segment Builder service based on multiple parameters.
- get: /api/DataExport/UploadSessionSegment
- Content-Type: application/json
| Parameter | Required | Value |
|---|---|---|
SegmentData |
Yes | |
SegmentName |
Yes | |
UseValuePrefix |
Yes |
true/false
Search API
GetPortalURL
Returns the URL of the Discover Portal.
- get: /api/DataExport/GetPortalURL
- Content-Type: application/json
{
"value" : ""
}
GetSessionAnnotations
Returns the annotates associated with the specified session.
- get: /api/SearchAPI/GetSessionAnnotations
- Content-Type: application/json
| Parameter | Required | Value |
|---|---|---|
SessionType |
Yes | ACTIVE = 1, CLOSED = 2, ALL = 3 |
Field |
Yes | |
Value |
Yes | |
MD5 |
Yes | |
SessionPreference |
Yes | EARLIEST = 1, LATEST = 2, ANY = 3, CLOSEST = 4, |
Redirect |
Yes | |
SessionDate |
Yes | YYYY-MM-DD OR ISO format |
[
{
"Username": "string",
"Timestamp": "2021-07-29T08:55:10.792Z",
"Text": "string"
}
]
GetSearchSortFields
Returns a list of SortField objects representing the description/ID of acceptable search sort fields. Returns null on error.
- get: /api/SearchAPI/GetSearchSortFields
- Content-Type: application/json
[
{
"SortID": 0,
"Description": "string"
}
]
StartSearch
Initiate a search for both active and completed sessions. Dates must supply the time and be ISO formatted. Returns the new query ID for the search. Return -1 on error.
- get: /api/SearchAPI/StartSearch
- Content-Type: application/json
| Parameter | Required | Value |
|---|---|---|
StartDate |
Yes | YYYY-MM-DD OR ISO format |
EndDate |
Yes | YYYY-MM-DD OR ISO format |
SortField |
Yes | |
ActiveQuery |
Yes | |
ArchiveQuery |
Yes |
StartDBSearch
Initiate a search in canister for both active and completed sessions. Dates must supply the time and be ISO formatted. Returns the new query ID for the search. Return -1 on error.
- get: /api/SearchAPI/StartDBSearch
- Content-Type: application/json
| Parameter | Required | Value |
|---|---|---|
SessionFilter |
Yes | |
StartDate |
Yes | YYYY-MM-DD OR ISO format |
EndDate |
Yes | YYYY-MM-DD OR ISO format |
AndParameters |
Yes | |
Attr1Index |
Yes | |
Param1Op |
Yes | |
Param1Value |
Yes | |
Attr2Index |
Yes | |
Param2Op |
Yes | |
Param2Value |
Yes | |
Attr3Index |
Yes | |
Param3Op |
Yes | |
Param3Value |
Yes | |
Attr4Index |
Yes | |
Param4Op |
Yes | |
Param4Value |
Yes | |
Attr5Index |
Yes | |
Param5Op |
Yes | |
Param5Value |
Yes |
1
CancelSearch
Cancels/aborts a running search. No results will be returned.
- get: /api/SearchAPI/CancelSearch
- Content-Type: application/json
| Parameter | Required | Value |
|---|---|---|
SearchID |
Yes |
{
"value" : ""
}
CancelSearch
Stops a running search. When available (the search status will be marked as done after all searches have stopped and the results have been collated), the sessions found thus far will be made available.
- get: /api/SearchAPI/StopSearch
- Content-Type: application/json
| Parameter | Required | Value |
|---|---|---|
SearchID |
Yes |
{
"value" : ""
}
GetSearchStatus
Check the current status of a search. Only request results once 'Done' 'DownloadComplete' are both true. Returns null on error.
- get: /api/SearchAPI/GetSearchStatus
- Content-Type: application/json
| Parameter | Required | Value |
|---|---|---|
SearchID |
Yes |
{
"Name": "string",
"DocumentsFound": 0,
"HitsFound": 0,
"IndexName": "string",
"PercentDone": 0,
"Done": true,
"CancelState": 0,
"IndexesSearched": 0,
"IndexesTotal": 0,
"SearchTime": 0,
"NumOfChunks": 0,
"Error": "string",
"DownloadComplete": true,
"NextUpdate": 0
}
GetSearchResults
Returns a list of session objects returned from the search, null on error. - get: /api/SearchAPI/GetSearchResults - Content-Type: application/json
| Parameter | Required | Value |
|---|---|---|
SearchID |
Yes | |
MaxResults |
Yes |
[
{
"LastError": "string",
"IsActiveSession": true,
"SessionListIndex": 0,
"SessionId": 0,
"Score": 0,
"CanisterName": "string",
"AppErrors": 0,
"ClientErrors": 0,
"ServerErrors": 0,
"TimeErrors": 0,
"SizeErrors": 0,
"TltSid": "string",
"TltUid": "string",
"Interesting": true,
"IpAddress": "string",
"NumHits": 0,
"NumReqs": 0,
"NumRsps": 0,
"NumTxtPages": 0,
"NumImgPages": 0,
"NumMiscPages": 0,
"NumSumHits": 0,
"UsrSts0": 0,
"UsrSts1": 0,
"FirstUse": 0,
"LastUse": 0,
"ConnType": 0,
"Browser": "string",
"Domain": "string",
"BigReqSize": 0,
"SmlReqSize": 0,
"SumReqSize": 0,
"AvgReqSize": 0,
"BigRspSize": 0,
"SmlRspSize": 0,
"SumRspSize": 0,
"AvgRspSize": 0,
"BigPageTime": 0,
"SmlPageTime": 0,
"SumPageTime": 0,
"AvgPageTime": 0,
"CanisterServer": "string",
"SessionAttribute0": "string",
"SessionAttribute1": "string",
"SessionAttribute2": "string",
"SessionAttribute3": "string",
"SessionAttribute4": "string",
"SessionAttribute5": "string",
"SessionAttribute6": "string",
"SessionAttribute7": "string",
"SessionAttribute8": "string",
"SessionAttribute9": "string",
"SessionAttribute10": "string",
"SessionAttribute11": "string",
"SessionAttribute12": "string",
"SessionAttribute13": "string",
"SessionAttribute14": "string",
"SessionAttribute15": "string",
"SessionAttribute16": "string",
"SessionAttribute17": "string",
"SessionAttribute18": "string",
"SessionAttribute19": "string",
"SessionAttribute20": "string",
"SessionAttribute21": "string",
"SessionAttribute22": "string",
"SessionAttribute23": "string",
"SessionAttribute24": "string",
"SessionAttribute25": "string",
"SessionAttribute26": "string",
"SessionAttribute27": "string",
"SessionAttribute28": "string",
"SessionAttribute29": "string",
"SessionAttribute30": "string",
"SessionAttribute31": "string",
"SessionAttribute32": "string",
"SessionAttribute33": "string",
"SessionAttribute34": "string",
"SessionAttribute35": "string",
"SessionAttribute36": "string",
"SessionAttribute37": "string",
"SessionAttribute38": "string",
"SessionAttribute39": "string",
"SessionAttribute40": "string",
"SessionAttribute41": "string",
"SessionAttribute42": "string",
"SessionAttribute43": "string",
"SessionAttribute44": "string",
"SessionAttribute45": "string",
"SessionAttribute46": "string",
"SessionAttribute47": "string",
"SessionAttribute48": "string",
"SessionAttribute49": "string",
"SessionAttribute50": "string",
"SessionAttribute51": "string",
"SessionAttribute52": "string",
"SessionAttribute53": "string",
"SessionAttribute54": "string",
"SessionAttribute55": "string",
"SessionAttribute56": "string",
"SessionAttribute57": "string",
"SessionAttribute58": "string",
"SessionAttribute59": "string",
"SessionAttribute60": "string",
"SessionAttribute61": "string",
"SessionAttribute62": "string",
"SessionAttribute63": "string",
"Events": [
{
"EventID": 0,
"ImageURL": "string",
"Description": "string"
}
],"
ReplayLinkBBR": "string"
}
]
GetSessionPagesList
Returns a list of pages for a given session, null on error.
- get: /api/SearchAPI/GetSessionPagesList
- Content-Type: application/json
| Parameter | Required | Value |
|---|---|---|
SearchID |
Yes | |
SessionListIndex |
Yes |
[
{
"LastError": "string",
"HitNumber": 0,
"PageNumber": 0,
"PageDisplayNumber": 0,
"Index": 0,
"CaptureType": 0,
"CaptureSource": "string",
"SessionId": 0,
"CanisterName": "string",
"UserAgent": "string",
"LocalAddress": "string",
"RemoteAddress": "string",
"RemoteHost": "string",
"ServerName": "string",
"ServerPort": 0,
"ServerSoftware": "string",
"VirtualUrl": "string",
"ScriptName": "string",
"Url": "string",
"UrlFull": "string",
"QueryString": "string",
"RequestMethod": "string",
"StatusCode": 0,
"StatusCodeText": "string",
"ResponseType": "string",
"Referer": "string",
"Cookie": "string",
"RequestSize": 0,
"ResponseSize": 0,
"ReqStartTime": "string",
"ReqEndTime": "string",
"RspStartTime": "string",
"RspEndTime": "string",
"RspAckTime": "string",
"RspTimeToFirstByteOut": 0,
"RspTimeToLastByteOut": 0,
"RspTimeToLastAck": 0,
"ReqAckSum": 0,
"RspAckSum": 0,
"IsHttps": true,
"Duration": 0,
"ConnType": "string",
"ConnSpeed": 0,
"ReqCancelled": 0,
"TltServer": "string",
"TltHostName": "string",
"TltAppName": "string",
"WsGenTime": 0,
"WsGenGrade": "string",
"NtGenTime": 0,
"NtGenGrade": "string",
"RtGenTime": 0,
"RtGenGrade": "string",
"RoundTripTime": 0,
"NetTime": 0,
"GenTime": 0,
"ViewTime": 0,
"IamieSection": [
{
"Name": "string",
"Value": "string"
}
],
"EnvSection": [
{
"Name": "string",
"Value": "string"
}
],
"AppDataSection": [
{
"Name": "string",
"Value": "string"
}
],
"UrlFieldSection": [
{
"Name": "string",
"Value": "string"
}
],
"CookiesSection": [
{
"Name": "string",
"Value": "string"
}
],
"TimeStampSection": [
{
"Name": "string",
"Value": "string"
}
],
"RefSection": [
{
"Name": "string",
"Value": "string"
}
],
"RspHeadersSection": [
{
"Name": "string",
"Value": "string"
}
],
"RawRequestSection": [
{
"Name": "string",
"Value": "string"
}
],
"HighlightPage": true
}
]
GetPageResponse
Returns the page content type and response, null on error.
- get: /api/SearchAPI/GetPageResponse
- Content-Type: application/json
| Parameter | Required | Value |
|---|---|---|
SearchID |
Yes | |
SessionListIndex |
Yes | |
HitNumber |
Yes |
{
"ContentType": "string",
"Response": "string"
}