curl --request POST \
--url https://api.mixpeek.com/v1/annotations/list \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Namespace: <api-key>' \
--data '
{
"document_id": "<string>",
"collection_id": "<string>",
"label": "<string>",
"actor_id": "<string>",
"retriever_id": "<string>",
"as_of": "2023-11-07T05:31:56Z"
}
'import requests
url = "https://api.mixpeek.com/v1/annotations/list"
payload = {
"document_id": "<string>",
"collection_id": "<string>",
"label": "<string>",
"actor_id": "<string>",
"retriever_id": "<string>",
"as_of": "2023-11-07T05:31:56Z"
}
headers = {
"Authorization": "Bearer <token>",
"X-Namespace": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'X-Namespace': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
document_id: '<string>',
collection_id: '<string>',
label: '<string>',
actor_id: '<string>',
retriever_id: '<string>',
as_of: '2023-11-07T05:31:56Z'
})
};
fetch('https://api.mixpeek.com/v1/annotations/list', 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.mixpeek.com/v1/annotations/list",
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([
'document_id' => '<string>',
'collection_id' => '<string>',
'label' => '<string>',
'actor_id' => '<string>',
'retriever_id' => '<string>',
'as_of' => '2023-11-07T05:31:56Z'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"X-Namespace: <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.mixpeek.com/v1/annotations/list"
payload := strings.NewReader("{\n \"document_id\": \"<string>\",\n \"collection_id\": \"<string>\",\n \"label\": \"<string>\",\n \"actor_id\": \"<string>\",\n \"retriever_id\": \"<string>\",\n \"as_of\": \"2023-11-07T05:31:56Z\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("X-Namespace", "<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.post("https://api.mixpeek.com/v1/annotations/list")
.header("Authorization", "Bearer <token>")
.header("X-Namespace", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"document_id\": \"<string>\",\n \"collection_id\": \"<string>\",\n \"label\": \"<string>\",\n \"actor_id\": \"<string>\",\n \"retriever_id\": \"<string>\",\n \"as_of\": \"2023-11-07T05:31:56Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mixpeek.com/v1/annotations/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["X-Namespace"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"document_id\": \"<string>\",\n \"collection_id\": \"<string>\",\n \"label\": \"<string>\",\n \"actor_id\": \"<string>\",\n \"retriever_id\": \"<string>\",\n \"as_of\": \"2023-11-07T05:31:56Z\"\n}"
response = http.request(request)
puts response.read_body{
"results": [
{
"actor_id": "user_eric",
"actor_type": "user",
"annotation_id": "ann_abc123def4567890",
"collection_id": "col_notes",
"confidence": 0.95,
"document_id": "doc_xyz",
"label": "approved",
"namespace_id": "ns_vitae",
"payload": {
"codes_approved": [
"E11.40",
"E11.65"
],
"raf_impact": 0.42
},
"reasoning": "Note clearly documents peripheral neuropathy.",
"retriever_id": "ret_hcc_review"
}
],
"total_count": 0
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}List Annotations
Query annotations with optional filters.
curl --request POST \
--url https://api.mixpeek.com/v1/annotations/list \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Namespace: <api-key>' \
--data '
{
"document_id": "<string>",
"collection_id": "<string>",
"label": "<string>",
"actor_id": "<string>",
"retriever_id": "<string>",
"as_of": "2023-11-07T05:31:56Z"
}
'import requests
url = "https://api.mixpeek.com/v1/annotations/list"
payload = {
"document_id": "<string>",
"collection_id": "<string>",
"label": "<string>",
"actor_id": "<string>",
"retriever_id": "<string>",
"as_of": "2023-11-07T05:31:56Z"
}
headers = {
"Authorization": "Bearer <token>",
"X-Namespace": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'X-Namespace': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
document_id: '<string>',
collection_id: '<string>',
label: '<string>',
actor_id: '<string>',
retriever_id: '<string>',
as_of: '2023-11-07T05:31:56Z'
})
};
fetch('https://api.mixpeek.com/v1/annotations/list', 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.mixpeek.com/v1/annotations/list",
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([
'document_id' => '<string>',
'collection_id' => '<string>',
'label' => '<string>',
'actor_id' => '<string>',
'retriever_id' => '<string>',
'as_of' => '2023-11-07T05:31:56Z'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"X-Namespace: <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.mixpeek.com/v1/annotations/list"
payload := strings.NewReader("{\n \"document_id\": \"<string>\",\n \"collection_id\": \"<string>\",\n \"label\": \"<string>\",\n \"actor_id\": \"<string>\",\n \"retriever_id\": \"<string>\",\n \"as_of\": \"2023-11-07T05:31:56Z\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("X-Namespace", "<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.post("https://api.mixpeek.com/v1/annotations/list")
.header("Authorization", "Bearer <token>")
.header("X-Namespace", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"document_id\": \"<string>\",\n \"collection_id\": \"<string>\",\n \"label\": \"<string>\",\n \"actor_id\": \"<string>\",\n \"retriever_id\": \"<string>\",\n \"as_of\": \"2023-11-07T05:31:56Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mixpeek.com/v1/annotations/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["X-Namespace"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"document_id\": \"<string>\",\n \"collection_id\": \"<string>\",\n \"label\": \"<string>\",\n \"actor_id\": \"<string>\",\n \"retriever_id\": \"<string>\",\n \"as_of\": \"2023-11-07T05:31:56Z\"\n}"
response = http.request(request)
puts response.read_body{
"results": [
{
"actor_id": "user_eric",
"actor_type": "user",
"annotation_id": "ann_abc123def4567890",
"collection_id": "col_notes",
"confidence": 0.95,
"document_id": "doc_xyz",
"label": "approved",
"namespace_id": "ns_vitae",
"payload": {
"codes_approved": [
"E11.40",
"E11.65"
],
"raf_impact": 0.42
},
"reasoning": "Note clearly documents peripheral neuropathy.",
"retriever_id": "ret_hcc_review"
}
],
"total_count": 0
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}{
"error": {
"details": {
"id": "ns_123",
"resource": "namespace"
},
"message": "Namespace not found",
"type": "NotFoundError"
},
"status": 404,
"success": false
}Authorizations
Mixpeek API key, sent as Authorization: Bearer mxp_sk_.... Create one in Studio under Settings → API Keys, or with an admin key via POST /v1/organizations/users/{user_email}/api-keys. A missing header returns 403; an invalid or revoked key returns 401.
Namespace id (ns_...), not the namespace name. This scopes the request rather than authenticating it, and it is required on every operation marked x-mixpeek-namespace-scoped.
Query Parameters
x >= 01 <= x <= 500Body
Query parameters for listing annotations.
Filter by document.
Filter by collection.
Filter by label.
Filter by who annotated.
Filter by retriever.
Return the judgment set AS IT STOOD at this instant — annotations created later are excluded, and each remaining annotation is reconstructed to its state at that time from its revision chain. This is the reproducible-evaluation handle: an evaluation pins its as_of and re-reads the identical set later.
Was this page helpful?

