docs(profiles): make profiles docs user-only and match the shipped API

Hide agent profiles for this release (backend exists but is gated off) and
sync the guide, api-reference, openapi, and llms.txt to the User Profiles
feature head.

Agent removal:
- Drop "users and agents" framing, the entity_type="agent" get_profile
  example, and the "profiles for agents" FAQ from the guide.
- Reduce entity_type to user-only in the read path/param/response and the
  jobs request body in openapi.json; drop "or agent" from the api-ref and
  llms.txt descriptions.

Code sync (verified against the feature head):
- Read example + prose now include generation_count alongside profile,
  status, entity_type, entity_id, updated_at.
- Sample flow corrected: sample_profiles returns a job; poll get_profile_job
  and read each result's entity, instead of iterating a non-existent
  results field on the create response.
- Bulk regenerate is gated off for v1 (FULL_REBUILD_ENABLED=False): remove
  it from the guide, openapi operation enum, and the 501 note; keep only
  sample and trigger. Idempotency-Key marked required to match the backend.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
karthik
2026-09-18 03:49:32 +05:30
co-authored by Claude Opus 4.8
parent 4b9a27aac1
commit 9192b9b565
5 changed files with 38 additions and 63 deletions
+7 -14
View File
@@ -8078,7 +8078,7 @@
],
"operationId": "profiles_read",
"summary": "Get an entity's profile",
"description": "Return the memory profile for one user or agent.\n\nGeneration is asynchronous, so a known entity that has no profile yet is a normal 200 carrying a `status`. A 404 means only that no such entity exists.",
"description": "Return the memory profile for one user.\n\nGeneration is asynchronous, so a known entity that has no profile yet is a normal 200 carrying a `status`. A 404 means only that no such entity exists.",
"parameters": [
{
"name": "entity_type",
@@ -8087,8 +8087,7 @@
"schema": {
"type": "string",
"enum": [
"user",
"agent"
"user"
]
},
"description": "The kind of entity that carries the profile."
@@ -8130,8 +8129,7 @@
"entity_type": {
"type": "string",
"enum": [
"user",
"agent"
"user"
]
},
"entity_id": {
@@ -8272,12 +8270,12 @@
],
"operationId": "profiles_create_job",
"summary": "Generate profiles",
"description": "Start one generation. `operation` says what to build:\n\n- `sample` — up to 10 real entities, so a schema can be judged before it is used widely. These are real profiles: they are saved to those entities and count toward usage.\n- `trigger` — one entity, named by `entity_id`.\n- `regenerate` — every entity in the project. Not available yet; returns 501 `not_yet_available` and creates nothing. Check `capabilities.full_rebuild` on the settings route first.\n\nSend an `Idempotency-Key` header. Replaying the same key returns the same job instead of charging twice. Poll `status_url` from the response until the status is terminal.",
"description": "Start one generation. `operation` says what to build:\n\n- `sample` — up to 10 real entities, so a schema can be judged before it is used widely. These are real profiles: they are saved to those entities and count toward usage.\n- `trigger` — one entity, named by `entity_id`.\n\nSend an `Idempotency-Key` header. Replaying the same key returns the same job instead of charging twice. Poll `status_url` from the response until the status is terminal.",
"parameters": [
{
"in": "header",
"name": "Idempotency-Key",
"required": false,
"required": true,
"schema": {
"type": "string",
"minLength": 8,
@@ -8300,16 +8298,14 @@
"type": "string",
"enum": [
"sample",
"trigger",
"regenerate"
"trigger"
],
"description": "What to generate. Optional only when `entity_id` is set, which means `trigger`."
},
"entity_type": {
"type": "string",
"enum": [
"user",
"agent"
"user"
],
"default": "user"
},
@@ -8388,9 +8384,6 @@
"429": {
"description": "Cooldown. `retry_after_seconds` sits inside `error`."
},
"501": {
"description": "`not_yet_available` — this operation does not exist yet. Nothing is created or charged."
},
"503": {
"description": "`jobs_unavailable` — generation is switched off for this project."
}