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
| Environment | Base URL |
|---|---|
| Production | https://us-central1-aplauso-f0501.cloudfunctions.net/api/v2/ |
| Local emulator | http://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/jsonis 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
| Resource | Endpoint Prefix | Description |
|---|---|---|
| Tips | /tips | Create and query tip transactions |
| Ratings | /ratings | Create and query star ratings |
| Employees | /employees | Create and query employee records |
| Properties | /properties | Create and query property records |
| Organizations | /organizations | Create and query org records |
| Departments | /departments | Create and query departments |
| Outlets | /outlets | Create and query outlets |
| Visits | /visits | Create and query guest stay records |
| Guests | /guests | Create and query guest profiles |
| Dividends | /dividends | Query and update tip payout records |
| Wallet | /wallet | Stripe Connect wallet status and onboarding |
| Analytics | /analytics | Aggregated performance metrics |
| Webhooks | /webhooks/stripe | Stripe event processing |
| Auth | /auth/* | SMS/email verification and token exchange |
| Monitoring | /monitoring/health | API 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:3000throughlocalhost:8081(local development)https://k.aplauso.io,https://my.aplauso.io,https://aplauso.iohttps://*.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
| Code | Meaning |
|---|---|
| 200 | Success (GET, PATCH) |
| 201 | Resource created (POST) |
| 400 | Validation error |
| 401 | Missing or invalid authentication |
| 403 | Authenticated but lacks permission |
| 404 | Resource not found |
| 405 | HTTP method not supported |
| 500 | Server error |
| 503 | Service temporarily unavailable |