---
title: "Reusable share link"
url: "https://raconte.ai/en/docs/share-link"
---

### Documentation

[Introduction](/en/docs)[Getting started](/en/docs/getting-started)[Reusable share link](/en/docs/share-link)[MCP server](/en/docs/mcp)[Webhooks](/en/docs/webhooks)[REST API](/en/docs/api)[CLI](/en/docs/cli)[SDK](/en/docs/sdk)[Agent skill](/en/docs/skill)

### Guides

[Share an interview with a public link](/en/guides/share-link)[Configure the MCP server](/en/guides/mcp-setup)[Using the MCP server](/en/guides/mcp-usage)[Connect Raconte to Claude Tag](/en/guides/claude-tag)

[Raconte](/) ⟩ [Documentation](/en/docs)

# Reusable share link

One public link per interview that anyone can open, each visit creating its own interview and transcript, with a pre-interview form and host-set limits.

A reusable share link is a single public URL per interview that anyone can open. Unlike a normal invitation (one person, one transcript), the share link is a factory: every visitor who opens it and submits the short pre-interview form gets their own invitation, their own transcript and their own sentiment analysis.

It is off by default. You turn it on, and configure it, from an interview’s **Share** tab.

## How it differs from invitations

Invitation

Reusable share link

URL

`/i/{slug}`, one per person

`/share/{slug}`, one per interview

Who

You create and send it

Anyone with the link opens it

Result

One transcript

A new transcript per visitor

Default

Created with the interview

Off until you enable it

The actual interview experience is identical: once a visitor submits the form, they land on the normal `/i/{slug}` page (microphone setup, consent, conversation). Only the entry point differs.

## The pre-interview form

Before starting, a visitor fills a short form. For each of **name** and **email** you choose one of three policies:

*   **Don’t ask**: the field is not shown.
*   **Optional**: the field is shown but can be left blank.
*   **Required**: the field must be filled (and a valid email format is enforced for email).

“Required” only collects the value, it does not verify it (no email confirmation).

## Limits

All limits are optional. Together they let you bound cost, run a time-boxed campaign and keep the data clean.

*   **Max responses**: the link closes after this many interviews. This is your main volume and cost ceiling: maximum spend is roughly `max responses x interview max minutes x price per minute`.
*   **Open / close window**: the link is only active between two dates. Outside the window it shows a “closed” or “not yet open” page.
*   **One response per contact** (dedup): a given email can only produce one interview. Only meaningful when the email is required. A visitor who returns with an unfinished interview resumes it; one who already completed it is told so.
*   **Max per IP / day**: a soft anti-flood cap for anonymous links. It is coarse (people behind the same office or mobile network share an IP, a VPN bypasses it), so prefer dedup-by-contact when you collect a contact.
*   **Access code**: a shared secret that gates the link (semi-private). Visitors must enter it to start.
*   **Allowed email domains**: restrict starts to specific email domains (for example `acme.com`), useful for internal studies. Only available, and only enforced, when email is required.

### Always-on protection

Independently of your limits, a short-window per-IP rate limit always applies to the start endpoint to stop hammering. And because each interview is metered, the per-interview **max minutes** caps the length of every single call, while the organization balance gates whether a call can run at all. No minutes are spent until a visitor actually talks.

## Resuming

If a visitor closes the tab mid-interview and reopens the share link on the same device, they are sent back to their unfinished interview instead of starting a new one. This is per-browser; the dedup-by-contact limit is the per-person equivalent.

## API

The share configuration is part of the API-key surface:

*   `GET /interviews/{id}/share` returns the configuration (slug, `url`, `enabled`, the three `ask*` policies, the limits, and `interviewsStartedCount`).
*   `PATCH /interviews/{id}/share` updates any subset of those fields. Pass `null` on a nullable limit to clear it.

The visitor-facing endpoints (`GET /shares/by-slug/{slug}` and `POST /shares/by-slug/{slug}/start`) are open: the slug is the only credential, exactly like the public invitation lookup.

Table of contents

[1\. How it differs from invitations](#how-it-differs-from-invitations)[2\. The pre-interview form](#the-pre-interview-form)[3\. Limits](#limits)[4\. Resuming](#resuming)[5\. API](#api)
