Introduction

The LiveVox Quality Monitor (QM) API provides methods that allow users to view the list of all scored interactions, scorecard questions, scorecard categories, and scorecard groups. You can also view reports related to keywords, scorecards, skills, and agents. In addition, these methods enable you to view all the interaction data to accurately and consistently evaluate performance and identify training needs. 

See the LiveVox Developer Portal topic for a general description of how to interact with the API.

Prerequisites

  • The user must have successfully logged into the LiveVox platform to obtain a valid Session ID. See Session Management for more information.
  • The user must have an active subscription to the Quality Monitor API, to obtain an Access Token for use in all API requests. See Access Tokens for details.
  • All messages in this API may be subject to rate limits and other restrictions.

 Quality Monitor API WADL/Swagger

The Session API WADL/Swagger is publicly available. To obtain the WADL/Swagger for any other API category, a user must include the LV-Session header with a valid session ID in the WADL/Swagger request.

The Quality Monitor API v17.0 WADL/Swagger is available at the following URL:

The URLs listed below are for the LiveVox NA3 environment and will change slightly if your portal is in a different environment. For information about how the URL changes per environment, see the LiveVox Environments and APIs section.

User Roles

Unless otherwise specified in this documentation, to access any data through the Quality Monitoring API, you must belong to either the Sysadmin, superuser, auditor, or client auditor. These roles are defined in the LiveVox Configuration Manager and correspond to users who can access LiveVox configuration data through the LiveVox user interfaces.

API Methods

Skill Details List

Description: Provides a list of the skills in quality monitor for a client.

Method: GET /qualityMonitoring/skill?clientId={n}[&active={n}&offset={n}&count={n}]

Parameters: 

AttributeTypeMandatory?Description
clientIdNumberNo

The client ID for which the data is retrieved. Since QM/Speech IQ supports client data sharing, you must specify the client for which you are requesting the data. Defaults to the value of clientId from LV-Session if not provided.

activeBooleanNoWhen set to true returns currently active skills only. If set to false, returns all data regardless of the active field value. Defaults to true if not set.
countNumberYesNumber of records to return. It must be between 1 and 100.
offsetNumberYesNumber of records to skip over before returning. It must be zero or greater.

Response Code: 200 OK

Body:

Key or AttributeTypeMandatory?Description
dataArrayNo
AttributeTypeMandatory?Description
skillUUIDNumberYesQuality Monitoring Skill Universally Unique Identifier (UUID) . 

name

StringYesSkill name. 

clientId

NumberNo

The client ID for which the data is retrieved. 

clientUUID

UUIDNoClient Universally UUID .
descriptionStringNo

Skill description.

languageStringNoConfigured language.
timezoneStringNoConfigured timezone.
modifiedDateDateNoThe date on which the skill details were last modified.
modifiedByStringNoThe user who made the last modification.
createdDateDateNoThe date on which the skill was created.
createdByStringNoThe user who created the skill.
offsetNumberNoPagination offset value.
countNumberNoPagination count. It must be between 1 and 100
sizeNumberNoPagination size. It must be between 1 and 100.
nextBooleanNoFlag for additional data to return.

Get a list of Skill Details

#Request (JSON)
GET /qualityMonitoring/skill?clientId=90960&offset=0&count=2&active=true
Host: localhost.com
Content-Type: application/json
Accept: application/json

#Response
200 OK
Content-Type: application/json

{
  "offset": 0,
  "count": 2,
  "size": 2,
  "next": true,
  "data": [
    {
      "skillUUID": "02c9478c-9692-4c97-b749-232cfebf1502",
      "clientId": 90960,
      "name": "Library-English",
      "description": "Basic English",
      "language": "English",
      "timezone": "America/New_York",
      "externalName": "English",
      "active": true,
      "createdBy": "jmcclanahan",
      "createdDate": 1626115219435,
      "modifiedDate": 1626115219435
    },
    {
      "skillUUID": "079e5e6e-e3c5-4e1f-b083-687c7a417e45",
      "clientId": 90960,
      "name": "Saab",
      "description": "123",
      "language": "english",
      "timezone": "America/New_York",
      "externalName": "1",
      "active": true,
      "createdBy": "lv_dlinares",
      "createdDate": 1600283202324,
      "modifiedBy": "lv_dlinares",
      "modifiedDate": 1602102800541
    }
  ]
}
JAVA

Scorecard

Scorecard Search

Description: Searches the quality monitor scorecards.

Method: POST /qualityMonitoring/scorecard/search?offset={n}&count={n}

Parameters: 

AttributeTypeMandatory?Description
countNumberYesNumber of records to return. It must be between 1 and 100.
offsetNumberYesNumber of records to skip over before returning data. It must be zero or greater.


Body:

AttributeTypeMandatory?Description
startDateDateYesStart date range to search the modified date of the scorecard.
endDateDateYesEnd date range to search the modified date of the scorecard.
scorecardStatusTypeStringNoScorecard status.
nameStringNoScorecard name.
scorecardGroupUUIDUUIDNoScorecard group UUID.
scorecardCategoryUUIDUUIDNoScorecard category UUID.
scorecardTypeStringNoScorecard type.
clientIdNumberNo

The client ID for which the data is retrieved. 

activeBooleanNoFlag indicating if the scorecard is active.
offsetNumberNoPagination offset value.
countNumberNoPagination size. It must be between 1 and 100.

Response Code: 200 OK

Body:

Key or AttributeTypeMandatory?Description

data

ArrayNo
AttributeTypeMandatory?Description
scorecardUUIDUUIDYesQM generated Scorecard UUID.  

savedFilterUUID

UUIDNoUnique search object ID.

clientUUID

UUIDNoClient UUID.

scorecardGroupUUID

UUIDNoScorecard group UUID.
typeStringNo

Scorecard type.

nameStringNoLabel of the scorecard.
descriptionStringNoDescription of the scorecard.
commentingBooleanNoFlag indicating whether commenting is enabled for this scorecard (Yes or No).
orderNumberNoOrdinal value.
pointsNumberNoThe scored value.
weightedCalBooleanNoFlag showing if a weighted calculation was used.
versionNumberNoThe version of the scorecard.
statusStringNoCurrent status of the scorecard.
passFailBooleanNoFlag showing if the scorecard uses pass or fail, or points scoring.
acknowledgementRequiredBooleanNoFlag indicating whether the acknowledgment is required.
arbitrationRequiredBooleanNoFlag requiring arbitration.
timestampLastRanTimeStampNoThe last time the scorecard was run.
timestampDeletedTimeStampNoTimestamp of when it was set to deleted status.
activeBooleanNoFlag indicating if the scorecard is currently active.
scorecardCategoryUUIDsArrayNoList of the scorecard category UUID.
interactionTypesArray [String]NoThe interaction types with which to use the scorecard.
scorecardGradesArrayYes
AttributeTypeMandatory?Description
scorecardGradeUUIDUUIDYesUUID identifier.
clientUUIDUUIDNoClient UUID.
clientIdNumberNoThe client ID for which the data is retrieved.
scorecardUUIDUUIDYesQM generated Scorecard UUID.
nameStringYesGrade name.
minimumScoreNumberNoGrade minimum score.
maximumScoreNumberNoGrade max score.
bonusPointsNumberNoA number of grade bonus points.
orderNumberNoOrder value.
requireCommentBooleanNoFlag requiring comments.
scorecardGradeTemplateUUIDUUIDNoGrade template UUID.
scorecardQuestionsArrayYes
AttributeTypeMandatory?Description
scorecardQuestionUUIDUUIDYesUUID of the scorecard question.
scorecardUUIDUUIDYesQM generated Scorecard UUID.
savedFilterUUIDUUIDNoUnique search object ID.
questionStringYesText of the question.
questionTypeStringNoQuestion type.
orderNumberNoOrder of the question.
maxPointValueNumberNoMaximum possible value.
manualPointsBooleanNoFlag indicating whether the scorecard assessing is manual.
autoFailBooleanNoAuto failure condition flag.
commentingBooleanNoFlag indicating whether the commenting is enabled for this scorecard question (Yes or No).
weightNumberNoWeighted calculation value.
allowNotApplicableBooleanNoFlag allowing is not applicable as an answer.
scorecardQuestionGroupUUIDUUIDNoScorecard question group UUID.
choicesArrayYes
AttributeTypeMandatory?Description
choiceUUIDUUIDYesUUID of the chosen answer for the scorecard question.
scorecardQuestionUUIDUUIDNoUUID of the scorecard question.
valueStringNoValue of this choice.
labelStringNoLabel of the choice.
isEgregiousBooleanNoThis choice will autofail the scorecard.
orderNumberNoOrder or the choice.
followUpQuestionUUIDsArray[UUID]NoThe UUIDs of related questions with which to follow up. 

scorecardGroup
No
AttributeTypeMandatory?Description
scorecardGroupUUIDUUIDYesScorecard group UUID.
nameStringYesGroup name.
clientIdNumberNoClient ID of the Scorecard Group.
clientUUIDUUIDNoClient UUID of the Scorecard Group.
nextBooleanNoFlag for additional data to return.

Search for Scorecards

#Request (JSON)
POST /qualityMonitoring/scorecard/search?offset=0&count=2
Host: localhost.com
Content-Type: application/json

{
  "startDate": "2021-08-06T18:43:38.029Z",
  "endDate": "2021-10-04T13:14:54.568Z",
  "clientId": 90960
}

#Response
200 OK
Content-Type: application/json

{
    "offset": 0,
    "count": 1,
    "size": 1,
    "next": true,
    "data": [
        {
            "scorecardUUID": "e13e62ba-0be1-45a2-93c2-921bbd1dc88d",
            "clientId": 90960,
            "type": "auto",
            "name": "API_Scorecard_Updated_20210825003135",
            "description": "API_Scorecard_Desc_20210825003135",
            "commenting": true,
            "order": 0,
            "points": 10,
            "weightedCal": false,
            "requireNAGradeComment": false,
            "scorecardGroupUUID": "a63e07c1-1e79-4dfa-b655-39fa0d53d8b4",
            "version": 0,
            "originalId": 0,
            "status": "PUBLISHED",
            "passFail": true,
            "acknowledgementRequired": false,
            "arbitrationRequired": false,
            "active": true,
            "interactionTypes": [
                "audio"
            ],
            "scorecardGroup": {
                "scorecardGroupUUID": "a63e07c1-1e79-4dfa-b655-39fa0d53d8b4",
                "name": "API_ScorecardGroup_20210825003135",
                "clientId": 90960,
                "createdDate": 1629869497145,
                "createdBy": "api_automation",
                "modifiedDate": 1629869497145
            },
            "scorecardCategoryUUIDs": [
                "6e516e10-a694-477b-9af1-26dc1ece5efa"
            ],
            "scorecardGrades": [
                {
                    "scorecardGradeUUID": "2eefcfbd-a4a7-4572-9ac3-969d9f38a655",
                    "clientId": 90960,
                    "scorecardUUID": "e13e62ba-0be1-45a2-93c2-921bbd1dc88d",
                    "name": "API_ScorecardGrade_Fail_20210825003135",
                    "minimumScore": 0.0,
                    "maximumScore": 79.0,
                    "bonusPoints": 0,
                    "order": 0,
                    "requireComment": true,
                    "isDirty": false,
                    "createdDate": 1629869498990,
                    "createdBy": "api_automation",
                    "modifiedDate": 1629869498990
                },
                {
                    "scorecardGradeUUID": "5af6f396-b5f5-41e4-a034-56bb30ec262f",
                    "clientId": 90960,
                    "scorecardUUID": "e13e62ba-0be1-45a2-93c2-921bbd1dc88d",
                    "name": "API_ScorecardGrade_Pass_20210825003135",
                    "minimumScore": 80.0,
                    "maximumScore": 100.0,
                    "bonusPoints": 0,
                    "order": 0,
                    "requireComment": true,
                    "isDirty": false,
                    "createdDate": 1629869498673,
                    "createdBy": "api_automation",
                    "modifiedDate": 1629869498673
                }
            ],
            "createdDate": 1629869497455,
            "createdBy": "api_automation",
            "modifiedDate": 1629869501762,
            "modifiedBy": "api_automation"
        }
    ]
}
CODE

List All Scorecard Questions

Description: Retrieves existing scorecard questions for a given client.

Method: GET /qualityMonitoring/scorecard/questions/{clientId}[?active={n}]

Parameters:  

AttributeTypeMandatory?Description
clientIdNumberYesThe client ID for which data is retrieved. 
activeBooleanNo

When set to true, it returns only active skills. If set to false, returns all data regardless of the active field value. Defaults to true if not set.

Response Codes: 200 OK

Body:

AttributeTypeMandatory?Description
dataArrayNo
AttributeTypeMandatory?Description
activeBooleanNoFlag indicating if the question type is currently active.
allowNotApplicableBooleanNo

Allows N/A for the answer of the question.

autoFailBooleanNo

Allows this question to fail the scorecard.

choicesArrayNo
AttributeTypeMandatory?Description
choiceUUIDStringNo

UUID of the chosen answer for the scorecard question.

createdDateTimestampNo

The time when the choice was created.

createdByStringNo

The user who created the item.

followUpQuestionUUIDsArrayNo

UUIDs of related questions with which to follow up . 

followUpQuestionsArrayNo

Follow-up questions.

isEgregiousBooleanNo

This choice will auto fail the scorecard.

labelNameNo

Text of the choice.

modifiedDateTimestampNo

Date the intent type was last modified.

modifiedByStringNo

The user who last modified the intent type.

orderIntegerNo

Order number for a given question.

scorecardQuestionUUIDStringYes

UUID of the scorecard question.

valueStringNo

Value of the choice.

commentingBooleanNo

Flag indicating whether commenting is enabled for this scorecard question (Yes or No).

createdDateTimestampNo

The time on which the scorecard question was created.

createdByStringNo

The user who created the item.

manualPointsBooleanNo

