Private Sharing

List shares

GET /v1/sessions/:sessionId/shares
List all users a session is shared with (owner only).

Share with user

POST /v1/sessions/:sessionId/shares
Request body:
FieldTypeDescription
userIdstringTarget user ID
accessLevelstringview, edit, or admin
encryptedKeystringSession key encrypted for the recipient

Update access level

PATCH /v1/sessions/:sessionId/shares/:userId
Change a user’s access level.

Revoke share

DELETE /v1/sessions/:sessionId/shares/:userId
Remove a user’s access to a shared session.

Public Sharing

POST /v1/sessions/:sessionId/public-share
Request body:
FieldTypeDescription
expiresAtstringOptional expiration date (ISO 8601)
maxUsesnumberOptional maximum number of uses
Response:
{
  "token": "abc123...",
  "url": "https://app.happy-next.com/share/abc123..."
}

Access public session

GET /v1/public-sessions/:token
Access a publicly shared session by token.
DELETE /v1/sessions/:sessionId/public-share
Delete a public share link, revoking all access.