Expire a workflow file after 24 hoursURL
The file starts as workflow file. Upload and read expires_at. Map temporary cdn url to the next step and keep the file ID beside the run for cleanup.
- Reviewed by
- GetFileURL technical team
- Updated
- Input
- workflow file
- Action
- Upload and read expires_at
- Output
- Temporary CDN URL
What this page answers
It turns a file already inside a workflow into a direct public URL that another API can fetch.
- Reviewed by
- GetFileURL technical team
- Last updated
One request in, a URL and JSON out
curl -X POST https://api.getfileurl.com/v1/files \
-H 'Authorization: Bearer $GETFILEURL_KEY' \
-F 'file=@workflow-output.pdf' \
-F 'visibility=public'{
"file_id": "file_8ks41p",
"url": "https://cdn.getfileurl.com/f/file_8ks41p/workflow-output.pdf",
"content_type": "application/pdf",
"expires_at": "2026-05-29T10:30:00Z"
}Make the file handoff visible.
A useful recipe shows four things: file in, upload request, returned URL, and cleanup handle.
Capture the file
Start from workflow file and keep the original content type when possible.
Upload and parse JSON
Keep the upload response visible as workflow data, not hidden inside a side effect.
Send onward
Pass the returned URL to temporary cdn url and store the file ID for cleanup.
Validate the URL before the destination retries.
Most automation file issues are caused by a URL that looks fine in a browser but fails from a server-side API call.
Direct response
The URL should return file bytes, not an app preview, permission page, or redirect loop.
Useful headers
Content type, size, and disposition should match what the destination expects.
Enough retention
Expiry should account for queue delays, async processing, and retry branches.
Copy the same upload shape into code
curl -X POST https://api.getfileurl.com/v1/files \
-H 'Authorization: Bearer $GETFILEURL_KEY' \
-F 'file=@temporary-report.pdf' \
-F 'visibility=public'Common questions
What does this recipe solve?
It turns a file already inside a workflow into a direct public URL that another API can fetch.
Should the URL be permanent?
Not by default. Use the shortest retention window that gives the destination enough time to fetch the file.
What should I log?
Log the returned URL, file ID, content type, size, expiry, and destination response status.