Skip to main content

Versioning & compatibility

The Listo Public API uses two parallel version markers and one compatibility rule that governs both.

Where the version lives

SurfaceWhere the version appearsv1 value
REST APIURL prefix/v1/tenants/{tenantId}/screenings
CloudEventstype suffixcom.auditdata.listo.screening.completed.v1

A new major version is published as a new URL prefix (/v2) and a new type suffix (...completed.v2). The two move together.

Additive evolution within a major version

Within a single major version, we may add new optional fields to the REST response body and to the CloudEvent data payload without bumping the version. We will not change the meaning, type, nullability, or required-ness of any existing field within the same major version.

ChangeVersion bump?
Add a new optional field on REST or datano
Add a new event type (a brand-new event)no — it ships as its own type
Add a new endpointno
Rename, remove, or retype an existing fieldyes
Change the meaning, range, or nullability of an existing fieldyes
Add a new value to an existing enum fieldyes
Make an optional field required (or vice versa)yes

Consumer contract

Your consumer must tolerate unknown fields. A future release may add fields that didn't exist when you wrote your handler, and your code must not throw, log-spam, or drop the event when that happens.