Create a public share link for a document
Creates a public share link for a document (primarily for quotes and invoices). Share links allow clients to view and optionally accept quotes without authentication.
Supported Document Types:
- QUOTE: Most common use case - share quotes with clients for review/acceptance
- INVOICE: Share invoices with clients for viewing
- TAX_INVOICE: Share tax invoices with clients for viewing
Share Link Features:
- Optional Expiration: Set expiration date (1-365 days)
- Optional Password: Add password protection for sensitive documents
- Comment Support: Allow clients to leave comments (optional)
- Quote Acceptance: Allow clients to accept quotes directly (optional, quotes only)
- View Tracking: Automatically tracks view count and last viewed timestamp
Use Cases:
- Quote Sharing: Send quote link to client for review and acceptance
- Invoice Sharing: Share invoice link for client to view and download
- Client Portal: Provide secure access to documents without login
Example Request:
{ "expiresInDays": 30, "allowComments": false, "allowAccept": true, "accessPassword": "client123"}Example Response:
{ "success": true, "data": { "shareId": "abc123-xyz789", "documentId": "550e8400-e29b-41d4-a716-446655440000", "shareUrl": "https://app.example.com/share/abc123-xyz789", "expiresAt": "2025-12-10T10:30:00.000Z", "allowComments": false, "allowAccept": true, "viewCount": 0, "isAccessible": true, "createdAt": "2025-11-10T10:30:00.000Z" }}Security:
- Share links use unique random UUIDs (not sequential IDs)
- Optional password protection available
- Expiration dates automatically enforced
- Links can be manually revoked
- View tracking for audit trail
Business API key, e.g. vuz_ab12cdef... Created via Settings → Integrations → API Keys. Unlike partner keys, a public API key's STRING does not encode its environment — isolation instead comes from a completely separate sandbox database: a key minted on the Sandbox server (above) only ever reads/writes sandbox data and can never see or affect production, regardless of what the key looks like.
In: header
Path Parameters
Document ID to share
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/documents/660e8400-e29b-41d4-a716-446655440000/share" \ -H "Content-Type: application/json" \ -d '{}'{ "shareId": "abc123-xyz789", "documentId": "550e8400-e29b-41d4-a716-446655440000", "shareUrl": "https://app.example.com/share/abc123-xyz789", "expiresAt": "2025-12-10T10:30:00.000Z", "allowComments": false, "allowAccept": true, "viewCount": 0, "isAccessible": true, "createdAt": "2025-11-10T10:30:00.000Z"}