Flag indicating whether the scorecard used for assessing an interaction is manual.

maxPointValueIntegerNo

Max point value for the question.

modifiedDateTimestampNo

Date the intent type was last modified.

modifiedByStringNo

The user who last modified the intent type.

orderIntegerNo

Order number for a given question.

questionStringNo

The question text.

questionTypeStringNo

The type of question.

savedFilterUUIDStringNo

Unique search object ID.

scorecardQuestionGroupUUIDStringNo

Scorecard question group UUID.

scorecardQuestionUUIDStringNo

The UUID of the scorecard question.

scorecardUUIDStringNo

QM generated Scorecard UUID.

weightIntegerNo

The amount of weight the question has in the scorecard.

sizeNumberNo

Count of records returned

List All Scorecard Questions

#Request (JSON)  
GET /qualityMonitoring/scorecard/questions/93119?active=true 
Host: localhost.com
Content-Type: application/json
Accept: application/json

#Response
200 OK
Content-Type: application/json  {
  "size": 5,
  "data": [
    {
      "scorecardQuestionUUID": "4d3475f8-ab41-4fbb-b30c-43166ce3935d",
      "scorecardUUID": "012c22c8-c742-465b-a4c6-87c417efff09",
      "question": "Q3 : Short AnswerType",
      "questionType": "short_answer",
      "order": 3,
      "maxPointValue": 0,
      "manualPoints": false,
      "autoFail": false,
      "commenting": false,
      "weight": 0,
      "allowNotApplicable": true,
      "createdDate": 1663235036224,
      "createdBy": "kyargal",
      "modifiedDate": 1663235036224,
      "active": true
    },
    {
      "scorecardQuestionUUID": "62f9fae8-f4e4-4272-94e7-48d05c61a84b",
      "scorecardUUID": "012c22c8-c742-465b-a4c6-87c417efff09",
      "question": "Q2 : Multiple Choice_Type",
      "questionType": "multi_choice",
      "choices": [
        {
          "choiceUUID": "6e034dd2-8f0b-4965-8740-273e3b9b4111",
          "scorecardQuestionUUID": "62f9fae8-f4e4-4272-94e7-48d05c61a84b",
          "value": "1",
          "label": "Choice_1",
          "isEgregious": false,
          "order": 1,
          "createdDate": 1663235006986,
          "createdBy": "kyargal",
          "modifiedDate": 1663235006986
        },
        {
          "choiceUUID": "a1227014-d1d7-4781-bc47-a8798d996fcf",
          "scorecardQuestionUUID": "62f9fae8-f4e4-4272-94e7-48d05c61a84b",
          "value": "3",
          "label": "Choice_3",
          "isEgregious": false,
          "order": 3,
          "createdDate": 1663235006990,
          "createdBy": "kyargal",
          "modifiedDate": 1663235006990
        },
        {
          "choiceUUID": "ea01e9af-0e56-4d53-821d-f033704bd66e",
          "scorecardQuestionUUID": "62f9fae8-f4e4-4272-94e7-48d05c61a84b",
          "value": "2",
          "label": "Choice_2",
          "isEgregious": false,
          "order": 2,
          "createdDate": 1663235006987,
          "createdBy": "kyargal",
          "modifiedDate": 1663235006987
        }
      ],
      "order": 2,
      "maxPointValue": 3,
      "manualPoints": false,
      "autoFail": false,
      "commenting": false,
      "weight": 1,
      "allowNotApplicable": false,
      "createdDate": 1663235006983,
      "createdBy": "kyargal",
      "modifiedDate": 1663235006983,
      "active": true
    },
    {
      "scorecardQuestionUUID": "cc717835-2192-4d19-aea4-cf835f47a9de",
      "scorecardUUID": "012c22c8-c742-465b-a4c6-87c417efff09",
      "question": "Q4 : Yes / No_Type",
      "questionType": "yes_no",
      "choices": [
        {
          "choiceUUID": "6ebd3157-1e6c-404c-a51a-8daa769e9c60",
          "scorecardQuestionUUID": "cc717835-2192-4d19-aea4-cf835f47a9de",
          "value": "10",
          "label": "Yes",
          "isEgregious": false,
          "order": 1,
          "createdDate": 1663235063662,
          "createdBy": "kyargal",
          "modifiedDate": 1663235063662
        },
        {
          "choiceUUID": "aaec5ca3-b10e-43ad-8dfb-3f8029191fd1",
          "scorecardQuestionUUID": "cc717835-2192-4d19-aea4-cf835f47a9de",
          "value": "0",
          "label": "No",
          "isEgregious": false,
          "order": 2,
          "createdDate": 1663235063664,
          "createdBy": "kyargal",
          "modifiedDate": 1663235063664
        }
      ],
      "order": 4,
      "maxPointValue": 10,
      "manualPoints": false,
      "autoFail": false,
      "commenting": false,
      "weight": 1,
      "allowNotApplicable": false,
      "createdDate": 1663235063660,
      "createdBy": "kyargal",
      "modifiedDate": 1663235063660,
      "active": true
    },
    {
      "scorecardQuestionUUID": "df370a07-0f60-4481-bdf6-276fa60c873c",
      "scorecardUUID": "012c22c8-c742-465b-a4c6-87c417efff09",
      "question": "Q1: Multiple Answers_Type",
      "questionType": "multi_answer",
      "choices": [
        {
          "choiceUUID": "1b44b78c-ed07-4377-bee6-6369d43ebc3a",
          "scorecardQuestionUUID": "df370a07-0f60-4481-bdf6-276fa60c873c",
          "value": "1",
          "label": "Answer_1",
          "isEgregious": false,
          "order": 1,
          "createdDate": 1663234927774,
          "createdBy": "kyargal",
          "modifiedDate": 1663234927774
        },
        {
          "choiceUUID": "9d335fb1-0b3d-4ffe-a7ce-a7588b835b69",
          "scorecardQuestionUUID": "df370a07-0f60-4481-bdf6-276fa60c873c",
          "value": "0",
          "label": "Answer_3",
          "isEgregious": true,
          "order": 3,
          "createdDate": 1663234927777,
          "createdBy": "kyargal",
          "modifiedDate": 1663234927777
        },
        {
          "choiceUUID": "f4dc6ca6-41ac-46a0-a50e-36edb87cca5a",
          "scorecardQuestionUUID": "df370a07-0f60-4481-bdf6-276fa60c873c",
          "value": "2",
          "label": "Answer_2",
          "isEgregious": false,
          "order": 2,
          "createdDate": 1663234927775,
          "createdBy": "kyargal",
          "modifiedDate": 1663234927775
        }
      ],
      "order": 1,
      "maxPointValue": 3,
      "manualPoints": false,
      "autoFail": false,
      "commenting": false,
      "weight": 1,
      "allowNotApplicable": false,
      "createdDate": 1663234927769,
      "createdBy": "kyargal",
      "modifiedDate": 1663234927769,
      "active": true
    },
    {
      "scorecardQuestionUUID": "0b3304f2-6f22-4851-8a8a-a1e74b722ca8",
      "scorecardUUID": "664ff8d6-d243-4c58-bee0-1228db66be98",
      "question": "Question 1 ",
      "questionType": "yes_no",
      "order": 1,
      "maxPointValue": 10,
      "manualPoints": false,
      "autoFail": false,
      "commenting": false,
      "weight": 1,
      "allowNotApplicable": false,
      "createdDate": 1662622481051,
      "createdBy": "rsalimath",
      "modifiedDate": 1662622481051,
      "active": true
    }
  ]
} 
CODE

List All Scorecard Categories

Description: Retrieves existing scorecard categories for a given client.

Method: GET /qualityMonitoring/scorecard/categories/{clientId}[?active={n}]

Parameters:  

AttributeTypeMandatory?Description
clientIdNumberYesThe client ID for which the data is retrieved.
activeBooleanNo

When set to true, returns only the currently active scorecard categories. if set to false, returns all data regardless of the active field value. Defaults to true if not set.

Response Codes: 200 OK

Body:

AttributeTypeMandatory?Description
dataArrayNo
AttributeTypeMandatory?Description
activeBooleanNoFlag indicating if the category is currently active. 
clientIdNumberNo

The client ID for which the data is retrieved.

clientUUIDStringNo

Client UUID. 

createdDateTimestampNo

The time on which the scorecard category was created.

createdByStringNo

The user who created the item.

modifiedDateTimestampNo

The date when the intent type was last modified.

modifiedByStringNo

The user who last modified the intent type.

nameStringNo

Name of the category.

scorecardCategoryUUIDStringNo

Scorecard category UUID.

scorecardUUIDsArrayNo

UUID of the scorecards that are tied to this category.

sizeNumberNo

Count of records returned.

List All Scorecard Categories

#Request (JSON) 
GET /qualityMonitoring/scorecard/categories/94229?active=true 
Host: localhost.com
Content-Type: application/json
Accept: application/json

#Response
200 OK
Content-Type: application/json  

{
  "size": 2,
  "data": [
    {
      "active": true,
      "clientId": 94229,
      "createdBy": "lv_dlinares",
      "createdDate": 1629586750947,
      "modifiedDate": 1629586750947,
      "name": "Saab",
      "scorecardCategoryUUID": "35b0ebeb-6696-4933-a726-87325b22a1ab",
      "scorecardUUIDs": []
    },
    {
      "active": true,
      "clientId": 94229,
      "createdBy": "mpalacio",
      "createdDate": 1627337329616,
      "modifiedDate": 1627337329616,
      "name": "MP SC 1",
      "scorecardCategoryUUID": "4eeea961-193b-49af-92fb-9dea3cbb47fe",
      "scorecardUUIDs": [
        "b09715f1-122a-4f21-bec1-7a55e6859f0f"
      ]
    }
  ]
}
CODE

List All Scorecard Groups

Description: Retrieves existing scorecard groups for a specified client.

Method: GET /qualityMonitoring/scorecard/groups/{clientId}[?active={n}]

Parameters: 

AttributeTypeMandatory?Description
clientIdNumberYesThe client ID for which the data is retrieved. 
activeBooleanNo

When set to true, returns only currently active scorecard groups. If set to false, returns all data regardless of the active field value. Defaults to true if not set.

Response Codes: 200 OK

Body:

AttributeTypeMandatory?Description
dataArrayNo
AttributeTypeMandatory?Description
clientIdNumberNo

The client ID for which the data is retrieved.

clientUUIDStringNo

Client UUID.

createdDateTimestampNo

The time when the scorecard group was created.

createdByStringNo

The user who created the scorecard group.

modifiedDateTimestampNo

The date when the scorecard group was last modified.

modifiedByStringNo

The user who last modified the scorecard group.

nameStringNo

Name of the group.

scorecardGroupUUIDStringNo

Scorecard group UUID.

sizeNumberNo

Count of records returned.

List All Scorecard Groups

#Request (JSON) 
GET /qualityMonitoring/scorecard/groups/94229 
Host: localhost.com
Content-Type: application/json
Accept: application/json

#Response
200 OK
Content-Type: application/json  

{
  "size": 10,
  "data": [
    {
      "scorecardGroupUUID": "3d905d16-33b7-4516-a5e8-e3c3e29aabfb",
      "name": "SC",
      "clientId": 94229,
      "createdDate": 1636707333972,
      "createdBy": "sk_assessor",
      "modifiedDate": 1636707333972
    },
    {
      "scorecardGroupUUID": "5ac531ee-c14b-4a23-ace3-80978998c9a1",
      "name": "Non-Voice",
      "clientId": 94229,
      "createdDate": 1621887796419,
      "createdBy": "toconnor",
      "modifiedDate": 1621887796419
    },
    {
      "scorecardGroupUUID": "6e7defd1-012e-4d84-8d82-9557176eec4a",
      "name": "105 Questions",
      "clientId": 94229,
      "createdDate": 1644159486871,
      "createdBy": "sk_assessor",
      "modifiedDate": 1644159486871
    },
    {
      "scorecardGroupUUID": "9b712830-58fc-42e1-9b59-6d0b9d915d7d",
      "name": "-Saab",
      "clientId": 94229,
      "createdDate": 1620659991119,
      "createdBy": "dlinares",
      "modifiedDate": 1620659991119
    },
    {
      "scorecardGroupUUID": "a35e9445-ecde-4970-b0c8-5d468299db3f",
      "name": "Automated_Scorecards",
      "clientId": 94229,
      "createdDate": 1647445061076,
      "createdBy": "rpenumalli",
      "modifiedDate": 1647445061076
    },
    {
      "scorecardGroupUUID": "a965276d-818b-4257-abff-9c1ccfe91dab",
      "name": "charan",
      "clientId": 94229,
      "createdDate": 1661353195531,
      "createdBy": "lvkrish",
      "modifiedDate": 1661353195531
    },
    {
      "scorecardGroupUUID": "bccb0949-25ce-4aac-bc66-2d10e17b051a",
      "name": "SRINIVAS-Group",
      "clientId": 94229,
      "createdDate": 1639654447638,
      "createdBy": "SRIU",
      "modifiedDate": 1639654447638
    },
    {
      "scorecardGroupUUID": "c6b0c809-198d-41b4-b56c-96f0d93d7493",
      "name": "Basic",
      "clientId": 94229,
      "createdDate": 1620913636997,
      "createdBy": "sk_assessor",
      "modifiedDate": 1620913636997
    },
    {
      "scorecardGroupUUID": "c7fd534a-bd65-4112-9e8a-64a6a45d751d",
      "name": "EMAIL TYPE",
      "clientId": 94229,
      "createdDate": 1627471023824,
      "createdBy": "sk_assessor",
      "modifiedDate": 1627471023824
    },
    {
      "scorecardGroupUUID": "f064987d-fe30-4ec3-8c99-f55c87d3cc3b",
      "name": "VOICE",
      "clientId": 94229,
      "createdDate": 1622050615454,
      "createdBy": "sk_assessor",
      "modifiedDate": 1622050615454
    }
  ]
}
CODE

