OriginChain
06 · /watch

Query as a subscription. The substrate is the stream.

One HTTP GET, an SSE stream of every write that matches your prefix, the moment it lands. Streams every write as it lands - not Kafka-on-the-side.

01
Streams every write

Every write puts an event on the stream by construction. No separate CDC pipeline, no Debezium, no replication lag.

02
Prefix subscription

Subscribe to `customers/` and see every customer write. Server-side filtering - your client doesn't see other shapes.

03
Self-releasing slots

Client disconnect releases the slot the same instant. No leaked subscriptions, no zombies, no operator pages at 3am.

what this replaces

Five boxes become one HTTP request.

Traditionally you would assemble Postgres + Debezium + Kafka + a stream processor + a sink to react to data changes. Here you make one request. The database is the stream.

Traditional
Postgres Debezium Kafka consumer sink
OriginChain
one HTTP GET
subscribe
curl -N \
  -H 'Authorization: Bearer ...' \
  'https://<tenant>.db.originchain.ai/v1/tenants/:t/watch?prefix=customers/'
stream
data: {"op":"put","schema":"customers","row":{...}}
data: {"op":"put","schema":"customers","row":{...}}
data: {"op":"delete","schema":"customers","key":"c_42"}
data: {"op":"put","schema":"customers","row":{...}}
…
subscription caps

Per-tenant concurrent-subscriptions cap, sized by your configuration (larger configurations and Enterprise raise the cap). Breach returns a structured 429 with in_flight, cap, and tier_name in the body - your client can back off, not retry-bomb.