Stellarmart API v1

Base URL: https://api.stellarmartshop.com · Auth: Authorization: Bearer <token> · All responses use the envelope {success, message, data|errors}. Lists add a meta object.

Demo accounts (password: password):
admin@stellermart.test · vendor.approved@stellermart.test · vendor.pending@stellermart.test · customer@stellermart.test
Stellarmart API v1 — Documentation

Stellarmart API v1

Base URL: https://api.stellarmartshop.com · Auth: Authorization: Bearer <token> · All responses use the envelope {success, message, data|errors}. Lists add a meta object.

Demo accounts (password: password):
admin@stellermart.test · vendor.approved@stellermart.test · vendor.pending@stellermart.test · customer@stellermart.test

Auth

MethodEndpointAccessDescription
POST/api/v1/auth/register—Register (admin|vendor|customer). Vendors start pending. 10/min
POST/api/v1/auth/login—Login. Returns Sanctum token. 5/min
POST/api/v1/auth/logoutauthRevoke current token
GET/api/v1/auth/meauthCurrent user profile
POST/api/v1/auth/forgot-password—Send reset link. 5/min
POST/api/v1/auth/reset-password—Reset password with token. 5/min
GET/api/v1/auth/email/verify/{id}/{hash}signed URLVerify email address
POST/api/v1/auth/email/verification-notificationauthResend verification email. 6/min

Products (public)

MethodEndpointAccessDescription
GET/api/v1/products—List sellable products. Filters: search, category, min_price, max_price, sort_by, page, per_page
GET/api/v1/products/{product}—Product detail (sellable products are public)

Customer

MethodEndpointAccessDescription
GET/api/v1/customer/profileauthOwn profile
PATCH/api/v1/customer/profileauthUpdate own profile
GET/api/v1/customer/addressesauthList addresses
POST/api/v1/customer/addressesauthCreate address
GET/api/v1/customer/cartauthCurrent cart with totals
POST/api/v1/customer/cart/itemsauthAdd item { product_id, quantity }. 60/min
PATCH/api/v1/customer/cart/items/{item}authUpdate quantity { quantity }
DELETE/api/v1/customer/cart/items/{item}authRemove item
POST/api/v1/customer/checkoutauthPlace order. Server calculates all totals. 10/min
GET/api/v1/customer/ordersauthOwn order history
GET/api/v1/customer/orders/{order}authOrder detail (own only)
POST/api/v1/customer/orders/{order}/cancelauthCancel in early states

Vendor

MethodEndpointAccessDescription
GET/api/v1/vendor/profilevendorVendor profile (own)
PATCH/api/v1/vendor/profilevendorUpdate vendor profile (own)
GET/api/v1/vendor/productsapproved vendorOwn products. Filters: status, search
POST/api/v1/vendor/productsapproved vendorCreate product (+ inventory via initial_quantity)
GET/api/v1/vendor/products/{product}owner/adminProduct detail with stock
PATCH/api/v1/vendor/products/{product}owner/adminUpdate product
DELETE/api/v1/vendor/products/{product}owner/adminSoft-delete product
PATCH/api/v1/vendor/products/{product}/inventoryowner/adminAdjust stock { delta, reason? } — transaction-safe
GET/api/v1/vendor/ordersapproved vendorOrders containing own items only
GET/api/v1/vendor/orders/{order}vendor w/ itemsOrder scoped to own items
PATCH/api/v1/vendor/orders/{order}/statusvendor w/ itemsUpdate status { status, note? } via state machine

Admin

MethodEndpointAccessDescription
GET/api/v1/admin/dashboardadminAggregate counts + revenue
GET/api/v1/admin/vendorsadminList vendors. Filters: status, search
PATCH/api/v1/admin/vendors/{vendor}/approveadminApprove vendor. 30/min
PATCH/api/v1/admin/vendors/{vendor}/suspendadminSuspend vendor { reason }. 30/min
GET/api/v1/admin/ordersadminMonitor orders. Filters: status, payment_status, search
GET/api/v1/admin/orders/{order}adminFull order incl. audit history
GET/api/v1/admin/paymentsadminPayment records. Filters: status, provider
GET/api/v1/admin/payments/order/{order}adminPayments for an order
GET/api/v1/admin/analyticsadminRevenue trends + top vendors/products (5-min cache)

Order state machine

pending → confirmed → processing → shipped → delivered
   ↓         ↓            ↓
cancelled   cancelled    cancelled

Stellarmart Backend — Laravel modular monolith · Supabase PostgreSQL · Sanctum auth

Order state machine

pending → confirmed → processing → shipped → delivered
   ↓         ↓            ↓
cancelled   cancelled    cancelled

Stellarmart Backend — Laravel modular monolith · Supabase PostgreSQL · Sanctum auth