Skip to content

gRPC API

The gRPC API is EvidentSource’s primary programmatic interface. Every SDK is built on top of it, and the REST surface is generated from the same proto definitions.

  • Sandbox: grpcs://sandbox.evidentsource.com:50051
  • Your deployment: whatever :50051 exposes behind your ALB

TLS is required in production. The Sandbox uses a public certificate.

  • AppendEvents — append a batch of events with optional DCB conditions
  • AppendCommand — route a command to its State Change component
  • QueryEvents — read events by stream, subject, or type, with bi-temporal parameters
  • SubscribeEvents — live tail of the event log with snapshot + follow
  • ReadStateView — read a specific state view instance, with optional bi-temporal parameters
  • SubscribeStateView — snapshot + live updates
  • ListDatabases, CreateDatabase, DeleteDatabase
  • ListComponents, RegisterComponent, UpdateComponent
  • GetSchema — introspect schemas for a database

The canonical proto definitions live in the monorepo under evidentsource/interface/proto/. Each SDK vendors a copy and regenerates language bindings from them.

Every read RPC takes optional as_of_transaction_time and as_of_effective_time timestamps. See Bi-Temporal Indexing.

Bearer tokens are sent in the authorization metadata header. See Security.

Every SDK wraps this surface in language-native types. See SDKs.