Skip to content

REST API

The REST API is a JSON projection of the gRPC API. Everything you can do over gRPC you can do over REST, with slightly more wire overhead.

  • Sandbox: https://sandbox.evidentsource.com
  • Your deployment: whatever’s behind your ALB
POST /v1/commands
{
"database": "<name>",
"command": { "type": "...", "subject": "...", "data": { ... } }
}
GET /v1/events?database=<name>&stream=<s>&subject=<s>&type=<t>&asOfTransactionTime=<ts>&asOfEffectiveTime=<ts>
GET /v1/state-views/<view-name>?database=<name>&<param>=<value>&asOfTransactionTime=<ts>&asOfEffectiveTime=<ts>
GET /v1/databases
POST /v1/databases
DELETE /v1/databases/<name>
GET /v1/databases/<name>/components
POST /v1/databases/<name>/components

When appending events directly (not via a command), you can pass DCB conditions in the request body. See Dynamic Consistency Boundaries and the proto definitions for the full predicate vocabulary.

Authorization: Bearer <token> — same as gRPC. See Security.

Requests and responses are application/json. Streaming subscriptions are delivered as text/event-stream (SSE).