API Versioning
Understanding Vine Public API versions and the current contract
Overview
The Vine public content API is versioned so future breaking changes can ship without silently changing existing integrations.
Current Version
v1 is the current stable version.
All public content endpoints live under:
https://vinecms.tech/api/public/v1URL Format
https://vinecms.tech/api/public/{VERSION}/{API_KEY}/{ENDPOINT}Example
curl "https://vinecms.tech/api/public/v1/{API_KEY}/posts"Current Contract
The currently shipped v1 endpoints are:
GET /api/public/v1/{API_KEY}/postsGET /api/public/v1/{API_KEY}/posts/{postSlug}GET /api/public/v1/{API_KEY}/authorsGET /api/public/v1/{API_KEY}/categoriesGET /api/public/v1/{API_KEY}/tagsGET /api/public/v1/{API_KEY}/stats
Compatibility Rules
The practical versioning rule for the current product is:
- additive fields can be introduced in
v1 - new endpoints can be introduced in
v1 - breaking response or route changes should trigger a new version
Examples of changes that should require a new version:
- removing a field
- renaming a field
- changing the route structure
- changing visibility rules in a breaking way
- requiring new parameters for existing routes
Important Notes
- the current shipped API does not include a non-versioned fallback route
- deprecation headers are not implemented today
- only document new endpoints in
v1after the route exists in production code
Best Practices
- Always use the explicit
/v1/path. - Treat unknown extra fields as additive and safe.
- Avoid depending on undocumented fields.
- Check Response Shapes when wiring strict types.