curl --request PATCH \
--url https://api.getoneprofile.ai/assistant/settings/ \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"approval_threshold_credits": 50000,
"default_granted_tools": [
"<string>"
],
"default_granted_verbs": []
}
'import requests
url = "https://api.getoneprofile.ai/assistant/settings/"
payload = {
"approval_threshold_credits": 50000,
"default_granted_tools": ["<string>"],
"default_granted_verbs": []
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
approval_threshold_credits: 50000,
default_granted_tools: ['<string>'],
default_granted_verbs: []
})
};
fetch('https://api.getoneprofile.ai/assistant/settings/', 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://api.getoneprofile.ai/assistant/settings/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'approval_threshold_credits' => 50000,
'default_granted_tools' => [
'<string>'
],
'default_granted_verbs' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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://api.getoneprofile.ai/assistant/settings/"
payload := strings.NewReader("{\n \"approval_threshold_credits\": 50000,\n \"default_granted_tools\": [\n \"<string>\"\n ],\n \"default_granted_verbs\": []\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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.patch("https://api.getoneprofile.ai/assistant/settings/")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"approval_threshold_credits\": 50000,\n \"default_granted_tools\": [\n \"<string>\"\n ],\n \"default_granted_verbs\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/assistant/settings/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"approval_threshold_credits\": 50000,\n \"default_granted_tools\": [\n \"<string>\"\n ],\n \"default_granted_verbs\": []\n}"
response = http.request(request)
puts response.read_body{
"approval_threshold_credits": 123,
"default_granted_tools": [
"<string>"
],
"default_granted_verbs": [
"create_table_from_search"
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Change the AI Assistant's action settings
Set the threshold, the default grants, or any of them. A verb that always asks (pushing to a destination) cannot be granted and is refused. The verb list and the operation list are independent: changing one leaves the other exactly as it was.
curl --request PATCH \
--url https://api.getoneprofile.ai/assistant/settings/ \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"approval_threshold_credits": 50000,
"default_granted_tools": [
"<string>"
],
"default_granted_verbs": []
}
'import requests
url = "https://api.getoneprofile.ai/assistant/settings/"
payload = {
"approval_threshold_credits": 50000,
"default_granted_tools": ["<string>"],
"default_granted_verbs": []
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
approval_threshold_credits: 50000,
default_granted_tools: ['<string>'],
default_granted_verbs: []
})
};
fetch('https://api.getoneprofile.ai/assistant/settings/', 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://api.getoneprofile.ai/assistant/settings/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'approval_threshold_credits' => 50000,
'default_granted_tools' => [
'<string>'
],
'default_granted_verbs' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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://api.getoneprofile.ai/assistant/settings/"
payload := strings.NewReader("{\n \"approval_threshold_credits\": 50000,\n \"default_granted_tools\": [\n \"<string>\"\n ],\n \"default_granted_verbs\": []\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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.patch("https://api.getoneprofile.ai/assistant/settings/")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"approval_threshold_credits\": 50000,\n \"default_granted_tools\": [\n \"<string>\"\n ],\n \"default_granted_verbs\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/assistant/settings/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"approval_threshold_credits\": 50000,\n \"default_granted_tools\": [\n \"<string>\"\n ],\n \"default_granted_verbs\": []\n}"
response = http.request(request)
puts response.read_body{
"approval_threshold_credits": 123,
"default_granted_tools": [
"<string>"
],
"default_granted_verbs": [
"create_table_from_search"
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Authorizations
Body
Change the threshold, the default grants, or both; a field left out keeps its value.
0 <= x <= 100000The write operations everybody in this workspace may have the assistant call without asking. Send the current list minus one to take it back.
2008The eight things an AI may do to a workspace.
Exactly eight, not sixty: today's cell-level actions all run against one cell, and building a table, adding contacts to a sequence and starting a search had no home at all. Anything new here is a product decision about what an assistant may touch, not a convenience for a planner.
create_table_from_search, add_column, run_column, enrich_rows, add_contacts_to_sequence, push_to_destination, call_endpoint, start_search Response
Successful Response
What the assistant may apply unasked in this workspace.
Whole credits. Anything priced at or above this always proposes, whatever was granted.
The write operations the assistant may call without asking, for everybody in this workspace. Operation names, as GET /assistant/tools/ lists them.
The verbs a new conversation may apply without asking.
The eight things an AI may do to a workspace.
Exactly eight, not sixty: today's cell-level actions all run against one cell, and building a table, adding contacts to a sequence and starting a search had no home at all. Anything new here is a product decision about what an assistant may touch, not a convenience for a planner.
create_table_from_search, add_column, run_column, enrich_rows, add_contacts_to_sequence, push_to_destination, call_endpoint, start_search Was this page helpful?