Skip to content

API Endpoints Reference

All API endpoints are served from the /api prefix. The base URL depends on the environment:

  • Local: http://localhost:8000/api
  • Staging: https://api.staging.upvendo.com/api
  • Production: https://api.upvendo.com/api

Route Architecture

Routes are organized in a modular file structure under routes/:

  • routes/api.php - Main API route file, includes all sub-route files
  • routes/api/guest.php - Unauthenticated routes (login, webhooks, device activation)
  • routes/api/backoffice/*.php - BackOffice CRUD routes (auto-loaded via glob)
  • routes/api/backoffice/settings/*.php - Settings sub-routes (auto-loaded via glob)

All backoffice routes live under the /back-office prefix and require the middleware stack: auth, type:backoffice, tenant:backoffice, check-user-activity


Public Endpoints (No Auth Required)

Constants

MethodPathDescription
GET/country-optionsList available countries
GET/lang-optionsList available languages
GET/calling-code-optionsList phone calling codes
GET/branding-font-optionsList branding font choices
GET/allergens-optionsList allergen options
GET/dietary-preferences-optionsList dietary preference options
GET/dietary-supplements-optionsList dietary supplement options
GET/tags-optionsList tag options

Health Check

MethodPathDescription
GET/healthSimple health check
GET/health/detailedDetailed health check with component status
GET/health/freshFresh health check (no cache)
GET/health/statusHealth status summary

Authentication Endpoints

BackOffice Authentication (Guest Routes)

MethodPathDescription
POST/loginLogin with email/password, returns JWT token
POST/back-office/registerRegister new merchant account
POST/back-office/forget-passwordRequest password reset email
PUT/back-office/update-passwordUpdate password using reset token
POST/back-office/request-otpRequest OTP code for two-factor auth
POST/back-office/verify-otpVerify OTP code and complete login
POST/back-office/passkeysGet WebAuthn challenge for passkey login
POST/back-office/authenticate-passkeyAuthenticate using WebAuthn passkey
GET/back-office/join-merchantGet details for merchant invitation
POST/back-office/join-merchantAccept merchant invitation

BackOffice Authenticated User

MethodPathMiddlewareDescription
POST/logoutauth, type:backofficeLogout (client discards JWT)
POST/back-office/start-usingauth, type:backofficeMark merchant as started
GET/back-office/userauth, type:backofficeGet current user profile
PUT/back-office/user-personal-infoauth, type:backofficeUpdate personal info
PUT/back-office/user-business-infoauth, type:backofficeUpdate business info
GET/back-office/merchant-optionsauth, type:backofficeList user's merchants
POST/back-office/set-merchantauth, type:backofficeSwitch active merchant (returns new JWT)
GET/validate-tokenauthValidate JWT token (used by Cloudflare Worker)

Passkey Management (Authenticated)

MethodPathDescription
GET/back-office/passkeysGet user's registered passkeys
GET/back-office/passkeys/setupGet passkey registration options
POST/back-office/passkeys/setupRegister a new passkey
DELETE/back-office/passkeysDelete a passkey

Customer Authentication (Guest Routes)

MethodPathDescription
POST/customer/send-otpSend OTP to customer phone/email
POST/customer/loginVerify OTP and login customer

Customer Authenticated

MethodPathMiddlewareDescription
GET/customer/userauth, type:customerGet customer profile
POST/customer/logoutauth, type:customerLogout customer
GET/customer/personal-infoauth, type:customerGet personal info
POST/customer/personal-infoauth, type:customerUpdate personal info
GET/customer/addressesauth, type:customerList addresses
GET/customer/addresses/optionsauth, type:customerAddress form options
POST/customer/addressesauth, type:customerAdd new address
DELETE/customer/addresses/{addressId}auth, type:customerDelete address
GET/customer/loyalties/{slug}auth, type:customerList loyalty programs
GET/customer/loyalties/{slug}/{locationId}auth, type:customerLoyalty program detail
GET/customer/{slug}/locationsauth, type:customerList user's locations

Device Authentication (Guest)

MethodPathDescription
POST/device-auth/activateActivate device with activation code

Device Authenticated

MethodPathMiddlewareDescription
GET/device-auth/userauth, tenant:kiosk,kdsGet device info
POST/device-auth/network-infoauth, tenant:kiosk,kdsUpdate device network info
POST/device-auth/logoutauthLogout device

BackOffice CRUD Endpoints

All endpoints below are prefixed with /back-office and require auth + type:backoffice + tenant:backoffice middleware.

Items

MethodPathPermissionDescription
GET/items/datatableVIEW_ITEMSList items (DataTable format)
GET/items/exportEXPORT_ITEMSExport items to spreadsheet
GET/items/options--Item select options
POST/itemsCREATE_ITEMSCreate item
GET/items/{id}VIEW_ITEMSShow item detail
PUT/items/{id}EDIT_ITEMSUpdate item
DELETE/items/{id}DELETE_ITEMSDelete item

Categories

MethodPathPermissionDescription
GET/categories/datatableVIEW_CATEGORIESList categories
GET/categories/options--Category select options
POST/categoriesCREATE_CATEGORIESCreate category
GET/categories/{id}VIEW_CATEGORIESShow category
PUT/categories/{id}EDIT_CATEGORIESUpdate category
DELETE/categories/{id}DELETE_CATEGORIESDelete category
MethodPathPermissionDescription
GET/menu-options--Menu select options
GET/menusVIEW_MENUSList all menus
POST/menusCREATE_MENUSCreate menu
GET/menus/{id}VIEW_MENUSShow menu detail
PUT/menus/{id}EDIT_MENUSUpdate menu
DELETE/menus/{id}DELETE_MENUSDelete menu
POST/menus/duplicate/{id}CREATE_MENUSDuplicate menu
POST/menus/draft/{id}EDIT_MENUSSet menu to draft
POST/menus/archive/{id}EDIT_MENUSArchive menu
POST/menus/publish/{id}EDIT_MENUSPublish menu
GET/menus/display-group-items/{id}VIEW_MENUSList display group items
POST/menus/display-group-items/{id}EDIT_MENUSSave display group items
DELETE/menus/display-groups/{id}EDIT_MENUSDelete display group
POST/menus/move-item-to-other-group/{id}EDIT_MENUSMove item between groups

Modifier Groups

MethodPathPermissionDescription
GET/modifiers--List all modifiers
GET/modifier-groupsVIEW_MODIFIER_GROUPSList modifier groups
POST/modifier-groupsCREATE_MODIFIER_GROUPSCreate modifier group
GET/modifier-groups/options--Modifier group options
PUT/modifier-groups/reorderEDIT_MODIFIER_GROUPSReorder modifier groups
GET/modifier-groups/{id}VIEW_MODIFIER_GROUPSShow modifier group
PUT/modifier-groups/{id}EDIT_MODIFIER_GROUPSUpdate modifier group
DELETE/modifier-groups/{id}DELETE_MODIFIER_GROUPSDelete modifier group

Variant Groups

MethodPathPermissionDescription
POST/variant-groupsCREATE_VARIANT_GROUPSCreate variant group
GET/variant-groups/{id}VIEW_ITEMSShow variant group
PUT/variant-groups/{id}EDIT_VARIANT_GROUPSUpdate variant group
DELETE/variant-groups/{id}DELETE_VARIANT_GROUPSDelete variant group

Display Groups

MethodPathDescription
GET/display-groupsList all display groups
POST/display-groupsCreate display group
GET/display-groups/{id}Show display group
PUT/display-groups/{id}Update display group
DELETE/display-groups/{id}Delete display group

Offers

MethodPathPermissionDescription
GET/offersVIEW_OFFERSList offers
POST/offersCREATE_OFFERSCreate offer
GET/offers/{id}VIEW_OFFERSShow offer
PUT/offers/{id}EDIT_OFFERSUpdate offer
DELETE/offers/{id}DELETE_OFFERSDelete offer
POST/offers/activate/{id}EDIT_OFFERSActivate offer
POST/offers/deactivate/{id}EDIT_OFFERSDeactivate offer
POST/offers/archive/{id}EDIT_OFFERSArchive offer
POST/offers/unarchive/{id}EDIT_OFFERSUnarchive offer

Transactions

MethodPathPermissionDescription
GET/transactions/exportEXPORT_TRANSACTION_REPORTSExport transactions
GET/transactions/statsVIEW_TRANSACTIONSTransaction statistics
GET/transactions/datatableVIEW_TRANSACTIONSList transactions
GET/transactions/{id}VIEW_TRANSACTIONSShow transaction
POST/transactions/{id}/resend-receiptVIEW_TRANSACTIONSResend receipt

Customers (BackOffice)

MethodPathPermissionDescription
GET/customers/datatableVIEW_CUSTOMERSList customers
GET/customers/exportEXPORT_CUSTOMERSExport customers
POST/customersCREATE_CUSTOMERSCreate customer
GET/customers/order-detail/{id}VIEW_TRANSACTIONSShow order detail
GET/customers/{id}VIEW_CUSTOMERSShow customer
PUT/customers/{id}EDIT_CUSTOMERSUpdate customer
DELETE/customers/{id}DELETE_CUSTOMERSDelete customer
GET/customers/{id}/ordersVIEW_CUSTOMERSCustomer orders
GET/customers/{id}/gift-cardsVIEW_CUSTOMERSCustomer gift cards
GET/customers/{id}/reward-redemptionsVIEW_CUSTOMERSCustomer rewards
GET/customers/{id}/timelinesVIEW_CUSTOMERSCustomer timeline
POST/customers/{id}/notesEDIT_CUSTOMERSAdd customer notes
POST/customers/{id}/marketingEDIT_CUSTOMERSUpdate marketing preferences
POST/customers/{id}/addressesEDIT_CUSTOMERSAdd address
POST/customers/{id}/addresses/{addressId}EDIT_CUSTOMERSSet default address

Devices

MethodPathPermissionDescription
GET/devicesVIEW_DEVICESList devices
POST/devicesCREATE_DEVICESCreate device
POST/devices/subscribe/{locationId}CREATE_DEVICESSubscribe device
GET/devices/newCREATE_DEVICESNew device form data
GET/devices/options--Device select options
GET/devices/{id}VIEW_DEVICESShow device
PUT/devices/{id}EDIT_DEVICESUpdate device
DELETE/devices/{id}DELETE_DEVICESDelete device
POST/devices/{id}/remote-control--Send remote control command
POST/devices/{id}/square-device-code--Create Square device code
POST/devices/{id}/new-activation-code--Generate new activation code
POST/devices/{id}/send-activation-code--Send activation code via email
POST/devices/{id}/activate-payment--Activate payment reader
POST/devices/{id}/deactivate-payment--Deactivate payment reader
POST/devices/{id}/profileEDIT_DEVICESAssign device profile

Device Profiles

MethodPathPermissionDescription
GET/device-profilesVIEW_DEVICE_PROFILEList profiles
POST/device-profilesCREATE_DEVICE_PROFILECreate profile
GET/device-profiles/options--Profile options
GET/device-profiles/{id}VIEW_DEVICE_PROFILEShow profile
PUT/device-profiles/{id}EDIT_DEVICE_PROFILEUpdate profile
DELETE/device-profiles/{id}DELETE_DEVICE_PROFILEDelete profile

Content

MethodPathPermissionDescription
GET/contents/datatable--Content datatable
GET/contents--List all content
POST/contentsCREATE_CONTENTCreate content
GET/contents/{id}VIEW_CONTENTShow content
POST/contents/{id}VIEW_CONTENTUpdate content
DELETE/contentsDELETE_CONTENTDelete multiple content items

Inventories

MethodPathDescription
GET/inventoriesInventory overview
POST/inventoriesCreate inventory history
DELETE/inventoriesDelete inventory entries

Tax Rates

MethodPathPermissionDescription
GET/tax-rate-options--Tax rate select options
GET/tax-rates/datatableVIEW_TAX_RATESList tax rates
POST/tax-ratesCREATE_CUSTOM_TAX_RATESCreate tax rate
PUT/tax-rates/{id}EDIT_CUSTOM_TAX_RATESUpdate tax rate
DELETE/tax-rates/{id}DELETE_CUSTOM_TAX_RATESDelete tax rate

Settings Endpoints

All prefixed with /back-office/settings/ and require backoffice auth.

Locations

MethodPathDescription
GET/location-optionsLocation select options
GET/locations/address-suggestionsAutocomplete address
GET/locations/datatableList locations
POST/locationsCreate location
GET/locations/{id}Show location
PUT/locations/{id}Update location
DELETE/locations/{id}Delete location
PUT/locations/{id}/statusUpdate location status
POST/locations/exportExport locations
GET/locations/{id}/terminal-optionsGet terminal options for location

Team (Users & Roles)

MethodPathPermissionDescription
GET/team/permission-list--List all permissions
GET/team/roles/options--Role select options
GET/team/rolesVIEW_ROLESList roles
GET/team/roles/{roleId}VIEW_ROLESShow role
POST/team/rolesCREATE_ROLESCreate role
PUT/team/roles/{roleId}EDIT_ROLESUpdate role
DELETE/team/roles/{roleId}DELETE_ROLESDelete role
GET/team/usersVIEW_USERSList users
POST/team/usersCREATE_USERSInvite user
POST/team/users/{userId}/resend-invitationCREATE_USERSResend invitation
PUT/team/users/{userId}/rolesASSIGN_ROLESAssign roles
PUT/team/users/{userId}/locationsEDIT_USER_LOCATION_ACCESSAssign locations
PUT/team/users/{userId}EDIT_USERSUpdate user
DELETE/team/users/{userId}DELETE_USERSDelete user
GET/team/users/globalVIEW_USERSList global users
POST/team/users/globalCREATE_USERSCreate global user
PUT/team/users/global/{userId}EDIT_USERSUpdate global user
DELETE/team/users/global/{userId}DELETE_USERSDelete global user

Billing Profiles

MethodPathPermissionDescription
GET/billing-profilesVIEW_BILLING_PROFILESList profiles
GET/billing-profiles/options--Profile options
POST/billing-profilesCREATE_BILLING_PROFILESCreate profile
GET/billing-profiles/{id}VIEW_BILLING_PROFILESShow profile
PUT/billing-profiles/{id}EDIT_BILLING_PROFILESUpdate profile name
POST/billing-profiles/{id}EDIT_BILLING_PROFILESAttach payment method
DELETE/billing-profiles/{id}DELETE_BILLING_PROFILESDelete profile
GET/billing-profiles/{id}/past-billsVIEW_BILLING_PROFILESPast bills datatable
GET/billing-profiles/{id}/exportVIEW_BILLING_PROFILESExport past bills
GET/billing-profiles/{id}/subscriptionsVIEW_BILLING_PROFILESList subscriptions
POST/billing-profiles/{id}/subscriptions/{subId}/cancelEDIT_BILLING_PROFILESCancel subscription
POST/billing-profiles/{id}/subscriptions/{subId}/reactivateEDIT_BILLING_PROFILESReactivate subscription
POST/billing-profiles/{id}/subscriptions/{subId}/retry-paymentEDIT_BILLING_PROFILESRetry failed payment

Payment Profiles

MethodPathPermissionDescription
GET/payment-profilesVIEW_PAYMENT_PROFILESList profiles
POST/payment-profilesCREATE_PAYMENT_PROFILESCreate profile
GET/payment-profiles/options--Profile options
GET/payment-profiles/{id}VIEW_PAYMENT_PROFILESShow profile
PUT/payment-profiles/{id}EDIT_PAYMENT_PROFILESUpdate name
DELETE/payment-profiles/{id}DELETE_PAYMENT_PROFILESDelete profile
POST/payment-profiles/{id}/defaultEDIT_PAYMENT_PROFILESSet as default

Branding Profiles

MethodPathPermissionDescription
GET/branding-profilesVIEW_BRANDING_PROFILEList profiles
GET/branding-profiles/options--Profile options
POST/branding-profilesCREATE_BRANDING_PROFILECreate profile
POST/branding-profiles/set-defaultEDIT_BRANDING_PROFILESet default profile
GET/branding-profiles/{id}VIEW_BRANDING_PROFILEShow profile
PUT/branding-profiles/{id}EDIT_BRANDING_PROFILEUpdate profile
PUT/branding-profiles/{id}/nameEDIT_BRANDING_PROFILEUpdate name only
DELETE/branding-profiles/{id}DELETE_BRANDING_PROFILEDelete profile

Languages & Translations

MethodPathPermissionDescription
GET/languagesVIEW_LANGUAGEList languages
GET/languages/check-incompleteVIEW_LANGUAGECheck incomplete translations
POST/languagesCREATE_LANGUAGEAdd language
POST/languages/set-default/{id}EDIT_LANGUAGESet default language
POST/languages/publish/{id}EDIT_LANGUAGEPublish language
POST/languages/unpublish/{id}EDIT_LANGUAGEUnpublish language
DELETE/languages/delete/{id}DELETE_LANGUAGEDelete language
GET/translationsVIEW_TRANSLATIONGet translations
POST/translationsEDIT_TRANSLATIONSave translations
GET/translations/datatableVIEW_TRANSLATIONTranslation datatable
POST/translations/translateEDIT_TRANSLATIONAuto-translate
GET/translations/bulk/{id}VIEW_TRANSLATIONShow bulk translations
POST/translations/bulk/{id}EDIT_TRANSLATIONBulk auto-translate

Receipts & Activity Logs

MethodPathDescription
GET/receipts/{locationId}Get receipt settings
PUT/receipts/{locationId}Update receipt settings
GET/activity-logs/datatableList activity logs

Online Ordering Endpoints

Public (No Auth)

MethodPathDescription
GET/online-ordering/address-suggestionsAutocomplete address search
GET/online-ordering/coordinates-to-addressReverse geocode coordinates
GET/online-ordering/{slug}Get restaurant/location info
POST/online-ordering/payment/processProcess Square payment

Restaurant Suggestions (Optional Auth)

MethodPathDescription
GET/online-ordering/restaurant-suggestions/nearbyGet nearby restaurants
POST/online-ordering/restaurant-suggestions/upvoteUpvote a restaurant
GET/online-ordering/restaurant-suggestions/topGet top suggestions
GET/online-ordering/restaurant-suggestions/categoriesGet suggestion categories

Order Flow (Optional Customer Auth)

MethodPathMiddlewareDescription
POST/online-ordering/{slug}/{locationId}/offers/validateauth.optional, tenant:online-orderingValidate offers
POST/online-ordering/{slug}/{locationId}/available-timeslotsauth.optional, tenant:online-orderingGet available timeslots
POST/online-ordering/{slug}/{locationId}/paymentauth.optional, tenant:online-orderingCreate payment
POST/online-ordering/{slug}/{locationId}/verify-paymentauth.optional, tenant:online-orderingVerify payment status

Customer Order History

MethodPathMiddlewareDescription
POST/customer/{slug}/order-historyauth.optional, throttle:5,1Get order history
GET/customer/{slug}/order-detail/{orderId}auth.optional, throttle:10,1Get order detail

Table QR Ordering (Optional Auth)

MethodPathDescription
GET/table-qr-ordering/{locationId}/{tableSectionId}/{tableNumber}Handle QR code scan
GET/table-qr-ordering/{locationId}/session/{sessionId}Get session details
POST/table-qr-ordering/{locationId}/session/{sessionId}/bind-orderBind order to session

BackOffice Online Ordering Management

MethodPathPermissionDescription
GET/online-ordering/{locationId}VIEW_ONLINE_ORDERINGShow settings
PUT/online-ordering/{locationId}EDIT_ONLINE_ORDERINGUpdate settings
POST/online-ordering/{locationId}/snoozeEDIT_ONLINE_ORDERINGSnooze ordering
GET/online-settings/{locationId}--Show online settings
PUT/online-settings/{locationId}--Update online settings
GET/in-house-settings/{locationId}VIEW_SALES_CHANNELShow in-house settings
PUT/in-house-settings/{locationId}EDIT_IN_HOUSE_CHANNELUpdate in-house settings

QR Ordering Management

MethodPathDescription
GET/qr-ordering/{locationId}Show QR ordering config
PUT/qr-ordering/{locationId}Update QR ordering config
GET/qr-ordering/{locationId}/qr-download-optionsGet QR download options
POST/qr-ordering/{locationId}/download-multipleDownload multiple QR codes

Table Sections

MethodPathDescription
POST/table-sectionsCreate table section
GET/table-sections/location/{locationId}List sections for location
GET/table-sections/{id}Show section
PUT/table-sections/{id}Update section
DELETE/table-sections/{id}Delete section

Kiosk Endpoints

All require auth + capacitor.auth + type:kiosk + tenant:kiosk middleware.

MethodPathDescription
POST/kiosk/payment/create-intentCreate payment intent on terminal
POST/kiosk/payment/send-receiptSend receipt to customer
POST/kiosk/payment/cancel-actionCancel terminal payment action
GET/kiosk/payment/session-statusCheck payment session status
GET/kiosk/payment/details/{idempotencyKey}Get payment details after completion
POST/kiosk/loyaltyLogin customer for loyalty
GET/kiosk/loyaltyGet loyalty details
GET/kiosk/offersList available offers
POST/kiosk/offers/validateValidate selected offers
GET/kiosk/updates/checkCheck for app updates
POST/kiosk/updates/fcm/registerRegister FCM token
POST/kiosk/test-print-receiptTest print a receipt

Kiosk Public (No Auth)

MethodPathDescription
GET/kiosk/latest-app-versionGet latest kiosk app version
GET/kiosk/download-apk/{versionCode?}Download APK

Kitchen Display System (KDS)

Requires auth + type:kds + tenant:kds middleware.

MethodPathDescription
POST/kds/fcm-tokenUpdate FCM token
GET/kds/ordersList current orders
PUT/kds/mark-modifierMark modifier item status
PUT/kds/mark-itemMark order item status
GET/kds/itemsList KDS items
PUT/kds/{id}/in-progressMark order in progress
PUT/kds/{id}/readyMark order ready
PUT/kds/{id}/completeMark order complete
PUT/kds/{id}/prioritizePrioritize order
PUT/kds/{id}/holdHold order
PUT/kds/settingsUpdate KDS settings
GET/kds/categoriesList KDS categories

Integration Endpoints (BackOffice)

Deliveroo

MethodPathDescription
GET/deliveroo/{locationId}Get integration status
POST/deliveroo/{locationId}Enable integration
PUT/deliveroo/{locationId}Update integration
DELETE/deliveroo/{locationId}Disable integration
POST/deliveroo/{locationId}/sync-menuSync menu to Deliveroo

Uber Eats

MethodPathDescription
GET/uber-eats/{locationId}Get integration status
POST/uber-eats/{locationId}Enable integration
PUT/uber-eats/{locationId}Update integration
DELETE/uber-eats/{locationId}Disable integration
POST/uber-eats/{locationId}/sync-menuSync menu to Uber Eats
GET/uber-eats/{locationId}/store-listList Uber Eats stores

Square

MethodPathDescription
GET/square/statusGet integration status
POST/square/oauthInitiate OAuth flow
POST/square/sync-timeUpdate sync schedule
POST/square/disableDisable integration
POST/square/start-syncStart manual sync

Shopify

MethodPathDescription
GET/shopify/{locationId}Get integration status
PUT/shopify/{locationId}Update integration
DELETE/shopify/{locationId}Disable integration
POST/shopify/{locationId}/sync-menuExport menu to Shopify
POST/shopify/{locationId}/import-menuImport menu from Shopify
POST/shopify/{locationId}/oauthInitiate OAuth flow

Kassanet (POS Integration)

MethodPathDescription
GET/kassanet/{provider}/{locationId}Get integration status
POST/kassanet/{provider}/{locationId}Initiate integration
POST/kassanet/{provider}/{locationId}/sync-menuSync menu
GET/kassanet/{provider}/{locationId}/testTest connection
DELETE/kassanet/{provider}/{locationId}Delete integration

Ordering Channels

MethodPathDescription
GET/in-house-channels/{locationId}List in-house channels
GET/online-channels/{locationId}List online channels

Webhook Endpoints

All webhook endpoints are unauthenticated (guest routes) but use signature verification middleware.

MethodPathMiddlewareDescription
POST/stripe-webhook/{countryCode}--Stripe webhook handler
GET/POST/viva-webhook/{countryCode}/{eventTypeId}--Viva Wallet webhook (GET for verification)
POST/shopify-webhookverify.shopify-webhookShopify webhook handler
POST/webhook/deliveroo/ordersverify.deliveroo-webhookDeliveroo order events
POST/webhook/deliveroo/menuverify.deliveroo-webhookDeliveroo menu events
POST/webhook/uber-eatsverify.uber-eats-webhookUber Eats events
POST/webhook/squareverify.square-webhookSquare events

OAuth Callbacks

MethodPathDescription
GET/shopify-callbackShopify OAuth callback
GET/square-callbackSquare OAuth callback
GET/uber-eats/callbackUber Eats OAuth callback

Utility Endpoints

Photo Studio (Authenticated BackOffice)

MethodPathDescription
POST/photo-studioCreate photo
GET/photo-studioList photos
PUT/photo-studio/{id}Update photo
DELETE/photo-studio/{id}Delete photo
POST/photo-studio/remove-backgroundAI background removal
POST/photo-studio/edit-photoAI photo editing
GET/photo-studio/account-infoGet account usage info
GET/photo-studio/templatesList photo templates
POST/photo-studio/templatesCreate template
PUT/photo-studio/templates/{id}Update template
DELETE/photo-studio/templates/{id}Delete template

Guided Setup

MethodPathDescription
GET/guided-setupList all setup guides
GET/guided-setup/{service}/videoGet video details
POST/guided-setup/{service}/video/statusUpdate video status
POST/guided-setup/{service}/resetReset all setups
GET/guided-setup/{service}List setups for service
GET/guided-setup/{service}/{setupId}Show setup detail
POST/guided-setup/{service}/{setupId}/progressUpdate progress
POST/guided-setup/{service}/{setupId}/completeMark complete
POST/guided-setup/{service}/{setupId}/resetReset setup

Description Generator

MethodPathDescription
POST/description-generator/generateAI-generate item description

Loyalty (BackOffice)

MethodPathPermissionDescription
GET/loyalty/{locationId}VIEW_LOYALTYGet loyalty config
GET/loyalty/{locationId}/subscriptionEDIT_LOYALTYGet subscription info
POST/loyalty/{locationId}EDIT_LOYALTYCreate/update loyalty
DELETE/loyalty/{locationId}DELETE_LOYALTYDelete loyalty

Super Admin

MethodPathMiddlewareDescription
POST/super-admin/kiosk/uploadsuper-adminUpload kiosk APK

Other

MethodPathDescription
POST/client-loggerClient-side error logging (capacitor.auth)
GET/visibility-optionsChannel visibility options
GET/item-pricing-optionsItem pricing type options
GET/language-optionsLanguage select options