API reference
The linkdown worker API is the single source of truth for the dashboard
and CLI. Endpoints are versioned on the URL prefix; this page mirrors apps/workers/src/openapi.yaml.
| Method | Path | Summary |
|---|---|---|
| GET | /me | Authenticated user profile (Clerk Bearer). |
| GET | /decks | List decks for the authenticated user. |
| POST | /decks | Create a deck row + presigned R2 PUT URL. |
| GET | /decks/:id | Fetch a single deck. |
| PUT | /decks/:id | Update a deck (rename). |
| DELETE | /decks/:id | Delete a deck and its share. |
| POST | /decks/:id/complete | Finalise a deck upload (size, slides, assets). |
| GET | /decks/:id/share | Read the deck share token + URL. |
| POST | /decks/:id/share | Create or rotate a share link (optional Pro fields). |
| GET | /storage-usage | Tier + storage usage for the user. |
| POST | /billing/portal | Create a Stripe customer portal session URL. |
Authenticated endpoints require the bearer Authorization: Bearer <clerk-jwt>. The dashboard's
hooks resolve the session via src/lib/server/clerk.ts.