Versioning
URL prefix versioning
All endpoints are versioned via the path:
https://rwa-api.tbook.com/v1/assets
https://rwa-api.tbook.com/v2/assets (future)
- v1 is the current contract (see Contract Status).
- New major versions are introduced only for breaking changes, with at least 6 months of overlap while both run.
Compatibility promise
Within a major version, changes are additive only:
- New endpoints, new optional request fields, new query parameters.
- New response fields.
- New webhook event types.
- New enum values on open enums (e.g. asset
type).
Never within a major version:
- Removing or renaming endpoints or response fields.
- Changing the type or semantics of existing fields.
- Making optional fields required.
- Changing error codes for existing conditions.
Your obligations (forward compatibility)
Because additive changes ship without notice, clients must parse leniently:
- Ignore unknown response fields.
- Never reject unknown enum values.
- Route unknown webhook event types to a no-op handler.
See Conventions.
SDK versioning
SDK packages (@tbookdev/vault-sdk-sui, @tbookdev/vault-node, @tbookdev/vault-react-sui) follow semver independently of the API version; each release documents the API contract version it targets. The packages are published on the public npm registry. The legacy Solana packages (@tbookdev/vault-sdk, @tbookdev/vault-react) are frozen: a 0.1.0 exists on npm from an early release, but they are unmaintained, excluded from the publish set, and not for new integrations.