Get Reviewer Profile
curl --request POST \
--url https://api.velt.dev/v2/memory/profiles/get \
--header 'Content-Type: application/json' \
--header 'x-velt-api-key: <x-velt-api-key>' \
--header 'x-velt-auth-token: <x-velt-auth-token>' \
--data '
{
"data": {
"targetUserId": "<string>"
}
}
'import requests
url = "https://api.velt.dev/v2/memory/profiles/get"
payload = { "data": { "targetUserId": "<string>" } }
headers = {
"x-velt-api-key": "<x-velt-api-key>",
"x-velt-auth-token": "<x-velt-auth-token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-velt-api-key': '<x-velt-api-key>',
'x-velt-auth-token': '<x-velt-auth-token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({data: {targetUserId: '<string>'}})
};
fetch('https://api.velt.dev/v2/memory/profiles/get', 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.velt.dev/v2/memory/profiles/get",
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([
'data' => [
'targetUserId' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-velt-api-key: <x-velt-api-key>",
"x-velt-auth-token: <x-velt-auth-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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.velt.dev/v2/memory/profiles/get"
payload := strings.NewReader("{\n \"data\": {\n \"targetUserId\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-velt-api-key", "<x-velt-api-key>")
req.Header.Add("x-velt-auth-token", "<x-velt-auth-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://api.velt.dev/v2/memory/profiles/get")
.header("x-velt-api-key", "<x-velt-api-key>")
.header("x-velt-auth-token", "<x-velt-auth-token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"targetUserId\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.velt.dev/v2/memory/profiles/get")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-velt-api-key"] = '<x-velt-api-key>'
request["x-velt-auth-token"] = '<x-velt-auth-token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": {\n \"targetUserId\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"result": {
"userId": "u_sarah",
"name": "Sarah Lee",
"email": "sarah@acme.com",
"totalJudgments": 214,
"approvalRate": 0.62,
"avgReviewTimeSeconds": 87,
"topFlags": [ { "issue": "missing-citation", "count": 31 } ],
"contentTypes": ["marketing-copy"],
"peakHours": [9, 10, 14],
"orgBreakdown": {
"org_eu": {
"organizationId": "org_eu",
"clientOrganizationId": null,
"judgments": 120,
"approvals": 70,
"approvalRate": 0.58
}
},
"lastActive": 1731432000000
}
}
Get Reviewer Profile
POST
/
v2
/
memory
/
profiles
/
get
Get Reviewer Profile
curl --request POST \
--url https://api.velt.dev/v2/memory/profiles/get \
--header 'Content-Type: application/json' \
--header 'x-velt-api-key: <x-velt-api-key>' \
--header 'x-velt-auth-token: <x-velt-auth-token>' \
--data '
{
"data": {
"targetUserId": "<string>"
}
}
'import requests
url = "https://api.velt.dev/v2/memory/profiles/get"
payload = { "data": { "targetUserId": "<string>" } }
headers = {
"x-velt-api-key": "<x-velt-api-key>",
"x-velt-auth-token": "<x-velt-auth-token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-velt-api-key': '<x-velt-api-key>',
'x-velt-auth-token': '<x-velt-auth-token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({data: {targetUserId: '<string>'}})
};
fetch('https://api.velt.dev/v2/memory/profiles/get', 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.velt.dev/v2/memory/profiles/get",
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([
'data' => [
'targetUserId' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-velt-api-key: <x-velt-api-key>",
"x-velt-auth-token: <x-velt-auth-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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.velt.dev/v2/memory/profiles/get"
payload := strings.NewReader("{\n \"data\": {\n \"targetUserId\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-velt-api-key", "<x-velt-api-key>")
req.Header.Add("x-velt-auth-token", "<x-velt-auth-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://api.velt.dev/v2/memory/profiles/get")
.header("x-velt-api-key", "<x-velt-api-key>")
.header("x-velt-auth-token", "<x-velt-auth-token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"targetUserId\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.velt.dev/v2/memory/profiles/get")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-velt-api-key"] = '<x-velt-api-key>'
request["x-velt-auth-token"] = '<x-velt-auth-token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": {\n \"targetUserId\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"result": {
"userId": "u_sarah",
"name": "Sarah Lee",
"email": "sarah@acme.com",
"totalJudgments": 214,
"approvalRate": 0.62,
"avgReviewTimeSeconds": 87,
"topFlags": [ { "issue": "missing-citation", "count": 31 } ],
"contentTypes": ["marketing-copy"],
"peakHours": [9, 10, 14],
"orgBreakdown": {
"org_eu": {
"organizationId": "org_eu",
"clientOrganizationId": null,
"judgments": 120,
"approvals": 70,
"approvalRate": 0.58
}
},
"lastActive": 1731432000000
}
}
Use this API to fetch a reviewer’s behavioral profile: judgment volume, approval rate, review speed, top flags, content types, peak hours, and a per-organization breakdown. Profiles are derived from accumulated judgments, so they need some review history before they are meaningful.
Endpoint
POST https://api.velt.dev/v2/memory/profiles/get
Headers
string
required
Your API key.
string
required
Your Auth Token.
Body
Params
object
required
Show properties
Show properties
string
The reviewer to profile. Falls back to the authenticated user when omitted.
Example Requests
Get a specific reviewer’s profile
{
"data": {
"targetUserId": "u_sarah"
}
}
Response
The result is a reviewer profile, ornull when no profile exists yet.
Success Response
{
"result": {
"userId": "u_sarah",
"name": "Sarah Lee",
"email": "sarah@acme.com",
"totalJudgments": 214,
"approvalRate": 0.62,
"avgReviewTimeSeconds": 87,
"topFlags": [ { "issue": "missing-citation", "count": 31 } ],
"contentTypes": ["marketing-copy"],
"peakHours": [9, 10, 14],
"orgBreakdown": {
"org_eu": {
"organizationId": "org_eu",
"clientOrganizationId": null,
"judgments": 120,
"approvals": 70,
"approvalRate": 0.58
}
},
"lastActive": 1731432000000
}
}
Failure Response
{
"error": {
"message": "ERROR_MESSAGE",
"status": "INVALID_ARGUMENT"
}
}
{
"result": {
"userId": "u_sarah",
"name": "Sarah Lee",
"email": "sarah@acme.com",
"totalJudgments": 214,
"approvalRate": 0.62,
"avgReviewTimeSeconds": 87,
"topFlags": [ { "issue": "missing-citation", "count": 31 } ],
"contentTypes": ["marketing-copy"],
"peakHours": [9, 10, 14],
"orgBreakdown": {
"org_eu": {
"organizationId": "org_eu",
"clientOrganizationId": null,
"judgments": 120,
"approvals": 70,
"approvalRate": 0.58
}
},
"lastActive": 1731432000000
}
}
Was this page helpful?
⌘I

