curl --request DELETE \
--url https://app.sapientpriors.com/api/v1/agents/{agent_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.sapientpriors.com/api/v1/agents/{agent_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.sapientpriors.com/api/v1/agents/{agent_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"agent_id": "agent_01JZ8X9K6AS3V8SGP0Q9A2P4FH",
"status": "deleting"
}{
"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>"
}Delete a memory agent
Tears down the managed memory agent and its in-memory state. Deletion cascades: every thread under this agent, and all of their state, is deleted with it. Queued or in-flight observations for those threads are discarded and will not be committed. Deletion is asynchronous — the agent enters status=deleting and is removed once status reaches deleted. Poll GET /v1/agents/ to observe the transition.
curl --request DELETE \
--url https://app.sapientpriors.com/api/v1/agents/{agent_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.sapientpriors.com/api/v1/agents/{agent_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.sapientpriors.com/api/v1/agents/{agent_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"agent_id": "agent_01JZ8X9K6AS3V8SGP0Q9A2P4FH",
"status": "deleting"
}{
"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}$Response
Deletion accepted; agent is being torn down
Unique identifier for the managed memory agent.
^agent_[0-9A-HJKMNP-TV-Z]{26}$initializing, ready, failed, deleting, deleted Your relationship to the agent. An agent your key created is always owner.
owner Show child attributes
Show child attributes
Always null today: agents do not expire on their own.
How many turns were already learned into the memory index this agent restored from. It is 0 for a new agent. You cannot work this out yourself, because the index is on our side. A client that resumes a backfill reads it to know how many observations to skip.
x >= 0The surface an agent sits on. external is the only one an API key reaches, and the only one it can create, so you can leave this field out and receive it. The agent belongs to your organization rather than to any person, and it appears in no directory.
external The threads on this agent that the caller reaches, newest first. With X-SP-End-User, that is the threads that person created and no others, which is how you list one person's conversations. Without the header your key is the organization, so it is every thread on the agent.
Show child attributes
Show child attributes