Skip to content
Support

XML reference

This page covers the XML structure and code examples for LabelGrid’s DDEX import. For metadata requirements, contributor roles, splits, and formatting standards, see Release metadata, Track metadata, and Validation.

All examples use the ERN 4.3 format. PartyReference values in actual output are MD5-hashed identifiers (e.g., P8A1B2C3D4E5F6...). The examples below use human-readable names for clarity.


Every DDEX delivery is a NewReleaseMessage XML document with five main sections:

NewReleaseMessage
├── MessageHeader — Sender, recipient, and message ID
├── PartyList — All artists, contributors, and rights holders
├── ResourceList — Audio files and artwork with technical details
├── ReleaseList — The album/single release and individual tracks
└── DealList — Commercial terms, territories, and dates

The root element includes the ERN 4.3 namespace and schema location:

<?xml version="1.0" encoding="UTF-8"?>
<NewReleaseMessage
xmlns:ern="http://ddex.net/xml/ern/43"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ddex.net/xml/ern/43 http://ddex.net/xml/ern/43/release-notification.xsd"
AvsVersionId="3"
LanguageAndScriptCode="en">
AttributeDescription
xmlns:ernERN 4.3 namespace URI
xsi:schemaLocationSchema for validation
AvsVersionIdAllowed value set version
LanguageAndScriptCodeDefault language of the message

Identifies the sender (your organization), the recipient (the DSP), and a unique message ID.

<MessageHeader>
<MessageThreadId>20250815-neonsounds-001</MessageThreadId>
<MessageId>20250815-neonsounds-001-msg01</MessageId>
<MessageSender>
<PartyId>PADPIDA2025010100A</PartyId>
<PartyName><FullName>Neon Sounds</FullName></PartyName>
</MessageSender>
<MessageRecipient>
<PartyId>PADPIDA2014120301U</PartyId>
<PartyName><FullName>Spotify</FullName></PartyName>
</MessageRecipient>
<MessageCreatedDateTime>2025-08-01T10:30:00Z</MessageCreatedDateTime>
</MessageHeader>
ElementDescription
MessageThreadIdGroups related messages (e.g., updates to the same release)
MessageIdUnique identifier for this specific message
MessageSenderYour organization’s DDEX Party ID and name
MessageRecipientThe receiving DSP’s Party ID and name
MessageCreatedDateTimeISO 8601 timestamp of when the message was created

All entities referenced elsewhere in the XML — the record label, artists, contributors, and publishers — are defined here. Each party gets a PartyReference used to link them throughout the document.

<Party>
<PartyReference>P_LABEL_NEONSOUNDS</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>Neon Sounds LLC</FullName>
</PartyName>
<PartyId>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:label:100</ProprietaryId>
</PartyId>
</Party>

Artists can include standard identifiers like ISNI:

<!-- Primary Artist with ISNI -->
<Party>
<PartyReference>P_ARTIST_LUNAWAVE</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>Luna Wave</FullName>
</PartyName>
<PartyId>
<ISNI>0000000012345678</ISNI>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:artist:200</ProprietaryId>
</PartyId>
</Party>
<!-- Featured Artist (no ISNI) -->
<Party>
<PartyReference>P_ARTIST_DJKODA</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>DJ Koda</FullName>
</PartyName>
<PartyId>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:artist:201</ProprietaryId>
</PartyId>
</Party>

Contributors (songwriters, producers, engineers) can include IPI identifiers:

<!-- Songwriter / Composer / Producer with IPI -->
<Party>
<PartyReference>P_CONTRIB_SARAHCHEN</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>Sarah Chen</FullName>
</PartyName>
<PartyId>
<IpiNameNumber>00123456789</IpiNameNumber>
</PartyId>
</Party>
<!-- Mixing Engineer (no IPI) -->
<Party>
<PartyReference>P_CONTRIB_MIXMASTER</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>Mike Torres</FullName>
</PartyName>
</Party>
<Party>
<PartyReference>P_PUBLISHER_NEONSOUNDS</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>Neon Sounds Publishing</FullName>
</PartyName>
</Party>

Supported party identifiers:

IdentifierElementFormat
ISNI<ISNI>16 characters (15 digits + check digit)
IPI<IpiNameNumber>Zero-padded to 11 digits
Proprietary<ProprietaryId>LabelGrid internal reference

Contains all audio files and artwork. Each resource gets a ResourceReference (e.g., A1, A2) used to link it to releases.

