Skip to content
Changelog

AgentOS answers empty and multi-URL knowledge uploads with a 400

October 23, 20261 min read

Agno's AgentOS route POST /knowledge/content now looks for a file, text_content or a URL before it hashes content or queues any background work. Earlier releases accepted a form with only a name, replied 202 with status processing, and then never stored anything. A url holding a JSON list made it as far as hashing and crashed the route with a 500.

The url field takes one URL per request, so send each URL in its own call. A list, an object or a blank string in that field now gets a 400. Uploads to remote knowledge are forwarded as before.

We sent both requests to an AgentOS app with a Knowledge base on LanceDB, through FastAPI's TestClient:

client.post("/knowledge/content", data={"name": "notes"})
client.post("/knowledge/content", data={"url": json.dumps(["https://docs.agno.com/a", "https://docs.agno.com/b"])})
# Before (real output, response trimmed)
empty upload: 202 {"id":"937e9799-db95-5dc3-9443-84e5cbf95ffd","name":"notes",...,"status":"processing",...}
status afterwards: 404 {"detail":"Content not found: 937e9799-db95-5dc3-9443-84e5cbf95ffd"}
url as JSON list: 500 {"detail":"Internal server error (TypeError)"}
 
# Now (real output)
empty upload: 400 {"detail":"Provide a file, text_content, or URL to upload."}
url as JSON list: 400 {"detail":"URL must be a single non-empty string; submit each URL separately."}

See the cookbook, and learn more about managing knowledge in AgentOS in the documentation.

Frequently asked questions

A request to POST /knowledge/content with no file, no text_content and no URL gets a 400 with the detail "Provide a file, text_content, or URL to upload." Nothing is queued for processing.

Send one POST /knowledge/content request per URL. The url field takes a single URL string, and a JSON list in that field gets a 400 asking you to submit each URL separately.

No. AgentOS forwards uploads for remote knowledge unchanged, and the check runs only on local knowledge.

Shipped around the same time