Project Sharing

Generate public share links with password protection and embed-domain restrictions.

updateShareConfig replaces the whole object

Any field you omit reverts to its default. Omitting isEnabled sets it to false, which takes the live share link and every embed offline; omitting domainRestrictions clears them. Always send the complete object. There is no link expiry and no download-permission setting.

Get Share Config

const share = await client.getShareConfig('proj_123');
// { isEnabled, shareToken, domainRestrictions, requirePassword }

// Build the public URL yourself — there is no shareUrl field:
const url = `https://YOUR_APP_DOMAIN/share/proj_123/${share.shareToken}`;

Enable Sharing

const share = await client.enableSharing('proj_123');
console.log(share.shareToken);

Update Share Settings

// Send every field — omitted fields revert to their defaults.
await client.updateShareConfig('proj_123', {
  isEnabled: true,
  requirePassword: true,
  password: 'secret123',
  domainRestrictions: ['shop.example.com']
});

Regenerate Token

// Invalidates the previous link immediately.
const newShare = await client.regenerateShareToken('proj_123');
console.log(newShare.shareToken);

Continue reading