<SoundRecording>
<ResourceReference>A1</ResourceReference>
<Type>MusicalWorkSoundRecording</Type>
<!-- ISRC and P-Line inside SoundRecordingEdition -->
<SoundRecordingEdition>
<ResourceId>
<ISRC>USNS12500001</ISRC>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:track:12345</ProprietaryId>
</ResourceId>
<PLine>
<Year>2025</Year>
<PLineText>Neon Sounds LLC</PLineText>
</PLine>
<!-- Technical details of the audio file -->
<TechnicalDetails>
<TechnicalResourceDetailsReference>T1</TechnicalResourceDetailsReference>
<DeliveryFile>
<Type>AudioFile</Type>
<AudioCodecType UserDefinedValue="WAV">UserDefined</AudioCodecType>
<NumberOfChannels>2</NumberOfChannels>
<SamplingRate>44100</SamplingRate>
<BitsPerSample>16</BitsPerSample>
<File>
<URI>resources/198765432109_01_01.wav</URI>
<HashSum>
<Algorithm>MD5</Algorithm>
<HashSumValue>d41d8cd98f00b204e9800998ecf8427e</HashSumValue>
</HashSum>
</File>
</DeliveryFile>
</TechnicalDetails>
</SoundRecordingEdition>
<!-- ISWC goes on parent SoundRecording, NOT inside Edition -->
<WorkId>
<ISWC>T3351864278</ISWC>
</WorkId>
<!-- Track title -->
<DisplayTitleText LanguageAndScriptCode="en">Midnight Run</DisplayTitleText>
<DisplayTitle LanguageAndScriptCode="en">
<TitleText>Midnight Run</TitleText>
<SubTitle/>
</DisplayTitle>
<!-- Display artist string -->
<DisplayArtistName ApplicableTerritoryCode="Worldwide">Luna Wave feat. DJ Koda</DisplayArtistName>
<!-- Artist roles -->
<DisplayArtist SequenceNumber="1">
<ArtistPartyReference>P_ARTIST_LUNAWAVE</ArtistPartyReference>
<DisplayArtistRole>MainArtist</DisplayArtistRole>
</DisplayArtist>
<DisplayArtist SequenceNumber="2">
<ArtistPartyReference>P_ARTIST_DJKODA</ArtistPartyReference>
<DisplayArtistRole>FeaturedArtist</DisplayArtistRole>
</DisplayArtist>
<!-- Contributors -->
<Contributor SequenceNumber="1">
<ContributorPartyReference>P_CONTRIB_SARAHCHEN</ContributorPartyReference>
<Role>ComposerLyricist</Role>
</Contributor>
<Contributor SequenceNumber="2">
<ContributorPartyReference>P_CONTRIB_SARAHCHEN</ContributorPartyReference>
<!-- "Producer" display role maps to DDEX role "StudioProducer" -->
<Role>StudioProducer</Role>
</Contributor>
<Contributor SequenceNumber="3">
<ContributorPartyReference>P_CONTRIB_MIXMASTER</ContributorPartyReference>
<Role>MixingEngineer</Role>
</Contributor>
<Contributor SequenceNumber="4">
<ContributorPartyReference>P_PUBLISHER_NEONSOUNDS</ContributorPartyReference>
<Role>MusicPublisher</Role>
</Contributor>
<!-- Copyright ownership -->
<WorkRightsController>
<RightsControllerPartyReference>P_LABEL_NEONSOUNDS</RightsControllerPartyReference>
<RightsControlType>RightsController</RightsControlType>
<RightSharePercentage>100.00</RightSharePercentage>
<Territory>Worldwide</Territory>
</WorkRightsController>
<!-- Duration in ISO 8601 format -->
<Duration>PT00H04M32S</Duration>
<!-- Parental warning -->
<ParentalWarningType>NotExplicit</ParentalWarningType>
<!-- Language of performance -->
<LanguageOfPerformance>en</LanguageOfPerformance>
</SoundRecording>

Key points:

  • ISRC and PLine go inside SoundRecordingEdition
  • ISWC goes on the parent SoundRecording via WorkId (not inside the Edition)
  • DisplayTitleText contains only the base title (no mix version)
  • The SubTitle element inside DisplayTitle holds the mix version (empty if none)
  • The “Producer” display role maps to the DDEX role StudioProducer
  • Audio file URI follows the pattern: resources/{UPC}_{disc}_{track}.{ext}
<Image>
<ResourceReference>A2</ResourceReference>
<Type>FrontCoverImage</Type>
<ResourceId>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:release:67890:cover</ProprietaryId>
</ResourceId>
<TechnicalDetails>
<TechnicalResourceDetailsReference>T2</TechnicalResourceDetailsReference>
<ImageCodecType>JPEG</ImageCodecType>
<ImageHeight>3000</ImageHeight>
<ImageWidth>3000</ImageWidth>
<File>
<URI>resources/198765432109.jpg</URI>
<HashSum>
<Algorithm>MD5</Algorithm>
<HashSumValue>a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4</HashSumValue>
</HashSum>
</File>
</TechnicalDetails>
</Image>

Contains the main release (the album or single) and individual track releases. The main release links to resources via ResourceGroup.

