Documentation Index
Fetch the complete documentation index at: https://docs.soundpiece.co/llms.txt
Use this file to discover all available pages before exploring further.
Why version in the URL?
Every Soundpiece endpoint lives under a/v1/ URL prefix:
- Within
/v1/, you’ll never have to read a migration guide. We only add to the surface — new fields, new optional parameters, new endpoints — never break or remove. - When we eventually need a genuinely breaking change, it’ll go on
/v2/and/v1/keeps running side by side for at least 6 months so you have time to migrate without pressure. - You can pin your integration to a major version simply by hardcoding the prefix. No header dance, no opt-in flags.
/v2/. The benefit is that until then, /v1/ is stable in a strong sense.
What counts as a breaking change?
These require a new major version (/v2/):
- Removing an endpoint.
- Removing a field from a response, or renaming one.
- Removing or renaming a required request field.
- Changing the type of a field.
- Tightening validation (a value that used to be accepted now returns
422). - Adding a new required request field.
- Changing the meaning of a
statusvalue or other enum. - Changing the auth mechanism.
- Adding a new endpoint.
- Adding a new optional request field (with a sensible default).
- Adding a new field to a response object.
- Adding a new enum value (e.g. a new
error.code). Treat unknown codes as the closest stable category — typicallyinternal_error. - Loosening validation (a value that used to be rejected is now accepted).
- Bug fixes that bring behaviour in line with documented intent.
- Performance changes with no observable behaviour change.
Deprecation process
When something does need to move from/v1/ to /v2/:
- Announcement. We email all active API key holders and publish the change on the dashboard at least 6 months before
/v1/of that endpoint goes away. - Side-by-side availability.
/v1/and/v2/of the changed endpoint both work during the deprecation window. You migrate at your own pace. Sunsetheader./v1/responses on deprecated endpoints carry theSunsetheader (an HTTP-date) so your logs and monitoring can pick it up:- Sunset. After the announced date, the deprecated endpoint returns
410 Gonewith adetailfield pointing to the replacement.
What this looks like in practice
A typical year:- Several non-breaking changes per month — new endpoints, new optional fields, new error codes. No action needed from you.
- One or two
/v2/migrations across the whole API — announced 6 months ahead, dual-running, with a clear migration guide for each affected endpoint.
Recommendations
- Watch the
Sunsetheader in your logs. A request returningSunsetdoesn’t fail — it just tells you when to migrate by. - Keep
last_used_athonest on every API key. We use it to identify who to email when something is changing, so a key that’s still being used by an old integration will get the deprecation notice. - Test against the latest version regularly. New optional fields and new endpoints sometimes solve problems you didn’t realise you had.
