links:create
links family
Create a tracked link in one of two shapes. ACTOR-BOUND (`actorId` given): the click elevates that contact to rung-4 identity at `/go/:id`, pre-warms their snapshot, and personalises the page + chat; the caller must hold authority over the contact's workspace. CAMPAIGN-ONLY (`campaignId` given, no `actorId`): the shape cold ad traffic needs, since an ad click is anonymous by definition and can never name a contact at mint time — the contact-owner walk is skipped, `actor_id` is stored null, and the click is attributed to the campaign alone. Exactly one of `actorId` / `campaignId` is required; supplying neither is refused. Minting is authed in both shapes; only the CLICK is anonymous. `slug` and `createdBy` are stamped from the attested session, never the body.
- Effect
- ask
- Awaits an outcome — the call returns the response below.
- Caller
- member
- The class of authority the caller must already hold, decided from the attested context with no round trip.
- Cost
- free
- What one call costs, so you can budget before acting.
- Reversible
- no
- This cannot be undone. Dry-run it first where the contract allows.
- Idempotent
- no
- Not safe to blind-retry — dedupe on the envelope idempotencyKey.