List Agents By Client

Description: Lists the quality monitor's agents by client.

Method: GET  /qualityMonitoring/agent/{clientId}/[?active={n}]

Parameters: 

Request ParameterTypeMandatory?Description
clientIdNumberYes

The client ID for which the data is retrieved. Since QM/Speech IQ supports client data sharing, you must specify the client for which you are requesting the data. 

activeBooleanNo

When set to true, returns only the currently active skills. If set to false, returns all data regardless of the active field value. Defaults to true if not set.

Response Code: 200 OK

Body:

Key or AttributeTypeMandatory?Description

data

ArrayNo
AttributeTypeMandatory?Description
agentUUIDUUIDYes

QM Agent UUID.

clientUUID

UUIDNoClient UUID.

skillUUID

UUIDNoSkill UUID.

clientId

NumberNoClient ID.
nameStringNoAgent name field. It can be different than the firstName and lastName fields.
firstNameStringNoAgent first name.
lastNameStringNoAgent last name.
agentUsernameStringNoAgent login name.
agentIdNumberNoAgent ID.
lastUsedTimeStampNoThe time when the agent logged in last time.
activeBooleanNoFlag indicating if the agent is currently active..
modifiedDateDateNoThe date when the agent details were last modified.
modifiedByStringNoThe user who last modified the agent details.
createdDateDateNoThe date on which the agent was created.
createdByStringNoThe user who created the agent.
sizeNumberNoPagination size. Must be between 1 and 100.

nextBooleanNoFlag to return additional data.

List Agents by Client

#Request (JSON)
GET /qualityMonitoring/agent/90960?active=true
Host: localhost.com
Content-Type: application/json
Accept: application/json

#Response
200 OK
Content-Type: application/json

{
  "size": 31,
  "data": [
    {
      "agentUUID": "05e66b13-c7af-4a95-8c0c-4e1292f9e6a8",
      "clientId": 90960,
      "skillUUID": "0f9867b6-695e-4f6c-8735-4bc9bbb0cccb",
      "firstName": "API_AUTO_FN_080920182848",
      "lastName": "API_AUTO_LN_080920182848",
      "agentId": 0,
      "active": true,
      "createdDate": 1599569929435,
      "createdBy": "rpenumalli",
      "modifiedDate": 1628506167268,
      "modifiedBy": "kyargal"
    },
    {
      "agentUUID": "106a0682-b8ee-4c81-ace6-b5198d96e955",
      "clientId": 90960,
      "name": "b n",
      "firstName": "b",
      "lastName": "n",
      "agentUsername": "LV_BM",
      "agentId": 613767,
      "lastUsed": 1614802144472,
      "active": true,
      "createdDate": 1601997588732,
      "createdBy": "app_siq",
      "modifiedDate": 1614802144517,
      "modifiedBy": "app_siq"
    },
    ...
    
    {
      "agentUUID": "1e6add22-7746-4372-8984-ae6a59c719df",
      "clientId": 90960,
      "name": "Agent1673 Test1673",
      "firstName": "Agent1673",
      "lastName": "Test1673",
      "agentUsername": "AGENT1673",
      "agentId": 565375,
      "lastUsed": 1600790924266,
      "active": true,
      "createdDate": 1600790924275,
      "createdBy": "app_siq",
      "modifiedDate": 1600790924275
    }
  ]
}
CODE

List All Tags

Description: Retrieves existing tags for a given client.

Method: GET /qualityMonitoring/tags/{clientId}[?active={n}&offset={n}&count={n}]

Parameters: 

AttributeTypeMandatory?Description
clientIdNumberYesThe client ID for which the data is retrieved. 
activeBooleanNo

When set to true, it returns only active skills. If set to false, returns all data regardless of the active field value. Defaults to true if not set.

countNumberYesNumber of records to return. It must between 1 and 100.
offsetNumberYesNumber of records to skip over before returning. It must be zero or greater.

Response Codes: 200 OK

Body:

AttributeTypeMandatory?Description
dataArrayNo
AttributeTypeMandatory?Description
activeBooleanNo

Flag indicating if the skill is currently active.

clientIdNumberNo

The client ID for which the data is retrieved. 

createdDateTimestampNo

The time when the tag was created.

createdByStringNo

The user who created the tag.

modifiedDateTimestampNo

The date when the tag was last modified.

modifiedByStringNo

The user who last modified the tag.

nameStringNo

Name of the tag.

tagUUIDStringNo

Tag UUID.

countNumberNo

Count of records returned.

Get a List of all Tags

#Request (JSON) 
GET /qualityMonitoring/tags/94229?offset=0&count=2&active=true 
Host: localhost.com
Content-Type: application/json
Accept: application/json

#Response
200 OK
Content-Type: application/json  
 
{
  "data": [
    {
      "active": true,
      "clientId": 94229,
      "createdBy": "mpalacio",
      "createdDate": 1626913987112,
      "modifiedDate": 1626913987112,
      "name": "MP Tag",
      "tagUUID": "5a6702a2-2c2d-4de1-91f0-69b956146e50"
    },
    {
      "active": true,
      "clientId": 94229,
      "createdBy": "lv_mpalacio_manager",
      "createdDate": 1627401318128,
      "modifiedBy": "lv_mpalacio_manager",
      "modifiedDate": 1627401357351,
      "name": "abc_test",
      "tagUUID": "cb61daee-4ecd-4dff-8527-66aec6865ca9"
    }
  ],
  "count": 2
}
CODE

List Comments by Scorecard Result UUID

Description: Retrieves comments based on the parent type of scorecard question results.

Method: GET /qualityMonitoring/comment/scorecardQuestionResults/{scorecardResultUUID}

Parameters: 

Request ParameterTypeMandatory?Description

scorecardResultUUID

UUIDYesThe scorecard result UUID.

Response Code: 200 OK

Body:

AttributeTypeMandatory?Description
commentUUIDUUIDNoThe comment UUID of the scorecard question.
clientIdNumberNoThe client ID for which the data is retrieved. 
parentTypeEnumNo

Type of the parent history object. The available options:

  • scorecard
  • scorecard_question
  • interaction
  • annotations
  • scorecard_results
  • scorecard_question_results
parentUUIDUUIDNoUUID of parent type. In this case it is always scorecard_question_results.
descriptionStringNoText of the comment.
createdDateTimestampNoThe date on which the comment was created.
createdByStringNoThe user who created the item.
modifiedDateTimestampNoThe date when the comment was last modified.
modifiedByStringNoThe user who made the last modification.

Get Comment By Scorecard Question UUID

#Request (JSON)
Get /qualityMonitoring/comment/scorecardQuestionResult/1467d00b-3682-47b2-9ce8-694c83a6c6cf 
Host: localhost.com
Content-Type: application/json
Accept: application/json
  
  
#Response
200 OK
Content-Type: application/json  

{
  "size": 3,
  "data": [
    {
      "clientId": 96828,
      "createdDate": 1660271240812,
      "createdBy": "sk_assessor1",
      "modifiedDate": 1660271252548,
      "description": "ss",
      "modifiedBy": "sk_assessor1",
      "commentUUID": "2154dc79-a5ef-4bf2-a437-f34782c471b2",
      "parentType": "scorecard_question_results",
      "parentUUID": "48338943-7fea-4940-a6a3-3e69cff2bb74"
    },
    {
      "clientId": 96828,
      "createdDate": 1660271252216,
      "createdBy": "sk_assessor1",
      "modifiedDate": 1660271252216,
      "description": "ss",
      "commentUUID": "b1b6d2c3-b0cd-4620-9601-4a3937db012a",
      "parentType": "scorecard_question_results",
      "parentUUID": "da29664d-310e-4e1c-8bf5-868bf7357789"
    },
    {
      "clientId": 96828,
      "createdDate": 1660271252205,
      "createdBy": "sk_assessor1",
      "modifiedDate": 1660271252205,
      "description": "ss",
      "commentUUID": "e14cb019-d43d-43d4-8a72-27a71f2e7a99",
      "parentType": "scorecard_question_results",
      "parentUUID": "da29664d-310e-4e1c-8bf5-868bf7357789"
    }
  ]
}
CODE

Reports

Skill Statistic Summary

Description: Provides a summary of the metrics of scored interactions for each of the skills configured in QM. 

Method: POST /qualityMonitoring/report/skill/summary

Parameters: None

Body:

KeyTypeMandatory?Description

timezone

StringNo

The timezone that QM will use. The default timezone is EST.

startDate

TimeStampYes

Start of the date range to search. The range must not exceed two months.

endDate
TimeStampYes

End of the date range to search.

clientIdNumberNoThe client ID for which the data is retrieved. Defaults to the value of the clientId from LV-Session, if not provided.

Response Code: 200 OK

Body:

Key or AttributeTypeMandatory?Description

data

