docs/content/changelog/01-20-26-file-ttl.mdx
Files involved in tool execution are now shared via presigned URLs with a default TTL (time-to-live) of 1 hour. You can customize the file TTL through your project configuration.
When tools return files (images, documents, exports, etc.), these files are now delivered as presigned URLs with a configurable TTL instead of non-expiring URLs. This provides:
All files returned from tool execution now have a 1 hour TTL by default. After this period, the presigned URLs expire and files are no longer accessible.
You can adjust the file TTL to match your application's needs.
Use the Update Project Config API to programmatically configure the file TTL:
curl -X PATCH "https://backend.composio.dev/api/v3/org/projects/config" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"fileTtl": 3600
}'
| Aspect | Before | After |
|---|---|---|
| File delivery | Non-expiring URLs | Presigned URLs with TTL |
| Default expiry | None | 1 hour |
| TTL customization | Not available | Configurable via project settings |
No code changes are required. Your existing integrations will continue to receive file URLs as before, but these URLs will now expire after the configured TTL.
If your application stores or caches file URLs for later use, ensure you handle URL expiration appropriately by either: