Create scores (batch)
curl --request POST \
--url https://api.agentmark.co/v1/scores/batch \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Agentmark-App-Id: <api-key>' \
--data '
{
"scores": [
{
"name": "<string>",
"resource_id": "<string>",
"score": 123,
"client_id": "<string>",
"label": "<string>",
"reason": "<string>",
"source": "api"
}
]
}
'import requests
url = "https://api.agentmark.co/v1/scores/batch"
payload = { "scores": [
{
"name": "<string>",
"resource_id": "<string>",
"score": 123,
"client_id": "<string>",
"label": "<string>",
"reason": "<string>",
"source": "api"
}
] }
headers = {
"X-Agentmark-App-Id": "<api-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-Agentmark-App-Id': '<api-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
scores: [
{
name: '<string>',
resource_id: '<string>',
score: 123,
client_id: '<string>',
label: '<string>',
reason: '<string>',
source: 'api'
}
]
})
};
fetch('https://api.agentmark.co/v1/scores/batch', 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.agentmark.co/v1/scores/batch",
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([
'scores' => [
[
'name' => '<string>',
'resource_id' => '<string>',
'score' => 123,
'client_id' => '<string>',
'label' => '<string>',
'reason' => '<string>',
'source' => 'api'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"X-Agentmark-App-Id: <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.agentmark.co/v1/scores/batch"
payload := strings.NewReader("{\n \"scores\": [\n {\n \"name\": \"<string>\",\n \"resource_id\": \"<string>\",\n \"score\": 123,\n \"client_id\": \"<string>\",\n \"label\": \"<string>\",\n \"reason\": \"<string>\",\n \"source\": \"api\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Agentmark-App-Id", "<api-key>")
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://api.agentmark.co/v1/scores/batch")
.header("X-Agentmark-App-Id", "<api-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"scores\": [\n {\n \"name\": \"<string>\",\n \"resource_id\": \"<string>\",\n \"score\": 123,\n \"client_id\": \"<string>\",\n \"label\": \"<string>\",\n \"reason\": \"<string>\",\n \"source\": \"api\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.agentmark.co/v1/scores/batch")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Agentmark-App-Id"] = '<api-key>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"scores\": [\n {\n \"name\": \"<string>\",\n \"resource_id\": \"<string>\",\n \"score\": 123,\n \"client_id\": \"<string>\",\n \"label\": \"<string>\",\n \"reason\": \"<string>\",\n \"source\": \"api\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": {
"results": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "success",
"client_id": "<string>"
}
],
"summary": {
"failed": 1,
"succeeded": 1,
"total": 1
}
}
}{
"data": {
"results": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "success",
"client_id": "<string>"
}
],
"summary": {
"failed": 1,
"succeeded": 1,
"total": 1
}
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Scoring
Create scores (batch)
Create up to 1000 scores in a single request. Each item is validated independently and the response always contains a per-item results array.
Status codes:
201 Created— every item succeeded.207 Multi-Status— at least one item failed validation (e.g. missingresource_idor invaliddataType).400 Bad Request— every item failed validation (or the envelope itself is malformed).413 Payload Too Large— the request contains more than 1000 items.500 Internal Server Error— the batch insert against analytics storage failed; no items were persisted.
Pass an optional client_id on each item (max 128 chars) to correlate the server-generated id back to your own identifier in the results array. The server never inspects or stores client_id.
POST
/
v1
/
scores
/
batch
Create scores (batch)
curl --request POST \
--url https://api.agentmark.co/v1/scores/batch \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Agentmark-App-Id: <api-key>' \
--data '
{
"scores": [
{
"name": "<string>",
"resource_id": "<string>",
"score": 123,
"client_id": "<string>",
"label": "<string>",
"reason": "<string>",
"source": "api"
}
]
}
'import requests
url = "https://api.agentmark.co/v1/scores/batch"
payload = { "scores": [
{
"name": "<string>",
"resource_id": "<string>",
"score": 123,
"client_id": "<string>",
"label": "<string>",
"reason": "<string>",
"source": "api"
}
] }
headers = {
"X-Agentmark-App-Id": "<api-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-Agentmark-App-Id': '<api-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
scores: [
{
name: '<string>',
resource_id: '<string>',
score: 123,
client_id: '<string>',
label: '<string>',
reason: '<string>',
source: 'api'
}
]
})
};
fetch('https://api.agentmark.co/v1/scores/batch', 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.agentmark.co/v1/scores/batch",
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([
'scores' => [
[
'name' => '<string>',
'resource_id' => '<string>',
'score' => 123,
'client_id' => '<string>',
'label' => '<string>',
'reason' => '<string>',
'source' => 'api'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"X-Agentmark-App-Id: <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.agentmark.co/v1/scores/batch"
payload := strings.NewReader("{\n \"scores\": [\n {\n \"name\": \"<string>\",\n \"resource_id\": \"<string>\",\n \"score\": 123,\n \"client_id\": \"<string>\",\n \"label\": \"<string>\",\n \"reason\": \"<string>\",\n \"source\": \"api\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Agentmark-App-Id", "<api-key>")
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://api.agentmark.co/v1/scores/batch")
.header("X-Agentmark-App-Id", "<api-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"scores\": [\n {\n \"name\": \"<string>\",\n \"resource_id\": \"<string>\",\n \"score\": 123,\n \"client_id\": \"<string>\",\n \"label\": \"<string>\",\n \"reason\": \"<string>\",\n \"source\": \"api\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.agentmark.co/v1/scores/batch")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Agentmark-App-Id"] = '<api-key>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"scores\": [\n {\n \"name\": \"<string>\",\n \"resource_id\": \"<string>\",\n \"score\": 123,\n \"client_id\": \"<string>\",\n \"label\": \"<string>\",\n \"reason\": \"<string>\",\n \"source\": \"api\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": {
"results": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "success",
"client_id": "<string>"
}
],
"summary": {
"failed": 1,
"succeeded": 1,
"total": 1
}
}
}{
"data": {
"results": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "success",
"client_id": "<string>"
}
],
"summary": {
"failed": 1,
"succeeded": 1,
"total": 1
}
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Authorizations
Application ID for tenant scoping. X-Outerlayer-App-Id is accepted as an equivalent header.
API key (sk_agentmark_*)
Body
application/json
Required array length:
1 - 1000 elementsShow child attributes
Show child attributes
Response
All scores created successfully.
Show child attributes
Show child attributes
Was this page helpful?
⌘I