🦊 MigrationFox Docs

Share link revocation

Every Client Live View share link can be revoked instantly from the project dashboard. Once revoked, the JWT is invalidated server-side; every open browser tab stops updating within the next poll cycle and shows a LINK REVOKED state.

How to revoke

  1. Open the project in MigrationFox.
  2. Navigate to Project · Share links.
  3. Find the link in the list. Each row shows the URL, the creator, the creation time, and the expiry.
  4. Click Revoke. A confirmation appears; click Confirm to proceed.
  5. The link status flips to REVOKED. The next time any browser viewing the link polls the status endpoint (within 5 seconds on the default poll), it receives a 410 GONE and switches to the revoked view.

What the viewer sees

A revoked link renders a full-page message in place of the live-view dashboard:

This share link has been revoked. If you were expecting to see migration progress, contact the migration lead to request a new link.

Subsequent API calls from the revoked JWT fail immediately with HTTP 401. The viewer cannot re-open the link by refreshing.

Why you might revoke

Revocation scope

Revocation is per-link, not per-project. If you issued three different share links for the same project (to three stakeholders), revoking one does not affect the other two. To revoke all project share links at once, use the Revoke all action at the top of the shares panel.

Revoking via API

POST /api/shares/sh_9f4c2a1b/revoke
Authorization: Bearer <personal-access-token>

{
  "reason": "migration complete"
}

Response:

{
  "id": "sh_9f4c2a1b",
  "status": "revoked",
  "revoked_at": "2026-04-18T14:02:11Z",
  "revoked_by": "m.patel@agency.com",
  "reason": "migration complete"
}

Default expiry

Every share link is JWT-signed with a 30-day expiry by default. You can change the expiry on creation (range: 1 hour to 90 days). The expiry is enforced server-side by the JWT exp claim — an expired link behaves the same way as a revoked link from the viewer’s perspective.

TIP

For tight-control scenarios, issue the link with a short expiry (e.g., 24 hours for a single cutover window) instead of relying on manual revocation. The JWT handles the expiry automatically.

Audit log

Every revocation is written to the project audit log with timestamp, actor, link ID, and reason. Audit entries are exportable as CSV from the project audit panel and are retained for the life of the project.

Related