> ## Documentation Index
> Fetch the complete documentation index at: https://docs.useshareable.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Link controls

> Expire a link, cap how many times it can be opened, or make a file view-only.

Link controls sit on top of [access control](/guides/sharing-and-access) — they limit a
link you've already decided who can open. Set them in the **Share** dialog, or via the
[API](/api-reference/pages) and the MCP tools. All three are optional; a normal share has
none of them.

<Note>Link controls are a **Pro** feature. The free plan shares with full access control and
a view count; Pro (\$9/mo) adds expiration, view limits, view-only, and full analytics.</Note>

## Expiration date

Give a link a cutoff. After the date and time you pick, anyone who opens it sees a short
"this link has expired" notice instead of the page — you don't have to remember to turn it
off. You (the owner) can still open and manage it.

Great for time-boxed things: a proposal that's only valid this quarter, a preview for a
client review window, a price sheet you don't want circulating forever.

## View limit

Close a link after a set number of opens. Once it hits the cap, further visitors get a
"no longer available" notice. Useful when something is meant for a small, specific
audience — share a link that self-closes after, say, 25 views.

<Note>
  Views are counted per open (the same counter that powers [analytics](/guides/analytics)),
  so a view limit and your view count always agree.
</Note>

## View-only (no download)

For a **PDF or image**, turn on **View-only** to hide the download button and show the
file inline only. It raises the effort to save a copy — good for a deck or document you
want people to read but not redistribute. (It's a deterrent, not DRM: anyone determined
can still screenshot or re-fetch.)

## Set them over the API or MCP

Every control is an optional field on [create](/api-reference/pages#create-a-page) and
[update](/api-reference/pages#update-a-page), and an optional parameter on the
`publish_page` / `publish_file` / `update_page` MCP tools — so you can ask your AI
assistant to "share this, expire it Friday, and make it view-only."

```bash theme={null}
curl -X PATCH https://useshareable.com/api/v1/pages/PAGE_ID \
  -H "Authorization: Bearer sm_your_key" \
  -H "Content-Type: application/json" \
  -d '{ "expires_at": "2026-07-01T17:00:00Z", "max_views": 25, "download_disabled": true }'
```

To remove a control later, set `expires_at` or `max_views` back to `null` (or toggle it
off in the Share dialog).
