This method provides the Net Handle Time (NHT) at a skill level. The API retrieves up to 9 weeks of information.
Some metrics are calculated only in 60-minute intervals. These metrics, when calling the API in a 15-minutes interval, will be replicated for each timeframe.
In case there is no data available, the response element will contain -1.
Request
| Method | URL | 
|---|---|
| GET | https://{domain}/operations/api/account/{accountId}/nht?fromDate={timestamp}&toDate={timestamp}&skillIds={comma separated skill ids}&interval={interval in minutes}&source={source name}&v={api version} | 
Request Query Parameters
| Name | Description | Type | Required? | Notes | 
|---|---|---|---|---|
| v | The version of the API | Numeric | No | Two versions are supported: v1 and v2 (If not provided, will be set to v1 for backward compatibility). v1: default version (basic maintenance). v2: pagination support (maintained version) | 
| source | Used to describe the originator of the call. The source name should be unique for every project/process within the organization | String | Yes | Source name should be up to 20 characters. Example: LP_AgentUI | 
| fromDate | Query period: Query start date | ISO format. UTC timezone | Yes — conditional | fromMillis must not be provided. The query period will be limited to 1 week. example format: 2021-07-05T05:00:00 | 
| fromMillis | Query start date (same as above) in Epoch time format | long — Epoch time | Yes — conditional | fromDate must not be provided. The query period will be limited to 1 week. example format: 2021-07-05T05:00:00 | 
| toDate | Query period: Query end date | ISO format. UTC timezone | Yes — conditional | toMillis must not be provided. The query period will be limited to 1 week. example format: 2021-07-05T05:00:00 | 
| toMillis | Query end date (same as above) in Epoch time format | long — Epoch time | Yes — conditional | toDate must not be provided. The query period will be limited to 1 week. example format: 2021-07-05T05:00:00 | 
| interval | Interval size in minutes. When provided, the returned data will be aggregated by intervals of the requested size. The buckets will be rounded to the closest rounded time (e.g. 11:00, 11:15, 11:30) | Numeric | No | Available intervals: 15/30/60. Default: 60 | 
| skillIds | When provided, will return the information for the specific skills. Can be more than 1 skill | String | No | If not provided all skills will be returned. | 
| limit | limits the number of skills per page | Numeric | Optional | Default = 10, Maximum = 10 | 
| offset | staring skill offset | Numeric | Optional | Default = 0 | 
Response
| Property Name | Description | Type | Interval | Default value | Notes | |
|---|---|---|---|---|---|---|
| fromDate | The requested start date | ISO format. UTC timezone | ||||
| fromMillis | Query start date (same as above) in Epoch time format | Long — Epoch time | ||||
| toDate | The requested end date | ISO format. UTC timezone | ||||
| toMilli | Query end date (same as above) in Epoch time format | Long — Epoch time | ||||
| Interval | The requested interval | Integer | ||||
| skillInfo | Skill information container | Array of objects | ||||
| skillId | The skill Id | Long | ||||
| metricsByIntervals | Contains a summary of the requested metrics by intervals | Container only | ||||
| timestamp | Interval start time (human-readable format) | ISO format. UTC timezone | ||||
| epochTimestamp | Interval start time (epoch format) | Long — Epoch time | ||||
| arrivals | Segments arrived to the queue/skill of all types (new conversation, back2Q, transfer to skill) in the interval | Integer | 15/30/60 minutes | |||
| AvgTimeInQueue | The average time a segment waits in the queue before assignment to an agent | Double | 15/30/60 minutes | 0 | ||
| totalAgentSegmentDuration | Total time of all closed segments ending by any means within the interval | Long | 15/30/60 minutes | 0 | ||
| AvgAgentSegmentDuration | Average duration of all closed segments ending by any means within the interval | Double | 15/30/60 minutes | 0 | 0 | |
| avgAvailableLoad | Weighted average load of logged in agents within the interval, this is represented in percentage value for agents that have the skill | Double | 60 minutes only | 0 | Used for the NHT calculation. | |
| messagesSent | Total individual messages sent to consumers within time step by human agents | Integer | 60 minutes only | 0 | Used for the NHT calculation. | |
| handledSegments | Number of individual segments within current interval that have sent at least 1 human agent message (assigned agent) | Integer | 60 minutes only | 0 | Used for the NHT calculation. | |
| avgSegmentWorkTime | The average time it takes for all agents in the skill to work on a message response per skill | Double | 60 minutes only | 0 | Used for the NHT calculation. | |
| netHandleTime | Effort time heuristic LP calculation (NHT) | Double | 60 minutes only | 0 Used for the NHT calculation. | ||
| metadata | Container for additional data | Container | ||||
| count | The total number of results for the query (skills) | Numeric | ||||
| references | An array of links to the pages in the response | Array | ||||
| rel | Pagination: The name of the link. This is based on the “offset” and “limit” elements | String | Possible values: self - the link to the same page in the query. previous - link to the previous page of results. previous - link to the previous page of results. first - link to the first page of the query results. last - link to the last page of the query results. | |||
| href | Pagination: The specific link for each one of the above values | String | The values: self, first, and last will always be returned whereas the others will be returned if there is more than 1 page in the response | 
Response Example (V2)
      {
  "_metadata": {
    "count": 458,
    "references": [{
      "rel": "self",
      "href": "https://[domain].liveperson.net/operations/api/account/[account]/nht?fromDate=2022-05-19T09:00:00&toDate=2022-05-20T10:00:00&offset=0&limit=10&source=sanity&interval=60&v=2"
    },
      {
        "rel": "next",
        "href": "https://[domain].liveperson.net/operations/api/account/[account]/nht?fromDate=2022-05-19T09:00:00&toDate=2022-05-20T10:00:00&offset=10&limit=10&source=sanity&interval=60&v=2"
      },
      {
        "rel": "last",
        "href": "https://[domain].liveperson.net/operations/api/account/[account]/nht?fromDate=2022-05-19T09:00:00&toDate=2022-05-20T10:00:00&offset=450&limit=8&source=sanity&interval=60&v=2"
      },
      {
        "rel": "first",
        "href": "https://[domain].liveperson.net/operations/api/account/[account]/nht?fromDate=2022-05-19T09:00:00&toDate=2022-05-20T10:00:00&offset=0&limit=10&source=sanity&interval=60&v=2"
      }
    ]
  },
  "timeframe": {
    "fromDate": "2022-05-19T09:00:00",
    "toDate": "2022-05-19T10:00:00",
    "fromMillis": 1652950800000,
    "toMillis": 1652954400000
  },
  "interval": 60,
  "skillInfo": [{
    "skillId": 773431,
    "metricsByIntervals": [{
      "timestamp": "2022-05-19T09:00",
      "epochTimestamp": 1652950800000,
      "arrivals": 0,
      "avgAgentSegmentDuration": 3127.00,
      "totalAgentSegmentDuration": 3127,
      "avgTimeInQueue": 3.00,
      "netHandleTime": 699.72,
      "handledSegments": 1,
      "avgAvailableLoad": 0.70,
      "avgSegmentWorkTime": 99.96,
      "messagesSent": 7
    },
      {
        "timestamp": "2022-05-19T10:00",
        "epochTimestamp": 1652954400000,
        "arrivals": 0,
        "avgAgentSegmentDuration": 31.15,
        "totalAgentSegmentDuration": -1,
        "avgTimeInQueue": 31.15,
        "netHandleTime": 1421.36,
        "handledSegments": 1,
        "avgAvailableLoad": 0.71,
        "avgSegmentWorkTime": 236.89,
        "messagesSent": 6
      }
    ]
  }]
}