<Release>
<ReleaseReference>R0</ReleaseReference>
<!-- ReleaseType comes before ReleaseId in ERN 4.3 -->
<ReleaseType>Single</ReleaseType>
<ReleaseId>
<ICPN>198765432109</ICPN>
<CatalogNumber Namespace="PADPIDA2025010100A">NS-2025-042</CatalogNumber>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:release:67890</ProprietaryId>
</ReleaseId>
<DisplayTitleText LanguageAndScriptCode="en">Midnight Run</DisplayTitleText>
<DisplayTitle LanguageAndScriptCode="en">
<TitleText>Midnight Run</TitleText>
<SubTitle/>
</DisplayTitle>
<DisplayArtistName ApplicableTerritoryCode="Worldwide">Luna Wave feat. DJ Koda</DisplayArtistName>
<DisplayArtist SequenceNumber="1">
<ArtistPartyReference>P_ARTIST_LUNAWAVE</ArtistPartyReference>
<DisplayArtistRole>MainArtist</DisplayArtistRole>
</DisplayArtist>
<DisplayArtist SequenceNumber="2">
<ArtistPartyReference>P_ARTIST_DJKODA</ArtistPartyReference>
<DisplayArtistRole>FeaturedArtist</DisplayArtistRole>
</DisplayArtist>
<ReleaseLabelReference>P_LABEL_NEONSOUNDS</ReleaseLabelReference>
<PLine>
<Year>2025</Year>
<PLineText>Neon Sounds LLC</PLineText>
</PLine>
<CLine>
<Year>2025</Year>
<CLineText>Neon Sounds LLC</CLineText>
</CLine>
<Genre>
<GenreText>Electronic</GenreText>
<SubGenre>Deep House</SubGenre>
</Genre>
<OriginalReleaseDate>2025-08-15</OriginalReleaseDate>
<ParentalWarningType>NotExplicit</ParentalWarningType>
<!-- ResourceGroup links tracks and artwork to the release -->
<ResourceGroup>
<SequenceNumber>1</SequenceNumber>
<ResourceGroupContentItem>
<SequenceNumber>1</SequenceNumber>
<ReleaseResourceReference>A1</ReleaseResourceReference>
</ResourceGroupContentItem>
<ResourceGroupContentItem>
<SequenceNumber>2</SequenceNumber>
<ReleaseResourceReference>A2</ReleaseResourceReference>
</ResourceGroupContentItem>
</ResourceGroup>
</Release>

Key points:

  • ReleaseType comes before ReleaseId in ERN 4.3
  • The UPC/EAN goes into <ICPN> inside ReleaseId
  • Resources are linked through ResourceGroup (not ReleaseResourceReferenceList)
  • ReleaseLabelReference points to the label’s PartyReference

Each track also gets its own TrackRelease for individual track availability on platforms:

<TrackRelease>
<ReleaseReference>RT1</ReleaseReference>
<ReleaseId>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:track:12345</ProprietaryId>
</ReleaseId>
<DisplayTitleText LanguageAndScriptCode="en">Midnight Run</DisplayTitleText>
<DisplayTitle LanguageAndScriptCode="en">
<TitleText>Midnight Run</TitleText>
<SubTitle/>
</DisplayTitle>
<ReleaseResourceReference>A1</ReleaseResourceReference>
<ReleaseLabelReference>P_LABEL_NEONSOUNDS</ReleaseLabelReference>
<Genre>
<GenreText>Electronic</GenreText>
<SubGenre>Deep House</SubGenre>
</Genre>
<Keywords>electronic deep house chill night</Keywords>
</TrackRelease>

Defines the commercial terms under which the release is available. Each Deal specifies a territory, start date, commercial model, and use type.

<DealList>
<ReleaseDeal>
<DealReleaseReference>R0</DealReleaseReference>
<!-- Subscription streaming (e.g., Spotify Premium) -->
<Deal>
<DealTerms>
<TerritoryCode>Worldwide</TerritoryCode>
<ValidityPeriod>
<StartDate>2025-08-15</StartDate>
</ValidityPeriod>
<CommercialModelType>SubscriptionModel</CommercialModelType>
<UseType>UserMakeAvailableLabelProvided</UseType>
</DealTerms>
</Deal>
<!-- Ad-supported streaming (e.g., Spotify Free) -->
<Deal>
<DealTerms>
<TerritoryCode>Worldwide</TerritoryCode>
<ValidityPeriod>
<StartDate>2025-08-15</StartDate>
</ValidityPeriod>
<CommercialModelType>AdvertisementSupportedModel</CommercialModelType>
<UseType>UserMakeAvailableLabelProvided</UseType>
</DealTerms>
</Deal>
<!-- Pay-per-download (e.g., iTunes) -->
<Deal>
<DealTerms>
<TerritoryCode>Worldwide</TerritoryCode>
<ValidityPeriod>
<StartDate>2025-08-15</StartDate>
</ValidityPeriod>
<CommercialModelType>PayAsYouGoModel</CommercialModelType>
<UseType>PermanentDownload</UseType>
</DealTerms>
</Deal>
</ReleaseDeal>
</DealList>

Commercial model types:

ModelDescriptionExample
SubscriptionModelPaid subscription streamingSpotify Premium, Apple Music
AdvertisementSupportedModelFree ad-supported streamingSpotify Free, YouTube
PayAsYouGoModelPay-per-download purchaseiTunes, Amazon Music

Complete single release

A full single-track release with one primary artist, one featured artist, and complete contributor credits.

Input metadata:

