at.adsb.sync.subscribeEvents

Subscribe to relayed events from all stations tracked by this relay.

Repository @adsb.at did:plc:32thk4eifx4ou6mxevswgjhg namespace authority
Details · subscription
Kindsubscription
Authoritysync.adsb.at
Indexed

Subscription

subscription · WebSocket

Parameters

query string

cursor

integer

The last sequence number previously received. If provided, the stream will backfill from that point.

Messages

DAG-CBOR frames

#event

object

A relayed batch of operations from a single station's poll cycle.

#station

object

A station registry change observed by the relay via the AT Protocol firehose.

#info

object

Control frame generated by the relay (e.g., OutdatedCursor). Upstream #info frames are not relayed.

Errors

FutureCursor

The requested cursor is in the future (beyond the relay's current head sequence).

ConsumerTooSlow

The consumer's read rate is too far behind the relay's write rate. The connection has been dropped.

#broadcastOp

object

A single operation within a relayed event. This definition MUST track at.adsb.broadcast.subscribeEvents#broadcastOp — if the upstream broadcast lexicon changes this shape, update this definition to match.

Properties

action

requiredstring

The type of operation.

  • maxLength: 16
  • knownValues: create | update | delete

record

requiredunknown

The record payload. Shape determined by the record's $type field.

#event

object

A relayed batch of operations from a single station's poll cycle.

Properties

ops

requiredarray

List of operations in this batch, passed through from upstream.

itemsref
Reference

seq

requiredinteger

The relay-minted monotonic sequence number of this message.

sig

bytes

Pass-through signature from the upstream station. This signature was computed by the station over the DAG-CBOR encoding of the upstream event body {$type: 'at.adsb.broadcast.subscribeEvents#event', seq, station, time, ops} (where seq is the station's original sequence, present here as upstreamSeq). To verify, reconstruct the upstream body by mapping upstreamSeq back to seq and including $type: 'at.adsb.broadcast.subscribeEvents#event' (dropping src), then check the signature against the station's published streamSigningKey. The signature does NOT verify against this sync frame body.

src

requiredstring · did

The DID of the originating station.

station

requiredref

Strong reference to the emitting station's at.adsb.receiver.station record.

time

requiredstring · datetime

Timestamp from the upstream station's poll cycle.

upstreamSeq

requiredinteger

The station's original sequence number from the upstream broadcast stream. Note: station seq resets on process restart; consumers should detect regression.

#info

object

Control frame generated by the relay (e.g., OutdatedCursor). Upstream #info frames are not relayed.

Properties

message

string

Human-readable info message.

  • maxLength: 1024

name

requiredstring

Operational info message name.

  • maxLength: 64
  • knownValues: OutdatedCursor

#station

object

A station registry change observed by the relay via the AT Protocol firehose.

Properties

op

requiredstring

The type of registry change.

  • maxLength: 16
  • knownValues: create | update | delete

record

unknown

The full station record. Present for create and update ops; absent for delete ops. When present, shape matches at.adsb.receiver.station record definition.

seq

requiredinteger

The relay-minted monotonic sequence number of this message.

src

requiredstring · did

The DID of the station whose record changed.

time

requiredstring · datetime

Timestamp of when the relay observed the firehose event.

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • Ephemeral event stream from a receiver station. Emits batched aircraft operations per poll cycle. Does not write to any repository.