Update a share link
Partial update — only the fields you pass are changed. Useful for rotating passwords, updating expiry, or changing access controls. Pass `domain` + `slug` together to move the link onto a verified custom domain. For dataroom links, `audience_type` + `group_id` scope the link to a dataroom group (or back to `general`).
Authorization
bearerAuth links.writeDashboard-issued token (pm_live_...) or OAuth-issued access token.
In: header
Scope: links.write
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://api.papermark.com/v1/links/string" \ -H "Content-Type: application/json" \ -d '{}'{
"id": "clxabc1234567890",
"object": "link",
"name": "Q4 pitch — Acme Ventures",
"target_type": "document",
"audience_type": "general",
"group_id": "string",
"document_id": "clxdoc0987654321",
"dataroom_id": "string",
"url": "https://www.papermark.com/view/clxabc1234567890",
"domain": "dataroom.acme.com",
"slug": "q4-acme-ventures",
"expires_at": "2019-08-24T14:15:22Z",
"is_password_protected": true,
"email_protected": true,
"email_authenticated": true,
"allow_download": true,
"allow_list": [
"string"
],
"deny_list": [
"string"
],
"enable_watermark": true,
"watermark_config": {
"text": "Confidential — {{email}} — {{date}}",
"is_tiled": true,
"position": "middle-center",
"rotation": 45,
"color": "#000000",
"font_size": 24,
"opacity": 0.5
},
"enable_feedback": true,
"enable_screenshot_protection": true,
"enable_confidential_view": true,
"enable_agreement": true,
"agreement_id": "string",
"welcome_message": "string",
"enable_notification": true,
"show_banner": true,
"custom_fields": [
{
"type": "SHORT_TEXT",
"identifier": "company",
"label": "Company name",
"placeholder": "string",
"required": true,
"disabled": true,
"order_index": 0
}
],
"created": "2019-08-24T14:15:22Z",
"updated_at": "2019-08-24T14:15:22Z"
}{
"error": {
"code": "bad_request",
"message": "The request body is not valid JSON.",
"doc_url": "https://www.papermark.com/docs/api/errors#bad_request",
"details": null
}
}{
"error": {
"code": "unauthorized",
"message": "Missing bearer token. Include an `Authorization: Bearer <token>` header.",
"doc_url": "https://www.papermark.com/docs/api/errors#unauthorized",
"details": null
}
}{
"error": {
"code": "forbidden",
"message": "Token is missing required scope: links.write.",
"doc_url": "https://www.papermark.com/docs/api/errors#forbidden",
"details": null
}
}{
"error": {
"code": "not_found",
"message": "Link link_abcd1234 not found.",
"doc_url": "https://www.papermark.com/docs/api/errors#not_found",
"details": null
}
}{
"error": {
"code": "conflict",
"message": "The slug `q4-acme-ventures` is already in use on domain `dataroom.acme.com`.",
"doc_url": "https://www.papermark.com/docs/api/errors#conflict",
"details": null
}
}{
"error": {
"code": "unprocessable_entity",
"message": "Invalid request body.",
"doc_url": "https://www.papermark.com/docs/api/errors#unprocessable_entity",
"details": {
"formErrors": [],
"fieldErrors": {
"expires_at": [
"Invalid datetime"
]
}
}
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Try again in 30s.",
"doc_url": "https://www.papermark.com/docs/api/errors#rate_limit_exceeded",
"details": null
}
}