🔐 Auth Routes /api/v1/auth
POST
/register
Register a new merchant
Public
POST
/verify-email
Verify email using OTP
Public
POST
/login
Login user
Public
GET
/me
Get current logged-in user profile
AdminSuperAdminMerchantRider
GET
/refresh-tokens
Issue new access/refresh tokens
Public
POST
/logout
Logout current user
AdminSuperAdminMerchantRider
POST
/change-password
Change password for logged-in user
AdminSuperAdminMerchantRider
POST
/forget-password
Start password reset flow
Public
POST
/reset-password
Reset password using token
Public
POST
/activate
Activate a user
AdminSuperAdmin
POST
/block
Block a user
AdminSuperAdmin
🛡 Admin Routes /api/v1/admins
GET
/
Get all admins
AdminSuperAdmin
GET
/:id
Get a single admin by ID
AdminSuperAdmin
POST
/by-email
Get a single admin by email
AdminSuperAdmin
PATCH
/profile
Update admin profile
AdminSuperAdmin
DELETE
/:id
Soft delete admin by ID
AdminSuperAdmin
DELETE
/:id/permanent
Permanently delete admin by ID
AdminSuperAdmin
POST
/delete
Delete a user (custom action)
AdminSuperAdmin
👥 Users Routes /api/v1/users
POST
/create-admin
Create an admin user
AdminSuperAdmin
POST
/create-rider
Create a rider user
AdminSuperAdmin
📦 Parcel Routes /api/v1/parcels
GET
/
Get all parcels
AdminSuperAdmin
POST
/
Create a parcel
Merchant
PUT
/:id
Update parcel details
Merchant
PATCH
/cancel/:id
Cancel parcel
Merchant
PATCH
/status/:id
Update parcel status (Admin workflow)
AdminSuperAdmin
PATCH
/rider-status/:id
Update parcel status (Rider workflow)
Rider
POST
/delivery-otp/:id
Send delivery OTP to customer
Rider
PATCH
/verify-delivery/:id
Verify OTP & mark as delivered
Rider
GET
/tracking/:trackingId
Public tracking details
Public
🛵 Rider Routes /api/v1/riders
GET
/
Get all riders
AdminSuperAdmin
GET
/:id
Get rider by ID
Public
POST
/by-email
Get rider by email
AdminSuperAdmin
PATCH
/profile
Update rider profile
RiderAdminSuperAdmin
PATCH
/:id/hub
Assign/update rider's hub
AdminSuperAdmin
GET
/:id/parcels
Get parcels assigned to a specific rider
AdminSuperAdminRiderMerchant
GET
/my-assigned-parcels
Current rider’s assigned parcels
Rider
GET
/my-assigned-pickup-parcels
Current rider’s assigned pickup tasks
Rider
GET
/my-assigned-delivery-parcels
Current rider’s assigned delivery tasks
Rider
GET
/my-cash-handovers
Rider's cash handover history
RiderAdminSuperAdmin
PATCH
/soft-delete/:id
Soft delete rider
AdminSuperAdmin
DELETE
/:id
Permanently delete rider
AdminSuperAdmin
🏪 Merchant Routes /api/v1/merchants
GET
/
Get all merchants
AdminSuperAdmin
GET
/:id
Get merchant by ID
MerchantRiderAdminSuperAdmin
POST
/by-email
Get merchant by email
AdminSuperAdmin
PATCH
/profile
Update merchant profile
MerchantAdminSuperAdmin
GET
/:id/parcels
Get parcels belonging to a merchant
AdminSuperAdminRiderMerchant
POST
/payment-requests
Create payout/payment request
Merchant
DELETE
/:id
Soft delete merchant
AdminSuperAdmin
DELETE
/:id/permanent
Permanently delete merchant
AdminSuperAdmin
🏢 Hub Routes /api/v1/hubs
GET
/
List all hubs
Public
GET
/:slug
Get hub by slug
Public
POST
/
Create a new hub
AdminSuperAdmin
PATCH
/:slug
Update hub details
AdminSuperAdmin
GET
/:hubId/cash-collections
Get hub cash collections (filter by date)
AdminSuperAdmin
DELETE
/:slug
Delete hub
AdminSuperAdmin
💵 Pricing Routes /api/v1/pricing
GET
/
List pricing rules
Public
GET
/:id
Get pricing rule by ID
Public
POST
/
Create pricing rule
AdminSuperAdmin
POST
/delivery-charge
Calculate delivery charge dynamically
Public
PATCH
/:id
Update pricing rule
AdminSuperAdmin
DELETE
/:id
Delete pricing rule
AdminSuperAdmin
📝 Notes Routes /api/v1/notes
GET
/:parcelId
Get notes for a specific parcel
AdminSuperAdminMerchantRider
POST
/
Add note to a parcel
AdminSuperAdminMerchantRider
PATCH
/:id
Update note
AdminSuperAdmin
DELETE
/:id
Delete note
AdminSuperAdmin
⚡ Speed, ⚙️ Method & 📍 Zone /api/v1/[type]
GET
/
List entries
Public
GET
/:slug
Get entry by slug
Public
POST
/
Create new entry
AdminSuperAdmin
PATCH
/:slug
Update entry by slug
AdminSuperAdmin
DELETE
/:slug
Delete entry by slug
AdminSuperAdmin