Versioning & compatibility
Compatibility
- Additive changes are non-breaking. New fields may appear in responses and new optional fields in requests. Ignore unknown response fields rather than failing on them.
- Breaking changes are announced ahead of time with a migration window.
- Branch on documented
error.codevalues, not on HTTP status alone or on message text. - Treat all ids as opaque strings/integers; don’t parse meaning out of public
ids (
r_…,fo_…).
Conventions recap
- Money is integer minor units;
currencyaccompanies every amount. - Timestamps are ISO 8601 UTC.
- Idempotency keys are stable per real-world event; retries reuse them.