Complete API Reference
Generated: Wednesday, February 25, 2026 at 9:59 AM
This document provides comprehensive API documentation for all endpoints in the Saugerties.com application.
Production: https://www.saugerties.com/api
Development: http://localhost:3000/api
Most endpoints require authentication via NextAuth session cookies.
/auth/checkMethods: GET
π Authentication: Public
/auth/registerMethods: POST
π Authentication: Public
Description: API Route: User Registration
/auth/forgot-passwordMethods: POST
π Authentication: Public
Description: API Route: Forgot Password (Request Reset)
/auth/reset-passwordMethods: POST
π Authentication: Public
Description: API Route: Reset Password
/profileMethods: PATCH
π Authentication: User session required
Description: API Route: Profile Management
/profile/passwordMethods: PATCH
π Authentication: User session required
Description: API Route: Change Password
/membersMethods: GET
π Authentication: Public
Description: API Route: Get all members with tier information GET /api/members
/members/[slug]Methods: GET
π Authentication: Public
Description: API Route: Get member by slug GET /api/members/[slug]
/members/[slug]/featuresMethods: GET
π Authentication: Public
Description: GET /api/members/:slug/features Get public tier features for a business (for display on member pages)
/members/[slug]/photosMethods: GET
π Authentication: Public
Description: API Route: Get business photos GET /api/members/[slug]/photos
/members/[slug]/leadsMethods: POST
π Authentication: Public
Description: API Route: Submit business lead POST /api/members/[slug]/leads
/members/[slug]/similarMethods: GET
π Authentication: Public
/members/mapMethods: GET
π Authentication: Public
Description: API Route: Get all members for map view GET /api/members/map
/members/randomMethods: GET
π Authentication: Public
Description: API Route: Get a random featured business (prioritizes premium tiers) GET /api/members/random
/business/[slug]/editMethods: GET, PUT
π Authentication: User session required
Description: PUT /api/business/[slug]/edit Update business information (owner only, respects tier permissions)
/business/claimMethods: POST
π Authentication: User session required
Description: POST /api/business/claim Submit a claim for a business
/business/ownedMethods: GET
π Authentication: User session required
Description: GET /api/business/owned Returns list of businesses owned by current user
/business/searchMethods: GET
π Authentication: User session required
Description: GET /api/business/search?q=query Search for businesses to claim
/business/stats/[slug]Methods: GET
π Authentication: User session required
/businesses/similarMethods: GET
π Authentication: Public
/categoriesMethods: GET
π Authentication: Public
/classifiedsMethods: GET, POST
π Authentication: User session required
Description: GET /api/classifieds Fetch all active classifieds (optionally filter by category)
/classifieds/[id]Methods: GET, DELETE
π Authentication: User session required
Description: GET /api/classifieds/[id] Fetch a single classified listing and increment views
/classifieds/[id]/statusMethods: PATCH
π Authentication: User session required
Description: PATCH /api/classifieds/[id]/status Update classified status (owner only)
/classifieds/myMethods: GET
π Authentication: User session required
Description: GET /api/classifieds/my Fetch current userβs classifieds
/classifieds/create-checkoutMethods: POST
π Authentication: User session required
Description: POST /api/classifieds/create-checkout Create a Stripe Checkout session for classified payment
/classifieds/verify-paymentMethods: POST
π Authentication: User session required
Description: POST /api/classifieds/verify-payment Verify Stripe payment and activate classified listing
/classifieds/upload-photosMethods: POST
π Authentication: User session required
Description: POST /api/classifieds/upload-photos Upload photos to Vercel Blob for classified listings
/classifieds/messagesMethods: POST
π Authentication: User session required
Description: POST /api/classifieds/messages Send a message about a classified listing
/payments/create-checkoutMethods: POST
π Authentication: User session required
/payments/completeMethods: POST
π Authentication: User session required
/payments/historyMethods: GET
π Authentication: User session required
/payments/hideMethods: POST
π Authentication: User session required
/stripe/checkoutMethods: POST
π Authentication: User session required
/stripe/webhookMethods: POST
π Authentication: Public
Description: Handle classified ad payment completion
/stripe/refundMethods: POST
π Authentication: User session required
/stripe/successMethods: GET
π Authentication: Public
/paypal/checkoutMethods: POST
π Authentication: User session required
/paypal/captureMethods: GET
π Authentication: User session required
/paypal/webhookMethods: POST
π Authentication: Public
Description: PayPal Webhook Handler Handles real-time notifications from PayPal
/paypal/refundMethods: POST
π Authentication: User session required
/invoicesMethods: GET, POST, PATCH
π Authentication: Admin role required
/invoices/[id]Methods: GET
π Authentication: User session required
/invoices/auto-generateMethods: POST
π Authentication: Public
Description: Automatic Invoice Generation from Subscriptions Run this via cron to generate monthly invoices
/eventsMethods: GET
π Authentication: Public
/events/submitMethods: POST
π Authentication: Public
/newsMethods: GET
π Authentication: Public
/dealsMethods: GET, POST, PUT, DELETE
π Authentication: User session required
/newsletter/subscribeMethods: POST
π Authentication: Public
/newsletter/confirmMethods: GET
π Authentication: Public
/reviewsMethods: GET, POST, PUT
π Authentication: User session required
/favoritesMethods: GET, POST, DELETE
π Authentication: User session required
/best-ofMethods: GET
π Authentication: Public
/best-of/nominateMethods: POST
π Authentication: User session required
/search/suggestMethods: GET
π Authentication: Public
/statsMethods: GET
π Authentication: Public
Description: API Route: Public Stats GET /api/stats - Returns business count and category count
/analytics/trackMethods: GET, POST
π Authentication: Public
/admin/dashboardMethods: GET
π Authentication: User session required
Description: GET /api/admin/dashboard Returns admin dashboard overview data
/admin/usersMethods: GET, PATCH
π Authentication: User session required
Description: GET /api/admin/users Returns all users
/admin/businessesMethods: GET, PATCH
π Authentication: User session required
Description: GET /api/admin/businesses Returns all businesses with subscription info
/admin/businesses/editMethods: GET, PATCH
π Authentication: User session required
Description: API Route: Admin Business Editor Comprehensive business editing including all fields and tier features
/admin/business-claimsMethods: GET, POST
π Authentication: User session required
Description: GET /api/admin/business-claims Get all business ownership claims (admin only)
/admin/eventsMethods: GET, POST, PUT, DELETE
π Authentication: User session required
/admin/reviewsMethods: GET, POST
π Authentication: User session required
/admin/subscriptionsMethods: GET, PATCH
π Authentication: User session required
Description: GET /api/admin/subscriptions Returns all subscriptions
/admin/transactionsMethods: GET
π Authentication: User session required
/admin/analytics/paymentsMethods: GET
π Authentication: User session required
/admin/email/sendMethods: POST
π Authentication: User session required
Description: Send Email API POST /api/admin/email/send - Send email to one or multiple businesses
/admin/email/logsMethods: GET
π Authentication: User session required
Description: Email Logs API GET /api/admin/email/logs - Get email sending history
/admin/email/templatesMethods: GET, POST, PATCH, DELETE
π Authentication: User session required
Description: Email Templates API GET /api/admin/email/templates - List all templates POST /api/admin/email/templates - Create new template PATCH /api/admin/email/templates/[id] - Update template DELETE /api/admin/email/templates/[id] - Delete template
/admin/newsletter/subscribersMethods: GET
π Authentication: User session required
/admin/newsletter/sendMethods: POST
π Authentication: User session required
/admin/leadsMethods: GET, PATCH
π Authentication: User session required
Description: GET /api/admin/leads Get all leads with filters
/admin/photosMethods: GET, POST, DELETE
π Authentication: User session required
Description: API Route: Admin photo management GET /api/admin/photos - List all photos POST /api/admin/photos - Add new photo DELETE /api/admin/photos - Remove photo
/admin/uploadMethods: POST
π Authentication: User session required
Description: API Route: Admin Photo Upload Handles image file uploads for business photo galleries using Vercel Blob
/admin/geocodingMethods: GET, POST
π Authentication: User session required
Description: Parse address to extract city and state
/admin/import-google-placesMethods: POST
π Authentication: User session required
Description: POST /api/admin/import-google-places Import businesses from Google Places API Body: - zipCode: string (default: β12477β) - radiusMiles: number (default: 20) - dryRun: boolean (default: false)
/admin/impersonateMethods: POST, DELETE
π Authentication: User session required
Description: API Route: Admin Impersonation Allows admins to log in as any user while keeping admin privileges
/healthMethods: GET
π Authentication: Public
/weatherMethods: GET
π Authentication: Public
/contactMethods: POST
π Authentication: Public
/dashboardMethods: GET
π Authentication: User session required
Description: GET /api/dashboard Returns dashboard data for logged-in business owner
/submissionsMethods: GET, POST
π Authentication: User session required
Description: API Route: Business Submissions