curl --request GET \
--url https://app.sapientpriors.com/api/v1/agents/{agent_id}/logs \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.sapientpriors.com/api/v1/agents/{agent_id}/logs"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.sapientpriors.com/api/v1/agents/{agent_id}/logs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"entries": [
{
"log_id": 123,
"user_id": "<string>",
"actor_email": "<string>",
"actor_display_name": "<string>",
"direction": "user",
"route": "chat",
"created_at": "2023-11-07T05:31:56Z",
"thread_id": "<string>",
"request_id": "<string>"
}
],
"next_cursor": "<string>"
}{
"error": "<string>",
"code": "<string>",
"request_id": "<string>",
"details": "<string>"
}{
"error": "<string>",
"code": "<string>",
"request_id": "<string>",
"details": "<string>"
}{
"error": "<string>",
"code": "<string>",
"request_id": "<string>",
"details": "<string>"
}{
"error": "<string>",
"code": "<string>",
"request_id": "<string>",
"details": "<string>"
}Read the agent's activity history
Who used this agent, in which thread, and when. It never carries the text of a message. With X-SP-End-User on your requests, each turn is attributed to the person it was taken for.
curl --request GET \
--url https://app.sapientpriors.com/api/v1/agents/{agent_id}/logs \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.sapientpriors.com/api/v1/agents/{agent_id}/logs"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.sapientpriors.com/api/v1/agents/{agent_id}/logs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"entries": [
{
"log_id": 123,
"user_id": "<string>",
"actor_email": "<string>",
"actor_display_name": "<string>",
"direction": "user",
"route": "chat",
"created_at": "2023-11-07T05:31:56Z",
"thread_id": "<string>",
"request_id": "<string>"
}
],
"next_cursor": "<string>"
}{
"error": "<string>",
"code": "<string>",
"request_id": "<string>",
"details": "<string>"
}{
"error": "<string>",
"code": "<string>",
"request_id": "<string>",
"details": "<string>"
}{
"error": "<string>",
"code": "<string>",
"request_id": "<string>",
"details": "<string>"
}{
"error": "<string>",
"code": "<string>",
"request_id": "<string>",
"details": "<string>"
}Authorizations
Your API key, shaped sp_<key_id>_<secret>, sent as Authorization: Bearer sp_.... It identifies your organization, not a person. Your organization owns the agents, holds the credit, and is billed. Every key your organization holds reaches the same things, so you rotate a key by minting the new one, deploying it, and revoking the old one.
Keep the key on your server. A request that carries a Sec-Fetch-Site header is refused with 400, because only a browser sets that header. Priors sends no CORS headers, so a browser blocks the call before it leaves the page. The secret is shown once when the key is minted and is stored only as a hash. A lost secret is replaced, never recovered.
An administrator of your organization mints and revokes keys in the Priors application, under Settings. There is no endpoint for it: a key reaches your whole organization, so issuing one is an act of administration.
Path Parameters
Unique managed memory-agent identifier.
32^agent_[0-9A-HJKMNP-TV-Z]{26}$Query Parameters
1 <= x <= 1002048