FieldValue
TitleMidnight Run
ArtistLuna Wave (primary), DJ Koda (featured)
UPC198765432109
Release Date2025-08-15
LabelNeon Sounds
Catalogue NumberNS-2025-042
GenreElectronic / Deep House
C-Line2025 Neon Sounds LLC
P-Line2025 Neon Sounds LLC
Track ISRCUSNS12500001
ExplicitNot Explicit

Generated XML:

<?xml version="1.0" encoding="UTF-8"?>
<NewReleaseMessage
xmlns:ern="http://ddex.net/xml/ern/43"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ddex.net/xml/ern/43 http://ddex.net/xml/ern/43/release-notification.xsd"
AvsVersionId="3"
LanguageAndScriptCode="en">
<MessageHeader>
<MessageThreadId>20250815-neonsounds-001</MessageThreadId>
<MessageId>20250815-neonsounds-001-msg01</MessageId>
<MessageSender>
<PartyId>PADPIDA2025010100A</PartyId>
<PartyName><FullName>Neon Sounds</FullName></PartyName>
</MessageSender>
<MessageRecipient>
<PartyId>PADPIDA2014120301U</PartyId>
<PartyName><FullName>Spotify</FullName></PartyName>
</MessageRecipient>
<MessageCreatedDateTime>2025-08-01T10:30:00Z</MessageCreatedDateTime>
</MessageHeader>
<PartyList>
<Party>
<PartyReference>P_LABEL_NEONSOUNDS</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>Neon Sounds LLC</FullName>
</PartyName>
<PartyId>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:label:100</ProprietaryId>
</PartyId>
</Party>
<Party>
<PartyReference>P_ARTIST_LUNAWAVE</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>Luna Wave</FullName>
</PartyName>
<PartyId>
<ISNI>0000000012345678</ISNI>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:artist:200</ProprietaryId>
</PartyId>
</Party>
<Party>
<PartyReference>P_ARTIST_DJKODA</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>DJ Koda</FullName>
</PartyName>
<PartyId>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:artist:201</ProprietaryId>
</PartyId>
</Party>
<Party>
<PartyReference>P_CONTRIB_SARAHCHEN</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>Sarah Chen</FullName>
</PartyName>
<PartyId>
<IpiNameNumber>00123456789</IpiNameNumber>
</PartyId>
</Party>
<Party>
<PartyReference>P_CONTRIB_MIXMASTER</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>Mike Torres</FullName>
</PartyName>
</Party>
<Party>
<PartyReference>P_PUBLISHER_NEONSOUNDS</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>Neon Sounds Publishing</FullName>
</PartyName>
</Party>
</PartyList>
<ResourceList>
<SoundRecording>
<ResourceReference>A1</ResourceReference>
<Type>MusicalWorkSoundRecording</Type>
<SoundRecordingEdition>
<ResourceId>
<ISRC>USNS12500001</ISRC>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:track:12345</ProprietaryId>
</ResourceId>
<PLine>
<Year>2025</Year>
<PLineText>Neon Sounds LLC</PLineText>
</PLine>
<TechnicalDetails>
<TechnicalResourceDetailsReference>T1</TechnicalResourceDetailsReference>
<DeliveryFile>
<Type>AudioFile</Type>
<AudioCodecType UserDefinedValue="WAV">UserDefined</AudioCodecType>
<NumberOfChannels>2</NumberOfChannels>
<SamplingRate>44100</SamplingRate>
<BitsPerSample>16</BitsPerSample>
<File>
<URI>resources/198765432109_01_01.wav</URI>
<HashSum>
<Algorithm>MD5</Algorithm>
<HashSumValue>d41d8cd98f00b204e9800998ecf8427e</HashSumValue>
</HashSum>
</File>
</DeliveryFile>
</TechnicalDetails>
</SoundRecordingEdition>
<WorkId>
<ISWC>T3351864278</ISWC>
</WorkId>
<DisplayTitleText LanguageAndScriptCode="en">Midnight Run</DisplayTitleText>
<DisplayTitle LanguageAndScriptCode="en">
<TitleText>Midnight Run</TitleText>
<SubTitle/>
</DisplayTitle>
<DisplayArtistName ApplicableTerritoryCode="Worldwide">Luna Wave feat. DJ Koda</DisplayArtistName>
<DisplayArtist SequenceNumber="1">
<ArtistPartyReference>P_ARTIST_LUNAWAVE</ArtistPartyReference>
<DisplayArtistRole>MainArtist</DisplayArtistRole>
</DisplayArtist>
<DisplayArtist SequenceNumber="2">
<ArtistPartyReference>P_ARTIST_DJKODA</ArtistPartyReference>
<DisplayArtistRole>FeaturedArtist</DisplayArtistRole>
</DisplayArtist>
<Contributor SequenceNumber="1">
<ContributorPartyReference>P_CONTRIB_SARAHCHEN</ContributorPartyReference>
<Role>ComposerLyricist</Role>
</Contributor>
<Contributor SequenceNumber="2">
<ContributorPartyReference>P_CONTRIB_SARAHCHEN</ContributorPartyReference>
<Role>StudioProducer</Role>
</Contributor>
<Contributor SequenceNumber="3">
<ContributorPartyReference>P_CONTRIB_MIXMASTER</ContributorPartyReference>
<Role>MixingEngineer</Role>
</Contributor>
<Contributor SequenceNumber="4">
<ContributorPartyReference>P_PUBLISHER_NEONSOUNDS</ContributorPartyReference>
<Role>MusicPublisher</Role>
</Contributor>
<WorkRightsController>
<RightsControllerPartyReference>P_LABEL_NEONSOUNDS</RightsControllerPartyReference>
<RightsControlType>RightsController</RightsControlType>
<RightSharePercentage>100.00</RightSharePercentage>
<Territory>Worldwide</Territory>
</WorkRightsController>
<Duration>PT00H04M32S</Duration>
<ParentalWarningType>NotExplicit</ParentalWarningType>
<LanguageOfPerformance>en</LanguageOfPerformance>
</SoundRecording>
<Image>
<ResourceReference>A2</ResourceReference>
<Type>FrontCoverImage</Type>
<ResourceId>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:release:67890:cover</ProprietaryId>
</ResourceId>
<TechnicalDetails>
<TechnicalResourceDetailsReference>T2</TechnicalResourceDetailsReference>
<ImageCodecType>JPEG</ImageCodecType>
<ImageHeight>3000</ImageHeight>
<ImageWidth>3000</ImageWidth>
<File>
<URI>resources/198765432109.jpg</URI>
<HashSum>
<Algorithm>MD5</Algorithm>
<HashSumValue>a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4</HashSumValue>
</HashSum>
</File>
</TechnicalDetails>
</Image>
</ResourceList>
<ReleaseList>
<Release>
<ReleaseReference>R0</ReleaseReference>
<ReleaseType>Single</ReleaseType>
<ReleaseId>
<ICPN>198765432109</ICPN>
<CatalogNumber Namespace="PADPIDA2025010100A">NS-2025-042</CatalogNumber>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:release:67890</ProprietaryId>
</ReleaseId>
<DisplayTitleText LanguageAndScriptCode="en">Midnight Run</DisplayTitleText>
<DisplayTitle LanguageAndScriptCode="en">
<TitleText>Midnight Run</TitleText>
<SubTitle/>
</DisplayTitle>
<DisplayArtistName ApplicableTerritoryCode="Worldwide">Luna Wave feat. DJ Koda</DisplayArtistName>
<DisplayArtist SequenceNumber="1">
<ArtistPartyReference>P_ARTIST_LUNAWAVE</ArtistPartyReference>
<DisplayArtistRole>MainArtist</DisplayArtistRole>
</DisplayArtist>
<DisplayArtist SequenceNumber="2">
<ArtistPartyReference>P_ARTIST_DJKODA</ArtistPartyReference>
<DisplayArtistRole>FeaturedArtist</DisplayArtistRole>
</DisplayArtist>
<ReleaseLabelReference>P_LABEL_NEONSOUNDS</ReleaseLabelReference>
<PLine>
<Year>2025</Year>
<PLineText>Neon Sounds LLC</PLineText>
</PLine>
<CLine>
<Year>2025</Year>
<CLineText>Neon Sounds LLC</CLineText>
</CLine>
<Genre>
<GenreText>Electronic</GenreText>
<SubGenre>Deep House</SubGenre>
</Genre>
<OriginalReleaseDate>2025-08-15</OriginalReleaseDate>
<ParentalWarningType>NotExplicit</ParentalWarningType>
<ResourceGroup>
<SequenceNumber>1</SequenceNumber>
<ResourceGroupContentItem>
<SequenceNumber>1</SequenceNumber>
<ReleaseResourceReference>A1</ReleaseResourceReference>
</ResourceGroupContentItem>
<ResourceGroupContentItem>
<SequenceNumber>2</SequenceNumber>
<ReleaseResourceReference>A2</ReleaseResourceReference>
</ResourceGroupContentItem>
</ResourceGroup>
</Release>
<TrackRelease>
<ReleaseReference>RT1</ReleaseReference>
<ReleaseId>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:track:12345</ProprietaryId>
</ReleaseId>
<DisplayTitleText LanguageAndScriptCode="en">Midnight Run</DisplayTitleText>
<DisplayTitle LanguageAndScriptCode="en">
<TitleText>Midnight Run</TitleText>
<SubTitle/>
</DisplayTitle>
<ReleaseResourceReference>A1</ReleaseResourceReference>
<ReleaseLabelReference>P_LABEL_NEONSOUNDS</ReleaseLabelReference>
<Genre>
<GenreText>Electronic</GenreText>
<SubGenre>Deep House</SubGenre>
</Genre>
<Keywords>electronic deep house chill night</Keywords>
</TrackRelease>
</ReleaseList>
<DealList>
<ReleaseDeal>
<DealReleaseReference>R0</DealReleaseReference>
<Deal>
<DealTerms>
<TerritoryCode>Worldwide</TerritoryCode>
<ValidityPeriod>
<StartDate>2025-08-15</StartDate>
</ValidityPeriod>
<CommercialModelType>SubscriptionModel</CommercialModelType>
<UseType>UserMakeAvailableLabelProvided</UseType>
</DealTerms>
</Deal>
<Deal>
<DealTerms>
<TerritoryCode>Worldwide</TerritoryCode>
<ValidityPeriod>
<StartDate>2025-08-15</StartDate>
</ValidityPeriod>
<CommercialModelType>AdvertisementSupportedModel</CommercialModelType>
<UseType>UserMakeAvailableLabelProvided</UseType>
</DealTerms>
</Deal>
<Deal>
<DealTerms>
<TerritoryCode>Worldwide</TerritoryCode>
<ValidityPeriod>
<StartDate>2025-08-15</StartDate>
</ValidityPeriod>
<CommercialModelType>PayAsYouGoModel</CommercialModelType>
<UseType>PermanentDownload</UseType>
</DealTerms>
</Deal>
</ReleaseDeal>
</DealList>
</NewReleaseMessage>
Multi-language titles (Japanese)

