Skip to Content
TutorialsCreate a Share

Create a Share

This tutorial walks through creating a shareable content page with optional password protection, publishing it, and managing your shares.

Step 1: Draft the Share

Create a draft share page with a composition block. Shares are ideal for campaign reports, partner materials, or time-limited content.

Tool: share.draft

{ "tool": "share.draft", "input": { "composition": { "blocks": [ { "type": "heading", "text": "Q2 2026 Campaign Performance" }, { "type": "paragraph", "text": "Email: 45,000 sends | 42% open rate | 8.5% click rate" }, { "type": "paragraph", "text": "SMS: 12,000 sends | 15% click rate" }, { "type": "paragraph", "text": "Top performing: BPC-157 launch sequence (58% open, 12% click)" } ] }, "slug": "q2-2026-results", "expires_in_days": 30 } }

Response:

{ "ok": true, "data": { "id": "550e8400-e29b-41d4-a716-446655440000", "slug": "q2-2026-results", "host": "share.loop.health", "preview_url": "https://share.loop.health/q2-2026-results" } }

Step 2: Add Password Protection (Optional)

If the share contains sensitive data, add a password. Recipients will need to enter it to view the content. The password is bcrypt-hashed before storage.

Tool: share.set_password

{ "tool": "share.set_password", "input": { "id": "550e8400-e29b-41d4-a716-446655440000", "password": "LoopQ2Results!" } }

Response:

{ "ok": true, "data": { "id": "550e8400-e29b-41d4-a716-446655440000", "slug": "q2-2026-results", "host": "share.loop.health", "has_password": true } }

Step 3: Publish the Share

Publish the share to make it live. No ops gate — the creator self-publishes.

Tool: share.publish

{ "tool": "share.publish", "input": { "id": "550e8400-e29b-41d4-a716-446655440000" } }

Response:

{ "ok": true, "data": { "id": "550e8400-e29b-41d4-a716-446655440000", "url": "https://share.loop.health/q2-2026-results", "published_at": "2026-05-19T14:10:00Z" } }

Share the URL with your recipients. If password-protected, they’ll see a password prompt before the content loads.

Step 4: Manage Your Shares

List all your shares to see their status and expiration.

Tool: share.list

{ "tool": "share.list", "input": { "limit": 10 } }

Response:

{ "ok": true, "data": { "shares": [ { "id": "550e8400-e29b-41d4-a716-446655440000", "slug": "q2-2026-results", "host": "share.loop.health", "published_at": "2026-05-19T14:10:00Z", "expires_at": "2026-06-18T14:00:00Z", "view_count": 0 } ], "count": 1 } }

What Happens Next

You can manage the share over its lifetime:

  1. Extend the expiration with share.extend if you need more time
  2. Update the password with share.set_password to rotate access (pass null to remove)
  3. Expire early with share.expire — renderer returns 410 Gone
  4. Archive with share.archive to permanently remove (retained for audit)