← Workflows

阅读中文版本

API Versioning Implementation Workflow

Implement API versioning using URL path versioning with backward compatibility checks and deprecation headers.

intermediate~45 minapiversioningworkflow

Objective

Add versioning to an API to enable evolution without breaking existing clients.

Environment

  • An API without versioning or with a single version
  • A versioning strategy chosen
  • API documentation tool

Steps

1. Choose strategy

Select URL path versioning (/v1, /v2) for simplicity and visibility.

Expected state: A versioning strategy is chosen and documented.

2. Create v1 namespace

Move existing endpoints under the v1 path prefix.

Expected state: All current endpoints are accessible under /v1.

3. Add version to docs

Update API documentation to include the version in all endpoint paths.

Expected state: Documentation reflects the versioned endpoints.

4. Add deprecation headers

Include Sunset and Deprecation headers on old versions when new ones are available.

Expected state: Old API versions communicate their deprecation status.

5. Test both versions

Verify that v1 endpoints still work and that v2 can be added without affecting v1.

Expected state: Both versions work independently.

Decision points

URL path or header versioning?

  • URL path for simplicity
  • Header for cleaner URLs

Use URL path versioning for public APIs; header versioning for internal APIs where URL stability matters.

Expected outcome

The API has a clear versioning scheme with v1 preserved and deprecation headers ready for future versions.

Verification

Call an endpoint on v1 and confirm it works; add a v2 version of the same endpoint and confirm v1 is unaffected.

Cleanup

No cleanup needed; versioning structure should be committed.

Versioning enables evolution

Without versioning, any change is a breaking change. Versioning lets you iterate while existing clients keep working.

Implementation Notes

This workflow provides a structured approach to ensure consistent results across team members and environments.

Common Pitfalls

Skipping verification steps or rushing through the process can lead to incomplete results. Always follow each step in order and verify before proceeding.

Quick Reference

# Execute the workflow steps as documented above
echo "Workflow completed successfully"