Docs
Monitoring Data
List Assistant Analyses
List Paqet Assistant analysis cycles.
GET
/v1/assistant/analyses
monitoring.read
Returns the Paqet Assistant's analysis history for the organization — one row per cycle, with the overall verdict, confidence, severity, and signal counts. Filterable by verdict, status, and headline search. See the verdict / confidence / severity reference below.
Authentication
This endpoint requires a valid API key sent as a Bearer token, and the key must carry the scope listed above. See Authentication and Scopes for details.
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| verdict | string | Optional | Benign, NeedsAttention, or Uncertain. |
| status | string | Optional | Completed, Failed, Skipped, or Pending. |
| search | string | Optional | Case-insensitive match on the analysis headline. |
| page | int | Optional | 1-based page number. |
| pageSize | int | Optional | Items per page (max 100). |
Headers
| Header | Required | Description |
|---|---|---|
| Authorization | Required | Bearer token — Bearer pk_live_... |
Request Example
curl -X GET "https://api.paqet.net/v1/assistant/analyses?verdict=NeedsAttention&status=Completed&search=certificate&page=1&pageSize=20" \
-H "Authorization: Bearer pk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new("Bearer", "pk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
var response = await client.GetAsync("https://api.paqet.net/v1/assistant/analyses?verdict=NeedsAttention&status=Completed&search=certificate&page=1&pageSize=20");
var json = await response.Content.ReadAsStringAsync();
Console.WriteLine(json);
const response = await fetch("https://api.paqet.net/v1/assistant/analyses?verdict=NeedsAttention&status=Completed&search=certificate&page=1&pageSize=20", {
method: "GET",
headers: {
"Authorization": "Bearer pk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
});
const data = await response.json();
console.log(data);
interface ApiResponse<T> {
success: boolean;
data?: T;
code?: string;
message?: string;
}
const response = await fetch("https://api.paqet.net/v1/assistant/analyses?verdict=NeedsAttention&status=Completed&search=certificate&page=1&pageSize=20", {
method: "GET",
headers: {
"Authorization": "Bearer pk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
});
const data: ApiResponse<unknown> = await response.json();
console.log(data);
import requests
headers = {"Authorization": "Bearer pk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}
response = requests.get("https://api.paqet.net/v1/assistant/analyses?verdict=NeedsAttention&status=Completed&search=certificate&page=1&pageSize=20", headers=headers)
print(response.json())
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.paqet.net/v1/assistant/analyses?verdict=NeedsAttention&status=Completed&search=certificate&page=1&pageSize=20", nil)
req.Header.Set("Authorization", "Bearer pk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
data, _ := io.ReadAll(resp.Body)
fmt.Println(string(data))
}
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.paqet.net/v1/assistant/analyses?verdict=NeedsAttention&status=Completed&search=certificate&page=1&pageSize=20",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer pk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
]
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Response Example
200 OK
{
"success": true,
"data": {
"items": [
{
"id": "d4a1c9f0-6b2e-4a1d-9c3f-1e2d3c4b5a60",
"cycleDate": "2026-09-01",
"triggerType": "Scheduled",
"status": "Completed",
"verdict": "NeedsAttention",
"confidence": "High",
"severity": "Medium",
"headline": "Unexpected certificate issuance for api.example.com",
"signalCount": 3,
"benignSignalCount": 1,
"needsAttentionSignalCount": 2,
"usedAi": true,
"createdAt": "2026-09-01T02:15:00Z"
}
],
"page": 1,
"pageSize": 20,
"totalCount": 1,
"totalPages": 1
}
}
Error Responses
| Status | Code | Meaning |
|---|---|---|
| 401 | API_KEY_INVALID | The API key is missing, malformed, or doesn't match any active key. |
| 401 | API_KEY_REVOKED | The API key was manually revoked and can never be reactivated. |
| 401 | API_KEY_EXPIRED | The API key's expiration date has passed. |
| 403 | PLAN_EXPIRED | Your Enterprise subscription is no longer active. |
| 403 | ENTERPRISE_REQUIRED | The Public API is only available on the Enterprise plan. |
| 403 | SCOPE_REQUIRED | The API key doesn't have the scope required for this endpoint. |
| 429 | RATE_LIMIT_EXCEEDED | The API key has exceeded its request limit for the current window. |
| 404 | RESOURCE_NOT_FOUND | The requested resource does not exist. |
| 422 | VALIDATION_ERROR | One or more request parameters failed validation. |
| 500 | INTERNAL_ERROR | An unexpected error occurred on Paqet's side. |
Rate Limits
This endpoint counts against your API key's standard request limit. See Rate Limits for current limits, response headers, and retry guidance.
Notes
- Requires the monitoring.read scope. Existing keys don't have it by default - add it to a key from the Developer Portal (Edit Scopes).
- Only returns data for the organization the API key belongs to.
- Monitoring reads count against a separate per-key rate-limit bucket - see Rate Limits.
- verdict: Benign (matches known-good patterns) / NeedsAttention (review this) / Uncertain (the Assistant could not rule it benign - not itself a problem signal). confidence: Low / Medium / High. severity: Info / Low / Medium / High / Critical.
Related APIs
Try this endpoint
Run it live from the Playground using your own API key.