Client Flow Map
Purpose: define the expected top-level sequence for clients integrating with jsonlog.
Primary Flows
- Bootstrap auth against
auth.jsonlog.comand acquire a Bearer token for account-scoped routes. - Send logs over
POST /log(public or channel-specific) with a JSON body. - Stream real-time logs over
GET /wsupgrade with optionalcidandlevelfilters. - Enforce private channel access by account claim (
acc) for HTTP and WebSocket reads/writes. - Discover durable SSTable files via
POST /queryand inspect aggregates viaGET /query/stats. - Monitor service readiness and write-path state via
GET /healthandGET /stats.
Endpoint Families
- Ingestion:
POST /logGET /log
- Streaming:
GET /ws(WebSocket upgrade endpoint)
- Query:
POST /queryGET /query/stats
- Service:
GET /healthGET /stats
- Docs:
GET /openapi.jsonGET /docsGET /swagger
Security Expectations
- JWT signature verification uses
https://auth.jsonlog.com/.well-known/jwks.json?client_id=cid_jsonlogby default. /queryroutes require Bearer auth and use JWTaccfor account isolation.- Private channel access requires JWT
accto match the channel owner account. - Unauthorized private-channel reads return
404to avoid channel discovery. - No-auth usage is local-development only and should not be the production default.