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

> Agno's AgentOS route `POST /knowledge/content` now checks each upload for a file, `text_content` or one URL, and returns a readable 400 error when the request has none or sends a list of URLs.

- Published: 2026-10-23
- Author: Ashpreet Bedi
- Categories: Changelog
- Canonical: https://www.agno.com/blog/agentos-answers-empty-and-multi-url-knowledge-uploads-with-a-400
- Markdown: https://www.agno.com/blog/agentos-answers-empty-and-multi-url-knowledge-uploads-with-a-400.md

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`:

```python
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"])})
```

```text
# 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](https://github.com/agno-agi/agno/blob/main/cookbook/05_agent_os/10_knowledge/rest_api_knowledge.py), and learn more about [managing knowledge in AgentOS](https://docs.agno.com/agent-os/knowledge/manage-knowledge) in the documentation.
