LISTN AI

Distributor hub

Delivering by DDEX

SFTP and API deliveries, folders, BatchComplete and acknowledgements.

There are two ways to deliver: SFTP, the usual DDEX choreography, or the HTTPS API. Both end up in the same place and are read the same way. Use whichever your system already does.

Delivering by SFTP

  1. Connect with the login we sent you (port 2022). You land in your own folder.
  2. Make one folder per batch, named with a timestamp, for example 20261001090000123.
  3. Inside it, one folder per release with its ERN message and its files.
  4. Upload the BatchComplete_<batch>.xml file last. That tells us the batch is complete.
20261001090000123/
  0123456789012/
    0123456789012.xml
    resources/
      QZXXX2600001.flac
      cover.jpg
  BatchComplete_20261001090000123.xml

Without a BatchComplete file we read a batch once nothing in it has changed for 15 minutes, so release by release deliveries work too. File paths in the message are relative to the message (resources/cover.jpg above).

Delivering by API

  1. POST /deliveries with the list of files: each one's path and size (and MD5 if you have it). At least one must be an ERN message.
  2. You get back a signed upload link for each file. PUT each file to its link, with no other headers. The links last 12 hours; POST /deliveries/{id}/links gives new ones.
  3. POST /deliveries/{id}/complete. We check that every file arrived at the right size, then read the delivery within five minutes.
  4. GET /deliveries/{id} shows what happened to each message.

See the API reference for the exact requests.

Acknowledgements

For each message we write a DDEX FtpAcknowledgementMessage next to it, named ACK_<message file>, with FileOK, FileNotOK or ResourceMissing and the reason in ErrorText. Over the API the same result is in the delivery's messages.

New releases, updates and takedowns

  • New release: a NewReleaseMessage for a release we do not have yet. It is matched on the ICPN (UPC or EAN), then GRid, proprietary id or catalogue number.
  • Update: send the full message again with UpdateIndicator set to UpdateMessage (or simply the same release again). Audio you already sent can be left out if the ISRC matches. An older message never undoes a newer one, so batches can arrive out of order.
  • Takedown: a PurgeReleaseMessage, a TakeDown on the release deal, or a deal whose end date has passed. A release sent again without a streaming deal is also taken down.

Review

New releases are checked by our team before they go live, unless your account is set to publish straight away. Our team can see every note we made about a release, and the API shows its status: in_review, scheduled, live, taken_down or rejected with a note.

Files we accept

MessagesXML, up to 30 MB each
AudioWAV, FLAC, AIFF or MP3 (lossless or 320 kbps MP3 is best)
CoversJPG or PNG, square; 1400 by 1400 pixels or bigger is best
SizeUp to 3 GB per file over the API