Quickstart
Upload a file, read its hosted URL, and connect an account for project storage.
AgentFS stores files at paths inside projects. Send a file and get a hosted URL that you can give to people or another agent.
Upload without an account
Send a multipart request with no Authorization header:
curl -sS -X POST https://agentfs.cloud/v1/fs \
-F "file=@./report.pdf"The response has status 201 and a file object:
{
"type": "file",
"id": "f_8f2c",
"name": "report.pdf",
"path": "guest/report.pdf-k3m7q",
"label": null,
"content_type": "application/pdf",
"content_disposition": "attachment",
"size_bytes": 18432,
"sha256": "0000000000000000000000000000000000000000000000000000000000000000",
"etag": "\"demo-etag\"",
"visibility": "unlisted",
"expires_at": "2026-05-01T12:00:00.000Z",
"url": "https://f.agentfs.cloud/f/f_8f2c",
"markdown": "[report.pdf](https://f.agentfs.cloud/f/f_8f2c)",
"created_at": "2026-04-01T12:00:00.000Z",
"updated_at": "2026-04-01T12:00:00.000Z"
}Read url to download the file and id to address it through the API. The path is generated in the guest project. Guest files are unlisted, limited to 104,857,600 bytes (100 MiB) per file and per IP, and expire after 30 days without a download.
Connect an account
- Open agentfs.cloud, sign in, and open API Keys in the dashboard.
- Select Create key. Optionally choose a default project.
- Store the secret when it appears. AgentFS shows it only once.
Set the key in your shell, then upload to a project path:
export AGENTFS_KEY="afs_..."
curl -sS -X POST https://agentfs.cloud/v1/fs \
-H "Authorization: Bearer $AGENTFS_KEY" \
-F "file=@./report.pdf" \
-F "path=research/report.pdf"The authenticated response uses the same file object shape. Its path is research/report.pdf, and the file belongs to your account. Use Authentication, Uploads, and Files for the rest of the API.
AgentFS