Skip to main content
Experimental

IPA-128: Stability Levels

  1. Every API version must declare an associated stability level that states the maturity, expected pace of change, and support policy for the API.

Guidance​

  1. API resources must indicate their stability level in their documentation.

  2. API resources must use one of these stability levels: preview, stable, deprecated, and sunset.

Preview​

A preview API resource undergoes rapid iteration based on user feedback.

  1. A preview API resource may be available only to a selected group of users.

  2. A preview API resource may introduce breaking changes without requiring a new version (IPA-120).

  3. For a preview API resource, a feedback mechanism must be established for users to report issues and suggest improvements.

  4. Consumers must not have any expectation of stability from a preview API resource.

  5. Consumers should not use a preview API resource in production.

Stable​

A stable API resource is production-ready and fully supported.

  1. A stable API resource must be available to all users.

  2. A stable API resource must not introduce breaking changes without requiring a new version (IPA-120).

  3. A stable API resource must maintain backwards compatibility (IPA-116) to ensure ongoing reliability.

  4. A stable API resource must remain supported until all users have migrated to an alternative version, or until otherwise agreed between API provider and customers.

Deprecated​

A deprecated API resource is still supported but is on its way to becoming sunset.

  1. A deprecated API resource may no longer receive backwards compatibility changes.

  2. A deprecated API resource must transition to sunset within an established timeframe.

  3. A deprecated API resource must provide the Deprecation HTTP response header (RFC 9745) to signal to consumers that the resource is deprecated.

  4. A deprecated API resource must provide the Sunset HTTP response header (RFC 8594) to signal to consumers when it will transition to sunset.

  5. Consumers should migrate from a deprecated API resource to the stable version.

Sunset​

A sunset API resource is no longer supported.

  1. A sunset API resource must return 410 GONE.

  2. Consumers must migrate from a sunset API resource to the stable version.

Further Reading​