expires_in_seconds (900, 15 minutes) is the only bound.
The URL can 404 if a newer snapshot replaced it or the workflow was deleted meanwhile — mint a fresh one rather than caching it past its TTL.
Requires a knowledge base
Same requirement asask: the workflow needs a knowledge node, or this returns 409 KNOWLEDGE_NOT_ENABLED. 409 KNOWLEDGE_NOT_READY means no usable snapshot has ever been published. Unlike ask, downloading is never billed, so 402 cannot occur here.

