At Moveworks, our APIs are designed as permanent external data contracts to ensure reliability, consistency, and seamless integration for developers building AI workflows. To support this, we follow a structured versioning policy inspired by industry best practices. This policy utilizes three version types: alpha, beta, and stable (base) to align API maturity with your development needs.
Versioning allows us to introduce new features, fix issues, and evolve our platform without disrupting existing integrations. We do not use minor or patch versions for non-breaking changes, simplifying endpoint updates. Instead, we focus on major versions for breaking changes, with alpha and beta as precursors to stable releases.
All versions appear in API URLs (e.g., /v1alpha1, /v1beta1, /v1). This documentation clarifies the expectations for each version type and our approach to deprecation, helping you plan integrations with confidence.
We categorize versions as follows:
/v1alpha1): Early-stage, experimental releases for testing new features or base versions. These are primarily for internal use but may be shared for feedback./v1beta1): Semi-stable releases for broader testing, including production use with caveats. These refined APIs are based on feedback received before stabilization./v1): Fully mature, production-ready releases with long-term support. These form the foundation for reliable, enterprise-grade integrations.Versions increment sequentially within categories (e.g., /v1alpha1 to /v1alpha2 for iterative alpha changes). A new major version (e.g., /v2) indicates breaking changes.
This diagrams models version types as classes, highlighting inheritance-like progression and key properties properties.
Each version type has specific guarantees, usage guidelines, and requirements to balance innovation with stability. The table below summarizes key expectations:
{"code": "EVENT_NOT_FOUND", "message": "Could not find event by ID: 123"}).Our versioning ties into product rollout stages to match API maturity with availability:
For example, a new API might progress as follows (simplified):
/v1alpha1)./v1beta1)./v1).Non-breaking enhancements reuse the stable version; breaking changes trigger a new major version (e.g., /v2alpha1).
This Gantt diagram timelines a sample API’s journey through stages and versions.
We minimize disruptions by handling deprecations transparently and with advance notice. Deprecation means an API (or feature) is still functional but discouraged for new use, with a migration path provided.
X-Deprecated: true with details).