Knowledge gaps
curl --request GET \
--url https://{space}.{region}.api.niadra.com/v1/insights/gaps \
--header 'Authorization: Bearer <token>'import requests
url = "https://{space}.{region}.api.niadra.com/v1/insights/gaps"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{space}.{region}.api.niadra.com/v1/insights/gaps', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{space}.{region}.api.niadra.com/v1/insights/gaps",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{space}.{region}.api.niadra.com/v1/insights/gaps"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{space}.{region}.api.niadra.com/v1/insights/gaps")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{space}.{region}.api.niadra.com/v1/insights/gaps")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"gaps": [
{
"could_record": [
{
"name": "<string>",
"source_id": "<string>",
"via": "mapping"
}
],
"customers": 123,
"key": "<string>",
"kind": "no_record",
"subject": "<string>",
"topic": "<string>",
"turns": 123,
"answered_share": 123,
"review": {
"decided_at": "2023-11-07T05:31:56Z",
"decided_by": "<string>",
"decision": "accepted",
"note": "<string>"
}
}
],
"proposals": [
{
"key": "<string>",
"kind": "not_recorded",
"subject": "<string>",
"text": "<string>",
"topic": "<string>",
"review": {
"decided_at": "2023-11-07T05:31:56Z",
"decided_by": "<string>",
"decision": "accepted",
"note": "<string>"
}
}
],
"recurring": [
{
"answered_share": 123,
"customers": 123,
"key": "<string>",
"subject": "<string>",
"topic": "<string>",
"turns": 123,
"review": {
"decided_at": "2023-11-07T05:31:56Z",
"decided_by": "<string>",
"decision": "accepted",
"note": "<string>"
}
}
],
"since": "2023-12-25",
"until": "2023-12-25",
"withheld_groups": 123
}{
"code": "<string>",
"status": 123,
"title": "<string>",
"detail": "<string>",
"request_id": "<string>",
"type": "about:blank"
}Base-wide analysis
Knowledge gaps
What customers ask that memory lacks, which source could record it, the questions it answers every time and the standing answers proposed; counts, never a customer.
GET
/
v1
/
insights
/
gaps
Knowledge gaps
curl --request GET \
--url https://{space}.{region}.api.niadra.com/v1/insights/gaps \
--header 'Authorization: Bearer <token>'import requests
url = "https://{space}.{region}.api.niadra.com/v1/insights/gaps"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{space}.{region}.api.niadra.com/v1/insights/gaps', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{space}.{region}.api.niadra.com/v1/insights/gaps",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{space}.{region}.api.niadra.com/v1/insights/gaps"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{space}.{region}.api.niadra.com/v1/insights/gaps")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{space}.{region}.api.niadra.com/v1/insights/gaps")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"gaps": [
{
"could_record": [
{
"name": "<string>",
"source_id": "<string>",
"via": "mapping"
}
],
"customers": 123,
"key": "<string>",
"kind": "no_record",
"subject": "<string>",
"topic": "<string>",
"turns": 123,
"answered_share": 123,
"review": {
"decided_at": "2023-11-07T05:31:56Z",
"decided_by": "<string>",
"decision": "accepted",
"note": "<string>"
}
}
],
"proposals": [
{
"key": "<string>",
"kind": "not_recorded",
"subject": "<string>",
"text": "<string>",
"topic": "<string>",
"review": {
"decided_at": "2023-11-07T05:31:56Z",
"decided_by": "<string>",
"decision": "accepted",
"note": "<string>"
}
}
],
"recurring": [
{
"answered_share": 123,
"customers": 123,
"key": "<string>",
"subject": "<string>",
"topic": "<string>",
"turns": 123,
"review": {
"decided_at": "2023-11-07T05:31:56Z",
"decided_by": "<string>",
"decision": "accepted",
"note": "<string>"
}
}
],
"since": "2023-12-25",
"until": "2023-12-25",
"withheld_groups": 123
}{
"code": "<string>",
"status": 123,
"title": "<string>",
"detail": "<string>",
"request_id": "<string>",
"type": "about:blank"
}Query Parameters
Response
The gaps, the recurring questions and the proposals of the window, with the groups withheld.
What customers ask that memory cannot answer, and what it answers every time. Counts by subject and category only, never a customer, a value or a text.

