Choosing What to Expose
Exposure is a deliberate choice per datastore. Nothing is exposed because it exists.
Where to find it
Architect Panel → Integration & Connections:
- API Server — which datastores are exposed
- API Clients — per-client credentials and rights
Start from the use case
Expose what a specific consumer needs for a specific purpose, rather than exposing broadly in case something is useful. A wide API is a wide surface, and every field on it is a field somebody may come to depend on.
Permissions still apply
The API enforces the same permission model as the interface. A client sees what its credentials allow, and exposure does not bypass row-level or field-level rules. Exposing a datastore is not the same as making its contents public.
Some prefixes are never exposed
Certain internal subsystems are excluded from exposure by design — messaging is one, because those tables carry message content and recipient identity. That exclusion is not configurable, and it is deliberate.
Fields deserve the same thought
A datastore worth exposing may contain fields that are not. Notes fields are the usual culprit: free text written by staff for internal purposes, which nobody was writing with an external audience in mind.
Review it periodically
Exposure decisions get made for a project and then persist. Once a year, look at what is exposed and to whom, and remove what nothing is using. An unused exposed datastore is risk without benefit.