Developer API

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.

cdn file hosting apipublic file URLJSON metadataexpirydelete API
Why it exists

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.

01

Direct delivery

The destination API should fetch file bytes from a public HTTPS URL with predictable headers.

02

JSON response

Workflow builders need fields they can map: URL, file ID, type, size, expiry, and metadata.

03

Lifecycle included

Expiry and deletion belong in the same workflow that created the public URL.

Compared with storage

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.

01

S3 or R2

Use object storage when buckets, IAM, regions, and custom lifecycle policy are part of your product.

02

GetFileURL

Use a file URL API when the file is generated by a workflow and another API simply needs a direct URL.

03

Media platforms

Use a transformation platform when image or video manipulation is the central job.

Implementation

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.

01

Upload

Send multipart form data from code or an automation HTTP step.

02

Map

Pass only the returned URL to the downstream field that asks for a public file URL.

03

Clean up

Use expiry for automatic cleanup and delete for early removal.

Examples

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 example
curl -X POST https://api.getfileurl.com/v1/files \
  -H 'Authorization: Bearer $GETFILEURL_KEY' \
  -F 'file=@workflow-output.pdf' \
  -F 'expires_in=24h'

JavaScript

upload example
const 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 };
FAQ

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.

Next pages

Keep building the file URL path

Back to home