AppsDB
AppsDB is a key/value store built into the Showpad Apps platform. It gives your app a place to persist data with three core capabilities:
- Offline storage - Data is available even when the device is offline.
- Cross-platform - Works consistently across desktop and mobile Showpad clients.
- Data protection - Access is controlled by scope, so user data stays isolated by default.
Access AppsDB through the Experience App SDK in your extension code.
What you'll learn:
- The core concepts: stores, store entries, and scopes
- The difference between
USERandGLOBALscope - How pagination works when retrieving large sets of entries
- Register a store: declare it in
sharedStoresin your manifest, orPOSTto the store endpoint - User data: use
USERscope — each user's entries are isolated from other users - Shared data: use
GLOBALscope — readable by all, write-protected by OAuth scope - Large datasets: use cursor-based pagination; keep fetching until no cursor is returned
Concepts
Data Model
Store
A store is the top-level container that groups related entries together. A store must be registered before it can be
used, either by declaring it in the sharedStores property of your manifest, or by sending a
POST request to the store endpoint.
Store Entry
A store entry is the individual record that holds your data. Each entry has an ID, a string value, and a scope that
controls who can access it.
Scope
A scope is the permission boundary that determines who can read or write an entry. There are two scopes: USER and
GLOBAL.
User Scope
Entries in USER scope are tied to the Showpad user who created them. Each user gets their own isolated set of entries
within the same store, so users never see each other's data by default.
To retrieve entries across all users, use the store entries call with the appsdb_online_integrations OAuth2 scope.
This scope can be added to your OAuth2 client or to a personal access token.
Global Scope
Entries in GLOBAL scope can be read by all users, but creating or updating them requires the
appsdb_online_integrations OAuth2 scope.
Pagination
AppsDB uses cursor-based pagination. When a result set exceeds the limit, the response includes a cursor string. Pass that cursor in your next request to retrieve the following page. When no cursor is returned, you have retrieved all entries.
Data Storage
For offline use cases, store data that changes infrequently in as few store entries as possible. This reduces the number of sync operations needed when the device reconnects.
Next Steps
- Enrich Your App with AppsDB - use AppsDB in your extension code
- AppsDB API Reference - full endpoint reference
- Manifest File - declare your stores in
sharedStores
Was this page helpful?