What is additive, and what a shipped client cannot survive

The cheapest API version is the one never created, and that stays achievable for far longer than most teams expect provided every change is additive.

SAFE      adding a field to a response
          adding an optional request parameter
          adding a new endpoint
          adding a value to a list the client only DISPLAYS

BREAKING  renaming or removing a response field
          changing a type: 4900 -> "4900", 4900 -> 49.00
          changing nullability of something a client dereferences
          adding a value to a list the client SWITCHES ON
          tightening validation on an existing parameter
          changing the HTTP status for an existing condition

The two list entries are the same change with opposite answers, which is the point: whether it breaks depends on what the client does with the value, and that knowledge lives outside your codebase. Tightening validation is the one that reads as a bug fix and is not — an endpoint that has silently accepted a null phone number for a year has clients that send one. This belongs on a review checklist rather than in a principles document, because principles lose to a tidy-up on a Friday afternoon.