The Aplauso REST API is a stateless HTTP API built on Google Cloud Functions (Node.js 20, TypeScript). It provides programmatic access to all core platform resources: tips, ratings, employees, properties, analytics, and more.

Base URLs

EnvironmentBase URL
Productionhttps://us-central1-aplauso-f0501.cloudfunctions.net/api/v2/
Local emulatorhttp://localhost:5001/aplauso-f0501/us-central1/api/v2/

All production endpoints use HTTPS. All paths are prefixed with /v2/.

API Version

Current version: 2.0.0. There are no legacy versions maintained. All current clients should use /v2/ paths.

Data Format

All requests and responses use JSON.

  • Content-Type: application/json is required on POST, PATCH, and PUT requests.
  • Dates are ISO 8601 strings (e.g. 2026-03-25T14:00:00Z).
  • Currency amounts are decimal numbers (e.g. 25.50), not cents.

Available Resources

ResourceEndpoint PrefixDescription
Tips/tipsCreate and query tip transactions
Ratings/ratingsCreate and query star ratings
Employees/employeesCreate and query employee records
Properties/propertiesCreate and query property records
Organizations/organizationsCreate and query org records
Departments/departmentsCreate and query departments
Outlets/outletsCreate and query outlets
Visits/visitsCreate and query guest stay records
Guests/guestsCreate and query guest profiles
Dividends/dividendsQuery and update tip payout records
Wallet/walletStripe Connect wallet status and onboarding
Analytics/analyticsAggregated performance metrics
Webhooks/webhooks/stripeStripe event processing
Auth/auth/*SMS/email verification and token exchange
Monitoring/monitoring/healthAPI health status

Architecture Notes

  • Each resource is served by an independently deployed Google Cloud Function.
  • Functions are stateless - no session state is stored between requests.
  • Data is persisted in Firebase Firestore (real-time document database).
  • Analytics data is served from Google BigQuery with a Firestore fallback.
  • Authentication uses Firebase ID Tokens (see API Authentication).

CORS

The API allows cross-origin requests from the following origins:

  • localhost:3000 through localhost:8081 (local development)
  • https://k.aplauso.io, https://my.aplauso.io, https://aplauso.io
  • https://*.vercel.app (preview deployments)

Custom origins for server-to-server integrations do not require CORS headers.

Environment Isolation

Every business logic endpoint accepts an environment parameter (live, sandbox, or demo) to isolate data between production, testing, and demonstration scenarios. See Environments and Sandbox Testing for details.

Status Codes

CodeMeaning
200Success (GET, PATCH)
201Resource created (POST)
400Validation error
401Missing or invalid authentication
403Authenticated but lacks permission
404Resource not found
405HTTP method not supported
500Server error
503Service temporarily unavailable