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.
/knowledge/content/{content_id}/refreshRe-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 In: header
Path Parameters
Content ID to refresh
Query Parameters
Database ID to use
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"}{ "detail": "string", "error_id": "string", "error_type": "string"}{ "detail": "string", "error_id": "string", "error_type": "string"}{ "detail": "string", "error_id": "string", "error_type": "string"}{ "detail": "string"}{ "detail": "string", "error_id": "string", "error_type": "string"}