When a release has both English and Japanese metadata. All DisplayTitleText elements come first, then all DisplayTitle elements. Japanese phonetic readings use ja-Kana (mapped from internal ja-Jpan).

<!-- All DisplayTitleText elements first -->
<DisplayTitleText LanguageAndScriptCode="ja">夜明けの歌</DisplayTitleText>
<DisplayTitleText LanguageAndScriptCode="en">Song of Dawn</DisplayTitleText>
<!-- Then all DisplayTitle elements -->
<DisplayTitle LanguageAndScriptCode="ja">
<TitleText>夜明けの歌</TitleText>
<SubTitle/>
</DisplayTitle>
<DisplayTitle LanguageAndScriptCode="en">
<TitleText>Song of Dawn</TitleText>
<SubTitle/>
</DisplayTitle>
<!-- Japanese phonetic reading uses ja-Kana -->
<PartyName LanguageAndScriptCode="en">
<FullName>Yuki Tanaka</FullName>
</PartyName>
<PartyName LanguageAndScriptCode="ja-Kana">
<FullName>タナカ ユキ</FullName>
</PartyName>

Key points:

  • Group all DisplayTitleText elements together, then all DisplayTitle elements
  • Use ja-Kana for Japanese phonetic readings (katakana) — this is mapped from the internal ja-Jpan code
  • Provide titles in each supported language
Remix track with mix version

When a track is a remix, the mix version goes into SubTitle and the remixer gets both a FeaturedArtist display role and an ArtisticRole of Remixer.

<SoundRecording>
<ResourceReference>A1</ResourceReference>
<Type>MusicalWorkSoundRecording</Type>
<SoundRecordingEdition>
<ResourceId>
<ISRC>GBXYZ2500042</ISRC>
</ResourceId>
<PLine>
<Year>2025</Year>
<PLineText>Deep Records</PLineText>
</PLine>
</SoundRecordingEdition>
<!-- DisplayTitleText uses base title only (NOT "Horizon (Koda Extended Mix)") -->
<DisplayTitleText LanguageAndScriptCode="en">Horizon</DisplayTitleText>
<!-- Mix version goes into SubTitle -->
<DisplayTitle LanguageAndScriptCode="en">
<TitleText>Horizon</TitleText>
<SubTitle>Koda Extended Mix</SubTitle>
</DisplayTitle>
<DisplayArtistName ApplicableTerritoryCode="Worldwide">Luna Wave</DisplayArtistName>
<!-- Primary artist -->
<DisplayArtist SequenceNumber="1">
<ArtistPartyReference>P_ARTIST_LUNAWAVE</ArtistPartyReference>
<DisplayArtistRole>MainArtist</DisplayArtistRole>
</DisplayArtist>
<!-- Remixer: uses FeaturedArtist for display + ArtisticRole=Remixer -->
<DisplayArtist SequenceNumber="2">
<ArtistPartyReference>P_ARTIST_DJKODA</ArtistPartyReference>
<DisplayArtistRole>FeaturedArtist</DisplayArtistRole>
<ArtisticRole>Remixer</ArtisticRole>
</DisplayArtist>
<Duration>PT00H06M45S</Duration>
<ParentalWarningType>NotExplicit</ParentalWarningType>
</SoundRecording>

Key points:

  • DisplayTitleText contains only the base title — never the concatenated form like “Horizon (Koda Extended Mix)”
  • The mix version goes into SubTitle inside DisplayTitle
  • The remixer needs both DisplayArtistRole=FeaturedArtist and ArtisticRole=Remixer
  • If multi-language titles are used, localize the mix version in each language
Dolby Atmos (stereo + immersive)

When a track has both stereo and Dolby Atmos versions, the SoundRecording contains two SoundRecordingEdition elements — one NonImmersiveEdition and one ImmersiveEdition. Each must have its own unique ISRC.

