Versioning and deprecation policy
Last updated · Changelog · OpenAPI spec · Markdown
The API is versioned in the path: every endpoint lives under https://api.shopsavvy.com/v1. The current and only version is v1.
What can change within v1 without notice (write your client to tolerate these):
- New endpoints, new optional parameters, and new fields on response objects. Ignore fields you don't recognize.
- New values in open-ended fields, such as a new
condition_grade, a new webhook event type you have not subscribed to, or a newmatch.byvalue. - More specific error
messageandactiontext. Errorcodevalues do not change.
What is announced first: anything that could break a working integration, such as removing or renaming a field or endpoint, changing a field's type, or tightening a request limit. These are posted in the changelog (also available as an RSS feed) before they take effect, and marked deprecated in these docs while the old behavior still works. A change that cannot be made compatibly ships under a new version path, with v1 kept running alongside it.
| Stage | What it means |
|---|---|
| Current | Documented and recommended. |
| Deprecated | Still works and still supported, marked in these docs and the changelog with its replacement. Move to the replacement. |
| Removed | Answers with an error. Only after a deprecation period announced in the changelog. |
Legacy paths
Older SDK versions call these paths. They are supported and behave exactly like their replacements; use the replacements in new code.
| Legacy path | Use instead |
|---|---|
GET /v1/products/details | GET /v1/products |
GET /v1/products/history | GET /v1/products/offers/history |
POST /v1/products/schedule | PUT /v1/products/scheduled |
DELETE /v1/products/schedule | DELETE /v1/products/scheduled |
The price-history parameters start_date and end_date are likewise accepted as aliases for start and end.