API Overview
Overview of DirectoryKit's API routes.
Overview
DirectoryKit's API routes live under app/api/ and follow Next.js App Router conventions.
Common patterns
Rate limiting
import { checkRateLimit, createRateLimitResponse } from '@/lib/rate-limit'
const rateLimitResult = await checkRateLimit(request, 'general')
// Tiers: 'general' | 'voting' | 'auth' | 'submission' | 'admin' | 'analytics'Feature guards
import { featureGuard } from '@/lib/features'
const guard = featureGuard('partners')
if (guard) return guard // Returns 404 if feature disabledAuthentication
import { getSupabaseAdmin } from '@/lib/supabase/client'
const supabase = getSupabaseAdmin()
const { data: { user } } = await supabase.auth.getUser()Route categories
| Path | Purpose |
|---|---|
/api/projects/ | Project CRUD and listing |
/api/categories/ | Category management |
/api/user/ | User profile and settings |
/api/admin/ | Admin operations (protected) |
/api/payments/ | Payment processing |
/api/webhooks/stripe/ | Stripe webhook handler |
/api/ai/generate/ | AI features (guarded) |
/api/analytics/ | Analytics tracking |
/api/cron/ | Cron job endpoints |