Refresh Content

Select a knowledge base

Register a Knowledge with contents_db on AgentOS, an Agent or a Team. Read the actual generated ID from GET /config under knowledge.knowledge_instances; use that knowledge_id in the request's selector. It is not an arbitrary Knowledge.id. A selector is required when multiple instances make the request ambiguous (400); no configured knowledge base returns 503. If both selectors are supplied, knowledge_id takes precedence over db_id.

Ingestion and search also require suitable readers, vector storage, an embedder where needed, and their dependencies and credentials. See Knowledge.

Content access

Scoped callers can read their own and shared content; other-owned records return 404. JWT user scoping requires user isolation, while non-admin service-account PAT users always self-scope. A scoped caller cannot modify, refresh or delete shared content (403). Authentication alone does not enable JWT user isolation.

Refresh prerequisites

Refresh supports a recorded source URL or a recorded local source_path. Local paths must still be accessible to the server. The saved name/source must reproduce the original content ID. The URL branch also requires reader metadata; it can infer a sitemap reader specifically when _agno.source_type is sitemap or page. The local-path branch does not require stored reader metadata. A URL alone does not make every row refreshable.

Missing source, unreproducible identity or missing reader information returns 400. Re-ingest the source with the intended reader when its stored metadata cannot support refresh. RemoteKnowledge returns 501.

202 schedules in-process background processing; it does not mean refresh succeeded or will survive a process restart. Poll the content status and inspect errors. Site refresh can retry failed pages, update changed ones and remove pages no longer present.

POST/knowledge/content/{content_id}/refresh

Re-ingest a URL-sourced content row from its source. For a site row this refreshes changed pages, retries failed ones, and removes pages that left the site.

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

content_id*Content Id

Content ID to refresh

Query Parameters

db_id?|

Database ID to use

knowledge_id?|

Knowledge base ID to use

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl --request POST 'https://example.com/knowledge/content/string/refresh'
{  "id": "string",  "name": "string",  "description": "string",  "type": "string",  "size": "string",  "linked_to": "string",  "metadata": {},  "access_count": 0,  "status": "processing",  "status_message": "string",  "created_at": "2019-08-24T14:15:22Z",  "updated_at": "2019-08-24T14:15:22Z"}