Skip to main content

Install

Auth

Requires a signed-in session (bearer guard). Unauthenticated clicks redirect to /sign-in first.

Idempotency

The unique index on (agentId, userId) plus ON CONFLICT DO NOTHING makes the call safe to retry. The response is always { installed: true } — no separate "already installed" status.

What does NOT happen

  • No HTTP call to the agent service.
  • No subscription is created.
  • No Stripe interaction.
  • No tier is assigned.
  • No webhook is fired.

If you need any of those, the user needs to subscribe, not install. See Subscription checkout.

Dashboard view

GET /me/installs (if exposed) or useAgents filtered on the dashboard shows the user their installed agents. The current dashboard groups by subscription rather than install — install rows act as bookmarks rather than runtime state.