Users & agents
List agents
List the agent namespaces written in this key's project, with per-agent active counts plus the tier cap and the slots used across the account, so you always know how close you are to the agent cap.
GET
/v1/agents
Every distinct agent_id you write under counts as one slot
against your plan's agent cap on the Cloud. This endpoint returns those namespaces with
their active memory and fact counts, plus cap and
used, so a 429 agent_cap_exceeded is never a
surprise.
Authentication
HTTP header, required: Authorization: Bearer kor_live_.... The key needs the memories:read scope.
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | Optional | Page size. Defaults to 50. Must be between 1 and 200. |
offset | integer | Optional | Pagination offset. Defaults to 0. Must be >= 0. At most 9223372036854775807 (2^63-1); a larger one answers 422. |
Example request
curl "https://api.korely.ai/v1/agents?limit=50" \ -H "Authorization: Bearer kor_live_..."Response
200 OK. A page of agent namespaces with active counts, plus the
tier cap and the slots used.
{ "agents": [ { "agent_id": "onboarding-bot", "memories": 12, "facts": 27, "last_active": "2026-03-02T11:02:10+00:00" }, { "agent_id": "support-triage", "memories": 0, "facts": 0, "last_active": null } ], "total": 2, "cap": 2, "used": 2}| Field | Type | Description |
|---|---|---|
agents | array<AgentScope> | Page of agent namespaces. Each AgentScope has agent_id, memories (active memory count), facts (active fact count), and last_active (ISO timestamp, nullable). Fully-forgotten agents still appear with zero counts, they still hold a cap slot. |
total | integer | Agent namespaces in this key's project, before pagination (for a key confined to some end users, those found in its end users' rows; such a key cannot delete an agent namespace). |
cap | integer | Your plan's agent cap on the Cloud (hobby 2 / developer 10 / team 100 / scale 500); 0 on Self-hosted, where nothing caps agent names. |
used | integer | Agent slots taken across the whole account, counted by name; reconciles with the 429 agent_cap_exceeded error. Larger than total when other projects of the account use names this project does not. Names in imports still queued count too. On Self-hosted, equal to total. |
Errors
| Status | Code | Cause |
|---|---|---|
401 | invalid_key | Missing or invalid kor_live_ key in the Authorization header. |
403 | forbidden | The key lacks the memories:read scope. |
429 | quota_exceeded | Monthly query quota exceeded. |
429 | rate_limit_exceeded | Rate limit exceeded, retry after the Retry-After header. |
422 | invalid_request | limit is outside 1..200, or offset is below 0. |
Notes
- Used reconciles with the cap. The cap-defining set counts any row carrying the
agent_id, including soft-deleted and invalidated rows, sousedalways matches the429 agent_cap_exceedederror. The per-agentmemoriesandfactscounts reflect only active rows. - Forgotten agents still hold a slot. An agent you've fully forgotten surfaces with zero counts but keeps its cap slot, reuse the
agent_idor pick a fresh one, knowing it counts. - The default namespace is never counted. Memories written without an
agent_idare omitted from this list and don't consume a slot. - Pagination.
totalis the full set length of this project; page through it withlimitandoffset. Each call counts against your read query quota.
Related
- List users, the end users you've written memories for.
- Add a memory, write under an
agent_idto create a namespace. - SDK reference, the typed client surface.