Skip to main content

Integration architecture

For solution architects. How your systems and Patternode's exchange data, and which style suits which need.

Four styles​

Four integration styles: finished series, forming series, backfill and events, each with its calls and direction

StyleInteractionUse forStatus
Finished seriesRequest and response, one call per series windowHistory, galleries, reports, daily redrawsAvailable
Forming seriesRequest and response: the stored edge plus new bars in, the new edge outLive tiles; acting as a segment closesPreview
BackfillAsynchronous: a job reads your storage and writes the result back to itYears of history, backtests, bodies over 5 MBAvailable
EventsPushed to you: webhook or event busJobs finishing, account noticesAvailable (webhooks)

A typical integration combines them over a series' life:

Interfaces and transports​

Every transport carries the same operations with the same semantics; the faster ones are optimisations, not different APIs.

InterfaceContractPlansTypical use
REST, JSON over HTTPSspecs/openapi.yamlAllEverything; the reference
Batched REST extensionsspecs/openapi.yaml, POST /v1/segmentations/extend/batchAllUp to 1,000 series in one request, each with its edge
gRPC bidirectional streamspecs/proto/patternode/delve/v1/delve.protoMission Critical, DedicatedSustained high rates, low tail latency
Webhooks, signed to Standard Webhooksspecs/asyncapi.yaml, channel webhookProduction and aboveJob results, account notices
Event bus (Amazon EventBridge, Kafka), CloudEvents 1.0specs/asyncapi.yamlMission Critical, DedicatedEvents into your own bus, without running a receiver
Bulk files (CSV, JSON Lines, Parquet, Arrow IPC)POST /v1/segmentations/jobs, links to your storageAllBackfills and backtests

Synchronous and asynchronous​

SynchronousAsynchronous
CallsFinished series; each extension of a forming seriesJobs; every event
Your side needsA client that resends unchanged with backoff, and a store that keeps segments and edge in one writeA receiver or consumer that verifies, deduplicates and answers fast
OrderingPer series, by the edge's last close timeNone; deduplicate and order by your own records
DeliveryExactly-once effect: same edge and bars, same answerAt least once; deduplicate by event id

Contract governance​

TopicRule
Source of truthThe files in specs/. Pages, the mock and the examples follow them
VersioningIn the path (/v1/). No breaking change to an available operation within a version; a new version runs beside the old for at least 12 months
StatusEach operation and event carries x-status: available, preview (may change with 30 days' notice) or planned (specified, not yet served)
ExtensionsAn industry-only addition is an OpenAPI Overlay in specs/overlays/, never a change to the core
CompatibilityClients must ignore unknown fields, enum values, event types and error codes
DeterminismResults are fixed per profile version; versions are served for at least 24 months

Next: Your side, for what you build to use these interfaces.