WhatsApp Cloud API media ID expiry: 30 days, URL 5 minutes

WhatsApp media IDs from the API expire after 30 days, webhook IDs after 7, and a media URL works for 5 minutes. Keep your own durable source, not the ID.

4 min readSume
All posts

A WhatsApp Cloud API media ID returned by the API expires after 30 days, an ID received in a webhook after 7 days, and the media URL you get from an ID is valid for 5 minutes. Treat the ID as a short-lived handle, and keep the original file at a URL you control, for example a Sume media.sume.com artifact.

Numbers are from Meta's media reference, read 2026-10-01; Sume artifact behavior from its Image generation docs.

What are the WhatsApp expiry windows?

WhatsApp media lifetimes as written by Meta, read 2026-10-01.
ItemLifetime
Media ID returned by the API30 days
Media ID in a webhook7 days
Uploaded filesPersist 30 days unless deleted earlier
Media URL from an ID5 minutes

Why not store the media ID?

Because it stops working. After 30 days (7 for webhook IDs) you must upload the file again, which requires that you still have it. And the URL for downloading an inbound file is only valid for 5 minutes, so fetch it right away and save the bytes.

What should be the durable source?

The Sume docs for image generation show results as public HTTPS URLs on media.sume.com, and the Sume docs describe results as media.sume.com artifacts. Those pages do not give a retention period, so confirm that against your own needs. Store that URL with your message record, and on each send upload from it to WhatsApp for a fresh ID.

What should I do next?

Keep three values per message: source URL, WhatsApp media ID, and upload time. If the ID is older than your safe window, upload again. Format and size limits for audio are in WhatsApp audio message formats.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume