Manifests
The canonical JSON manifest is the business description of a delivery. Assets are declared by metadata and checksum, then uploaded separately through scoped intents.
Package structure
kasty.music.delivery.v1 contains a message, optional defaults, parties, recordings, releases, assets and deals. Objects are strict: unknown fields fail validation instead of disappearing. Start from the listening-only example.
Identifiers
Sender refs are stable inside the authenticated sender namespace and are not Kasty database IDs. ISRC is exactly twelve separator-free characters. UPC or EAN remains release identity evidence. Names alone never merge people, recordings or releases.
Versions and corrections
NEW_RELEASE, METADATA_UPDATE, ASSET_UPDATE, DEAL_UPDATE and TAKEDOWN append history. Corrections use a new sender-scoped message ID and preserve prior source and evidence. A deluxe release may reuse an existing recording while receiving a separate appearance.
See the metadata correction example and the canonical API schema.
Takedowns
A takedown changes public availability through a revision; it does not destroy the audit trail or rewrite video grants that were validly consumed earlier. Use the takedown example and follow resulting issues or jobs like any other durable message.
Examples
Examples are synthetic and validated by the production backend parser. A lossy source is declared truthfully in the lossy-input example; it is never relabelled as a lossless master.