API Routes
Shipkit exposes REST-style API routes via Next.js route handlers. Most require authentication.
Core API
| Route | Method | Auth | Purpose |
|---|
/api/payments/check-purchase | GET | Yes | Check if user has purchased a product |
/api/payments/check-subscription | GET | Yes | Check active subscription status |
/api/projects | GET | Yes | List user's projects |
/api/teams | GET | Yes | List user's teams |
/api/deployments | GET | Yes | List deployments |
/api/download | GET | Yes | Download purchased product |
/api/permissions/check | GET | Yes | Check RBAC permissions |
/api/docs/search | POST | No | Search documentation |
/api/preview | GET | No | Payload CMS preview |
Admin API
| Route | Method | Auth | Purpose |
|---|
/api/admin/users/[userId] | GET | Admin | Get user details |
Setup / Deploy API
Used by the setup wizard and deployment flow.
| Route | Method | Auth | Purpose |
|---|
/api/setup/create-repository | POST | Yes | Create GitHub repo from template |
/api/setup/deploy | POST | Yes | Trigger Vercel deployment |
/api/setup/deployment-status | GET | Yes | Poll deployment progress |
/api/setup/vercel-auth-url | GET | Yes | Get Vercel OAuth URL |
GitHub Integration
| Route | Method | Auth | Purpose |
|---|
/api/github/check-invitation | GET | Yes | Check repo invitation status |
/api/github/check-repo-availability | GET | Yes | Verify repo name is available |
Install API
Used by the install/scaffolding flow.
| Route | Method | Auth | Purpose |
|---|
/install/api/file | GET | No | Serve template files |
/install/api/template-files | GET | No | List available template files |
/install/api/v0-proxy | POST | No | Proxy to v0.dev |
/install/api/github/create-branch | POST | Yes | Create branch in user's repo |
/install/api/github/commit-changes | POST | Yes | Commit files to branch |
/install/api/github/create-pr | POST | Yes | Open PR with changes |
Auth Routes
| Route | Method | Purpose |
|---|
/api/auth/[...nextauth] | GET, POST | Auth.js catch-all handler |
/api/better-auth/[...path] | GET, POST | Better Auth catch-all handler |
Webhooks
| Route | Method | Purpose |
|---|
/webhooks/lemonsqueezy | POST | Lemon Squeezy payment events |
/webhooks/stripe | POST | Stripe payment events |
/webhooks/polar | POST | Polar payment events |
Checkout
| Route | Method | Purpose |
|---|
/integrations/stripe/checkout | GET, POST | Create Stripe checkout session |
/integrations/polar/checkout | GET | Create Polar checkout session |
Key Files
| File | Purpose |
|---|
src/app/(app)/api/ | Main API route handlers |
src/app/(app)/webhooks/ | Webhook handlers |
src/app/(app)/(integrations)/ | Payment checkout routes |