# Version Sunset > Check an API's version lifecycle, then retire a version without breaking anyone. Paste the versions with their > release, deprecation and sunset dates, one response from a deprecated version and the changes queued; the browser > measures every notice window against the floor for the audience (at least 12 months public, at least 24 when > consumers ship mobile apps or are enterprises), counts the versions alive at once against the 2-3 cap, catches a > version both deprecated and the default, reads the Deprecation (RFC 9745), Sunset (RFC 8594) and successor-version > Link headers, classifies each queued change as breaking or not, ranks the version scheme, and writes the headers for > the next retirement. Metered runs write the versioning and deprecation policy, and the sunset plan for one version. > Built on the SkillSafe skill @samber/api-versioning-policy, from samber/developer-platform-skills (MIT), by Samuel > Berthe. It never moves a published sunset date. https://version-sunset.skillsafe.ai/ ## What is free - Lifecycle: every date read as of a chosen day; notice per version against the audience floor; versions alive at once; a deprecated default; a deprecated version with no sunset date; traffic still on a retired version; the successor live long enough; unversioned calls served. - Headers: Deprecation as @ and Unix seconds, Sunset as an HTTP-date with the right weekday and matching the table, Deprecation before Sunset, Link rel="successor-version". - Queued changes classified by the written definition: removals, renames, type changes, new required parameters, status or content-type changes and enum additions are breaking; new resources, optional parameters, response properties and event types are not. - Policy: the notice clock stated, headers paired with a human channel, enforcement decided, a governance layer, breaking changes at most about twice a year. - The scheme by the skill's ranking (URI by default, header, additive-only, date-pinned; no versioning deleted for unreachable consumers with frequent breaking changes; GraphQL field by field; gRPC in the proto package). - The next retirement worked out - a deprecated version keeps its date, a published sunset is kept - with its Deprecation, Sunset and Link headers. Exports: the checks (.csv), everything (.json). ## The metered lanes Two tasks on gpt-terra, metered per run, routed by `task`. Input string fields: `task` (policy or sunset), `api`, `versions`, `carry` (sunset only: the policy's decisions) and `facts`. - `policy` replies with `summary`, `candidates`, `pick`, `scheme`, `breaking`, `windows`, `communication`, `enforcement`, `governance`, `exceptions`, `changes` and `caveats`. - `sunset` replies with `summary`, `version`, `timeline` (announce, deprecate, sunset, removal), `headers`, `waves`, `migration`, `enforcement`, `default_switch`, `metrics` and `caveats`. The page holds every reply to its own facts: the ranked scheme, the notice floor and the version cap, the four stages in order, a human channel, every queued change as the definition reads it; the named version, dates in order that keep a published sunset or respect the floor, headers that encode those dates exactly, waves that reach humans, a migration guide in steps, and a 410 grace period. ## Links - API tutorial: https://version-sunset.skillsafe.ai/api.html - Source skill: https://skillsafe.ai/skill/@samber/api-versioning-policy