Revoke Download Link

Kill a persistent download link immediately. This is the containment action for a link that has been shared too widely or leaked.

Revocation takes effect at once for every new use of the link: following it, opening the dashboard_url minted with it, and requesting file URLs or imagery for it all fail. Storage URLs already handed out cannot be recalled. A dashboard that is already open stops receiving fresh file URLs, so it loses access within 15 minutes; imagery tile grants it already holds last up to 12 hours. It is permanent: a revoked link cannot be restored or retuned. Mint a fresh link if access is needed again.

The call is idempotent. Revoking a link that is already revoked (or has already expired) still returns 200, and the original revoked_at is preserved rather than being overwritten — so a retry after a timeout is always safe.

Revoking a link does not delete the artifact or affect any other link. Each link is independent; revoke each one you want to kill.

Use cases

  • A link was forwarded outside the intended audience, or posted somewhere public.
  • An engagement ended and outstanding links should stop working.
  • Routine hygiene — revoke links you know are finished with rather than waiting out their expiry.

Path parameters

ParamTypeDescription
iduuidArtifact ID. Must be visible to your organization.
tokenstringThe token from the link's URL — the segment after /redirect/. Returned only when the link was minted.

Request body

None.

Response schema (data)

FieldTypeDescription
type"artifact_download_link"Always "artifact_download_link".
iduuidDownload link ID. Distinct from the token, and safe to log.

attributes

FieldTypeDescription
artifact_iduuidArtifact this link resolved to.
expires_atISO 8601The expiry it carried. Left as-is — revoked_at is what stops the link.
revoked_atISO 8601When it was revoked. On a repeat call this is the first revocation time, not the retry's.
last_accessed_atISO 8601 | nullLast successful download before revocation, or null if never used.
access_countintSuccessful downloads recorded against this link. Useful for judging exposure after a leak.
created_atISO 8601When the link was minted.

Status codes

  • 200 — Revoked, or already revoked. The link no longer works.
  • 400 — Invalid id (not a UUID).
  • 401 — Missing or invalid API key.
  • 403 — Caller lacks the artifacts:write scope.
  • 404 — Unknown token, the token belongs to a different artifact, or the artifact is not visible to your organization.

Required scope: artifacts:write

Keep the token if you may need to revoke. Revocation is by token, and Epoch stores only a hash of it — so a link whose token you no longer hold cannot be revoked through the API and will stay live until expires_at. List Signed URL Audit shows which links are outstanding and when each one lapses.