Customers API
CRM with contact details, order history, lifetime value, and customer notes.
/admin/customersList customers with search and pagination
Query Parameters
?search=riverside&limit=50&offset=0Response
{
"success": true,
"data": [
{ "user_id": "user_456", "email": "coach@riverside.org", "name": "Mike Rivera", "order_count": 12, "lifetime_value": 4280.00, "created_at": "2025-09-15T08:00:00Z" }
]
}/admin/customers/{user_id}/notesAdd an internal note to a customer record
Request Body
{ "content": "Prefers delivery on Tuesdays. Always orders for 3 teams." }Reviews API
Collect, display, and moderate customer product reviews.
/catalog/products/{product_id}/reviewsList reviews for a product (public endpoint)
Response
{
"success": true,
"data": [
{ "id": "rev_01", "rating": 5, "title": "Great quality", "body": "Perfect for our team jerseys.", "author": "Coach Mike", "created_at": "2026-03-18T14:00:00Z" }
],
"summary": { "average_rating": 4.8, "total_reviews": 24 }
}/admin/reviews/{review_id}Moderate a review (approve, reject, flag)
Request Body
{ "status": "approved" }User Profile API
Manage the current user's profile, password, and notification preferences.
/me/profileGet the current user's profile
Response
{
"success": true,
"data": {
"id": "user_123",
"email": "marc@example.com",
"first_name": "Marc",
"last_name": "Smith",
"phone": "+1-555-0123",
"avatar_url": null
}
}/me/profileUpdate the current user's profile information
Response
{
"success": true,
"data": {"user_id": "user_123", "name": "Marc", "email": "marc@example.com"}
}/me/change-passwordChange the current user's password
Request Body
{
"current_password": "oldpass123",
"new_password": "newSecurePass456!"
}/me/notificationsGet notification preferences for the current user
Response
{
"success": true,
"data": {"user_id": "user_123", "notifications": {}}
}/me/notificationsUpdate notification preferences
Response
{
"success": true,
"data": {"user_id": "user_123", "notifications": {}}
}Notifications API
In-app notification system for orders, stock alerts, reviews, and team activity.
/admin/notificationsList notifications for the current user
Response
{
"success": true,
"data": [
{ "id": "notif_01", "type": "low_stock", "title": "Low stock: Nike Mercurial Vapor", "read": false, "created_at": "2026-03-22T08:00:00Z" }
],
"unread_count": 3
}/admin/notifications/read-allMark all notifications as read
Response
{
"success": true,
"data": {
"marked_read": 3
}
}Contact API
Public contact form submission and admin inquiry management.
/api/contactSubmit a contact form inquiry (public endpoint)
Request Body
{
"name": "Jane Doe",
"email": "jane@example.com",
"subject": "Bulk order inquiry",
"message": "We'd like to order 200 custom jerseys for our league."
}/admin/contactList all contact form inquiries
Response
{
"success": true,
"data": [{"id": "inq_01", "name": "Jane Doe", "status": "new"}]
}/admin/contact/{inquiry_id}/statusUpdate the status of a contact inquiry (new, in_progress, resolved, closed)
Response
{
"success": true,
"data": {"inquiry_id": "inq_01", "status": "in_progress"}
}