Skip to main content
Troubleshooting

Preview Link Issues

Preview link returns 403, 404, or expired token errors.

Symptom

A preview link shared with a colleague or client does not load the project. The browser shows a 403 (forbidden), 404 (not found), or an "expired" error page. Alternatively, the preview link loads but shows stale content.

Likely Causes

  1. Token expired: Preview links have a configurable expiration. Once the token expires, the link returns an error. Expired tokens are not recoverable.
  2. Token revoked or deleted: The project owner deleted the preview link before the recipient accessed it.
  3. Project deleted: The project associated with the preview link no longer exists. Deleting a project cascades to its preview links.
  4. Malformed URL: The token in the URL was truncated or modified (e.g., by a messaging app that shortens links).
  5. No staging deploy: The preview link shows the staging version. If no staging deploy exists, the preview has nothing to display.

Checks

  1. Open the preview link in a browser and note the error:
    • "Preview link expired": The token's expiration time has passed.
    • 404 / "Not found": The token does not match any record (deleted, never existed, or malformed).
    • 403: The token is invalid or the project's access rules reject the request.
  2. Ask the project owner to check the preview links list in the editor. Is the link still listed? Has it expired?
  3. Verify the full URL was copied. Some messaging apps truncate long URLs. The token is a 64-character string.
  4. Check whether the project has a staging deploy. Preview links show staged content, not production.

Fixes

If the token expired or was deleted:

  1. Open the project in the editor.
  2. Navigate to the preview links section.
  3. Create a new preview link with an appropriate expiration (the default expiration is configurable).
  4. Copy the full URL and share it.

Deploy to staging first

If the project has no staging deploy, deploy to staging before sharing the preview link:

  1. Save all files (Cmd+Alt+S).
  2. Deploy to staging from the deploy panel.
  3. Verify the staging output.
  4. Then create and share the preview link.

Verify the URL is complete

Ensure the full preview URL is copied. The URL format is:

Preview URL
https://app.odyn.dev/preview/{token}

The token is a 64-character alphanumeric string. If the URL appears truncated, copy it again from the source.

Expired preview links remain in the database for 7 days after expiration (for audit purposes), then are automatically cleaned up. To manually remove expired links, delete them from the preview links list.

What to Capture for Escalation

  1. The full preview link URL.
  2. The exact error message or HTTP status code displayed.
  3. The approximate time the link was created and its expiration duration.
  4. Whether the project still exists and has a staging deploy.
  5. Whether other preview links for the same project work.