---
title: "Create a share link"
method: POST
path: "/links"
tags: ["Links"]
---

# Create a share link

`POST /links`

## Request

- Base URL: `https://dataroom.corgi.com/api/v1`
- URL: `https://dataroom.corgi.com/api/v1/links`
- Auth: HTTP bearer

For a document or a room, with the full gate set (email/password/agreement gates, IP + country + email allow/blocklists, expiry, view cap, protections). Watermark/NDA are forced off when the plan lacks them. Requires `links:write` plus a documents scope (document target) or a datarooms scope (room target). Explicit `slug` collisions on the same domain return 409.

## Request body

- object
  - `name` string, required
  - `documentId` string: Exactly one of documentId or dataRoomId
  - `dataRoomId` string
  - `kind` 'STANDARD' | 'CAMPAIGN' | 'INTERNAL'
  - `slug` string: Auto-generated when omitted
  - `domain` string
  - `accountId` string
  - `accountName` string
  - `emailRequired` boolean
  - `emailVerified` boolean
  - `password` string
  - `ndaAgreementId` string: Legacy single NDA gate (agreement id)
  - `gateAgreementId` string: Single agreement gate
  - `gateAgreementIds` string[]: Multiple agreement gates; visitor must accept all
  - `watermark` boolean
  - `allowDownload` boolean
  - `allowPrint` boolean
  - `disableCopy` boolean
  - `blockScreenCapture` boolean
  - `notifyOnView` boolean
  - `notifyOnDownload` boolean
  - `notifyCc` string[]
  - `expiresAt` string, date-time
  - `maxViews` integer
  - `ipAllowlist` string[]: CIDR ranges
  - `countryAllowlist` string[]: ISO-2 codes
  - `emailAllowlist` string[]
  - `emailBlocklist` string[]

## Response `201`

Created (returns a working share `url`)

## Other responses

- `403`: Missing the target resource's companion scope
- `409`: Slug already in use on this domain

---

[API](https://skmtc.dev/corgi/apis/dataroom-api.md) - [All operations](https://skmtc.dev/corgi/apis/dataroom-api/llms.txt) - [OpenAPI document](https://skmtc.dev/corgi/apis/dataroom-api/revisions/73f75ef04a00?raw)
