Correct an inference
curl --request POST \
--url https://{space}.{region}.api.niadra.com/v1/profiles/{profile_id}/inferences/{key}/correct \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"value": true,
"reason": "<string>"
}
'import requests
url = "https://{space}.{region}.api.niadra.com/v1/profiles/{profile_id}/inferences/{key}/correct"
payload = {
"value": True,
"reason": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({value: true, reason: '<string>'})
};
fetch('https://{space}.{region}.api.niadra.com/v1/profiles/{profile_id}/inferences/{key}/correct', 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/profiles/{profile_id}/inferences/{key}/correct",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'value' => true,
'reason' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{space}.{region}.api.niadra.com/v1/profiles/{profile_id}/inferences/{key}/correct"
payload := strings.NewReader("{\n \"value\": true,\n \"reason\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{space}.{region}.api.niadra.com/v1/profiles/{profile_id}/inferences/{key}/correct")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"value\": true,\n \"reason\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{space}.{region}.api.niadra.com/v1/profiles/{profile_id}/inferences/{key}/correct")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"value\": true,\n \"reason\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"at": "2023-11-07T05:31:56Z",
"key": "<string>",
"kind": "affinity",
"origin": "<string>",
"attr": "<string>",
"confidence": 123,
"evidence": {},
"for": "self",
"polarity": "prefer",
"ref": "<string>",
"used_for": [
"<string>"
],
"value": true
}{
"code": "<string>",
"status": 123,
"title": "<string>",
"detail": "<string>",
"request_id": "<string>",
"type": "about:blank"
}Signals and constraints
Correct an inference
The value the customer states becomes a stated preference or attribute; the inference is deleted.
POST
/
v1
/
profiles
/
{profile_id}
/
inferences
/
{key}
/
correct
Correct an inference
curl --request POST \
--url https://{space}.{region}.api.niadra.com/v1/profiles/{profile_id}/inferences/{key}/correct \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"value": true,
"reason": "<string>"
}
'import requests
url = "https://{space}.{region}.api.niadra.com/v1/profiles/{profile_id}/inferences/{key}/correct"
payload = {
"value": True,
"reason": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({value: true, reason: '<string>'})
};
fetch('https://{space}.{region}.api.niadra.com/v1/profiles/{profile_id}/inferences/{key}/correct', 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/profiles/{profile_id}/inferences/{key}/correct",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'value' => true,
'reason' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{space}.{region}.api.niadra.com/v1/profiles/{profile_id}/inferences/{key}/correct"
payload := strings.NewReader("{\n \"value\": true,\n \"reason\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{space}.{region}.api.niadra.com/v1/profiles/{profile_id}/inferences/{key}/correct")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"value\": true,\n \"reason\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{space}.{region}.api.niadra.com/v1/profiles/{profile_id}/inferences/{key}/correct")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"value\": true,\n \"reason\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"at": "2023-11-07T05:31:56Z",
"key": "<string>",
"kind": "affinity",
"origin": "<string>",
"attr": "<string>",
"confidence": 123,
"evidence": {},
"for": "self",
"polarity": "prefer",
"ref": "<string>",
"used_for": [
"<string>"
],
"value": true
}{
"code": "<string>",
"status": 123,
"title": "<string>",
"detail": "<string>",
"request_id": "<string>",
"type": "about:blank"
}Body
application/json
Response
Successful Response
One thing the signals infer about the subject, with what it rests on: the subject can see it, correct it and delete it. What the subject said is not an inference, and is not listed.
soft_constraint when the constraints block carries it as a soft entry, attribute for the inferred size, affinity for a value with evidence and no entry yet, interest for an object, instruction for what the subject said must or must not be done about an object (ref, the words in value): said, not inferred, and listed so a correction can withdraw it.
Available options:
affinity, soft_constraint, attribute, interest, instruction 
