Skip to content

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.code values, 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; currency accompanies every amount.
  • Timestamps are ISO 8601 UTC.
  • Idempotency keys are stable per real-world event; retries reuse them.