The App Sandbox (partner portal → App Sandbox) runs your app inside a simulated RentalTide host so you can develop and debug without installing into a real account. It uses the same App Bridge as production — only the data is mocked.
Connect your app
- Run your app locally (e.g.
npm run dev→http://localhost:5173) or deploy it somewhere reachable. - Open the sandbox, paste the URL, and press Connect.
- Your app loads in the preview pane and the handshake completes.
Opening your app URL directly in a browser (outside the sandbox or a host) is expected to show its "not connected" state.
What you can change live
- Embed location — switch surfaces (order page, dashboard, POS cart, …); the
resourcein context updates to match. - Host theme — toggle light/dark and confirm your app re-themes via
onThemeChange. - Granted scopes — turn scopes on/off to test how your app handles missing access (API calls return
403when a scope is off). - Mock context — edit the account, location, user, and the current resource id your app receives.
Changes are pushed to your running app instantly — no reload — exactly as the host would push them in production.
The App Bridge log
Every protocol message between the host and your app is listed in real time:
- ↑ in — requests your app sent (handshake,
api.request,ui.toast, …) - ↓ out — responses and events the host sent back (context, theme, replies)
Use it to confirm your handshake succeeds, see which API calls fire, and debug scope rejections.
Mock API responses
app.api.* calls in the sandbox return mock data (and enforce the toggled scopes), so you can build your UI before wiring anything real. Toasts and navigation requests surface as notifications in the sandbox.
From sandbox to production
When it works in the sandbox, set your deployed URL as the app's Embed URL when you register it, and submit for review. The only difference in production is that context and API responses are real and scopes are the ones the merchant actually granted.