ArrayNo
AttributeTypeMandatory?Description
skillUUIDUUIDYesQM Skill UUID (Not the same as SIQ's Skill UUID).

skillName

StringNoName of the QM Agent Skill.

avgDuration

NumberNoThe average duration of the interactions for this skill.

avgTalkOver

NumberNoThe average duration agent talked over the customer for this skill.
avgTalkOverPercentNumberNo

Percentage duration agent talked over the customer for this skill.

avgSilenceNumberNoThe average duration of the silence of the interactions for this skill.
avgSilencePercentNumberNoPercentage duration of the interactions for this skill.
avgAgentSentimentNumberNoAverage of the agent's AWS sentiment score of the interactions for this skill.
avgCustomerSentimentNumberNoAverage of the customer's AWS sentiment score of the interactions for this skill.
avgSentimentNumberNoAverage of the AWS sentiment score of the interactions for this skill.
totalScoredNumberNoTotal interactions that have been evaluated for this skill.
totalInteractionsNumberYesTotal interactions for this skill.
scoredPercentNumberNoPercentage of the interactions that have been evaluated for this skill.
avgScoreNumberNoAverage evaluation scores of the scored interactions for this skill.

Get Skill Summary List

#Request (JSON)
POST /qualityMonitoring/report/skill/summary
Host: localhost.com
Content-Type: application/json  

{
  "startDate": "2022-04-12T06:00:08.108Z",
  "endDate": "2022-05-16T06:00:08.108Z",
  "clientId": "90960",
  "timezone": "America/New_York"
}  
#Response
200 OK
Content-Type: application/json  

{
  "data": [
    {
      "skillUUID": "a2cd92ed-c906-4c00-9c89-6df180a9a105",
      "skillName": "Default English",
      "avgDuration": 93.7,
      "avgTalkOver": 0,
      "avgTalkOverPercent": 0,
      "avgSilence": 73.1,
      "avgSilencePercent": 77.9,
      "avgAgentSentiment": 0,
      "avgCustomerSentiment": 97.34,
      "totalScored": 10,
      "totalInteractions": 10,
      "scoredPercent": 100,
      "avgScore": 12.91
    }
  ],
  "size": 1
}
CODE

Scorecard Statistics Summary

Description: Provides a summary of the metrics of interactions by scorecard in QM. 

Method: POST /qualityMonitoring/report/scorecard/summary

Parameters: None

Body:

KeyTypeMandatory?Description

timezone

StringNo

The timezone that QM uses. The default timezone is EST.

startDate

TimeStampYes

Start of the date range to search.   

endDate
TimeStampYes

End of the date range to search.

clientIdNumberNo

The client ID for which the data is retrieved. Defaults to the value of the clientId from LV-Session, if not supplied.

scorecardUUIDsListYesList of scorecard UUIDs to get a summary.

Response Code: 200 OK

Body:

Key or AttributeTypeMandatory?Description

data

ArrayNo
AttributeTypeMandatory?Description
totalScoredNumberYesThe total number of scored interactions that matches this search.

gradeCount

NumberNoThe number of grades.

grade

StringNoThe grade scored.

averageScore

NumberNoAverage scores of matching scored interactions.
percentScoredNumberNo

Percentage of matching interactions that are scored.


Get Scorecard Summary

#Request (JSON)
POST /qualityMonitoring/report/scorecard/summary
Host: localhost.com
Content-Type: application/json  

{
  "startDate": "2022-04-13T06:00:08.108Z",
  "endDate": "2022-05-18T06:00:08.108Z",
  "clientId": "112782",
  "scorecardUUIDs": [
    "15e83ff7-540b-4447-90ca-44dcc40ee0f2"
  ],
  "timezone": "Asia/Calcutta"
}  

#Response
200 OK
Content-Type: application/json


{
  "data": [
    {
      "totalScored": 5,
      "averageScore": 28,
      "percentScored": 100,
      "grade": "Poor",
      "gradeCount": 5
    },
    {
      "totalScored": 30,
      "averageScore": 100,
      "percentScored": 100,
      "grade": "Pass",
      "gradeCount": 30
    },
    {
      "totalScored": 0,
      "averageScore": 0,
      "percentScored": 0,
      "grade": "Fail",
      "gradeCount": 0
    }
  ],
  "size": 3
}
CODE

Scorecard Statistics

Description: Provides a summary of the metrics of interactions by scorecard in QM. 

Method: POST /qualityMonitoring/report/scorecard/statistics

Parameters: None

Body:

KeyTypeMandatory?Description

timezone

StringNo

The timezone that QM uses. The default timezone is EST.

startDate

TimeStampYes

Start of the date range to search. The range should not exceed two months.

endDate
TimeStampYes

End of the date range to search.

clientIdNumberNoThe client ID for which the data is retrieved. Defaults to the value of  the clientId from LV-Session, if not supplied.

Response Code: 200 OK

Body:

Key or AttributeTypeMandatory?Description

data

ArrayNo
AttributeTypeMandatory?Description
averageScoreNumberYesAverage of the scores of the interactions matching this search.

scorecardType

StringNoType of scorecard.

totalScored

NumberNoThe total number of scored interactions that matches this search.

highScore

NumberNoThe highest score for this scorecard.
lowScoreNumberNo

The lowest score for this scorecard.

nameStringNoName of this scorecard.
averageDurationNumberNoThe average duration of the interactions that were scored.
totalCallsNumberNoThe total number of interactions in the report.
percentScoredNumberNoPercentage of the totalCalls that have been scored.

scorecardUUIDs

List
Yes
List of scorecard UUIDs to retrieve stats.

Get Scorecard Statistics

#Request (JSON)
POST /qualityMonitoring/report/scorecard/statistics
Host: localhost.com
Content-Type: application/json  

{
  "clientId": 97471,
  "startDate": "2022-03-23T06:00:08.108Z",
  "endDate": "2022-05-22T06:00:08.108Z",
  "timezone": "America/New_York"
}  

#Response
200 OK
Content-Type: application/json  {
  "data": [
    {
      "name": "SUJITH1",
      "scorecardType": "manual",
      "totalScored": 1,
      "averageScore": 100,
      "averageDuration": 60,
      "lowScore": 100,
      "highScore": 100
    },
    {
      "name": "AutoMatedScorecard_For_WordCloud_Test",
      "scorecardType": "auto",
      "totalScored": 9,
      "averageScore": 0,
      "averageDuration": 97,
      "lowScore": 0,
      "highScore": 0
    },
    {
      "name": "SK Testing 1",
      "scorecardType": "manual",
      "totalScored": 1,
      "averageScore": 42,
      "averageDuration": 60,
      "lowScore": 42,
      "highScore": 42
    }
  ],
  "size": 3
}
CODE

Keyword Usage

Description: Lists the keywords and their usage. 

The client must have keywords configured and populated in Quality Monitor for this call to return data.

Method: POST /qualityMonitoring/report/keyword/usage

Parameters: None

Body:

KeyTypeMandatory?Description

timezone

StringNo

The timezone that QM uses. The default timezone is EST.

startDate

TimeStampYes

Start of the date range to search. The range should not exceed two months.

endDate
TimeStampYes

End of the date range to search.

clientIdNumberNo

The client ID for which the data is retrieved. Defaults to the value of the clientId from LV-Session, if not supplied.

Response Code: 200 OK

Body:

Key or AttributeTypeMandatory?Description

data

ArrayNo
AttributeTypeMandatory?Description

keywordListUUID

UUIDNoUUID of the keyword list.

keywordUUID

UUIDNoThe UUID of the keyword.

totalInteractions

NumberNoTotal interactions for this keyword.

name

StringNoText of the keyword.

keywords

NumberNoTotal number of keywords in the keyword list.

useByDay

ArrayNo
AttributeTypeMandatory?Description
dateTimeStampYesDate for the below count.

count

NumberYesCount on the date.

Get a Keyword Usage Report

#Request (JSON)
POST /qualityMonitoring/report/keyword/usage
Host: localhost.com
Content-Type: application/json  

{
  "startDate": "2022-04-23T06:00:08.108Z",
  "endDate": "2022-05-22T06:00:08.108Z",
  "clientId": "97471",
  "timezone": "America/New_York",
  "keywordSearch": {
    "keywords": [
      {
        "keywordListUUID": "036ff8bb-8d49-41df-a52f-fc7757225e02"
      }
    ],
    "exactPhraseOrder": false
  }
}   

#Response
200 OK
Content-Type: application/json  {
  "data": [
    {
      "keywordUUID": "f4c2c7ae-e858-4cf7-bcb9-3fde2364f291",
      "name": "one",
      "totalInteractions": 4,
      "useByDay": {
        "2022-04-23": 0,
        "2022-04-24": 0,
        "2022-04-25": 0,
        "2022-04-26": 0,
        "2022-04-27": 0,
        "2022-04-28": 0,
        "2022-04-29": 0,
        "2022-04-30": 0,
        "2022-05-01": 0,
        "2022-05-02": 0,
        "2022-05-03": 0,
        "2022-05-04": 0,
        "2022-05-05": 4,
        "2022-05-06": 0,
        "2022-05-07": 0,
        "2022-05-08": 0,
        "2022-05-09": 0,
        "2022-05-10": 0,
        "2022-05-11": 0,
        "2022-05-12": 0,
        "2022-05-13": 0,
        "2022-05-14": 0,
        "2022-05-15": 0,
        "2022-05-16": 0,
        "2022-05-17": 0,
        "2022-05-18": 0,
        "2022-05-19": 0,
        "2022-05-20": 0,
        "2022-05-21": 0,
        "2022-05-22": 0
      }
    }
  ],
  "size": 1
}
CODE

Keyword Statistics By Agent

Description: Counts the keywords used by the agent. 

Method: POST /qualityMonitoring/report/keyword/byAgent

Parameters: None

Body:

KeyTypeMandatory?Description

timezone

StringNo

The timezone that QM uses. The default timezone is EST.

startDate

TimeStampYes

Start of the date range to search. The range should not exceed two months.

endDate
TimeStampYes

End of the date range to search.

clientIdNumberNo

The client ID for which the data is retrieved. Defaults to the value of the clientId from LV-Session, if not supplied.

keywordSearchDetails


No
AttributeTypeMandatory?Description

exactPhraseOrder

BooleanNoFlag indicating the exact phrase order search of the keyword in the interaction.

exactPhraseOrderPosition

EnumNo

Exact position of the phrase in the interaction in seconds. The available options are follows: 

  • first_30
  • last_30
  • first_60
  • last_60
  • duration_percent
  • all

exactPhraseOrderChannel

EnumNo

Interaction channel to search for the phrase order. The available options are follows: 

  • agent
  • customer
  • either

keywords

Array

No

KeyTypeMandatory?Description

keywordListUUID

UUIDNo

The UUID of a QM Keyword list, it is not a list of UUIDs itself.

channel

EnumNo

Channel of the communication. The available options are follows: 

  • agent
  • customer
  • either
positionEnumNo

The available options are follows: 

  • first_30
  • last_30
  • first_60
  • last_60
  • all

keywordsFoundIn

BooleanNoIndicates that the report should have the keywords present in the keyword list. Defaults to true.

allowPhraseSlop

BooleanNoWildcard search in the keyword list (if the value is false then only exact matches ). Defaults to false.

keywordMatch

EnumNo

All keywords in the list should match, as per the option. The available options are as below:

  • any
  • all

otherKeywords

Array[String]NoSearch with individual keyword or with whole keyword list.
conditionalKeywordStringNoSearch for a single specified keyword.
minimumShouldMatchStringNoThe minimum percentage to be matched in the keyword list.

Response Code: 200 OK

Body:

Key or AttributeTypeMandatory?Description

data

ArrayNo
AttributeTypeMandatory?Description
totalCallsNumberYesTotal interactions.

agentName

StringNo

Name of the agent.  

This might not match the agent name in LVP, or maybe not even be an agent in LVP.

agentId

NumberNo

The ID of the agent.

This might not match the Agent ID in LVP, or maybe not even be an agent in LVP.

agentUUID

UUIDYes

QM/SIQ agent UUID.

keywordListsArrayNo
AttributeTypeMandatory?Description
keywordListUUIDUUIDYesThe UUID of the keyword list (not the keyword).
keywordListNameStringNoName of the keyword list.
totalCountNumberNoCount of the instances of usages of a keyword in this keyword list.

Get Keyword statistics by agent

#Request (JSON)
POST /qualityMonitoring/report/keyword/byAgent
Host: localhost.com
Content-Type: application/json  

{
  "startDate": "2022-03-23T06:00:08.108Z",
  "endDate": "2022-05-22T06:00:08.108Z",
  "timezone": "America/New_York",
  "keywordSearch": {
    "keywords": [
      {
        "allowPhraseSlop": false,
        "keywordMatch": "any",
        "keywordsFoundIn": true,
        "channel": "either",
        "minimumShouldMatch": "100%",
        "position": "all",
        "otherKeywords": [],
        "otherKeywordListUUIDs": [],
        "keywordListUUID": "036ff8bb-8d49-41df-a52f-fc7757225e02"
      }
    ]
  }
}  

#Response
200 OK
Content-Type: application/json  {
  "data": [
    {
      "agentUUID": "4ca35d79-87e7-484b-8507-7f70cde087b4",
      "agentId": 0,
      "agentName": "Lionel Messi",
      "totalCalls": 1
    },
    {
      "agentUUID": "4d70aeb5-d4ab-455d-b928-4433c2ccfc5e",
      "agentId": 0,
      "agentName": "Robert Lewandowski",
      "totalCalls": 1
    },
    {
      "agentUUID": "528e380b-a45f-4098-bba6-04317d003581",
      "agentId": 0,
      "agentName": "Riyad Mahrez",
      "totalCalls": 1
    },
    {
      "agentUUID": "5573c346-678b-4db4-843e-d4e617959068",
      "agentId": 0,
      "agentName": "Cristiano Ronaldo",
      "totalCalls": 1
    },
    {
      "agentUUID": "5e264fc7-0aab-4f8f-b54e-f79a11b973bd",
      "agentId": 0,
      "agentName": "Neymar player",
      "totalCalls": 1
    },
    {
      "agentUUID": "619396e8-899c-4e8c-9342-13939b1160e1",
      "agentId": 0,
      "agentName": "Sadio Man",
      "totalCalls": 1
    },
    {
      "agentUUID": "6c03ca4f-b481-4281-ba77-fc29cf41c3ac",
      "agentId": 0,
      "agentName": "Erling Haaland",
      "totalCalls": 1
    },
    {
      "agentUUID": "73bb1763-e01e-4cd2-bcc9-3c716e8cb2c5",
      "agentId": 0,
      "agentName": "Kevin De Bruyne",
      "totalCalls": 1
    },
    {
      "agentUUID": "8659f4a6-78b3-48cc-83ce-00bdb81d9ee3",
      "agentId": 0,
      "agentName": "Virgil van Dijk",
      "totalCalls": 1
    },
    {
      "agentUUID": "c0fe25ca-f488-434f-aa23-0c6c4cd8d4b9",
      "agentId": 0,
      "agentName": "Kylian Mbapp",
      "totalCalls": 1
    }
  ],
  "size": 10
}
CODE

Agent Summary

Description:  Provides agent performance statistics.

Method: POST /qualityMonitoring/report/agent/summary

Parameters: None

Body:

KeyTypeMandatory?Description

timezone

StringNo

The timezone that QM uses. The default timezone is EST.

startDate

TimeStampYes

Start of the date range to search. The range should not exceed two months.

endDate

TimeStampYes

End of the date range to search.

clientIdNumberNoThe client ID for which the data is retrieved. Defaults to the value of the clientId from LV-Session, if not provided.

Response Code: 200 OK

Body:

Key or AttributeTypeMandatory?Description

data

ArrayNo
AttributeTypeMandatory?Description
totalCallsNumberYesTotal interactions.

averageDuration

NumberNo

Average of the duration values of the matching interactions.

averageSilence

NumberNoAverage of silence time of the matching interactions.

averageTalkover

NumberNoAverage of the duration values of the matching interactions.
averageAgentSentimentNumberNo

Average of the agent sentiment score values of the matching interactions.

If the client does not have transcripts configured, this is always zero.

averageCustomerSentimentNumberNo

Average of the customer sentiment score values of the matching interactions.

If the client does not have transcripts configured, this is always zero.

averageSentimentNumberNo

Average of the sentiment score values of the matching interactions.

If the client does not have transcripts configured, this is always zero.

averageScoreNumberNoAverage of the score value of the matching interactions.
highScoreNumberNoThe highest score of the matching interactions.
lowScoreNumberNoThe lowest score of the matching interactions.
totalScoredNumberNoThe total number of matching interactions that are scored.
agentUUIDUUIDNo

The QM Agent UUID.

nameStringNo

The name of the agent.

This might not match the name in LVP, or maybe an agent is not in LVP.

questionUUIDUUIDNoUUID of the scorecard question.


Get agent summary report

#Request (JSON)
POST /qualityMonitoring/report/agent/summary
Host: localhost.com
Content-Type: application/json  

{
  "clientId": 97471,
  "startDate": "2022-03-23T06:00:08.108Z",
  "endDate": "2022-05-22T06:00:08.108Z",
  "timezone": "America/New_York"
}  

#Response
200 OK
Content-Type: application/json  {
  "data": [
    {
      "agentUUID": "4ca35d79-87e7-484b-8507-7f70cde087b4",
      "totalCalls": 1,
      "totalScored": 1,
      "averageScore": 21,
      "averageDuration": 60,
      "averageSilence": 46,
      "averageTalkover": 0,
      "averageAgentSentiment": 0,
      "averageCustomerSentiment": 98,
      "averageSentiment": 0,
      "lowScore": 0,
      "highScore": 42
    },
    {
      "agentUUID": "4d70aeb5-d4ab-455d-b928-4433c2ccfc5e",
      "totalCalls": 1,
      "totalScored": 1,
      "averageScore": 0,
      "averageDuration": 90,
      "averageSilence": 71,
      "averageTalkover": 0,
      "averageAgentSentiment": 0,
      "averageCustomerSentiment": 95,
      "averageSentiment": 0,
      "lowScore": 0,
      "highScore": 0
    },
    {
      "agentUUID": "528e380b-a45f-4098-bba6-04317d003581",
      "totalCalls": 1,
      "totalScored": 1,
      "averageScore": 0,
      "averageDuration": 90,
      "averageSilence": 71,
      "averageTalkover": 0,
      "averageAgentSentiment": 0,
      "averageCustomerSentiment": 95,
      "averageSentiment": 0,
      "lowScore": 0,
      "highScore": 0
    },
    {
      "agentUUID": "5573c346-678b-4db4-843e-d4e617959068",
      "totalCalls": 1,
      "totalScored": 1,
      "averageScore": 0,
      "averageDuration": 146,
      "averageSilence": 113,
      "averageTalkover": 0,
      "averageAgentSentiment": 0,
      "averageCustomerSentiment": 97,
      "averageSentiment": 0,
      "lowScore": 0,
      "highScore": 0
    },
    {
      "agentUUID": "5e264fc7-0aab-4f8f-b54e-f79a11b973bd",
      "totalCalls": 1,
      "totalScored": 1,
      "averageScore": 0,
      "averageDuration": 120,
      "averageSilence": 95,
      "averageTalkover": 0,
      "averageAgentSentiment": 0,
      "averageCustomerSentiment": 99,
      "averageSentiment": 0,
      "lowScore": 0,
      "highScore": 0
    },
    {
      "agentUUID": "619396e8-899c-4e8c-9342-13939b1160e1",
      "totalCalls": 1,
      "totalScored": 1,
      "averageScore": 0,
      "averageDuration": 120,
      "averageSilence": 95,
      "averageTalkover": 0,
      "averageAgentSentiment": 0,
      "averageCustomerSentiment": 99,
      "averageSentiment": 0,
      "lowScore": 0,
      "highScore": 0
    },
    {
      "agentUUID": "6c03ca4f-b481-4281-ba77-fc29cf41c3ac",
      "totalCalls": 1,
      "totalScored": 1,
      "averageScore": 100,
      "averageDuration": 60,
      "averageSilence": 46,
      "averageTalkover": 0,
      "averageAgentSentiment": 0,
      "averageCustomerSentiment": 98,
      "averageSentiment": 0,
      "lowScore": 100,
      "highScore": 100
    },
    {
      "agentUUID": "73bb1763-e01e-4cd2-bcc9-3c716e8cb2c5",
      "totalCalls": 1,
      "totalScored": 1,
      "averageScore": 0,
      "averageDuration": 45,
      "averageSilence": 35,
      "averageTalkover": 0,
      "averageAgentSentiment": 0,
      "averageCustomerSentiment": 0,
      "averageSentiment": 0,
      "lowScore": 0,
      "highScore": 0
    },
    {
      "agentUUID": "8659f4a6-78b3-48cc-83ce-00bdb81d9ee3",
      "totalCalls": 1,
      "totalScored": 1,
      "averageScore": 0,
      "averageDuration": 146,
      "averageSilence": 113,
      "averageTalkover": 0,
      "averageAgentSentiment": 0,
      "averageCustomerSentiment": 97,
      "averageSentiment": 0,
      "lowScore": 0,
      "highScore": 0
    },
    {
      "agentUUID": "c0fe25ca-f488-434f-aa23-0c6c4cd8d4b9",
      "totalCalls": 1,
      "totalScored": 1,
      "averageScore": 0,
      "averageDuration": 60,
      "averageSilence": 46,
      "averageTalkover": 0,
      "averageAgentSentiment": 0,
      "averageCustomerSentiment": 98,
      "averageSentiment": 0,
      "lowScore": 0,
      "highScore": 0
    }
  ],
  "size": 10
}
CODE

Interaction

Interaction Search

Description: Searches for interactions using the provided filters.

Method: POST /qualityMonitoring/interaction/search

Body: 

Attribute

Type

Mandatory?

Description

scrollIdStringNoThis (Interaction Search) method's  response returns a scroll ID in the response. You can then use the scroll ID to retrieve the next batch of results for the request.
requestObjectYes
AttributeTypeMandatory?Description
accountStringNo

Account identifier value.

accounts

Array

No

A string array of account identifiers.

agentUUIDsArrayNo

An array of the agent UUIDs.

You can retrieve these UUIDs for agents by using the List Agents by Clients method (GET /qualityMonitoring/agent/{clientId}/[?active={n}]).

assessorIdsArrayNo

An integer array of IDs for assessors.

callCenterIdsArrayNo

An integer array of IDs for call centers.

channelsNumberNo

Number of total channels in the interaction. For example, dual channel audio has 2 channels.

clientIdNumberYes

The client ID for which the data is retrieved. 

clientMetadataObjectYes

An array of objects. 

This is client-provided data

Attribute

Type

Mandatory?

.

<*>StringNoThis is client provided data so the attributes will differ. 
dateFilterTypeEnumNo

The avilable options are as follows:

  • call_date
  • added_date
  • transcript_date
  • last_reviewed_date
  • acknowledge_date
  • arbitration_date
dateFilterObjectYes
AttributeTypeMandatory?Description
dateFromTimestampYesStarting range for the interactions.
dateToTimestampYesEnding range for the interactions.

OR

AttributeTypeMandatory?Description.
dateRangeTypeEnumYes

The available options are:

  • last_month
  • last_month_to_date
  • last_week
  • month_to_date
  • next_month
  • next_week
  • one_month
  • this_week
  • three_weeks
  • today
  • two_weeks
  • yesterday
emailsArrayNoA string array of email addresses.
fromIntegerNoInteraction records start to display from this specified position. For example, if you have 100+ records, then this field is used for pagination. So, if the value of the form is 100, the records are displayed form the 101 position (offset=100).
intentTypeUUIDsArrayNoA string array of UUIDs of the intent types.
interactionIntentUUIDsArrayNo

A string array of UUIDs of the intents.

You can retrieve these UUIDs by using the Interaction Intent Types method (GET /qualityMonitoring/interaction/intentTypes/{clientId}[?active={n}]).

interactionTypesArrayNo

Type of interaction. The available options are: 

  • audio
  • chat_transcript
  • email
  • text_message
  • video
interactionUUIDsArrayNoA string array of interaction UUIDs.
keywordSearch
No
AttributeTypeMandatory?Description

exactPercentStart

NumberNoThe time in percentage to start the search in transcribe.

exactPercentStop

NumberNoThe time in percentage to stop the search in transcribe.

exactPhraseOrder

BooleanNoOrder of the sequence of keywords in the list.

exactPhraseOrderChannel

EnumNo

Channel of the interaction. The available options are as follows: 

  • agent
  • customer
  • either

exactPhraseOrderPosition

EnumNo

Exact position of the phrase in the interaction in seconds. The available options are follows: 

  • first_30
  • last_30
  • first_60
  • last_60
  • duration_percent
  • all

exactSecondStart

NumberNoThe time in seconds to start the search in transcribe.

exactSecondStop

NumberNoThe time in seconds to stop the search in transcribe.

orOnly

BooleanNoFlag indicating that the keyword search uses only the OR function for each value and never uses the AND function.

keywords

ArrayNo

A searchable word in an interaction. 

KeyTypeMandatory?Description
allowFuzzySearching
BooleanNoSearch for text that matches a keyword closely instead of exactly.
allowPhraseSlop
BooleanNoWildcard search in keyword list (if no then only exact matches). Defaults to false.
channelEnumNo

The available options are:

  • agent
  • customer
  • either 
conditionalKeywordStringNo

You can supply a needed keyword instead of a keyword list.

For example: conditionalKeyword1 AND conditionalKeyword2

keywordListUUIDUUIDNoUUID of the keyword list.
keywordMatchEnumNo

The available options are as follows: 

  • any
  • all
keywordsFoundInBooleanNoIndicates that the report should have the keywords present in the keyword list. Defaults to true.
minimumShouldMatchStringNoSpecifies the percentage to be matched in the keyword list.
otherKeywordListUUIDsArrayNoA string array of UUIDs of the keyword lists.
otherKeywordsArrayNoA string array of needed keywords that are not part of the supplied keyword list.
percentStartNumberNoThe time in percentage to start the search in transcribe.
percentStopNumberNoThe time in percentage to stop the search in transcribe.
pivotWordStringNoWord to use to find if any words in the keyword list are nearby.
positionEnumNo

The available options are as follows:

  • all
  • duration_percent
  • first_30
  • first_60
  • last_30
  • last_60
  • seconds
secondStartNumberNoThe time in seconds to start the search in transcribe.
secondStopNumberNoThe time in seconds to start the search in transcribe.
maxDurationNumberNoMaximum duration of interactions.
minDurationNumberNoMinimum duration of interactions.
phoneNumbersArrayNoA string array of phone numbers.
scorecardGradesArrayNoA string array of question grades.
scorecardUUIDsArrayNoA string array of UUIDs of the scorecards.
sentimentEnumNoOverall sentiment of the interaction (positive, neutral, or negative).
sentimentBelongsToEnumNoThe sentiment to whom it belongs (agent, customer, either).
sentimentExistsBooleanNoIndicates if the sentiment exists for the channel (agent, customer, or either).
serviceIdsArrayNoAn integer array of IDs for services.
silencePercentageFromNumberNoSilence percentage start.
silencePercentageToNumberNoSilence percentage end.
sizeNumberYesNumber of documents to return from the scroll at one time. You can choose between 1-250 per request.
savedFilterUUIDStringNo

Unique search object ID.

skillUUIDsArrayNo

A string array of UUIDs of the skills.

tagsArrayNoA string array of UUIDs of the tags.
talkOverPercentageFromNumberNoStarting percentage for talk over time.
talkOverPercentageToNumberNoEnding percentage for talk over time .
termCodeIdsArrayNoAn integer array of IDs of term codes.
timeFromStringNoThe time to start search for interaction.
timeToStringNoThe time to stop search for interaction.
timezoneStringNoThe timezone of the interaction.

Response Code: 200 OK

Body:

AttributeTypeMandatory?Description

interactionUUID

UUIDYesUUID of the interaction.
clientUUIDUUIDNoClient UUID.
clientIdNumberNoThe client ID for which the data is retrieved. 
skillUUIDUUIDNoSkill UUID.
skillNameStringNoName of the skill.
agentUUIDUUIDNo

Agent UUID.

linkedAgentUUIDsArrayNoA string array of UUIDs of linked agents.
agentIdNumberNoAgent ID. 
agentNameStringNoAgent name.
agentTeamIdNumberNoAgent team ID.
transactionIdNumberNoTransaction ID.
callSessionIdStringNoLiveVox call session ID.
objectIdStringNoLiveVox object ID.
callCenterIdNumberNoCall center ID. 
callCenterNameStringNoCall center name.
serviceIdNumberNoService ID. 
serviceNameStringNoName of the service.
campaignIdNumberNoCampaign ID. 
campaignNameStringNoName of the Campaign.
campaignTypeIdNumberNoCampaign type ID.
threadIdNumberNoInteraction thread ID (Used only for SMS, Chat, and email interactions).
accountStringNoAccount number.
termCodeIdNumberNoTerm code ID of the interaction. 
originalAccountNumberStringNoLiveVox original account field.
startTimestampTimestampNoInteraction start time.
endTimestampTimestampNoInteraction end time.
addedTimestampTimestampNoThe time when the interaction was added to the system.
cleanedWordsBooleanNoIndicates if this interaction has run through the retention process.
transcriptReceivedTimestampTimestampNoTimestamp of the received call's transcript when it is generated.
sentimentReceivedTimestampTimestampNoTimestamp of the sentiment of the interaction that was received.
transcriptStatusStringNoStatus of the call transcription.
durationNumberNoNumber of seconds of the interaction.
holdDurationNumberNoNumber of seconds on hold.
silenceDurationNumberNoNumber of seconds the interaction was silent.
maxSilenceDurationNumberNoLongest period of silence.
maxSilenceStartTimeNumberNoStart time of longest silence.
talkOverDurationNumberNoTime agent talked over the customer.
interactionTypeStringNoType of interaction. 
callDirectionStringNoThe call direction.
phoneNumberStringNoPhone number.
emailStringNoEmail address.
livevoxClientBooleanNoFlag indicating if this is a LiveVox client.
transcriptJobUUIDUUIDNoUUID of the transcript.
failedBooleanNoFailed processing flag.
errorMsgStringNoError message from processing failure.
retentionModifiedDateTimestampNoDate until the interaction is saved.
createdDateTimestampNoThe date when the interaction was created.
createdByStringNoThe user who created the interaction.
modifiedDateTimestampNoThe date when the interaction was last modified.
modifiedByStringNoThe user who last modified the interaction.
clientSettingsUUIDUUIDNoQM client settings (Elastic Search server sourced interactions only) UUID. 
clientIntegrationUUIDUUIDNoUUID of the client's integration settings options for this interaction. 
clientIntegrationNameStringNoName of the integration.
billedDurationNumberNo

The total duration of the interaction that is billed. The minimum time billed per transcription is 30 seconds. Billed time increments are 30 seconds.

For example,

  • If the interaction is for 22 seconds, the billedDuration is 30 seconds.
  • If the interaction is for 68 seconds, the billedDuration is 90 seconds.
transcribedTimesNumberNoAmount of time the transcription took.
scoreMethodStringNoOption used for scoring calculations.
sourceStringNoSource of data, if imported.
redactedStringNoFlag showing if transcript has redacted content.
releaseScorecardsToAgentBooleanNoFlag indicating if scorecards can be accessed by agents.
releaseToAgentBooleanNoFlag indicating if the agent received the evaluation.
thirdPartyCallIdStringNoThird-party call ID.
languageStringNoLanguage of the transcription.
agentChannelObjectNo
AttributeTypeMandatory?Description
first30StringNo

Voice transcript of the first 30 seconds.

last30StringNoVoice transcript of the last 30 seconds.
first60StringNoVoice transcript of the first 60 seconds.
last60StringNoVoice transcript of the last 60 seconds.
sentimentScoreNumberNoSentiment score.
sentimentMixedNumberNoMixed sentiment score.
sentimentStringNoOverall sentiment of the interaction (Positive, Neutral, Negative).
transcriptStringNoVoice transcripts for this channel.
transcriptWithTimestampsStringNoTime of the transcript.
wordsChannelNumberNoChannel of this  interaction.
talkTimeNumberNoTime during the interaction when there was not silence.
customerChannelObjectNo
AttributeTypeMandatory?Description
first30StringNo

Voice transcript of the first 30 seconds.

last30StringNoVoice transcript of the last 30 seconds.
first60StringNoVoice transcript of the first 60 seconds.
last60StringNoVoice transcript of the last 60 seconds.
sentimentScoreNumberNoSentiment score.
sentimentMixedNumberNoMixed sentiment score.
sentimentStringNoOverall sentiment of the interaction (Positive, Neutral, Negative).
transcriptStringNoThe voice transcripts for this channel.
transcriptWithTimestampsStringNoShows timestamps of the transcript.
wordsChannelNumberNoChannel of this interaction.
talkTimeNumberNoTime during the interaction that there was not silence.
bothChannelObjectNo
AttributeTypeMandatory?Description
first30StringNo

Voice transcript of the first 30 seconds.

last30StringNoVoice transcript of the last 30 seconds.
first60StringNoVoice transcript of the first 60 seconds.
last60StringNoVoice transcript of  the last 60 seconds.
sentimentScoreNumberNoSentiment score.
sentimentMixedNumberNoMixed sentiment score.
sentimentStringNoOverall sentiment of the interaction (positive, neutral, or negative).
transcriptStringNoThe voice transcripts for this channel.
transcriptWithTimestampsStringNoShows the timestamps for the transcript.
wordsChannelNumberNoChannel of this interaction.
talkTimeNumberNoTime during the interaction that there was not silence.
primaryInteractionDriverObjectNo

This is the first intent found. The primary reason for the interaction.

AttributeTypeMandatory?Description
uuidUUIDNoUUID of an intent.
driverStringNoName of the driver.
driverWordsStringNoWord that you are looking for in the transcript.
reasonStringNoName of keyword list of reasons.
reasonWordsNumberNoWord that qualifies from keyword lists.
intentTypesArrayNoAn integer list of the UUIDs of intent types.
intentTypeNamesArrayNoA string list of the intent type names.
interactionIntentsArrayNo
AttributeTypeMandatory?Description
uuidUUIDNoUUID of an intent.
driverStringNoName of the driver.
driverWordsStringNoWord that you are looking for in the transcript.
reasonStringNoName of keyword list of reasons.
reasonWordsNumberNoWord that qualifies from keyword lists.
intentTypesArrayNoAn integer list of the UUIDs of intent types.
intentTypeNamesArrayNoA string list of the intent type names.
tagsArrayNo

Tags are labels that you create (during an interaction review) to group the related interactions together for quick filtering.

AttributeTypeMandatory?Description
tagUUIDUUIDYes

Tag UUID.

clientUUIDUUIDNoClient UUID .
clientIdNumberNoClient ID (Should not be assumed to be the LiveVox clientId).
nameStringNoTag name.
activeBooleanNoFlag indicating if the tag is currently active.
createdByStringNoThe user who created the tag.
createdDateTimestampNoThe time when the tag was created.
modifiedByStringNoThe user who last modified the intent of the tag.
modifiedDateTimestampNoThe date when the tag was last modified.
tagNamesArrayNo

A string array of tag names.

clientMetadataObjectNo
AttributeTypeMandatory?Description
<*>StringNoThis is client-provided data so the attributes can differ. 
scorecard_resultsArrayNo
AttributeTypeMandatory?Description
scorePercentageNumberNo

The percentage scored by this interaction.

interactionUUIDUUIDNoInteraction UUID.
totalPointsNumberNoTotal points of scorecard.
isDisputedBooleanNoIndicates whether the scorecard results are being disputed.
arbitrationRequiredBooleanNoIndicates whether arbitration is required for this interaction.
totalPointsPossibleNumberNoMaximum score for the scorecard.
weightedCalBooleanNoIndicates whether this scorecard is weighted.
uuidUUIDNoUUID of the scorecard result.
scorecardUUIDUUIDNoScorecard UUID.
originalScorePercentageNumberNoPercentage of the evaluated questions or scorecard.
gradeTypeStringNo

Displays the scorecard grade type.

scoredTimestampTimestampNo

The time when the scorecard was scored.

acknowledgerNameStringNo

Identifies who evaluated the scorecard (arbitrator, accessor, or autoscore).

arbitratorTimestampTimestampNo

The time when an arbitrator reviewed the disputed acknowledgement task.

acknowledgeTimestampTimestampNo

The time when an agent disputed the acknowledgement task.

originalScoreNumberNo

Total score evaluated.

scorerUserIdNumberNo

The ID of the scoring user.

acknowledgementRequiredBooleanNo

Indicates whether the agent receives the acknowledgement task on the agent desktop.

arbitratorNameStringNo

Name of arbitrator.

scorecardTypeStringNoType of scorecard (auto or manual).
scorecardNameStringNoName of scorecard.
questionResultsArrayNo

List of questions with answer details.

AttributeTypeMandatory?Description
answerStringNoAnswer chosen for the question. 
uuidUUIDNo

UUID of the question's result.


pointsNumberNo

Points awarded.

autoFailedBooleanNo

Indicates whether this is an auto fail.

questionWeightPercentageNumberNo

Weight percentage.

questionScorePercentageNumberNo

Percentage of the evaluated questions or scorecard.

questionTypeEnumNo

The type of question. The available options are as follows:

  • yes_no
  • multi_choice
  • multi_answer
  • short_answer 

Search Interactions

#Request (JSON)
POST  /qualityMonitoring/interaction/search
Host: localhost.com
Content-Type: application/json
Accept: application/json

{
  "scrollId": "",
  "request": {
    "clientId": 94229,
    "dateFilter": {
      "dateFrom": "2022-09-07T10:12:26.587Z",
      "dateTo": "2022-09-16T10:12:26.587Z"
    },
    "size": 3
  }
}   
  
#Response
200 OK
Content-Type: application/json


{
  "interactions": [
    {
      "interactionUUID": "41b3bf10-8213-4be0-b6d1-3905e3f2c165",
      "skillUUID": "b108cee2-62c6-4211-8cc3-8808a79583d1",
      "skillName": "ATG17",
      "agentUUID": "66faf2ab-f2ae-4ecb-9d0c-89822ccd70e5",
      "agentName": "Agent1 lvqapass1",
      "agentId": 635276,
      "agentTeamId": 16341,
      "transactionId": "56043454455",
      "callSessionId": "U2116T63223263@10.201.21.162",
      "objectId": "cfaf63b6-0001-b425-10b8-01833d94d732",
      "callCenterId": 11431,
      "callCenterName": "Call Center",
      "serviceId": 94251,
      "serviceName": "Manual-SRI",
      "campaignId": 120131891,
      "campaignName": "94251_MANUAL_CALLS_09-14-2022",
      "account": "aass1",
      "startTimestamp": 1663185507000,
      "endTimestamp": 1663185655169,
      "transcriptReceivedTimestamp": 1663185691690,
      "sentimentReceivedTimestamp": 1663185693185,
      "duration": 148,
      "holdDuration": 0,
      "silenceDuration": 146,
      "maxSilenceDuration": 134,
      "maxSilenceStartTime": 14470,
      "talkOverDuration": 0,
      "interactionType": "audio",
      "phoneNumber": "4156716052",
      "transcriptJobUUID": "1db82e3b-9970-4691-b025-9e51081ce647",
      "livevoxClient": false,
      "ftpRecord": false,
      "addedDate": 1663185666480,
      "clientSettingsUUID": "d9c296ab-e34f-4ac9-867f-ba0af217e511",
      "clientIntegrationUUID": "629294cb-7b62-40bc-aec2-8bd918cff2bc",
      "language": "english",
      "redacted": false,
      "billedDuration": 150,
      "transcribedTimes": 1,
      "clientMetadata": {
        "Call Session ID": "U2116T63223263@10.201.21.162",
        "Campaign ID": 120131891,
        "Object ID": "cfaf63b6-0001-b425-10b8-01833d94d732",
        "Transaction ID": "56043454455",
        "Agent Disposition ID": 641,
        "Agent Disposition": "Wrong Number",
        "Call Type": "Manual"
      },
      "interactionMetadata": {
        "talkOverPercentage": 0,
        "silencePercentage": 99,
        "channels": 2,
        "bitrate": 64000,
        "codec": "MP3 (MPEG audio layer 3)"
      },
      "agentChannel": {
        "first30": "huh",
        "last30": "",
        "first60": "huh",
        "last60": "",
        "sentimentScore": 0,
        "transcript": "huh",
        "wordsChannel": 1,
        "talkTime": 0
      },
      "customerChannel": {
        "first30": "procedures ammar mar",
        "last30": "",
        "first60": "procedures ammar mar",
        "last60": "",
        "sentimentScore": 0,
        "sentiment": "neutral",
        "transcript": "procedures ammar mar",
        "wordsChannel": 2,
        "talkTime": 1
      }
    },
    {
      "interactionUUID": "cfb6bfbd-f3f2-42a5-b169-a7ec4d84bb17",
      "skillUUID": "b108cee2-62c6-4211-8cc3-8808a79583d1",
      "skillName": "ATG17",
      "agentUUID": "66faf2ab-f2ae-4ecb-9d0c-89822ccd70e5",
      "agentName": "Agent1 lvqapass1",
      "agentId": 635276,
      "agentTeamId": 16341,
      "transactionId": "56043454416",
      "callSessionId": "U20FET6322314D@10.201.21.162",
      "objectId": "ba4038fe-0001-b20e-a986-01833d909b72",
      "callCenterId": 11431,
      "callCenterName": "Call Center",
      "serviceId": 94251,
      "serviceName": "Manual-SRI",
      "campaignId": 120131891,
      "campaignName": "94251_MANUAL_CALLS_09-14-2022",
      "account": "aass1",
      "startTimestamp": 1663185229000,
      "endTimestamp": 1663185431824,
      "transcriptReceivedTimestamp": 1663185496962,
      "duration": 202,
      "holdDuration": 0,
      "silenceDuration": 201,
      "maxSilenceDuration": 195,
      "maxSilenceStartTime": 6620,
      "talkOverDuration": 0,
      "interactionType": "audio",
      "phoneNumber": "4156716052",
      "transcriptJobUUID": "1419b2c6-0a40-4de6-acd6-b1bd9dd2b98b",
      "livevoxClient": false,
      "ftpRecord": false,
      "addedDate": 1663185449150,
      "clientSettingsUUID": "d9c296ab-e34f-4ac9-867f-ba0af217e511",
      "clientIntegrationUUID": "629294cb-7b62-40bc-aec2-8bd918cff2bc",
      "language": "english",
      "redacted": false,
      "billedDuration": 210,
      "transcribedTimes": 1,
      "clientMetadata": {
        "Call Session ID": "U20FET6322314D@10.201.21.162",
        "Campaign ID": 120131891,
        "Object ID": "ba4038fe-0001-b20e-a986-01833d909b72",
        "Transaction ID": "56043454416",
        "Agent Disposition ID": 641,
        "Agent Disposition": "Wrong Number",
        "Call Type": "Manual"
      },
      "interactionMetadata": {
        "talkOverPercentage": 0,
        "silencePercentage": 100,
        "channels": 2,
        "bitrate": 64000,
        "codec": "MP3 (MPEG audio layer 3)"
      },
      "agentChannel": {
        "first30": "melchiorre",
        "last30": "",
        "first60": "melchiorre",
        "last60": "",
        "sentimentScore": 0,
        "transcript": "melchiorre",
        "wordsChannel": 1,
        "talkTime": 0
      },
      "customerChannel": {
        "first30": "",
        "last30": "",
        "first60": "",
        "last60": "",
        "sentimentScore": 0,
        "transcript": "",
        "wordsChannel": 2,
        "talkTime": 0
      }
    },
    {
      "interactionUUID": "227cc8f6-5e01-4c71-b987-819468a9db93",
      "skillUUID": "b108cee2-62c6-4211-8cc3-8808a79583d1",
      "skillName": "ATG17",
      "agentUUID": "69b559bb-b3ee-4562-b607-5ee5435fdab9",
      "agentName": "Agent2 lvqapass1",
      "agentId": 635277,
      "agentTeamId": 16341,
      "transactionId": "56043453553",
      "callSessionId": "U1696T6321F76D@10.201.21.165",
      "objectId": "322877f4-0001-b9b1-0efb-01833caf00b2",
      "callCenterId": 11431,
      "callCenterName": "Call Center",
      "serviceId": 94243,
      "serviceName": "ATG_Inbound",
      "campaignId": 120131889,
      "campaignName": "94243_CALLBACK_CALLS_09-14-2022",
      "account": "kmkrtest001",
      "startTimestamp": 1663170413000,
      "endTimestamp": 1663170508810,
      "transcriptReceivedTimestamp": 1663170547426,
      "sentimentReceivedTimestamp": 1663170548735,
      "duration": 64,
      "holdDuration": 0,
      "silenceDuration": 60,
      "maxSilenceDuration": 23,
      "maxSilenceStartTime": 14900,
      "talkOverDuration": 0,
      "interactionType": "audio",
      "phoneNumber": "6178498810",
      "transcriptJobUUID": "07a7192d-1faa-489d-b99f-ffab0a257a69",
      "livevoxClient": false,
      "ftpRecord": false,
      "addedDate": 1663170523555,
      "clientSettingsUUID": "d9c296ab-e34f-4ac9-867f-ba0af217e511",
      "clientIntegrationUUID": "629294cb-7b62-40bc-aec2-8bd918cff2bc",
      "language": "english",
      "redacted": false,
      "billedDuration": 120,
      "transcribedTimes": 1,
      "clientMetadata": {
        "Call Session ID": "U1696T6321F76D@10.201.21.165",
        "Campaign ID": 120131889,
        "Object ID": "322877f4-0001-b9b1-0efb-01833caf00b2",
        "Transaction ID": "56043453553",
        "Agent Disposition ID": 625,
        "Agent Disposition": "Refused to Pay",
        "Call Type": "Inbound Call"
      },
      "interactionMetadata": {
        "talkOverPercentage": 0,
        "silencePercentage": 94,
        "channels": 2,
        "bitrate": 16000,
        "codec": "MP3 (MPEG audio layer 3)"
      },
      "agentChannel": {
        "first30": "one more info huh",
        "last30": "much failure in direction out",
        "first60": "one more info huh much failure in direction",
        "last60": "one more info huh much failure in direction out",
        "sentimentScore": -10,
        "sentiment": "negative",
        "transcript": "one more info huh much failure in direction out",
        "wordsChannel": 1,
        "talkTime": 4
      },
      "customerChannel": {
        "first30": "",
        "last30": "",
        "first60": "",
        "last60": "",
        "sentimentScore": 0,
        "transcript": "",
        "wordsChannel": 2,
        "talkTime": 0
      }
    }
  ],
  "scrollId": "FGluY2x1ZGVfY29udGV4dF91dWlkDnF1ZXJ5VGhlbkZldGNoDBY4VWstUlBrdVNReTNXZEZRVjJnNXV3AAAAAADHEL4WbFN1WVVGRDdUQmVZYms0cE9KWnhIQRY4VWstUlBrdVNReTNXZEZRVjJnNXV3AAAAAADHEL0WbFN1WVVGRDdUQmVZYms0cE9KWnhIQRZManRaTEx4dFNtNjVxQlFIQnk0M3p3AAAAAADfML4WMjI3V0RJRFlSeTZMN2tHWEdudWJKdxZManRaTEx4dFNtNjVxQlFIQnk0M3p3AAAAAADfMLwWMjI3V0RJRFlSeTZMN2tHWEdudWJKdxZrRUs3TFhpY1NiT0tCX0VIRFRWN2VRAAAAAADgjk0WSFpFcFNLYmRUYWFmeGJyOVY4UnBfZxZrRUs3TFhpY1NiT0tCX0VIRFRWN2VRAAAAAADgjksWSFpFcFNLYmRUYWFmeGJyOVY4UnBfZxZManRaTEx4dFNtNjVxQlFIQnk0M3p3AAAAAADfML0WMjI3V0RJRFlSeTZMN2tHWEdudWJKdxY4VWstUlBrdVNReTNXZEZRVjJnNXV3AAAAAADHELwWbFN1WVVGRDdUQmVZYms0cE9KWnhIQRZrRUs3TFhpY1NiT0tCX0VIRFRWN2VRAAAAAADgjkoWSFpFcFNLYmRUYWFmeGJyOVY4UnBfZxY4VWstUlBrdVNReTNXZEZRVjJnNXV3AAAAAADHELsWbFN1WVVGRDdUQmVZYms0cE9KWnhIQRZrRUs3TFhpY1NiT0tCX0VIRFRWN2VRAAAAAADgjkkWSFpFcFNLYmRUYWFmeGJyOVY4UnBfZxZrRUs3TFhpY1NiT0tCX0VIRFRWN2VRAAAAAADgjkwWSFpFcFNLYmRUYWFmeGJyOVY4UnBfZw=="
}
CODE

Interaction Intent Types

Description: Retrieves existing interaction intent types for a given client.

Method: GET /qualityMonitoring/interaction/intentTypes/{clientId}[?active={n}]

Parameters: None

Body: 

AttributeTypeMandatory?Description
clientIdNumberYesThe client ID for which the data is retrieved.
activeBooleanNo

When set to true, it returns only active skills. If set to false, returns all data regardless of the active field value. Defaults to true if not set.

Response Codes: 200 OK

Body:

AttributeTypeMandatory?Description
dataArrayNo
AttributeTypeMandatory?Description
interactionIntentTypeUUIDUUIDYesThe UUID of the interaction intent type
nameStringNo

Interaction Intent Type name

clientIdNumberNo

The client ID for which the data is retrieved. 

activeBooleanNo

Flag indicating if the intent type is currently active. 

createdDateTimestampNo

The time when the intent type comment was created.

createdByStringNo

The user who created the intent type.

modifiedDateTimestampNo

The date when the intent type was last modified.

modifiedByStringNo

The user who last modified the intent type

sizeNumberNo

Count of records returned.

Get the list of Interaction Intent Types

#Request (JSON)
Get /qualityMonitoring/interaction/intentTypes/94229 
Host: localhost.com
Content-Type: application/json
Accept: application/json  

{
  "clientId": 94229,
  "active": true
}  


#Response
200 OK
Content-Type: application/json  

{
  "size": 1,
  "data": [
    {
      "interactionIntentTypeUUID": "a415b3f4-356a-42a3-8698-938bbfca434e",
      "name": "Test again",
      "clientId": 94229,
      "active": true,
      "createdDate": 1620396474638,
      "createdBy": "toconnor",
      "modifiedDate": 1620396484022,
      "modifiedBy": "toconnor"
    }
  ]
}
CODE

Interaction Intent

Description: Provides the intent values for selected interactions.

Method: GET /qualityMonitoring/interaction/intent/{clientId}/[active={n}&offset={n}&count={n}]

Parameters: 

Request ParameterTypeMandatory?Description
clientIdNumberYes

The client ID for which the data is retrieved. QM/SIQ support client data sharing so you must specify for which client the data is being requested.

activeBooleanNo

When set to true, the system returns only currently active skills. If set to false, returns all data regardless of the active field value.  Defaults to true if not set.

countNumberYesNumber of records to return. Must be between 1 and 100.
offsetNumberYesNumber of records to skip over before returning. Must be zero or greater.

Response Code: 200 OK

Body:

Key or AttributeTypeMandatory?Description

data

ArrayNo
AttributeTypeMandatory?Description
interactionIntentUUIDUUIDYes

Interaction intent UUIID.

clientUUIDStringNo

UUID of the client in QM.

This property is not used currently.

clientIdNumberNoThe client ID for which the data is retrieved.
keywordListNameStringNoLabel of the keyword group.
keywordListUUIDUUIDNoUUID of the keyword list.
nameStringNoName of the intent.
languageStringNoLanguage.
allowDuplicatesBooleanNoFlag to allow duplicates.
activeBooleanNoFlag if it is active.
modifiedDateDateNoThe date when it was last modified.
modifiedByStringNoThe user who made the last modification.
createdDateDateNoThe date on which the interaction was created.
createdByStringNoThe user who created the item.
keywordsArrayNo
AttributeTypeMandatory?Description
keywordUUIDUUIDYes

Keyword UUID.

keywordStringNoKeyword value.
keywordListUUIDUUIDNoKeyword list UUID.
modifiedDateDateNoThe date when it was last modified.
modifiedByStringNoThe user who made the last modification.
createdDateDateNoDate it was created.
createdByStringNoThe user who created the item.
interactionIntentReasonsArrayNo
AttributeTypeMandatory?Description
interactionIntentUUIDUUIDYes

Interaction UUID.

activeBooleanYesAn active flag.
interactionIntentReasonUUIDUUIDNoInteraction intent reason UUID.
keywordListUUIDUUIDNoKeyword list UUID.
intentTypeUUIDSArrayNoList of type UUIDs.
intentTypesArrayNo
AttributeTypeMandatory?Description
interactionIntentTypeUUIDUUIDNo

Interaction intent type UUID.

nameStringNoIntent type value.
keywordList
No
AttributeTypeMandatory?Description
keywordUUIDUUIDYes

Keyword UUID.

keywordStringNoKeyword value.
keywordListUUIDUUIDNoKeyword list UUID.
clientUUIDUUIDNo

UUID of the client in QM.

This property is not used currently.

clientIdNumberNoClient ID from the LiveVox Portal.
nameStringNoName of the intent.
keywordCloudBooleanNoThe associated keyword list used by default in the word cloud.
keywords
No
AttributeTypeMandatory?Description
keywordUUIDUUIDYes

Keyword UUID.

keywordStringNoKeyword value.
keywordListUUIDUUIDNoKeyword list UUID.
modifiedDateDateNoThe date when it was last modified.
modifiedByStringNoThe user who made the last modification.
createdDateDateNoThe time when the keyword was created.
createdByStringNoThe user who created the item.
activeBooleanNoFlag showing if active.
modifiedDateDateNoThe date when it was last modified.
modifiedByStringNoThe user who made the last modification.
createdDateDateNoThe date when it was created.
createdByStringNoThe user who created the item.
nextBooleanNoFlag to return an additional data.

Get the Interaction Intent

#Request (JSON)
GET /qualityMonitoring/interaction/intent/90960?offset=0&count=2&active=true
Host: localhost.com
Content-Type: application/json

#Response
200 OK
Content-Type: application/json

{
  "offset": 0,
  "count": 2,
  "size": 2,
  "next": true,
  "data": [
    {
      "interactionIntentUUID": "11adefda-0598-4f20-ae81-924f92770b95",
      "clientId": 90960,
      "keywordListUUID": "0140634c-b9a6-4a34-ac58-cff3d130d2ce",
      "keywordListName": "Valid_Qa_Test_Long_Keyword_List2",
      "name": "Jake Test COPY",
      "language": "english",
      "allowDuplicates": false,
      "active": true,
      "createdDate": 1622128825708,
      "createdBy": "jmcclanahan",
      "modifiedDate": 1627609359571
    },
    {
      "interactionIntentUUID": "2bc85e0b-a424-4b04-b28e-13849ba7bdd3",
      "clientId": 90960,
      "keywordListUUID": "614a442b-87af-48b3-bf76-26ade116d044",
      "keywordListName": "MP KL 2",
      "name": "MP II T1",
      "language": "english",
      "allowDuplicates": true,
      "active": true,
      "createdDate": 1628021819233,
      "createdBy": "mpalacio",
      "modifiedDate": 1628021819233
    }
  ]
}
CODE

Interaction Lookup

Description: Provides information about a specific interaction and its evaluations.

Method: GET /qualityMonitoring/interaction/{InteractionUUID}

Parameters: 

Request ParameterTypeMandatory?Description
interactionUUIDUUIDYes

The UUID of the interaction in the Elastic Search Service.

Response Code: 200 OK

Body:

Key or AttributeTypeMandatory?Description

interactionUUID

UUIDYes

The UUID of the interaction in the Elastic Search Service.

clientUUIDUUIDNoClient UUID.
clientIdNumberNoClient ID (do not assume that this is the LiveVox clientId).
skillUUIDUUIDNoUUID of the skill associated with the agent.
skillNameStringNoName of the skill.
agentUUIDUUIDNoUUID of an agent that is associated with the interaction.
linkedAgentUUIDsArrayNoA string array of UUIDs of linked agents.
agentIdNumberNoAgent ID (do not assume that this is the LiveVox agent ID).
agentNameStringNoAgent name.
agentTeamIdNumberNoAgent team ID.
transactionIdNumberNoTransaction ID.
callSessionIdStringNoLivevox call session ID.
objectIdStringNoLivevox object ID.
callCenterIdNumberNoCall center ID (do not assume that this is the LiveVox call center)
callCenterNameStringNoCall center name.
serviceIdNumberNoService ID (do not assume that this is the the LiveVox service).
serviceNameStringNoCall center service name.
campaignIdNumberNoCampaign ID (do not assume that this is  the LiveVox campaign).
campaignTypeIdNumberNoCampaign type ID.
threadIdNumberNoInteraction thread ID (used only for SMS, Chat, and email interactions).
accountStringNoAccount identifier value.
termCodeIdNumberNoTerm code ID (do not assume that this is  the LiveVox term code).
originalAccountNumberStringNoLiveVox original account field.
startTimestampTimeStampNoInteraction start timestamp.
endTimestampTimeStampNoInteraction end timestamp.
addedTimestampTimestampNoTimestamp of when the interaction was added to the system.
transcriptReceivedTimestampTimeStampNoTimestamp of the received call's transcript when it was generated.
sentimentReceivedTimestampTimeStampNoThe timestamp when the sentiment of the interaction was received.
transcriptStatusStringNoStatus of the transcript generation of the call.
durationNumberNoThe number of seconds of the interaction.
holdDurationNumberNoNumber of seconds on hold.
silenceDurationNumberNoThe number of seconds the interaction was silent.
maxSilenceDurationNumberNoThe longest period of silence.
maxSilenceStartTimeNumberNoStart time of longest silence.
talkOverDurationNumberNoThe time the agent talked over the customer.
interactionTypeStringNoType of interaction.
callDirectionStringNoCall direction.
fileHashStringNoHash of the recording file.
fileNameStringNoName of the recording file.
phoneNumberStringNoPhone number.
emailStringNoEmail address.
livevoxClientBooleanNoFlag indicating if this is a LiveVox client.
transcriptJobUUIDUUIDNoUUID of the transcript.
failedBooleanNoFailed processing flag.
errorMsgStringNoError message from processing failure.
retentionModifiedDateTimeStampNoDate until which the interaction is saved.
createdDateTimeStampNoThe time when the interaction was created.
createdByStringNoThe user who created the interaction.
modifiedDateTimeStampNoDate the interaction was last modified.
modifiedByStringNoThe user who last modified the interaction.
clientSettingsUUIDUUIDNoQM client settings (Elastic Search Service-sourced interactions only) UUID. 
clientIntegrationUUIDUUIDNoUUID of the client's integration settings options for this interaction (Elastic Search Service-sourced interactions only). 
clientIntegrationNameStringNoName of the integration
billedDurationNumberNoSI-calculated time of the interaction that is billed (Elastic Search Service-sourced interactions only). 
transcribedTimesNumberNoThe amount of time it took to transcribe the transcription.
scoreMethodStringNoThis option is used for scoring calculations.
sourceStringNoSource of data if imported.
redactedStringNoFlag indicating whether the transcript has redacted content.
releaseScorecardsToAgentBooleanNoFlag indicating whether scorecards can be accessed by agents.
releaseToAgentBooleanNoFlag indicating whether the agent received the evaluation.
thirdPartyCallIdStringNoThird-party caller ID.
languageStringNoLanguage of the transcription.
agentChannel
No
Request ParameterTypeMandatory?Description
first30StringNo

Voice transcript of the first 30 seconds.

last30StringNoVoice transcript of the last 30 seconds.
first60StringNoVoice transcript of the first 60 seconds.
last60StringNoVoice transcript of the last 60 seconds.
sentimentScoreNumberNoNumeric sentiment score 0 -100. 
sentimentMixedNumberNoIndicates whether the interaction had mixed sentiment (equal parts positive, neutral, and so on.).
sentimentStringNoOverall sentiment of the interaction (positive, neutral, or negative).
transcriptStringNoVoice transcripts for this channel.
transcriptWithTimestampsStringNoTimestamps of the transcript.
wordsChannelNumberNoChannel of this interaction. 
talkTimeNumberNoTime during the interaction when there was no silence.
customerChannel
No
Request ParameterTypeMandatory?Description
first30StringNo

Voice transcript of the first 30 seconds.

last30StringNoVoice transcript of the last 30 seconds.
first60StringNoVoice transcript of the first 60 seconds.
last60StringNoVoice transcript of the last 60 seconds.
sentimentScoreNumberNoSentiment score. 
sentimentMixedNumberNoMixed sentiment score.
sentimentStringNoOverall sentiment of the interaction (positive, neutral, or negative).
transcriptStringNoThe voice transcripts for this channel.
transcriptWithTimestampsStringNoShows timestamps for the transcript
wordsChannelNumberNoChannel of this interaction.
talkTimeNumberNoTime during the interaction when there was no silence.
bothChannel
No
Request ParameterTypeMandatory?Description
first30StringNo

Voice transcript of the first 30 seconds.

last30StringNoVoice transcript of the last 30 seconds.
first60StringNoVoice transcript of the first 60 seconds.
last60StringNoVoice transcript of  the last 60 seconds.
sentimentScoreNumberNoSentiment score. 
sentimentMixedNumberNoMixed sentiment score
sentimentStringNoOverall sentiment of the interaction (positive, neutral, or negative).
transcriptStringNoThe voice transcripts for this channel.
transcriptWithTimestampsStringNoShows timestamps of the transcript
wordsChannelNumberNoChannel of this interaction.
talkTimeNumberNoTime during the interaction when there was no silence.
primaryInteractionDriverObjectNo

This is the first intent found. The primary reason for the interaction.

Attribute

Type

Mandatory?

Description

uuidUUIDNoUUID of intent
driverStringNoName of the driver
driverWordsStringNoWord that you are looking for in the transcript
reasonStringNoName of keyword list of reasons
reasonWordsNumberNoWord that qualifies from keyword lists
intentTypesArrayNoAn integer list of the UUIDs of intent types
intentTypeNamesArrayNoA string list of the intent type names
interactionIntentsArrayNo

Attribute

Type

Mandatory?

Description

uuidUUIDNoUUID of intent
driverStringNoName of the driver
driverWordsStringNoWord that you are looking for in the transcript
reasonStringNoName of keyword list of reasons
reasonWordsNumberNoWord that qualifies from keyword lists
intentTypesArrayNoAn integer list of the UUIDs of intent types
intentTypeNamesArrayNoA string list of the intent type names
tagsArrayNo
Request ParameterTypeMandatory?Description
tagUUIDUUIDYes

Tag UUID.

clientUUIDUUIDNoClient UUID.
clientIdNumberNoClient ID (It should not be assumed to be theLiveVox clientId).
nameStringYesTag name.
activeBooleanNoFlag indicating if the tag is active.
createdByStringNoThe user who created the tag.
createdDateTimeStampNoThe time when the tag created.
modifiedByStringNoThe user who last modified the tag.
modifiedDateTimeStampNoThe date when the tag was last modified.
tagNamesArrayNo

A string array of tag names

clientMetadataObjectNo

Attribute

Type

Mandatory?

Description

<*>StringNoThis is client provided data so the values will differ. 
scorecard_resultsArrayNo

Attribute

Type

Mandatory?

Description

scorePercentageNumberNo

Percentage of the evaluated questions or scorecard.

interactionUUIDUUIDNoThe UUID of the interaction in the Elastic Search Service.
totalPointsNumberNoTotal points of scorecard.
isDisputedBooleanNoIndicates whether this scorecard results are  being disputed.
arbitrationRequiredBooleanNoIndicates whether arbitration was required for this interaction.
totalPointsPossibleNumberNoMaximum score for this scorecard.
weightedCalBooleanNoIndicates whether this scorecard is weighted.
uuidUUIDNoUUID of the scorecard result.
scorecardUUIDUUIDNoScorecard UUID.
originalScorePercentageNumberNoPercentage of the evaluated questions or scorecard.
gradeTypeStringNo

The type of scorecard grade.

scoredTimestampTimestampNo

The time when the scorecard was scored.

acknowledgerNameStringNo

User who has evaluated the score card (arbitrator, accessor, or autoscore).

arbitratorTimestampTimestampNo

The time when an arbitrator reviewed the disputed acknowledgement task.

acknowledgeTimestampTimestampNo

The time when an agent disputed the acknowledgement task.

originalScoreNumberNo

Total score evaluated.

scorerUserIdNumberNo

ID of scoring user.

acknowledgementRequiredBooleanNo

Flag indicating whether an acknowledgment is required.

arbitratorNameStringNo

Name of an arbitrator.

scorecardTypeStringNoType of scorecard: Can be either auto or manual.
scorecardNameStringNoName of scorecard.
questionResultsArrayNo

Attribute

Type

Mandatory?

Description

answerStringNoAnswer chosen for the question. 
uuidUUIDNo

UUID of question result.


pointsNumberNo

Points awarded.

autoFailedBooleanNo

Indicates whether this is an auto fail.

questionWeightPercentageNumberNo

Weight percentage

questionScorePercentageNumberNo

Percentage of the evaluated questions or scorecard.

questionTypeEnumNo

The question type and available options are as follows:

  • yes_no
  • multi_choice
  • multi_answer
  • short_answer 


Get the interaction details with its evaluation

#Request (JSON)
GET /qualityMonitoring/interaction/227cc8f6-5e01-4c71-b987-819468a9db93
Host: localhost.com
Content-Type: application/json

#Response
200 OK
Content-Type: application/json    

{
  "interactionUUID": "227cc8f6-5e01-4c71-b987-819468a9db93",
  "clientId": 94229,
  "skillUUID": "b108cee2-62c6-4211-8cc3-8808a79583d1",
  "agentUUID": "69b559bb-b3ee-4562-b607-5ee5435fdab9",
  "agentId": 635277,
  "agentTeamId": 16341,
  "transactionId": "56043453553",
  "callSessionId": "U1696T6321F76D@10.201.21.165",
  "tags": [],
  "objectId": "322877f4-0001-b9b1-0efb-01833caf00b2",
  "callCenterId": 11431,
  "callCenterName": "Call Center",
  "serviceId": 94243,
  "serviceName": "ATG_Inbound",
  "campaignId": 120131889,
  "campaignName": "94243_CALLBACK_CALLS_09-14-2022",
  "campaignTypeId": 0,
  "account": "kmkrtest001",
  "termCodeId": 732,
  "termCode": "AGENT - Refused to Pay",
  "startTimestamp": 1663170413000,
  "endTimestamp": 1663170508810,
  "transcriptReceivedTimestamp": 1663170547426,
  "sentimentReceivedTimestamp": 1663170548735,
  "transcriptStatus": "received",
  "duration": 64,
  "holdDuration": 0,
  "silenceDuration": 60,
  "maxSilenceDuration": 23,
  "maxSilenceStartTime": 14900,
  "talkOverDuration": 0,
  "interactionType": "audio",
  "fileHash": "73e7cd42f88bf54eb1d79c03c4865ced",
  "fileName": "322877f4-0001-b9b1-0efb-01833caf00b2.mp3",
  "phoneNumber": "6178498810",
  "transcriptJobUUID": "07a7192d-1faa-489d-b99f-ffab0a257a69",
  "failed": false,
  "agentSentiment": "negative",
  "livevoxClient": true,
  "ftpRecord": false,
  "linkedAgentUUIDs": [],
  "clientSettingsUUID": "d9c296ab-e34f-4ac9-867f-ba0af217e511",
  "clientIntegrationUUID": "629294cb-7b62-40bc-aec2-8bd918cff2bc",
  "language": "english",
  "redacted": false,
  "billedDuration": 120,
  "transcribedTimes": 1,
  "clientMetadata": {
    "Call Session ID": "U1696T6321F76D@10.201.21.165",
    "Campaign ID": 120131889,
    "Object ID": "322877f4-0001-b9b1-0efb-01833caf00b2",
    "Transaction ID": "56043453553",
    "Agent Disposition ID": 625,
    "Agent Disposition": "Refused to Pay",
    "Call Type": "Inbound Call"
  },
  "interactionMetadata": {
    "talkOverPercentage": 0,
    "silencePercentage": 94,
    "channels": 2,
    "bitrate": 16000,
    "codec": "MP3 (MPEG audio layer 3)"
  },
  "agentChannel": {
    "first30": "one more info huh",
    "last30": "much failure in direction out",
    "first60": "one more info huh much failure in direction",
    "last60": "one more info huh much failure in direction out",
    "sentimentScore": -10,
    "sentiment": "negative",
    "transcript": "one more info huh much failure in direction out",
    "wordsChannel": 1,
    "talkTime": 4
  },
  "customerChannel": {
    "first30": "",
    "last30": "",
    "first60": "",
    "last60": "",
    "sentimentScore": 0,
    "transcript": "",
    "wordsChannel": 2,
    "talkTime": 0
  },
  "createdBy": "app_speechrec",
  "createdDate": 1663170523556,
  "modifiedBy": "app_siq",
  "modifiedDate": 1663170548750
}
CODE

Interaction History 

Description: Provides interaction history data.

Method: GET /qualityMonitoring/interaction/history/{historyUUID}/

Parameters: 

Request ParameterTypeMandatory?Description
historyUUIDUUIDYes

UUID of the history instance.

Response Code: 200 OK

Body:

Key or AttributeTypeMandatory?Description

historyUUID

UUIDYes

UUID of the history entry.

nameStringYesHistory label. 
clientIdNumberNoThe client ID for which the data is retrieved. 
clientUUIDUUIDNoClient UUID.
parentTypeStringNoType of the parent history object.
parentUUIDUUIDNoUUID of the parent history object.
childUUIDUUIDNoUUID of the child history object.
descriptionStringNoDescription of the history entry.
createdByStringNoThe user who created the interaction.
createdDateTimeStampNoThe time when the interaction was created.

Get the interaction history details

#Request (JSON)
GET /qualityMonitoring/interaction/history/00063c0f-079b-43b9-949f-dd08321f219f/
Host: localhost.com
Content-Type: application/json

#Response
200 OK
Content-Type: application/json

{
  "historyUUID": "00063c0f-079b-43b9-949f-dd08321f219f",
  "clientId": 90960,
  "parentType": "assessors",
  "parentUUID": "0ff94ebb-1382-435d-a7d1-d1da9e3f920e",
  "name": "Assessor Updated",
  "description": "'isAssessor' value changed from 'true' to 'false'\n",
  "createdDate": 1618922299967,
  "createdBy": "SUJITH_ASSESSOR1"
}
CODE

Metadata

Metadata Details

Description: Retrieves existing client metadata for a given interaction.

Method: GET /qualityMonitoring/metadata/{interactionUUID}

Parameters:

AttributeTypeMandatory?Description
interactionUUIDStringYes

The UUID of the interaction in the Elastic Search Service.

To obtain the interactionUUID, use the Interaction Search method (POST /qualityMonitoring/interaction/search). 

Body: None

Response Codes: 200 OK

Body:

AttributeTypeMandatory?Description
clientMetadataObjectNo

An array of Objects

AttributeTypeMandatory?Description
<*>StringNoThis is client provided data so the values will differ.


Get Metadata details

#Request (JSON)
GET  /qualityMonitoring/metadata/41b3bf10-8213-4be0-b6d1-3905e3f2c165 
Host: localhost.com
Content-Type: application/json
Accept: application/json
  
  
#Response
200 OK
Content-Type: application/json  

{
  "Call Session ID": "U2116T63223263@10.201.21.162",
  "Campaign ID": 120131891,
  "Agent Disposition ID": 641,
  "Object ID": "cfaf63b6-0001-b425-10b8-01833d94d732",
  "Agent Disposition": "Wrong Number",
  "Call Type": "Manual",
  "Transaction ID": "56043454455"
}
CODE

Metadata Update

Description: Allows you to add or update existing client metadata for a given interaction. This method overrides any existing values and appends any new values.

Method: POST /qualityMonitoring/metadata

Parameters: None

Body: 

AttributeTypeMandatory?Description
interactionUUIDStringYes

Interaction UUID in the Elastic Search Service.

clientIdNumberYes

The client ID for which the data is retrieved. 

clientMetadataObjectYes

An array of objects. 

To obtain existing values, use the Metadata detail method (GET /qualityMonitoring/metadata/{interactionUUID}) before submitting the request, because this method overrides existing values with what is provided in the request.

AttributeTypeMandatory?Description
<*>StringNoThis is client provided data so the values will differ. 

Response Codes: 204 No Content

Body: N/A

Update Metadata

#Request (JSON)
POST /qualityMonitoring/metadata
Host: localhost.com
Content-Type: application/json
Accept: application/json  

{
  "clientId": 94229,
  "interactionUUID": "41b3bf10-8213-4be0-b6d1-3905e3f2c165",
  "clientMetadata": {
    "Call Session ID": "U2116T63223263@10.201.21.162",
    "Campaign ID": 120131891,
    "Agent Disposition ID": 641,
    "Object ID": "cfaf63b6-0001-b425-10b8-01833d94d732",
    "Agent Disposition": "Schedule CallBack",
    "Call Type": "Manual",
    "Transaction ID": "56043454455"
  }
}    

#Response
204 No Content
CODE

Errors

See the Errors topic on the REST APIs page. 

Top of Page