---
title: "Create or recover a durable shared preview link to a site route in the API key owner's agent workspace. Start an agent session in the project before sharing. Page availability is checked when the link is opened, not when it is created."
method: POST
path: "/shared-previews"
tags: ["Shared-previews"]
---

# Create or recover a durable shared preview link to a site route in the API key owner's agent workspace. Start an agent session in the project before sharing. Page availability is checked when the link is opened, not when it is created.

`POST /shared-previews`

## Request

- Base URL: `https://api.replo.app/v1`
- URL: `https://api.replo.app/v1/shared-previews`
- Auth: HTTP bearer

## Headers

- `Replo-Api-Version` '2026-10-29', required

## Request body

- object
  - `projectId` string, uuid, required
  - `siteId` string, uuid, required
  - `route` string, required: The site route to preview, e.g. "/" or "/about". Must be an absolute path without a query string or fragment.
  - `locale` string: BCP 47 language tag to render the page in, e.g. "en-US". Omit to use the site's default locale.

## Response `200`

Create or recover a durable shared preview link to a site route in the API key owner's agent workspace. Start an agent session in the project before sharing. Page availability is checked when the link is opened, not when it is created.

- object
  - `object` 'shared_preview', required
  - `id` string, uuid, required
  - `url` string, uri, required: Durable link to the requested site route. Page availability is checked when someone opens it; deleting the preview disables the link.

## Other responses

- `400`: Invalid request.
- `401`: Missing or invalid Replo Public API token. Send an active key as `Authorization: Bearer replo_sk_...`; if it was revoked, create a new key in Replo Settings.
- `403`: You are not authorized to access this resource. Ask a workspace owner to perform this action or to grant the key's creator access.
- `404`: Not Found. The resource may not exist, this key may lack the required scope, or the key's creator may have lost access. Check the key's scopes in Replo Settings and the creator's project or workspace access; a workspace owner can grant access.
- `409`: The resource is in a conflicting state.
- `413`: File content exceeds the 10 MiB limit.
- `429`: Too many requests. Please retry after the time indicated by the Retry-After header.
- `500`: An internal error occurred.
- `503`: Service temporarily unavailable.

## Changes

- **2026-11-04** `53d194ba2067`: 9 info
  - added the optional property `error/issues` to the response with the `400` status
  - added the optional property `error/issues` to the response with the `401` status
  - added the optional property `error/issues` to the response with the `403` status
  - added the optional property `error/issues` to the response with the `404` status
  - …5 more
- **2026-10-29** `666c31ceb45c`: 1 breaking, 1 info
  - removed the enum value `2026-10-05` from the `header` request parameter `Replo-Api-Version`
  - added the new enum value `2026-10-29` to the `header` request parameter `Replo-Api-Version`
- **2026-10-15** `435cf180f6ae`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/replo/apis/replo-public-api/changes/shared-previews/post.md)

---

[API](https://skmtc.dev/replo/apis/replo-public-api.md) - [All operations](https://skmtc.dev/replo/apis/replo-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/replo/apis/replo-public-api/revisions/53d194ba2067?raw)
