Admin API
Platform administration endpoints. All require the admin role and return 403 otherwise. Paths are under /api/v1/admin.
Users & plans
| GET | /api/v1/admin/stats | Platform-wide stats |
| GET | /api/v1/admin/users | List users |
| GET | /api/v1/admin/users/{id} | User details |
| POST | /api/v1/admin/users/{id}/plan | Change a user’s plan |
| POST | /api/v1/admin/users/{id}/impersonate | Impersonate a user |
| DELETE | /api/v1/admin/users/{id} | Delete a user |
| GET | /api/v1/admin/plan-limits | Current plan limits |
| POST | /api/v1/admin/plan-limits/{plan} | Override a plan’s limits |
Sites
| POST | /api/v1/admin/sites/{id}/activate | Activate a site |
| POST | /api/v1/admin/sites/{id}/deactivate | Deactivate a site |
| POST | /api/v1/admin/sites/{id}/verify | Verify a site |
| POST | /api/v1/admin/sites/{id}/unverify | Unverify a site |
| DELETE | /api/v1/admin/sites/{id} | Delete a site |
Referrals & payouts
| GET | /api/v1/admin/referrals | List referral partners |
| POST | /api/v1/admin/referrals | Create a partner |
| PUT | /api/v1/admin/referrals/{id} | Update a partner |
| POST | /api/v1/admin/referrals/{id}/withdraw | Record a withdrawal |
| GET | /api/v1/admin/referral-applications | List applications |
| POST | /api/v1/admin/referral-applications/{id}/approve | Approve application |
| POST | /api/v1/admin/referral-applications/{id}/reject | Reject application |
| PUT | /api/v1/admin/referral-withdrawals/{id} | Update a withdrawal request |
| GET | /api/v1/admin/referral-settings | Get program settings |
| PUT | /api/v1/admin/referral-settings | Update program settings |
Sales, commission & Stripe requests
| GET | /api/v1/admin/sales | Sales report |
| GET | /api/v1/admin/commission | Get default commission |
| POST | /api/v1/admin/commission | Set default commission |
| POST | /api/v1/admin/users/{id}/commission | Per-user commission |
| GET | /api/v1/admin/gmaps-usage | Google Maps usage |
| GET | /api/v1/admin/stripe-requests | List Stripe Connect requests |
| POST | /api/v1/admin/stripe-requests/{id}/approve | Approve request |
| POST | /api/v1/admin/stripe-requests/{id}/reject | Reject request |
Content & moderation
| GET | /api/v1/admin/testimonials | List testimonials |
| POST | /api/v1/admin/testimonials | Create testimonial |
| POST | /api/v1/admin/testimonials/{id} | Update testimonial |
| DELETE | /api/v1/admin/testimonials/{id} | Delete testimonial |
| GET | /api/v1/admin/promo-codes | List promo codes |
| POST | /api/v1/admin/promo-codes | Create promo code |
| PUT | /api/v1/admin/promo-codes/{id} | Update promo code |
| DELETE | /api/v1/admin/promo-codes/{id} | Delete promo code |
| POST | /api/v1/admin/blog/generate | AI-generate a blog post |
| POST | /api/v1/admin/blog | Create a blog post |
| PUT | /api/v1/admin/blog/{id} | Update a blog post |
| DELETE | /api/v1/admin/blog/{id} | Delete a blog post |
| GET | /api/v1/admin/cover-videos | List cover videos |
| POST | /api/v1/admin/service-categories | Create a category |
| GET | /api/v1/admin/google-verifications | List Google verifications |
| POST | /api/v1/admin/google-verifications/{id}/approve | Approve verification |
Support
| GET | /api/v1/admin/support/stats | Support stats |
| GET | /api/v1/admin/support/tickets | List all tickets |
| GET | /api/v1/admin/support/tickets/{id} | Ticket details |
| POST | /api/v1/admin/support/tickets/{id}/reply | Reply to a ticket |
| POST | /api/v1/admin/support/tickets/{id}/status | Change ticket status |
| POST | /api/v1/admin/support/ai-rewrite | AI-rewrite a reply |
| GET | /api/v1/admin/support/canned | List canned replies |
This list is abbreviated to the main operations; several groups also expose GET {id}, PUT and DELETE variants.