Skip to content

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
Example returned data
{
    "value" : ""
}

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
Example returned data
{
    "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
Example returned data
    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
Example returned data
true/false  

Search API

GetPortalURL

Returns the URL of the Discover Portal.

  • get: /api/DataExport/GetPortalURL
  • Content-Type: application/json
Example returned data
{
    "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
Example returned data
[
    {
        "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
Example returned data
[
    {
        "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
Example returned data
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
Example returned data
{
    "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
Example returned data
{
    "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
Example returned data
{
    "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
Example returned data
[
    {
        "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
Example returned data
[
    {
    "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
Example returned data
{
    "ContentType": "string",
    "Response": "string"
}