api-versioning

Guides API versioning strategy selection, deprecation workflows, and backward compatibility patterns.

Updated Mar 30, 2026
One-click install
npx skills add https://github.com/rubrical-works/idpf-praxis-skills --skill api-versioning-rubrical-works
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: api-versioning
Source: https://github.com/rubrical-works/idpf-praxis-skills/tree/main/Skills/api-versioning
Command: npx skills add https://github.com/rubrical-works/idpf-praxis-skills --skill api-versioning-rubrical-works

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Evolving APIs without breaking existing clients requires deliberate versioning strategies, structured deprecation timelines, and clear migration paths that many teams handle ad hoc. ## Core Features & Use Cases - Strategy Selection: Compares URL path, query parameter, header, and media type versioning with a decision matrix and implementation examples in Express and Flask. - Deprecation Lifecycle: Provides a five-phase workflow (Active, Deprecated, Sunset, Removed) with communication templates, HTTP deprecation headers, and monitoring queries. - Backward Compatibility Patterns: Catalogs safe versus breaking changes with mitigation techniques like parallel fields, phased removal, and defensive client parsing. - Use Case: When planning a breaking change to a public REST API, use this Skill to choose a versioning scheme, write a migration guide, set sunset dates, and implement deprecation headers before removing the old version. ## Quick Start Ask the AI to help design a versioning and deprecation plan for your REST API using the api-versioning skill's strategies and checklists.

Frequently Asked Questions about api-versioning

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I version a REST API without breaking existing clients?▼

Version a REST API by choosing a strategy such as URL path (/api/v1/users), query parameter, header, or media type versioning, then only make additive changes within a version. Reserve breaking changes like removing fields or changing types for a new major version with a migration guide.

What is the best API versioning strategy for public APIs?▼

URL path versioning is recommended for public APIs because it is highly visible, easy to route and cache, and simple for clients to implement. Header versioning suits internal APIs, while media type versioning fits enterprise environments requiring strict REST compliance.

How do I deprecate an old API version?▼

Deprecate an API version through a phased lifecycle: announce with a migration guide, add Deprecation and Sunset HTTP headers, log usage by client, send warning notifications during the sunset period, then return 410 Gone responses after removal. Timelines range from 2 months for internal APIs to 18 months for enterprise.

Does GraphQL need API versioning?▼

GraphQL naturally supports additive changes without versioning by deprecating fields with the @deprecated directive instead of removing them. For true breaking changes, run separate endpoints such as /graphql and /graphql/v2 rather than versioning the schema.

What API changes are considered breaking changes?▼

Breaking changes include removing endpoints or response fields, changing field types, renaming fields, tightening validation rules, and changing authentication requirements. Safe changes include adding endpoints, optional parameters, new response fields, and new enum values when clients handle unknowns.