Skip to main content
Every method below is a verified backend facade service defined in service/facade/*.xml in the Darpan backend component (or a named integration component) and called as the JSON-RPC method value. All methods require an authenticated session unless noted. Login, logout, and session-info methods accept anonymous calls so the UI can establish or end a session.

Auth (facade.AuthFacadeServices)

Settings (facade.SettingsFacadeServices)

Schemas (facade.JsonSchemaFacadeServices)

Reconciliation (facade.ReconciliationFacadeServices)

Slack (facade.SlackFacadeServices)

Connecting a Slack workspace to the active tenant. The bot token is never an output of any method here.

Config sharing (facade.ConfigSharingFacadeServices)

Sharing one API source configuration across tenants.

Source endpoints (facade.SourceEndpointFacadeServices)

Which endpoints of a connected system a given source configuration may read.

Search (facade.SearchFacadeServices)

Integration components

Source-system facades ship in sibling Moqui components and follow the same JSON-RPC envelope:

Administration

The methods below are not part of the tenant product API. They serve the operator admin application and are reachable only by a super-admin: a caller must pass the DARPAN_ADMIN_API artifact fence and a super-admin content gate. A non-super-admin caller is denied before the service body runs.

Tenants (admin.TenantAdminServices)

Users (admin.UserAdminServices)

Membership (admin.MembershipAdminServices)

Migrations (admin.MigrationAdminServices)

Admin session (admin.ObserveAdminServices)

Per-method reference

The machine-readable contract for every method above lives in the generated OpenAPI reference, regenerated from the backend facade XML (./gradlew :runtime:component:darpan:generateApiContract) and drift-checked against this catalog in CI. How to read it:
  • Each method has four schemas in components.schemas, named from its verb#noun: <VerbNoun>Params (request parameters, with required markers), <VerbNoun>Result (the response payload the hand-written UI types model), and the ...Request/...Response JSON-RPC envelopes around them.
  • Parameter and field descriptions come straight from the service definitions.
  • Error behavior is uniform — see JSON-RPC: protocol/dispatch failures use the JsonRpcError codes; business validation returns result.ok=false with result.errors[].
For the transport contract used by all methods above, see JSON-RPC transport.