<SoundRecording>
<ResourceReference>A1</ResourceReference>
<Type>MusicalWorkSoundRecording</Type>
<!-- Stereo edition (marked NonImmersive when Dolby also exists) -->
<SoundRecordingEdition>
<Type>NonImmersiveEdition</Type>
<ResourceId>
<ISRC>USNS12500001</ISRC>
</ResourceId>
<PLine>
<Year>2025</Year>
<PLineText>Neon Sounds LLC</PLineText>
</PLine>
<TechnicalDetails>
<TechnicalResourceDetailsReference>T1</TechnicalResourceDetailsReference>
<DeliveryFile>
<Type>AudioFile</Type>
<AudioCodecType UserDefinedValue="WAV">UserDefined</AudioCodecType>
<NumberOfChannels>2</NumberOfChannels>
<SamplingRate>44100</SamplingRate>
<BitsPerSample>16</BitsPerSample>
<File>
<URI>resources/198765432109_01_01.wav</URI>
<HashSum>
<Algorithm>MD5</Algorithm>
<HashSumValue>d41d8cd98f00b204e9800998ecf8427e</HashSumValue>
</HashSum>
</File>
</DeliveryFile>
</TechnicalDetails>
</SoundRecordingEdition>
<!-- Dolby Atmos / Immersive edition (separate ISRC required) -->
<SoundRecordingEdition>
<Type>ImmersiveEdition</Type>
<ResourceId>
<!-- Must be a different ISRC from the stereo edition -->
<ISRC>USNS12500002</ISRC>
</ResourceId>
<PLine>
<Year>2025</Year>
<PLineText>Neon Sounds LLC</PLineText>
</PLine>
<TechnicalDetails>
<!-- Technical ref suffixed with "I" for immersive -->
<TechnicalResourceDetailsReference>T1I</TechnicalResourceDetailsReference>
<DeliveryFile>
<Type>AudioFile</Type>
<AudioCodecType UserDefinedValue="DolbyAtmos">UserDefined</AudioCodecType>
<NumberOfChannels>8</NumberOfChannels>
<SamplingRate>48000</SamplingRate>
<BitsPerSample>24</BitsPerSample>
<File>
<!-- Dolby file uses "-dolby" suffix -->
<URI>resources/198765432109_01_01-dolby.wav</URI>
<HashSum>
<Algorithm>MD5</Algorithm>
<HashSumValue>f1e2d3c4b5a6f1e2d3c4b5a6f1e2d3c4</HashSumValue>
</HashSum>
</File>
</DeliveryFile>
</TechnicalDetails>
</SoundRecordingEdition>
<DisplayTitleText LanguageAndScriptCode="en">Midnight Run</DisplayTitleText>
<!-- ... titles, artists, contributors, duration, parental warning ... -->
</SoundRecording>

Key points:

  • The stereo edition gets <Type>NonImmersiveEdition</Type> only when a Dolby edition also exists
  • The Dolby edition uses <Type>ImmersiveEdition</Type>
  • Each edition must have a different ISRC
  • The immersive TechnicalResourceDetailsReference is suffixed with I (e.g., T1I)
  • The Dolby audio file URI uses a -dolby suffix
  • Dolby Atmos requires minimum 6 channels (5.1 surround), typically 8 channels
Copyright owners with territory splits

Multiple copyright owners with regional percentage splits. The default element is WorkRightsController. When no copyright owners are set, the record label is used as the default rights controller at 100%.

<!-- Copyright owner: 60% worldwide -->
<WorkRightsController>
<RightsControllerPartyReference>P_OWNER_PUBLISHERA</RightsControllerPartyReference>
<RightsControlType>RightsController</RightsControlType>
<RightSharePercentage>60.00</RightSharePercentage>
<Territory>Worldwide</Territory>
</WorkRightsController>
<!-- Copyright owner: 40% worldwide -->
<WorkRightsController>
<RightsControllerPartyReference>P_OWNER_PUBLISHERB</RightsControllerPartyReference>
<RightsControlType>RightsController</RightsControlType>
<RightSharePercentage>40.00</RightSharePercentage>
<Territory>Worldwide</Territory>
</WorkRightsController>

Key points:

  • Percentages must total exactly 100% per territory
  • Use Worldwide for global coverage, or specific ISO 3166-1 alpha-2 territory codes
  • RightSharePercentage uses two decimal places (e.g., 60.00)
  • One specific outlet uses ResourceRightsController instead of WorkRightsController
Territory-specific deal

When a release is available only in specific countries rather than worldwide:

<Deal>
<DealTerms>
<!-- Available only in US, GB, DE, FR, and AU -->
<TerritoryCode>US</TerritoryCode>
<TerritoryCode>GB</TerritoryCode>
<TerritoryCode>DE</TerritoryCode>
<TerritoryCode>FR</TerritoryCode>
<TerritoryCode>AU</TerritoryCode>
<ValidityPeriod>
<StartDate>2025-08-15</StartDate>
</ValidityPeriod>
<CommercialModelType>SubscriptionModel</CommercialModelType>
<UseType>UserMakeAvailableLabelProvided</UseType>
</DealTerms>
</Deal>

Key points:

  • List multiple <TerritoryCode> elements within the same DealTerms
  • Use ISO 3166-1 alpha-2 codes (e.g., US, GB, DE)
  • Omit Worldwide when specifying individual territories
