CDN file hosting API for workflow handoffs
Use GetFileURL when a job needs to host a file long enough for another API to fetch it, without building storage, CDN, lifecycle, and cleanup plumbing yourself.
Some teams need CDN URLs, not a full storage platform.
Object storage and media platforms are useful, but many workflow builders only need a reliable URL handoff with lifecycle controls.
Direct delivery
The destination API should fetch file bytes from a public HTTPS URL with predictable headers.
JSON response
Workflow builders need fields they can map: URL, file ID, type, size, expiry, and metadata.
Lifecycle included
Expiry and deletion belong in the same workflow that created the public URL.
Storage primitives are flexible, but they shift every edge case to your team.
A hosted file URL API is narrower. It handles the repeated handoff job so builders can focus on the destination workflow.
S3 or R2
Use object storage when buckets, IAM, regions, and custom lifecycle policy are part of your product.
GetFileURL
Use a file URL API when the file is generated by a workflow and another API simply needs a direct URL.
Media platforms
Use a transformation platform when image or video manipulation is the central job.
Keep the first integration small and observable.
Start with one upload request, log the returned fields, pass `url` onward, then delete or expire the file after the destination finishes.
Copy the same upload shape into code or workflow steps
Use the same endpoint from a shell, backend route, worker, or automation code step. Upload the file, set expiry, then map the returned URL.
cURL
upload examplecurl -X POST https://api.getfileurl.com/v1/files \
-H 'Authorization: Bearer $GETFILEURL_KEY' \
-F 'file=@workflow-output.pdf' \
-F 'expires_in=24h'JavaScript
upload exampleconst form = new FormData();
form.append("file", file);
form.append("expires_in", "24h");
const res = await fetch("https://api.getfileurl.com/v1/files", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.GETFILEURL_KEY}` },
body: form,
});
const { url, file_id } = await res.json();
return { url, file_id };Answers before the workflow breaks
Is GetFileURL a CDN file hosting API?
It is positioned as a focused file URL layer for workflow handoffs: upload a file, get a direct CDN URL, and keep lifecycle controls visible.
Should I use this instead of S3?
Use S3 or R2 when you need full storage control. Use GetFileURL when you need a smaller upload-to-URL handoff for APIs and automations.
Are hosted files permanent?
Not by default for the product direction. Workflow files should use expiry, deletion, or account retention policy.