Changelog
Was sich an der API geändert hat
Jede Änderung an der API und an dieser Dokumentation, die neuesten zuerst. Partner im Early Access erfahren von Breaking Changes vorab.
Die Einträge im Changelog gibt es nur auf Englisch.
- Geändert
Sandbox replaced by the /test folder and the validate endpoint
The sandbox is retired. Testing now runs against production, with a path that creates nothing:
- SFTP. Every DDEX inbox is one login with exactly two folders.
/test/<batch>/reads and fully checks a batch (XML, the HILLS rules, the audio, artwork and video files, UPCs and ISRCs against the catalog) and writes the report next to it,/test/<batch>.report.txtand.report.json; nothing is created./production/<batch>/imports it. A single/test/<file>.xmlor.zipis tested the same way, and any other file in/testis a connection test. - API. POST /ddex/validate is the test path: an
.xmlor a.zip, every check a delivery gets, the verdict, and no release, recording, artist, code or delivery created. Scopeddex:validate(ddex:writeworks too). POST /ddex and direct uploads deliver. - Keys. There is one kind of key,
hm_live_…. Test keys (hm_test_…) are refused with401 test_keys_retiredand show as Retired under Settings → API; making one answers400 test_keys_retired. Theenvironmentfield in answers stays, alwaysproduction. - Removed.
POST /sandbox/releases/{id}/simulate, thesandboxandsandbox_expires_atfields on releases and deliveries, and thenot_in_sandboxandsandbox_onlyerrors. The sandbox reference page redirects to Test folder. - Reports. Every test, from SFTP, the API or the dashboard, is listed on the DDEX page in the dashboard under Test reports and kept 90 days.
Outbound delivery has no test stores: a release is delivered to real stores only after approval.
- SFTP. Every DDEX inbox is one login with exactly two folders.
- Veraltet
The API moves to api.hillsmusic.com, the MCP server to mcp.hillsmusic.com
The API and the MCP server have their own addresses:
New Old (until April 30, 2027) API https://api.hillsmusic.com/v1https://app.hillsmusic.com/api/v1MCP server https://mcp.hillsmusic.comhttps://app.hillsmusic.com/mcpAPI. Only the base URL changes: the same paths after
/v1, the same keys, scopes, rate limits and answers. Replacehttps://app.hillsmusic.com/api/v1withhttps://api.hillsmusic.com/v1in your integration. URLs inside answers (such asstatus_urlof a DDEX delivery) follow the host you called. The new host also answers CORS preflights (any origin, never cookies); keys still belong on your server, never in a web page.MCP server. Add
https://mcp.hillsmusic.comto your AI assistant and approve the connection once, on the HILLS web app as before. It is its own OAuth authorization server (https://mcp.hillsmusic.com/.well-known/oauth-authorization-server); apps connected through the old address keep working there until the date above, and their access tokens are accepted on both addresses. The tool list is published athttps://mcp.hillsmusic.com/manifest.json.Until April 30, 2027 the old addresses answer exactly as before, with a
Deprecationheader,Sunset: Fri, 30 Apr 2027 00:00:00 GMTand aLinkto this entry (rel="deprecation") on every answer, so your integration can log where it still uses them. After that date they stop answering.A white-label portal’s own domain keeps
/api/v1as it is. - Veraltet
The old status words are removed on April 30, 2027
What is left of the old status words is deprecated and will be removed on April 30, 2027:
statuson releases in GET /releases and GET /releases/{id}: the old word (pending,approved,distributed,rejected,archived).stores[key].stateon each store in GET /releases/{id}: the old per-store word (pending,queued,sent,accepted,rejected,live,takedown).statusandprevious_statusin simulate answers of the sandbox: the old words. (The sandbox and its simulate endpoint were retired on October 12, 2026; see that entry.)- The old
status=filter words of GET /releases:pending,rejectedanddistributed, accepted as aliases until then.
Until then nothing changes: everything above keeps working. Answers that include these fields, or answer a request that uses an old filter word, carry a
Deprecationheader, aSunset: Fri, 30 Apr 2027 00:00:00 GMTheader and aLinkto this entry (rel="deprecation"), so your integration can log where it still reads them.How to migrate
Old Read instead status: pendingrelease_status: in_reviewstatus: approvedrelease_status: approvedwithdelivery_statenotliveorpartially_livestatus: distributedrelease_status: approvedwithdelivery_stateliveorpartially_livestatus: rejectedrelease_status: changes_requestedstatus: archivedrelease_status: archivedortaken_downstores[key].statestores[key].status(andphase)?status=pending?status=in_review?status=rejected?status=changes_requested?status=distributed?status=approved, then keep releases whosedelivery_stateisliveorpartially_liveEvery value of the new fields is listed under Statuses.
- Doku
API docs move to developer.hillsmusic.com
The API documentation has its own site at developer.hillsmusic.com. Every page keeps its path without the old
/docsprefix, and links to hillsmusic.com/docs/ redirect here. The Markdown copies of each page, llms.txt and llms-full.txt moved with it.
Bereit für die Integration?
Beantragen Sie API-Zugang – wir melden uns innerhalb von 1–3 Werktagen bei Ihnen.