Music Delivery API reference
The generated reference below follows the canonical OpenAPI 3.1 contract. Read the quickstart and operational guides before enabling writes for a Partner sender.
/validateValidate a manifest without writing data
Requires `deliveries.validate`. This is a strict, write-free dry run. The response uses stable issue codes and JSONPath locations. When the publication-attestation rollout applies, a valid response also returns the exact public account/sender binding, normalized business-manifest SHA-256, territories, and resolved video-use scope needed to construct `rightsDeclaration`. Validation creates no acceptance evidence.
- Operation ID
validateMusicDelivery- Responses
- 200, 401, 403, 413, 428, 429
- Schemas
- DeliveryManifestV1, SingleManifest, ValidationResponse, Unauthorized, Forbidden, ManifestTooLarge, PublicationPreconditionRequired, RateLimited
/Submit a durable delivery message
Requires `deliveries.write`. `NEW_RELEASE`, `METADATA_UPDATE`, `ASSET_UPDATE`, `DEAL_UPDATE`, and `TAKEDOWN` use this endpoint and append history; updates never overwrite prior deliveries. The pair `(authenticated sender, message.id)` is the idempotency key. Replaying the same normalized SHA-256 and complete evidence SHA-256 returns the existing batch. Different content or publication evidence with the same key returns a conflict. Partner API/bulk submission requires a declaration bound to the validation hash; the server independently resolves the current agreement acceptance, payment regime, declaration, and video-use scope in the acceptance transaction.
- Operation ID
submitMusicDelivery- Responses
- 202, 400, 401, 403, 409, 413, 428, 429
- Schemas
- DeliveryManifestV1, SingleManifest, SubmitResponse, ManifestInvalid, Unauthorized, Forbidden, IdempotencyConflict, ManifestTooLarge, PublicationPreconditionRequired, RateLimited
/{batchPublicId}Read batch status and counters
Requires `deliveries.read`. Reads are scoped to both sender and catalog account.
- Operation ID
getMusicDeliveryBatch- Responses
- 200, 401, 403, 404, 429
- Schemas
- Batch, Unauthorized, Forbidden, NotFound, RateLimited
/{batchPublicId}/itemsList independently progressing delivery items
Requires `deliveries.read`. Cursor order is stable by creation time and opaque ID.
- Operation ID
listMusicDeliveryItems- Responses
- 200, 400, 401, 403, 404, 429
- Schemas
- ItemPage, BadCursor, Unauthorized, Forbidden, NotFound, RateLimited
/{batchPublicId}/issuesList stable machine-readable issues
Requires `deliveries.read`. Blocking, retryable, and resolved state are explicit.
- Operation ID
listMusicDeliveryIssues- Responses
- 200, 400, 401, 403, 404, 429
- Schemas
- IssuePage, BadCursor, Unauthorized, Forbidden, NotFound, RateLimited
/{batchPublicId}/uploads/intentsCreate or renew a scoped object upload intent
Requires `assets.upload`. The server derives the object key from the authenticated account and batch; arbitrary bucket or object keys are never accepted.
- Operation ID
createMusicDeliveryUploadIntent- Responses
- 201, 400, 401, 403, 404, 428, 429
- Schemas
- UploadIntentRequest, UploadIntent, ManifestInvalid, Unauthorized, Forbidden, NotFound, PublicationPreconditionRequired, RateLimited
/{batchPublicId}/uploads/{intentPublicId}/completeVerify and complete an uploaded asset
Requires `assets.upload`; object size, media type, and checksum are verified server-side.
- Operation ID
completeMusicDeliveryUpload- Responses
- 202, 400, 401, 403, 404, 410, 429
- Schemas
- UploadCompletion, ManifestInvalid, Unauthorized, Forbidden, NotFound, Error, RateLimited
/{batchPublicId}/retryRetry retryable failed items
Requires `deliveries.write`. Permanent validation failures cannot be retried.
- Operation ID
retryMusicDeliveryBatch- Responses
- 202, 400, 401, 403, 404, 429
- Schemas
- ManifestInvalid, Unauthorized, Forbidden, NotFound, RateLimited