Takedown (removing a release)

When you issue a takedown, both the start and end dates in the validity period are set 48 hours in the past:

<Deal>
<DealTerms>
<TerritoryCode>Worldwide</TerritoryCode>
<ValidityPeriod>
<StartDate>2025-06-13</StartDate>
<EndDate>2025-06-13</EndDate>
</ValidityPeriod>
<CommercialModelType>SubscriptionModel</CommercialModelType>
<UseType>UserMakeAvailableLabelProvided</UseType>
</DealTerms>
</Deal>

Key points:

  • Both StartDate and EndDate are set to the same date, 48 hours in the past
  • This signals to the DSP that the release should be removed
  • A takedown deal is generated for each commercial model type

Quick lookup table mapping LabelGrid metadata fields to their DDEX XML representation.

LabelGrid fieldDDEX XML elementNotes
UPC/EAN<ICPN>Inside <ReleaseId>
ISRC<ISRC>Inside <ResourceId> within <SoundRecordingEdition>
ISWC<ISWC>Inside <WorkId> on parent <SoundRecording> (not inside Edition)
Title<DisplayTitleText> + <DisplayTitle>One per language; DisplayTitleText uses base title only
Mix version<SubTitle>Inside <DisplayTitle>
Primary artist<DisplayArtistRole>MainArtist</DisplayArtistRole>
Featured artist<DisplayArtistRole>FeaturedArtist</DisplayArtistRole>
RemixerFeaturedArtist + <ArtisticRole>Remixer</ArtisticRole>Both elements needed
Genre<GenreText> + <SubGenre>Mapped to DSP-specific genre codes
P-Line<PLine> > <Year> + <PLineText>
C-Line<CLine> > <Year> + <CLineText>
Explicit<ParentalWarningType>Values: NotExplicit, Explicit, ExplicitContentEdited
Release date<OriginalReleaseDate> + deal <StartDate>Format: YYYY-MM-DD
Territory<TerritoryCode>Worldwide or ISO 3166-1 alpha-2
Contributor (Producer)<Role>StudioProducer</Role>”Producer” display name maps to DDEX StudioProducer
Contributor (other)<Contributor> > <Role>DDEX role codes (e.g., ComposerLyricist, MixingEngineer)
Publisher<Role>MusicPublisher</Role>Inside <Contributor>
Audio file<File> > <URI>Pattern: resources/{UPC}_{disc}_{track}.{ext}
IPI<IpiNameNumber>Zero-padded to 11 digits
ISNI<ISNI>16 characters
Cover art<Image> with <Type>FrontCoverImage</Type>
Release type<ReleaseType>Appears before <ReleaseId> in ERN 4.3
Catalogue number<CatalogNumber>Inside <ReleaseId>
Track resources<ResourceGroup> > <ResourceGroupContentItem>Not ReleaseResourceReferenceList
Duration<Duration>ISO 8601 format: PT00H04M32S
Language<LanguageOfPerformance>ISO language code
Keywords<Keywords>Inside <TrackRelease>
Dolby stereo<Type>NonImmersiveEdition</Type>Only present when Dolby edition also exists
Dolby Atmos<Type>ImmersiveEdition</Type>Separate ISRC required; file URI uses -dolby suffix
Copyright owner<WorkRightsController>With <RightSharePercentage> and <Territory>

Use this checklist to verify your XML before submission:

  • Root <NewReleaseMessage> includes ERN 4.3 namespace and schema location
  • <MessageHeader> has valid MessageThreadId, MessageId, sender, and recipient
  • All parties (label, artists, contributors, publishers) are defined in <PartyList>
  • Each party has a unique <PartyReference>
  • <SoundRecording> type is MusicalWorkSoundRecording
  • ISRC is inside <SoundRecordingEdition> > <ResourceId>
  • ISWC (if present) is on parent <SoundRecording> via <WorkId>, not inside the Edition
  • <DisplayTitleText> contains only the base title (no mix version)
  • Mix version (if any) is in <SubTitle> inside <DisplayTitle>
  • Remixer has both DisplayArtistRole=FeaturedArtist and ArtisticRole=Remixer
  • Audio file <URI> follows the pattern resources/{UPC}_{disc}_{track}.{ext}
  • Cover art <Image> has <Type>FrontCoverImage</Type>
  • <ReleaseType> comes before <ReleaseId> in the main <Release>
  • UPC/EAN is in <ICPN> inside <ReleaseId>
  • Resources linked via <ResourceGroup> (not ReleaseResourceReferenceList)
  • Dolby Atmos editions have separate ISRCs from stereo editions
  • <WorkRightsController> percentages total 100% per territory
  • Deal <TerritoryCode> uses Worldwide or valid ISO 3166-1 alpha-2 codes
  • All dates use YYYY-MM-DD format
  • Takedown deals have both <StartDate> and <EndDate> set 48 hours in the past

If you need assistance with DDEX integration, contact our support team with your technical requirements.

Not using LabelGrid yet?

Everything you just read about is available on our platform.

See what LabelGrid can do →