Guide

File URL expiry and retention for workflow handoffs

File URL retention should match the job. A URL needs to live long enough for the destination to fetch it, then expire or be deleted when public access is no longer needed.

Reviewed by
GetFileURL technical team
Last updated
file URL expiryretentiondelete after fetchtemporary URLcleanup
Short answer

What this page answers

Plan file URL expiry and retention for public workflow URLs, including short-lived handoffs, delete-after-fetch cleanup, retries, and sensitive files.

Use this page when the workflow needs file bytes available at a direct URL with predictable metadata, lifecycle controls, and a cleanup path.

Updated

Expiry windows

Choose a lifetime based on when the destination fetches the file.

Some APIs fetch immediately. Others queue imports, retry later, or process asynchronously. Expiry should cover the real fetch window.

01

Minutes

Fast one-step OCR, AI, or validation calls where the destination fetches immediately.

02

Hours or days

Queued workflows, social publishing, CRM imports, human review, or delayed retry branches.

03

Permanent only by intent

Use long-lived URLs only for public assets that should remain available.

Cleanup

Delete early when the workflow confirms the file is no longer needed.

Expiry is the automatic backstop. Delete is the explicit cleanup action when the destination confirms it fetched or processed the file.

01

Store file_id

The upload response should keep the cleanup handle separate from the public URL.

02

Wait for final consumer

Do not delete immediately after submitting a URL if the destination imports asynchronously.

03

Handle retries

Retry branches should know whether they can still use the URL or need a new upload.

Policy

Retention defaults should reflect file risk.

Public file URLs are intentionally reachable. Sensitive files, customer documents, and private workflow outputs should default to short lifetimes and visible cleanup paths.

01

Sensitive content

Use the shortest working lifetime and delete after processing.

02

Operational logs

Log `expires_at`, `file_id`, source workflow, and destination response status.

03

No search indexing

Customer-uploaded files should not become indexable content by default.

FAQ

Answers before the workflow breaks

How long should a file URL last?

Use the shortest window that covers the destination fetch, async processing, retries, and any required human review.

Is expiry enough, or should I also delete files?

Expiry is a good default backstop. Delete early when the workflow knows the file is no longer needed.

Should public file URLs be indexed by Google?

No. Product pages and docs should be indexable; customer-uploaded file URLs should not be treated as search content.