Customer & Auth Endpoints
Customer endpoints are only registered when customerAccountsEnabled is on in Settings. All account endpoints require an active session (the customer must be logged in).
Authentication
- Login
- Register
- Social Auth
- Password Reset
- Logout
POST /shop/login
POST /shop/authorize ← form-based login with redirect
POST /shop/ajax-authorize ← AJAX login, returns JSON
Body parameters:
| Parameter | Type | Description |
|---|---|---|
loginName | string | Email or username |
password | string | Account password |
rememberMe | bool | Persist session |
POST /shop/register
POST /shop/create-account
Body parameters:
| Parameter | Type | Description |
|---|---|---|
email | string | Customer email |
password | string | Password |
firstName | string | First name |
lastName | string | Last name |
GET /shop/auth/social/{provider} ← Start OAuth flow
GET /shop/auth/social/{provider}/callback ← OAuth callback (handled automatically)
Supported providers depend on which social auth plugins are installed. {provider} is a slug like google, facebook, apple.
POST /shop/forgotten-password ← Request reset email
POST /shop/request-new-password ← Submit new password request
GET /shop/create-new-password ← Reset form page
POST /shop/create-new-password-post ← Submit new password
GET /shop/verify-otp ← OTP verification page
POST /shop/verify-otp-post ← Submit OTP
POST /shop/resend-otp ← Resend OTP code
POST /shop/logout
GET /shop/logout
Destroys the current session and redirects to the configured post-logout URL.
Account
GET /shop/account ← Account dashboard page
POST /shop/account/delete ← Delete account (requires confirmation)
GET /shop/account/login-details ← Login details page
POST /shop/account/login-details/save ← Save email / password changes
Subscriptions
GET /shop/account/subscriptions ← Subscriptions page
POST /shop/account/subscriptions/save ← Save subscription preferences
Orders
GET /shop/account/my-orders ← Order list page
GET /shop/account/my-order ← Order detail page (requires order number query param)
Invoices
GET /shop/account/my-invoices ← Invoice list page
POST /shop/account/download-invoice ← Download invoice PDF
Address book
GET /shop/account/address-book ← Address list page
GET /shop/account/address-book/new ← New address form
GET /shop/account/address-book/{id} ← Edit address form
POST /shop/account/address-book/save ← Save address
POST /shop/account/address-book/delete/{id} ← Delete address
Wishlists
POST /shop/wishlist/add ← Add product to wishlist
POST /shop/wishlist/remove-item ← Remove item from wishlist
GET /shop/account/wishlists ← My wishlists page
POST /shop/account/wishlist-update ← Rename / update wishlist
GET /shop/account/wishlist-share/{id} ← Share wishlist page
POST /shop/account/wishlist-share-post ← Send wishlist share email
POST /shop/account/wishlist-remove-item ← Remove item (account context)
POST /shop/account/wishlist-clear ← Clear all wishlist items
POST /shop/account/wishlist-cart-item ← Move wishlist item to cart
Add to wishlist body parameters:
| Parameter | Type | Description |
|---|---|---|
product | int | Product yuiId |
qty | int | Quantity |
wishlist | int | Wishlist ID (optional — uses default) |
Watchdog (back-in-stock alerts)
POST /shop/watchdog/toggle ← Subscribe / unsubscribe for a product
POST /shop/watchdog/remove ← Remove a watchdog alert
GET /shop/account/watchdog ← My watchdog page
CSRF & section loading
GET /shop/customer/csrf-token ← Fetch a fresh CSRF token
GET /shop/customer/section-load/{sid} ← Lazy-load a private data section
section-load is used to defer loading of authenticated sections (e.g. mini-cart item count) on cached pages. The {sid} is a section identifier defined in the theme.
Subscribe (newsletter only)
POST /shop/subscribe
Subscribes an email address to the store newsletter without creating a full account.
Body parameters:
| Parameter | Type | Description |
|---|---|---|
email | string | Email address |
firstName | string | Optional first name |