API Basics

Request Format

Access to 7digital services is provided through a REST style interface.

The production API is located at the following address:

http://api.7digital.com/1.2/

A typical API request will look as follows:

http://api.7digital.com/1.2/artist/details?country=GB&oauth_consumer_key=YOUR_KEY_HERE&artistId=1

The supported HTTP methods are displayed underneath each API method in our documentation, e.g. GET or POST.

HTTP POST requests to the 7digital API require all their parameters (including country, page, etc.) to be supplied within the POST body in the application/x-www-form-urlencoded content type format, e.g.

POST http://api.7digital.com/1.2/user/signup

emailaddress=test%2540test.com&password=123&country=GB&oauth_consumer_key=YOUR_KEY_HERE

API Access

Access to the 7digital API is controlled by a consumer key, which needs to be passed in as a parameter named oauth_consumer_key with every request. API keys with access to our free endpoints are issued upon request. To obtain one, please apply here.

Throughout the documentation, endpoints that require OAuth signatures, access tokens and premium subscriptions are marked with various icons, as described below.

IconDescription
Requests must be made using HTTPS
Premium* access required
OAuth signature required
User access token or id required

*Premium access is subject to contract. Get in touch for more information.

Standard Responses

Standard responses will be returned in XML format.

A successful response will have the following format:

<response status="ok" version="1.2">
   <response_content />
</response>

Error Responses

A response status of error means an error has occurred whilst processing a request. A failed request will contain an error message element:

<response status="error" version="1.2">
 <error code="1001">
  <errorMessage>Missing artist ID</errorMessage>
 </error>
</response>

Error codes can be split into following categories:

1xxx - Invalid or missing input parameters

CodeDescription
1001Required parameter missing
1002Invalid parameter value
1003Parameter value out of allowable range
1006Invalid enumeration value
1007Query string parameters are not permitted when performing HTTP Post. Please use Post body or header.

2xxx - Invalid resource reference

CodeDescription
2001Resource cannot be found
2002Resource is not available in current context
2003Resource already exists

3xxx - User card errors

CodeDescription
3001The user's card has expired
3002The user has no card details saved
3003Payment for this purchase has failed
3005This card was issued in a country that is not valid for purchases in this shop. Please use another card.

7xxx - 7digital API application error

CodeDescription
7001Unable to perform action
7002Application configuration error
7003Operation timed out

9xxx - Internal server error

CodeDescription
9001Unexpected internal server error

Authentication failure responses

Should your API request fail authentication, a response with HTTP Status Code 401 will be returned, along with plain text message describing the reason for the authentication failure.

Please ensure you're using a valid API key and accessing the correct API endpoint.

Non-standard responses

Requests to some special methods will return a client redirect (e.g. basket/checkout) or serve a media file (e.g. clip/{trackId}) instead of an XML response.

Caching API responses

For applications with high-volume usage or with frequent requests for the same data, you are expected to store API responses in a local cache instead of making repeated requests.

This will also allow you to get the most out of a free API key and avoid errors related to exceeding your daily request limit.

The easiest way to enable caching in your application is by setting-up a proxy server between your application and the 7digital API, subsequently making all API calls through this proxy. Alternatively you can implement caching directly in your code.

For your convenience we provide HTTP cache control headers with each API response, which will provide you with information whether to cache a response from a particular API method and for how long. These are generally recommended values adjusted for each API method but you are free to use your own caching strategy should it suit your application better.

The following HTTP Cache control headers will be returned for methods that are recommended to be cached:

Cache-Control:    private, max-age=432000
Last-Modified:    Tue, 13 Apr 2010 15:03:49 GMT

The parameter "max-age" returns the time in seconds.

For methods that are not recommended to be cached you will receive the below HTTP header:

Cache-Control:    no-cache, no-store

Usage Limits

Access to the 7digital API is rate limited. The limit currently applies to the number of API requests made using a single API key per day (i.e. it is not split across end users or IP addresses). To find out what usage limits are in place for the free Public API please visit developer.7digital.com.

Responses from all rate limited API methods will include the following HTTP headers:

X-RateLimit-Limit: 4000
X-RateLimit-Current: 100
X-RateLimit-Reset: 123465
  • Limit is the maximum number of requests allowed for your API key in given period.
  • Current is the number of request already made in this period.
  • Reset is number of seconds left until the end of the current period when the usage counters are reset.

gzip Compression

You can minimize the size of all XML responses by using gzip compression. To get a compressed response you will need to provide the following header with your request:

Accept-Encoding: gzip

The maximum time recomended to store the provided response in your cache can be found in the cache header parameter "max-age".

Download packages & formats

7digital releases and tracks are available in several sets of formats, with each set having terms of availability. For example, lossless formats may be retailed at a different price than lossy formats, and lossless formats will be made available only to particular commercial clients. The download packages section in responses of our Catalogue API logically groups the formats available to you along with the price of a given package.

Formats are grouped in packages as follows:

Package ID: 2, package description: standard

  • Format ID 9 (iPod Vid)
  • Format ID 17 (MP3 320)
  • Format ID 21 (MPEG 4 large vid)
  • Format ID 33 (AAC 320)
  • Format ID 48 (MP3 256)

Package ID: 9, package description: premium

  • Format ID 45 (Flac 16 bit 44.1Khz)

Package ID: 12, package description: deluxe tier 1

  • Format ID 52 (Flac 24 bit 44.1Khz)
  • Format ID 57 (Flac 24 bit 48Khz)

Package ID: 16, package description: deluxe tier 2

  • Format ID 58 (Flac 24 bit 88.2Khz)
  • Format ID 60 (Flac 24 bit 96Khz)

Package ID: 17, package description: deluxe tier 3

  • Format ID 61 (Flac 24 bit 176.4Khz)
  • Format ID 62 (Flac 24 bit 192Khz)

Package ID: 19, package description: MQA Authentic

  • Format ID 72 (Flac 16-bit 44.1kHz MQA)
  • Format ID 73 (Flac 24-bit 44.1kHz MQA)
  • Format ID 74 (Flac 24-bit 48kHz MQA)
  • Format ID 75 (Flac 24-bit 88.2kHz MQA)
  • Format ID 76 (Flac 24-bit 96kHz MQA)
  • Format ID 77 (Flac 24-bit 176.4kHz MQA)
  • Format ID 78 (Flac 24-bit 192kHz MQA)
  • Format ID 79 (Flac 24-bit 352.8kHz MQA)

Package ID: 20, package description: MQA Studio

  • Format ID 80 (Flac 16-bit 44.1kHz MQA Studio)
  • Format ID 81 (Flac 24-bit 44.1kHz MQA Studio)
  • Format ID 82 (Flac 24-bit 48kHz MQA Studio)
  • Format ID 83 (Flac 24-bit 88.2kHz MQA Studio)
  • Format ID 84 (Flac 24-bit 96kHz MQA Studio)
  • Format ID 85 (Flac 24-bit 176.4kHz MQA Studio)
  • Format ID 86 (Flac 24-bit 192kHz MQA Studio)
  • Format ID 87 (Flac 24-bit 352.8kHz MQA Studio)

Countries & currencies

7digital download stores are available in several countries across the world. In order to be able to provide users with the maximum amount of content available in their country and display prices in their local currency whenever possible, all API methods require the parameter country. This parameter expects an ISO 3166-1 alpha-2 two-letter country code (eg. GB, US, DE).

Commercial customers who have a dedicated shop with custom content set up should instead of country code use parameter shopId set to the id assigned to them. Please contact our commercial team to enquire about this option.

Lists & paging

All API methods that return a list of items in the response accept the following paging parameters:

NameTypeUseDescription
pageintegeroptionalPage number - defaults to 1
pageSizeintegeroptionalNumber of items to be returned per page. Defaults to 10. Maximum page size is 50

Paging information will also be included in the response as per the format below:

<page>1</page>
  <itemsPerPage>10</itemsPerPage>
<totalItems>21</totalItems>

The value of totalItems is the maximum number of results. There will sometimes be fewer results available than the totalItems count. This is more noticeable when paging through a large result set. As you advance through the pages the totalItems count may drop.

Image sizes

Some API responses may contain URL's of cover art and artist pictures.

For release cover art images the following sizes are supported:

33, 50, 100, 180, 182, 200, 350, 500* and 800* pixels

The size of images returned by any API response can be adjusted by adding imageSize parameter to the request

NameTypeUseDescription
imageSizeintegeroptionalthe requested width of the image in pixels

*Cover art at this size is not available for some releases (less than 0.1% of the catalogue)

Example

http://api.7digital.com/1.2/artist/releases?artistId=1&imageSize=350&oauth_consumer_key=YOUR_KEY_HERE

Artist pictures are available in these sizes::

150, 200 and 300 pixels

Please note: The image size is defined by the width of the picture. The height of the picture may vary.

Example

http://api.7digital.com/1.2/artist/details?artistId=1&imageSize=200&oauth_consumer_key=YOUR_KEY_HERE

Standard Response Objects

Introduction

Most of the API responses will be comprised of standard objects, which are described below. Not all possible fields are returned in each endpoint's response. In the examples below, all possible fields are included.

Artist

Example response:

<artist id="14">
  <name>The Charlatans</name>
  <sortName>Charlatans, The</sortName>
  <appearsAs>The Charlatans</appearsAs>
  <slug>the-charlatans</slug>
  <url>http://www.7digital.com/artist/the-charlatans/?partner=1401</url>
  <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000014_50.jpg</image>
  <popularity>0.53</popularity>
  <isPlaceholderImage>false</isPlaceholderImage>
</artist>

Description of response fields:

NameTypeDescription
artist@idintegerunique identifier of artist in 7digital catalogue
namestringname of the artist (e.g. "The Pogues")
appearsAsstringname of the artist as it appears on the track or release (this field is only available when artist object is returned attached to a track or release, e.g. "The Pogues feat. Kirsty MacColl")
sortNamestringname of the artist as used for sorting (e.g. "Pogues, The"), only available on some endpoints
imageURLurl of a picture of the artist
slugstringurl slug of the artist, only available on some endpoints
popularitydecimala figure between 0 and 1 representing the artists popularity, currently only available on the artist/search and artist/bytag/top endpoints
isPlaceholderImagebooleanif the image is a placeholder image, only available on some endpoints

Release

Albums, singles and videos are all considered and referred to as releases.

Example response:

<release id="1046">
    <title>No Surprises</title>
    <version />
    <type>Single</type>
    <barcode>0724388514453</barcode>
    <year>1997</year>
    <explicitContent>false</explicitContent>
    <slug>no-surprises</slug>
    <artist id="304">
       <name>Radiohead</name>
       <appearsAs>Radiohead</appearsAs>
       <slug>radiohead</slug>
       <isPlaceholderImage>false</isPlaceholderImage>
    </artist>
    <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/000/010/0000001046_50.jpg</image>
    <label id="227575">
       <name>Parlophone UK</name>
    </label>
    <licensor id="18">
       <name>Warner</name>
    </licensor>
    <popularity>0</popularity>
    <duration>642</duration>
    <trackCount>3</trackCount>
    <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
       <releaseDate>2003-03-01T00:00:00Z</releaseDate>
       <packages>
          <package id="2">
             <description>Standard</description>
             <price>
                <currencyCode>GBP</currencyCode>
                <sevendigitalPrice>2.49</sevendigitalPrice>
                <recommendedRetailPrice>2.49</recommendedRetailPrice>
             </price>
             <formats>
                <format id="17">
                   <description>MP3 320</description>
                </format>
             </formats>
          </package>
          <package id="9">
             <description>Premium</description>
             <price>
                <currencyCode>GBP</currencyCode>
                <sevendigitalPrice>3.99</sevendigitalPrice>
                <recommendedRetailPrice>3.99</recommendedRetailPrice>
             </price>
             <formats>
                <format id="45">
                   <description>FLAC 16-bit 44.1kHz</description>
                </format>
             </formats>
          </package>
       </packages>
    </download>
    <subscriptionStreaming> <!-- Optional: You should only see this element if you are requesting with subscriptionstreaming usageType -->
       <releaseDate>2003-03-01T00:00:00Z</releaseDate>
    </subscriptionStreaming>
    <adSupportedStreaming> <!-- Optional: You should only see this element if you are requesting with adsupportedstreaming usageType -->
       <releaseDate>2003-03-01T00:00:00Z</releaseDate>
    </adSupportedStreaming>
</release>

Description of response fields:

NameTypeDescription
release@idintegerunique identifier of the release in 7digital catalogue
titlestringtitle of the release
versionstringversion title of the release
typeenumerationtype of the release, one of: album/single/video
barcodestringbarcode of the product (typically UPC)
yearintegeryear of the original release (as supplied to 7digital by the issuing label, where data is not available, year of the digital release), only available on some endpoints
explicitContentbooleanparental advisory - explicit content tag, as supplied to 7digital by the issuing label, only available on some endpoints
artistartist objectprimary artist of the release (subset of fields of the full artist details as described above)
imageURLurl of the release cover picture
slugstringurl slug of the release
labellabel objectcontains 7digital id and name of the issuing label
licensorlicensor objectid and name of the licensor who controls the rights to the release, currently available on the release/search and release/details endpoints
popularitydecimala figure between 0 and 1 representing the release popularity, currently available on the release/search, artist/releases, release/details and release/bytag/* endpoints
durationintegertotal length in seconds of all tracks appearing on release, only available on some endpoints
trackCountintegernumber of tracks appearing on release, only available on some endpoints
downloaddownload objectcontains package information relevant to download, only applicable to endpoints returning tracks or releases
subscriptionStreamingsubscription streaming objectcontains information for subscription streaming, only applicable to endpoints returning tracks or releases
adSupportedStreamingad supported streaming objectcontains information for ad supported streaming, only applicable to endpoints returning tracks or releases

Track

Each release contains one or more tracks. As the same track can appear on multiple releases, trackIds are unique to each release.

Example response:

<track id="3153161">
    <title>Island Stomp</title>
    <version />
    <artist id="60288">
       <name>Michel Camilo</name>
       <appearsAs>Michel Camilo</appearsAs>
       <slug>michel-camilo</slug>
       <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/602/0000060288_150.jpg</image>
       <isPlaceholderImage>true</isPlaceholderImage>
    </artist>
    <trackNumber>1</trackNumber>
    <duration>320</duration>
    <explicitContent>false</explicitContent>
    <isrc>USSM18900815</isrc>
    <type>audio</type>
    <release id="282442">
       <title>On Fire</title>
       <version />
       <type>Album</type>
       <barcode>074644529524</barcode>
       <slug>on-fire</slug>
       <artist id="60288">
          <name>Michel Camilo</name>
          <appearsAs>Michel Camilo</appearsAs>
          <slug>michel-camilo</slug>
          <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/602/0000060288_150.jpg</image>
          <isPlaceholderImage>true</isPlaceholderImage>
       </artist>
       <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/002/824/0000282442_50.jpg</image>
       <label id="1085">
          <name>Epic</name>
       </label>
       <licensor id="2">
          <name>Sony Music</name>
       </licensor>
    </release>
    <discNumber>1</discNumber>
    <number>1</number>
    <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
       <releaseDate>1989-10-02T23:00:00Z</releaseDate>
       <previewDate>1989-10-02T00:00:00Z</previewDate>
       <packages>
          <package id="2">
             <description>Standard</description>
             <price>
                <currencyCode>GBP</currencyCode>
                <sevendigitalPrice xsi:nil="true" />
                <recommendedRetailPrice>0.99</recommendedRetailPrice>
             </price>
             <formats>
                <format id="17">
                   <description>MP3 320</description>
                </format>
                <format id="33">
                   <description>AAC 320</description>
                </format>
             </formats>
          </package>
       </packages>
    </download>
    <subscriptionStreaming> <!-- Optional: You should only see this element if you are requesting with subscriptionstreaming usageType -->
       <releaseDate>1989-10-02T23:00:00Z</releaseDate>
    </subscriptionStreaming>
    <adSupportedStreaming> <!-- Optional: You should only see this element if you are requesting with adsupportedstreaming usageType -->
       <releaseDate>1989-10-02T23:00:00Z</releaseDate>
    </adSupportedStreaming>
</track>

Description of response fields:

NameTypeDescription
track@idintegerunique identifier of the track in 7digital catalogue
titlestringtitle of the track
versionstringversion of the track (e.g. "Radio Edit")
artistartist objectthe primary artist of the track
durationintegerthe length of the track in seconds
explicitContentbooleanparental advisory - explicit content tag, as supplied to 7digital by the issuing label
isrcstringISRC code
releaserelease objectrelease the track appears on
discNumberintegerdisc number track appears on
numberintegerthe track number as it appears on the release
downloaddownload objectcontains package information relevant to download, only applicable to endpoints returning tracks or releases
subscriptionStreamingsubscription streaming objectcontains information for subscription streaming, only applicable to endpoints returning tracks or releases
adSupportedStreamingad supported streaming objectcontains information for ad supported streaming, only applicable to endpoints returning tracks or releases

Label and Licensor

All releases in 7digital's catalogue are associated with a label and licensor. Label is essentially a brand under which the release is issued, whereas licensor controls the recording rights for a release.

Although the label is typically more interesting to end consumers, 7digital only holds a contractual and commercial relationship with the licensor who determines when and how 7digital and its partners can sell the release.

Example response:

<label id="32">
  <name>Capitol Records</name> 
</label>

<licensor id="13">
  <name>EMI</name> 
</licensor>

Description of response fields:

NameTypeDescription
label idinteger7digital unique identifier of the label
label namestringname of the issuing label
licensor idinteger7digital unique identifier of the licensor
licensor namestringname of the licensor

Download

Both releases and tracks contain information on packages which are relevant to download.

Example response:

<download>
  <releaseDate>2010-01-22T00:00:00Z</releaseDate>
  <previewDate>2010-01-22T00:00:00Z</previewDate>
  <packages>
    <package id="2">
      <description>standard</description>
      <price>
        <currencyCode>GBP</currencyCode>
        <sevendigitalPrice>0.99</sevendigitalPrice>
        <recommendedRetailPrice>0.99</recommendedRetailPrice>
      </price>
      <formats>
        <format id="17">
          <description>MP3 320</description>
        </format>
      </formats>
    </package>
  </packages>
</download>

Description of response fields:

NameTypeDescription
releaseDatedatetimedate and time the release is available to download from
previewDatedatetimedate and time the release is available to preview from (optional)
packageslist of package objectslist of available packages relevant to download

Package

The package object provides information about a group of formats that are available at a certain price. For example, lossless formats may be retailed at a different price level than lossy formats.

Example response:

<package id="2">
  <description>standard</description>
  <price>
    <currencyCode>GBP</currencyCode>
    <sevendigitalPrice>0.99</sevendigitalPrice>
    <recommendedRetailPrice>0.99</recommendedRetailPrice>
  </price>
  <formats>
    <format id="17">
      <description>MP3 320</description>
    </format>
  </formats>
</package>

Description of response fields:

NameTypeDescription
package@idinteger7digital unique identifier of the package
descriptionstringdescription of the package
pricepackagePrice objectcontains package-specific pricing information
formatslist of packageFormat objectslist of package formats the tracks appearing on this release are available in

Package Price

The packagePrice object provides pricing information relevant to downloading a particular package of a track or release.

In some cases, the value is not specified and the formatted price shows "xsi:nil="true"". In this case, either the release is not purchasable (tracks have to be bought individually) or, conversely, if a track price doesn't have a value, the track is not available separately (the whole release has to be purchased).

Example response:

<price>
  <currencyCode>GBP</currencyCode>
  <sevendigitalPrice>0.99</sevendigitalPrice>
  <recommendedRetailPrice>0.99</recommendedRetailPrice>
</price>

Description of response fields:

NameTypeDescription
currencyCodestringcode of the currency (ISO 4217)
sevendigitalPricedecimalnot for API usage - use recommendedRetailPrice instead
recommendedRetailPricedecimalnumerical value of recommended retail price

Package Format

The packageFormat object provides information on each available format relevant to downloading a particular packages of a track or release.

Example response:

<format id="17">
  <description>MP3 320</description>
</format>

Description of response fields:

NameTypeDescription
format@idinteger7digital unique identifier of the packageFormat
descriptionstringdescription of the packageFormat

Subscription Streaming

Example response:

<subscriptionStreaming>
  <releaseDate>2003-03-01T00:00:00Z</releaseDate>
</subscriptionStreaming>

Description of response fields:

NameTypeDescription
releaseDatedatetimedate and time the release is available to stream from

Ad Supported Streaming

Example response:

<adSupportedStreaming>
  <releaseDate>2003-03-01T00:00:00Z</releaseDate>
</adSupportedStreaming>

Description of response fields:

NameTypeDescription
releaseDatedatetimedate and time the release is available to stream from

User

Example response:

<user id="123456">
  <type>partner</type>
  <emailAddress>email@some.com</emailAddress>
</user>

Description of response fields:

NameTypeDescription
user idstringUser identifier (either 7digital or 3rd party depending on user type)
type7digital / partnerIdentifies whether the user is a standard 7digital user or a partner user
emailAddressemail addressThe email address of the user

API Status

Status GET /status

This method returns the current server time.

Example request: http://api.7digital.com/1.2/status?country=GB&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
country
required
string

Two-letter country code of the country the end user resides in.

application/xml response

<response status="ok" version="1.2">
  <serviceStatus>
    <serverTime>2012-02-08T15:46:06Z</serverTime>
  </serviceStatus>
</response>

Catalogue

About this API

This section details the endpoints used to retrieve details of tracks, releases and artists in our catalogue

Artist - browse by name GET /artist/browse

This method returns a list of artists from the 7digital catalogue whose names match the start letter(s) supplied.

Example request: http://api.7digital.com/1.2/artist/browse?letter=p&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
letter
required
string

The first letter(s) of the artist name to browse.

application/xml response

<response status="ok" version="1.2">
  <artists>
    <page>1</page>
    <pageSize>10</pageSize>
    <totalItems>3256</totalItems>
    <artist id="144641">
      <name>P J Harvey</name>
      <url>http://www.7digital.com/artists/p-j-harvey/?partner=1401</url>
      <sortName>P J Harvey</sortName>
      <image>http://artwork-cdn.7static.com/static/img/artistimages/00/001/446/0000144641_50.jpg</image>
    </artist>
    <artist id="17168">
      <name>P J Proby</name>
       ...
    </artist>
     ...
  </artists>
</response>

application/json response

{
    "status": "ok",
    "version": "1.2",
    "artists": {
        "page": 1,
        "pageSize": 10,
        "totalItems": 23817,
        "artist": [
            {
                "id": 314018,
                "name": "P & P",
                "sortName": "P & P",
                "url": "http://www.7digital.com/artist/p-and-p/?partner=1401",
                "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/003/140/0000314018_150.jpg",
                "popularity": 0.29
            },
            ...
        ]
    }
}

Artist - chart GET /artist/chart

This method returns a territory-specific rolling weekly chart, based on the most purchased artists over the past 7 days.

Example request: http://api.7digital.com/1.2/artist/chart?oauth_consumer_key=YOUR_KEY_HERE&country=GB

AttributeTypeDescription
countrystring

The code of the country the end user resides in. The country will default to GB if not provided.

pageinteger

Page number of the result set. If not supplied, defaults to 1.

pageSizeinteger

Number of items to be returned per page. If not supplied this defaults to 10. Maximum page size is 50.

application/xml response

<response status="ok" version="1.2">
  <chart>
    <page>1</page>
    <pageSize>10</pageSize>
    <totalItems>99</totalItems>
    <type>artist</type>
    <fromDate>2014-10-26T00:00:00+01:00</fromDate>
    <toDate>2014-11-01T00:00:00+00:00</toDate>
    <chartItem>
      <position>1</position>
      <change>New</change>
      <artist id="487026">
        <name>Ben Howard</name>
        <url>
          http://www.7digital.com/artist/ben-howard/?partner=1401
        </url>
        <slug>ben-howard</slug>
        <image>
          http://artwork-cdn.7static.com/static/img/artistimages/00/004/870/0000487026_150.jpg
        </image>
      </artist>
    </chartItem>
    <chartItem>
      <position>2</position>
      <change>New</change>
      <artist id="2460527">
        <name>Scott Walker + Sunn O)))</name>
        <url>
          http://www.7digital.com/artist/scott-walker-plus-sunn-o/?partner=1401
        </url>
        <slug>scott-walker-plus-sunn-o</slug>
        <image>
          http://artwork-cdn.7static.com/static/img/artistimages/00/024/605/0002460527_150.jpg
        </image>
      </artist>
    </chartItem>
    ...
  </chart>
</response>
        

application/json response

{
  "status" : "ok",
  "version" : "1.2",
  "chart" : {
    "page" : 1,
    "pageSize" : 2,
    "totalItems" : 100,
    "type" : "artist",
    "fromDate" : "2013-11-25T00:00:00+00:00",
    "toDate" : "2013-12-01T00:00:00+00:00",
    "chartItem" : [{
        "position" : 1,
        "change" : "New",
        "artist" : {
          "id" : 276,
          "name" : "McFly",
          "appearsAs" : null,
          "url" : "http://www.7digital.com/artist/mcfly/?partner=1401"
        }
      }, {
        "position" : 2,
        "change" : "New",
        "artist" : {
          "id" : 386,
          "name" : "Robbie Williams",
          "appearsAs" : null,
          "url" : "http://www.7digital.com/artist/robbie-williams/?partner=1401"
        }
      }
    ]
  }
}

Artist - details GET /artist/details

This method returns all available artist details.

Example request: http://api.7digital.com/1.2/artist/details?artistid=1&country=GB&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
artistId
required
integer

The unique 7digital identifier of the artist.

countrystring

The code of the country the end user resides in. The country will default to GB if not provided.

application/xml response

<response status="ok" version="1.2">
  <artist id="1">
    <name>Keane</name> 
    <sortName>Keane</sortName> 
    <url>http://www.7digital.com/artists/keane/</url> 
    <slug>keane</slug> 
    <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000001_150.jpg</image> 
    <bio>
      <text/>
    </bio>
  </artist>
</response>

application/json response

{
  "status": "ok",
  "version": "1.2",
  "artist": {
    "id": 1,
    "name": "Keane",
    "sortName": "Keane",
    "url": "http://www.7digital.com/artist/keane/",
    "slug": "keane",
    "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000001_150.jpg",
    "bio": {
      "text": ""
    }
  }
}

Artist - releases GET /artist/releases

This method returns a list of releases by given artist. Releases can be filtered by type.

Example request: http://api.7digital.com/1.2/artist/releases?artistid=1&oauth_consumer_key=YOUR_KEY_HERE&country=GB&pagesize=2&usageTypes=download,subscriptionstreaming,adsupportedstreaming

AttributeTypeDescription
artistId
required
integer

The unique identifier of the artist.

usageTypes
required
string

Only use the usageTypes you need, e.g. download, subscriptionstreaming or adsupportedstreaming.

typeone of album,single,video

Releases can be of type album, single or video. If specified, results are filtered by release type.

packageIdsstring

Contains a comma-separated list of package ids. When specified, only releases that have one of the specified packages will be returned. Used to filter searches to releases that have at least one high quality format. Package ids are listed here.

This parameter only takes effect when using 'usageTypes=download', and is otherwise ignored.

countrystring

The code of the country the end user resides in. The country will default to GB if not provided.

pageinteger

Page number of the result set. If not supplied, defaults to 1.

pageSizeinteger

Number of items to be returned per page. If not supplied this defaults to 10. Maximum page size is 50

imageSizeinteger

The requested width of the image in pixels. Available image sizes are listed here.

Method specific error codes:

1001 - Required parameter artistId is missing
You must supply a value for the artistId parameter.

1003 - Requested page out of range
You specified a page number which does not exist.

application/xml response

<?xml version="1.0" encoding="UTF-8"?>
<response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" status="ok" version="1.2" xsi:noNamespaceSchemaLocation="http://api.7digital.com/1.2/static/7digitalAPI.xsd">
   <releases>
      <page>1</page>
      <pageSize>2</pageSize>
      <totalItems>59</totalItems>
      <release id="809798">
         <title>A Bad Dream</title>
         <version />
         <type>Single</type>
         <barcode>00602527390970</barcode>
         <year>2010</year>
         <explicitContent>false</explicitContent>
         <artist id="1">
            <name>Keane</name>
            <appearsAs>Keane</appearsAs>
            <image>
              http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000001_150.jpg
            </image>
            <slug>keane</slug>
            <isPlaceholderImage>false</isPlaceholderImage>
         </artist>
         <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/008/097/0000809798_50.jpg</image>
         <label id="471977">
            <name>(P) 2010 Universal Island Records Ltd. A Universal Music Company.</name>
         </label>
         <licensor id="1">
            <name>Universal</name>
         </licensor>
         <popularity>0</popularity>
         <duration>307</duration>
         <trackCount>1</trackCount>
         <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
            <releaseDate>2015-11-15T00:00:00Z</releaseDate>
            <packages>
               <package id="2">
                  <description>Standard</description>
                  <price>
                     <currencyCode>GBP</currencyCode>
                     <sevendigitalPrice>0.99</sevendigitalPrice>
                     <recommendedRetailPrice>0.99</recommendedRetailPrice>
                  </price>
                  <formats>
                     <format id="17">
                        <description>MP3 320</description>
                     </format>
                  </formats>
               </package>
            </packages>
         </download>
         <subscriptionStreaming> <!-- Optional: You should only see this element if you are requesting with subscriptionstreaming usageType -->
            <releaseDate>2015-11-15T00:00:00Z</releaseDate>
         </subscriptionStreaming>
         <adSupportedStreaming> <!-- Optional: You should only see this element if you are requesting with adsupportedstreaming usageType -->
            <releaseDate>2015-11-15T00:00:00Z</releaseDate>
         </adSupportedStreaming>
         <slug>a-bad-dream-1</slug>
      </release>
      <release id="470">
         <title>AOL Session</title>
         <version />
         <type>Single</type>
         <barcode>00602498672938</barcode>
         <year>2004</year>
         <explicitContent>false</explicitContent>
         <artist id="1">
            <name>Keane</name>
            <appearsAs>Keane</appearsAs>
            <image>
              http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000001_150.jpg
            </image>
            <slug>keane</slug>
            <isPlaceholderImage>false</isPlaceholderImage>
         </artist>
         <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/000/004/0000000470_50.jpg</image>
         <label id="465499">
            <name>(P) 2004 Universal Island Records Ltd. A Universal Music Company.</name>
         </label>
         <licensor id="1">
            <name>Universal</name>
         </licensor>
         <popularity>0</popularity>
         <duration>1404</duration>
         <trackCount>6</trackCount>
         <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
            <releaseDate>2015-11-15T00:00:00Z</releaseDate>
            <packages>
               <package id="2">
                  <description>Standard</description>
                  <price>
                     <currencyCode>GBP</currencyCode>
                     <sevendigitalPrice>3.99</sevendigitalPrice>
                     <recommendedRetailPrice>3.99</recommendedRetailPrice>
                  </price>
                  <formats>
                     <format id="17">
                        <description>MP3 320</description>
                     </format>
                     <format id="33">
                        <description>AAC 320</description>
                     </format>
                  </formats>
               </package>
            </packages>
         </download>
         <subscriptionStreaming> <!-- Optional: You should only see this element if you are requesting with subscriptionstreaming usageType -->
            <releaseDate>2015-11-15T00:00:00Z</releaseDate>
         </subscriptionStreaming>
         <adSupportedStreaming> <!-- Optional: You should only see this element if you are requesting with adsupportedstreaming usageType -->
            <releaseDate>2015-11-15T00:00:00Z</releaseDate>
         </adSupportedStreaming>
         <slug>aol-session</slug>
      </release>
   </releases>
</response>

application/json response

{
   "status": "ok",
   "version": "1.2",
   "schema": "http://api.7digital.com/1.2/static/7digitalAPI.xsd",
   "releases": {
      "page": 1,
      "pageSize": 2,
      "totalItems": 59,
      "releases": [
         {
            "id": 809798,
            "title": "A Bad Dream",
            "version": "",
            "type": "Single",
            "barcode": "00602527390970",
            "year": "2010",
            "explicitContent": false,
            "artist": {
               "id": 1,
               "name": "Keane",
               "appearsAs": "Keane",
               "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000001_150.jpg",
               "slug": "keane",
               "isPlaceholderImage": false
            },
            "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/008/097/0000809798_50.jpg",
            "label": {
               "id": 471977,
               "name": "(P) 2010 Universal Island Records Ltd. A Universal Music Company."
            },
            "licensor": {
               "id": 1,
               "name": "Universal"
            },
            "popularity": 0,
            "duration": 307,
            "trackCount": 1,
            "download": {
               "releaseDate": "2015-11-15T00:00:00Z",
               "packages": [
                  {
                     "id": 2,
                     "description": "Standard",
                     "price": {
                        "currencyCode": "GBP",
                        "sevendigitalPrice": 0.99,
                        "recommendedRetailPrice": 0.99
                     },
                     "formats": [
                        {
                           "id": 17,
                           "description": "MP3 320"
                        }
                     ]
                  }
               ]
            },
            "subscriptionStreaming": {
               "releaseDate": "2015-11-15T00:00:00Z"
            },
            "adSupportedStreaming": {
               "releaseDate": "2015-11-15T00:00:00Z"
            },
            "slug": "a-bad-dream-1"
         },
         {
            "id": 470,
            "title": "AOL Session",
            "version": "",
            "type": "Single",
            "barcode": "00602498672938",
            "year": "2004",
            "explicitContent": false,
            "artist": {
               "id": 1,
               "name": "Keane",
               "appearsAs": "Keane",
               "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000001_150.jpg",
               "slug": "keane",
               "isPlaceholderImage": false
            },
            "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/000/004/0000000470_50.jpg",
            "label": {
               "id": 465499,
               "name": "(P) 2004 Universal Island Records Ltd. A Universal Music Company."
            },
            "licensor": {
               "id": 1,
               "name": "Universal"
            },
            "popularity": 0,
            "duration": 1404,
            "trackCount": 6,
            "download": {
               "releaseDate": "2015-11-15T00:00:00Z",
               "packages": [
                  {
                     "id": 2,
                     "description": "Standard",
                     "price": {
                        "currencyCode": "GBP",
                        "sevendigitalPrice": 3.99,
                        "recommendedRetailPrice": 3.99
                     },
                     "formats": [
                        {
                           "id": 17,
                           "description": "MP3 320"
                        },
                        {
                           "id": 33,
                           "description": "AAC 320"
                        }
                     ]
                  }
               ]
            },
            "subscriptionStreaming": {
               "releaseDate": "2015-11-15T00:00:00Z"
            },
            "adSupportedStreaming": {
               "releaseDate": "2015-11-15T00:00:00Z"
            },
            "slug": "aol-session"
         }
      ]
   }
}

Artist - search GET /artist/search

This method returns a list of artists from the 7digital catalogue that match the search query.

Example request: http://api.7digital.com/1.2/artist/search?q=pink&sort=score%20desc&oauth_consumer_key=YOUR_KEY_HERE&pagesize=2

AttributeTypeDescription
q
required
string

The search query string.

sortstring

Orders the returned results. Supplied as a string in the format: "{sortColumn} {sortOrder}", for example: "popularity desc" will show most popular artists first regardless of search match score. Currently you can sort by name, popularity and score. If no sort is supplied, the default is "score desc". If no order is supplied the default is ascending.

pageinteger

Page number of the result set. If not supplied, defaults to 1.

pageSizeinteger

Number of items to be returned per page. If not supplied this defaults to 10. Maximum page size is 50.

imageSizeinteger

The requested width of the image in pixels. Available image sizes are listed here.

Method specific error codes:

1001 - Required parameter q is missing
You must supply a value for the q parameter.

1003 - Requested page out of range
You specified a page number which does not exist.

application/xml response

<response status="ok" version="1.2">
  <searchResults>
    <page>1</page>
    <pageSize>2</pageSize>
    <totalItems>303</totalItems>
    <searchResult>
      <type>artist</type>
      <score>9.148376</score>
      <artist id="226">
        <name>Pink</name>
        <sortName>Pink</sortName>
        <url>http://www.7digital.com/artist/pink/?partner=1401</url>
        <slug>pink</slug>
        <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/002/0000000226_150.jpg</image>
        <popularity>0.8</popularity>
      </artist>
    </searchResult>
    <searchResult>
      <type>artist</type>
      <score>5.738292</score>
      <artist id="1471729">
        <name>Pink Haze</name>
        <sortName>Pink Haze</sortName>
        <url>http://www.7digital.com/artist/pink-haze/?partner=1401</url>
        <slug>pink-haze</slug>
        <image>http://artwork-cdn.7static.com/static/img/artistimages/00/014/717/0001471729_150.jpg</image>
        <popularity>0.28</popularity>
      </artist>
    </searchResult>
  </searchResults>
</response>
        

application/json response

{
    "status": "ok",
    "version": "1.2",
    "searchResults": {
        "page": 1,
        "pageSize": 2,
        "totalItems": 244,
        "searchResult": [
            {
                "type": "artist",
                "score": 9.164859,
                "artist": {
                    "id": 226,
                    "name": "Pink",
                    "sortName": "Pink",
                    "url": "http://www.7digital.com/artist/pink/?partner=1401",
                    "slug": "pink",
                    "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/002/0000000226_150.jpg",
                    "appearsAs": null,
                    "popularity": 0.79
                }
            },
           ...
        ]
    }
}

Artist - top tracks GET /artist/toptracks

This method returns a list of the most popular tracks by artist.

Example request: http://api.7digital.com/1.2/artist/toptracks?artistid=2&oauth_consumer_key=YOUR_KEY_HERE&country=GB&pagesize=2&usageTypes=download,subscriptionstreaming,adsupportedstreaming

AttributeTypeDescription
artistId
required
integer

The unique identifier of the artist.

usageTypes
required
string

Only use the usageTypes you need, e.g. download, subscriptionstreaming or adsupportedstreaming.

countrystring

The code of the country the end user resides in. The country will default to GB if not provided.

pageinteger

Page number of the result set. If not supplied, defaults to 1.

pageSizeinteger

Number of items to be returned per page. If not supplied this defaults to 10. Maximum page size is 50.

imageSizeinteger

The requested width of the image in pixels. Available image sizes are listed here.

Method specific error codes:

1001 - Required parameter artistId is missing
You must supply a value for the artistId parameter.

1003 - Requested page out of range
You specified a page number which does not exist.

application/xml response

<?xml version="1.0" encoding="UTF-8"?>
<response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" status="ok" version="1.2" xsi:noNamespaceSchemaLocation="http://api.7digital.com/1.2/static/7digitalAPI.xsd">
   <tracks>
      <page>1</page>
      <pageSize>2</pageSize>
      <totalItems>1208</totalItems>
      <track id="148">
         <title>All The Small Things</title>
         <version />
         <artist id="2">
            <name>Blink 182</name>
            <appearsAs>Blink-182</appearsAs>
            <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000002_150.jpg</image>
            <slug>blink-182</slug>
            <isPlaceholderImage>true</isPlaceholderImage>
         </artist>
         <trackNumber>8</trackNumber>
         <duration>172</duration>
         <explicitContent>false</explicitContent>
         <isrc>USMC19959123</isrc>
         <type>audio</type>
         <release id="20">
            <title>Enema Of The State</title>
            <version />
            <type>Album</type>
            <barcode>00008811195021</barcode>
            <explicitContent>false</explicitContent>
            <artist id="2">
               <name>Blink 182</name>
               <appearsAs>Blink-182</appearsAs>
               <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000002_150.jpg</image>
               <slug>blink-182</slug>
               <isPlaceholderImage>true</isPlaceholderImage>
            </artist>
            <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/000/000/0000000020_50.jpg</image>
            <label id="464954">
               <name>(P) 1999 Geffen Records</name>
            </label>
            <licensor id="1">
               <name>Universal</name>
            </licensor>
            <duration>0</duration>
            <trackCount xsi:nil="true" />
            <slug>enema-of-the-state-1-1</slug>
         </release>
         <discNumber>1</discNumber>
         <popularity>0.41</popularity>
         <number>8</number>
         <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
            <releaseDate>2015-11-14T00:00:00Z</releaseDate>
            <previewDate>2015-11-14T00:00:00Z</previewDate>
            <packages>
               <package id="2">
                  <description>Standard</description>
                  <price>
                     <currencyCode>GBP</currencyCode>
                     <sevendigitalPrice>5.49</sevendigitalPrice>
                     <recommendedRetailPrice>5.49</recommendedRetailPrice>
                  </price>
                  <formats>
                     <format id="17">
                        <description>MP3 320</description>
                     </format>
                  </formats>
               </package>
            </packages>
         </download>
         <subscriptionStreaming> <!-- Optional: You should only see this element if you are requesting with subscriptionstreaming usageType -->
            <releaseDate>2015-11-14T00:00:00Z</releaseDate>
         </subscriptionStreaming>
         <adSupportedStreaming> <!-- Optional: You should only see this element if you are requesting with adsupportedstreaming usageType -->
            <releaseDate>2015-11-14T00:00:00Z</releaseDate>
         </adSupportedStreaming>
      </track>
      <track id="151">
         <title>What's My Age Again?</title>
         <version>Explicit</version>
         <artist id="2">
            <name>Blink 182</name>
            <appearsAs>Blink-182</appearsAs>
            <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000002_150.jpg</image>
            <slug>blink-182</slug>
            <isPlaceholderImage>true</isPlaceholderImage>
         </artist>
         <trackNumber>5</trackNumber>
         <duration>150</duration>
         <explicitContent>true</explicitContent>
         <isrc>USMC19959007</isrc>
         <type>audio</type>
         <release id="20">
            <title>Enema Of The State</title>
            <version />
            <type>Album</type>
            <barcode>00008811195021</barcode>
            <explicitContent>false</explicitContent>
            <artist id="2">
               <name>Blink 182</name>
               <appearsAs>Blink-182</appearsAs>
               <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000002_150.jpg</image>
               <slug>blink-182</slug>
               <isPlaceholderImage>true</isPlaceholderImage>
            </artist>
            <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/000/000/0000000020_50.jpg</image>
            <label id="464954">
               <name>(P) 1999 Geffen Records</name>
            </label>
            <licensor id="1">
               <name>Universal</name>
            </licensor>
            <duration>0</duration>
            <trackCount xsi:nil="true" />
            <slug>enema-of-the-state-1-1</slug>
         </release>
         <discNumber>1</discNumber>
         <popularity>0.39</popularity>
         <number>5</number>
         <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
            <releaseDate>2015-11-14T00:00:00Z</releaseDate>
            <previewDate>2015-11-14T00:00:00Z</previewDate>
            <packages>
               <package id="2">
                  <description>Standard</description>
                  <price>
                     <currencyCode>GBP</currencyCode>
                     <sevendigitalPrice>5.49</sevendigitalPrice>
                     <recommendedRetailPrice>5.49</recommendedRetailPrice>
                  </price>
                  <formats>
                     <format id="17">
                        <description>MP3 320</description>
                     </format>
                  </formats>
               </package>
            </packages>
         </download>
         <subscriptionStreaming> <!-- Optional: You should only see this element if you are requesting with subscriptionstreaming usageType -->
            <releaseDate>2015-11-14T00:00:00Z</releaseDate>
         </subscriptionStreaming>
         <adSupportedStreaming> <!-- Optional: You should only see this element if you are requesting with adsupportedstreaming usageType -->
            <releaseDate>2015-11-14T00:00:00Z</releaseDate>
         </adSupportedStreaming>
      </track>
   </tracks>
</response>

application/json response

{
   "status": "ok",
   "version": "1.2",
   "schema": "http://api.7digital.com/1.2/static/7digitalAPI.xsd",
   "tracks": {
      "page": 1,
      "pageSize": 2,
      "totalItems": 1208,
      "track": [
         {
            "id": 148,
            "title": "All The Small Things",
            "version": "",
            "artist": {
               "id": 2,
               "name": "Blink 182",
               "appearsAs": "Blink-182",
               "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000002_150.jpg",
               "slug": "blink-182",
               "isPlaceholderImage": true
            },
            "trackNumber": 8,
            "duration": 172,
            "explicitContent": false,
            "isrc": "USMC19959123",
            "type": "Audio",
            "release": {
               "id": 20,
               "title": "Enema Of The State",
               "version": "",
               "type": "Album",
               "barcode": "00008811195021",
               "explicitContent": false,
               "artist": {
                  "id": 2,
                  "name": "Blink 182",
                  "appearsAs": "Blink-182",
                  "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000002_150.jpg",
                  "slug": "blink-182",
                  "isPlaceholderImage": true
               },
               "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/000/000/0000000020_50.jpg",
               "label": {
                  "id": 464954,
                  "name": "(P) 1999 Geffen Records"
               },
               "licensor": {
                  "id": 1,
                  "name": "Universal"
               },
               "duration": 0,
               "slug": "enema-of-the-state-1-1"
            },
            "discNumber": 1,
            "popularity": 0.4,
            "number": 8,
            "download": {
               "releaseDate": "2015-11-14T00:00:00Z",
               "previewDate": "2015-11-14T00:00:00Z",
               "packages": [
                  {
                     "id": 2,
                     "description": "Standard",
                     "price": {
                        "currencyCode": "GBP",
                        "recommendedRetailPrice": 0.99
                     },
                     "formats": [
                        {
                           "id": 17,
                           "description": "MP3 320"
                        }
                     ]
                  }
               ]
            },
            "subscriptionStreaming": {
               "releaseDate": "2015-11-14T00:00:00Z"
            },
            "adSupportedStreaming": {
               "releaseDate": "2015-11-14T00:00:00Z"
            }
         },
         {
            "id": 151,
            "title": "What's My Age Again?",
            "version": "Explicit",
            "artist": {
               "id": 2,
               "name": "Blink 182",
               "appearsAs": "Blink-182",
               "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000002_150.jpg",
               "slug": "blink-182",
               "isPlaceholderImage": true
            },
            "trackNumber": 5,
            "duration": 150,
            "explicitContent": true,
            "isrc": "USMC19959007",
            "type": "Audio",
            "release": {
               "id": 20,
               "title": "Enema Of The State",
               "version": "",
               "type": "Album",
               "barcode": "00008811195021",
               "explicitContent": false,
               "artist": {
                  "id": 2,
                  "name": "Blink 182",
                  "appearsAs": "Blink-182",
                  "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000002_150.jpg",
                  "slug": "blink-182",
                  "isPlaceholderImage": true
               },
               "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/000/000/0000000020_50.jpg",
               "label": {
                  "id": 464954,
                  "name": "(P) 1999 Geffen Records"
               },
               "licensor": {
                  "id": 1,
                  "name": "Universal"
               },
               "duration": 0,
               "slug": "enema-of-the-state-1-1"
            },
            "discNumber": 1,
            "popularity": 0.39,
            "number": 5,
            "download": {
               "releaseDate": "2015-11-14T00:00:00Z",
               "previewDate": "2015-11-14T00:00:00Z",
               "packages": [
                  {
                     "id": 2,
                     "description": "Standard",
                     "price": {
                        "currencyCode": "GBP",
                        "recommendedRetailPrice": 0.99
                     },
                     "formats": [
                        {
                           "id": 17,
                           "description": "MP3 320"
                        }
                     ]
                  }
               ]
            },
            "subscriptionStreaming": {
               "releaseDate": "2015-11-14T00:00:00Z"
            },
            "adSupportedStreaming": {
               "releaseDate": "2015-11-14T00:00:00Z"
            }
         }
      ]
   }
}

Artist - similar artists (BETA) GET /artist/similar

This method returns a list of artists similar to given artist. This is a beta endpoint and is not fully supported yet. Please use with caution.

Example request: http://api.7digital.com/1.2/artist/similar?artistid=1&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
artistId
required
integer

The unique identifier of the artist.

pagesizeinteger

Number of items to be returned per page. If not supplied this defaults to 10. Maximum page size is 50

pageinteger

sets the page to be returned in paged list of the customers releases and tracks, by default this is the first page. page=1

application/xml response

<?xml version="1.0" encoding="utf-8" ?>
<response status="ok" version="1.2">
  <artists>
    <page>1</page>
    <pageSize>10</pageSize>
    <totalItems>28</totalItems>
    <artist id="14">
      <name>The Charlatans</name>
      <sortName>Charlatans, The</sortName>
      <url>http://www.7digital.com/artists/the-charlatans/?partner=1401</url>
      <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000014_150.jpg</image>
    </artist>
    <artist id="20">
      <name>Coldplay</name>
      <sortName>Coldplay</sortName>
      <url>http://www.7digital.com/artists/coldplay/?partner=1401</url>
      <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000020_150.jpg</image>
    </artist>
    ...
  </artists>
</response>

application/json response

{
  "status": "ok",
  "version": "1.2",
  "artists": {
    "page": 1,
    "pageSize": 10,
    "totalItems": 29,
    "artist": [
      {
        "id": 14,
        "name": "The Charlatans",
        "sortName": "Charlatans, The",
        "url": "http://www.7digital.com/artist/the-charlatans/",
        "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000014_150.jpg"
      },
      {
        "id": 20,
        "name": "Coldplay",
        "sortName": "Coldplay",
        "url": "http://www.7digital.com/artist/coldplay/",
        "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000020_150.jpg"
      },
      {
        "id": 102,
        "name": "Ocean Colour Scene",
        "sortName": "Ocean Colour Scene",
        "url": "http://www.7digital.com/artist/ocean-colour-scene/",
        "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/001/0000000102_150.jpg"
      }]}}

Release - chart GET /release/chart

This endpoint returns a territory-specific rolling weekly chart, based on the most purchased releases over the past 7 days.

Example request: http://api.7digital.com/1.2/release/chart?oauth_consumer_key=YOUR_KEY_HERE&country=GB&pagesize=2&usageTypes=download,subscriptionstreaming,adsupportedstreaming

AttributeTypeDescription
usageTypes
required
string

Only use the usageTypes you need, e.g. download, subscriptionstreaming or adsupportedstreaming.

countrystring

The code of the country the end user resides in. The country will default to GB if not provided.

pageinteger

Page number of the result set. If not supplied, defaults to 1.

pageSizeinteger

Number of items to be returned per page. If not supplied this defaults to 10. Maximum page size is 50.

imageSizeinteger

The requested width of the image in pixels. Available image sizes are listed here.

Method specific error codes:

1003 - Requested page out of range
You specified a page number which does not exist.

application/xml response

<?xml version="1.0" encoding="UTF-8"?>
<response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" status="ok" version="1.2" xsi:noNamespaceSchemaLocation="http://api.7digital.com/1.2/static/7digitalAPI.xsd">
   <chart>
      <page>1</page>
      <pageSize>2</pageSize>
      <totalItems>94</totalItems>
      <type>album</type>
      <fromDate>2014-09-25T00:00:00+01:00</fromDate>
      <toDate>2014-10-01T00:00:00+01:00</toDate>
      <chartItem>
         <position>1</position>
         <change>New</change>
         <release id="3563048">
            <title>This Is All Yours</title>
            <version>Explicit</version>
            <type>Album</type>
            <barcode>5050954421883</barcode>
            <year>2014</year>
            <explicitContent>true</explicitContent>
            <artist id="1221028">
               <name>alt-J</name>
               <appearsAs>alt-J</appearsAs>
               <slug>alt-j-1</slug>
            </artist>
            <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/035/630/0003563048_50.jpg</image>
            <label id="25901">
               <name>Infectious</name>
            </label>
            <licensor id="48">
               <name>Vital</name>
            </licensor>
            <duration>3328</duration>
            <trackCount>14</trackCount>
            <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
               <releaseDate>2014-09-22T00:00:00Z</releaseDate>
               <packages>
                  <package id="2">
                     <description>Standard</description>
                     <price>
                        <currencyCode>GBP</currencyCode>
                        <sevendigitalPrice>4.49</sevendigitalPrice>
                        <recommendedRetailPrice>4.49</recommendedRetailPrice>
                     </price>
                     <formats>
                        <format id="17">
                           <description>MP3 320</description>
                        </format>
                        <format id="33">
                           <description>AAC 320</description>
                        </format>
                     </formats>
                  </package>
               </packages>
            </download>
            <subscriptionStreaming> <!-- Optional: You should only see this element if you are requesting with subscriptionstreaming usageType -->
               <releaseDate>2014-09-22T00:00:00Z</releaseDate>
            </subscriptionStreaming>
            <slug>this-is-all-yours</slug>
         </release>
      </chartItem>
      <chartItem>
         <position>2</position>
         <change>New</change>
         <release id="3814480">
            <title>Syro</title>
            <version />
            <type>Album</type>
            <barcode>0801061024734</barcode>
            <year>2014</year>
            <explicitContent>false</explicitContent>
            <artist id="6018">
               <name>Aphex Twin</name>
               <appearsAs>Aphex Twin</appearsAs>
               <slug>aphex-twin</slug>
            </artist>
            <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/038/144/0003814480_50.jpg</image>
            <label id="811">
               <name>Warp Records</name>
            </label>
            <licensor id="228">
               <name>Warp Records</name>
            </licensor>
            <duration>3871</duration>
            <trackCount>12</trackCount>
            <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
               <releaseDate>2014-09-21T00:00:00Z</releaseDate>
               <packages>
                  <package id="2">
                     <description>Standard</description>
                     <price>
                        <currencyCode>GBP</currencyCode>
                        <sevendigitalPrice>7.99</sevendigitalPrice>
                        <recommendedRetailPrice>7.99</recommendedRetailPrice>
                     </price>
                     <formats>
                        <format id="17">
                           <description>MP3 320</description>
                        </format>
                        <format id="33">
                           <description>AAC 320</description>
                        </format>
                     </formats>
                  </package>
               </packages>
            </download>
            <slug>syro</slug>
         </release>
      </chartItem>
   </chart>
</response>

application/json response

{
    "status": "ok",
    "version": "1.2",
    "chart": {
        "page": 1,
        "pageSize": 2,
        "totalItems": 94,
        "type": "album",
        "fromDate": "2014-09-25T00:00:00+01:00",
        "toDate": "2014-10-01T00:00:00+01:00",
        "chartItem": [
            {
                "position": 1,
                "change": "New",
                "release": {
                    "id": 3563048,
                    "title": "This Is All Yours",
                    "version": "Explicit",
                    "type": "Album",
                    "barcode": "5050954421883",
                    "year": 2014,
                    "explicitContent": true,
                    "artist": {
                        "id": 1221028,
                        "name": "alt-J",
                        "appearsAs": "alt-J",
                        "url": null,
                        "image": null
                    },
                    "url": null,
                    "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/035/630/0003563048_50.jpg",
                    "releaseDate": null,
                    "addedDate": null,
                    "price": null,
                    "formats": null,
                    "label": {
                        "id": "25901",
                        "name": "Infectious"
                    },
                    "licensor": {
                        "id": "48",
                        "name": "Vital"
                    },
                    "duration": 3328,
                    "trackCount": 14
                }
            },
            {
                "position": 2,
                "change": "New",
                "release": {
                    "id": 3814480,
                    "title": "Syro",
                    "version": "",
                    "type": "Album",
                    "barcode": "0801061024734",
                    "year": 2014,
                    "explicitContent": false,
                    "artist": {
                        "id": 6018,
                        "name": "Aphex Twin",
                        "appearsAs": "Aphex Twin",
                        "url": null,
                        "image": null
                    },
                    "url": null,
                    "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/038/144/0003814480_50.jpg",
                    "releaseDate": null,
                    "addedDate": null,
                    "price": null,
                    "formats": null,
                    "label": {
                        "id": "811",
                        "name": "Warp Records"
                    },
                    "licensor": {
                        "id": "228",
                        "name": "Warp Records"
                    },
                    "duration": 3871,
                    "trackCount": 12
                }
            }
        ]
    }
}

Release - details GET /release/details

This method returns all available details for a given release.

Example request: http://api.7digital.com/1.2/release/details?releaseid=1046&oauth_consumer_key=YOUR_KEY_HERE&country=GB&usageTypes=download,subscriptionstreaming,adsupportedstreaming

AttributeTypeDescription
releaseId
required
integer

The unique identifier of the release.

usageTypes
required
string

Only use the usageTypes you need, e.g. download, subscriptionstreaming or adsupportedstreaming.

countrystring

The code of the country the end user resides in. The country will default to GB if not provided.

imageSizeinteger

The requested width of the image in pixels. Available image sizes are listed here.

Method specific error codes:

2001 - Release id not licensed for this partner
The copyright for the release you requested is owned by a label not currently licensed for your service.

application/xml response

<?xml version="1.0" encoding="UTF-8"?>
<response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" status="ok" version="1.2" xsi:noNamespaceSchemaLocation="http://api.7digital.com/1.2/static/7digitalAPI.xsd">
   <release id="1046">
      <title>No Surprises</title>
      <version />
      <type>Single</type>
      <barcode>0724388514453</barcode>
      <year>1997</year>
      <explicitContent>false</explicitContent>
      <slug>no-surprises</slug>
      <artist id="304">
         <name>Radiohead</name>
         <appearsAs>Radiohead</appearsAs>
         <slug>radiohead</slug>
         <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/003/0000000304_150.jpg</image>
         <isPlaceholderImage>false</isPlaceholderImage>
      </artist>
      <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/000/010/0000001046_50.jpg</image>
      <label id="227575">
         <name>Parlophone UK</name>
      </label>
      <licensor id="18">
         <name>Warner</name>
      </licensor>
      <popularity>0</popularity>
      <duration>642</duration>
      <trackCount>3</trackCount>
      <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
         <releaseDate>2003-03-01T00:00:00Z</releaseDate>
         <packages>
            <package id="2">
               <description>Standard</description>
               <price>
                  <currencyCode>GBP</currencyCode>
                  <sevendigitalPrice>2.49</sevendigitalPrice>
                  <recommendedRetailPrice>2.49</recommendedRetailPrice>
               </price>
               <formats>
                  <format id="17">
                     <description>MP3 320</description>
                  </format>
               </formats>
            </package>
         </packages>
      </download>
      <subscriptionStreaming> <!-- Optional: You should only see this element if you are requesting with subscriptionstreaming usageType -->
         <releaseDate>2003-03-01T00:00:00Z</releaseDate>
      </subscriptionStreaming>
      <adSupportedStreaming> <!-- Optional: You should only see this element if you are requesting with adSupportedstreaming usageType -->
         <releaseDate>2003-03-01T00:00:00Z</releaseDate>
      </adSupportedStreaming>
   </release>
</response>

application/json response

{
   "release": {
      "id": 1046,
      "title": "No Surprises",
      "version": "",
      "type": "Single",
      "barcode": "0724388514453",
      "year": 1997,
      "explicitContent": false,
      "slug": "no-surprises",
      "artist": {
         "id": 304,
         "name": "Radiohead",
         "appearsAs": "Radiohead",
         "url": null,
         "slug": "radiohead",
         "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/003/0000000304_150.jpg",
         "isPlaceholderImage": false
      },
      "url": null,
      "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/000/010/0000001046_50.jpg",
      "price": null,
      "formats": null,
      "label": {
         "id": 227575,
         "name": "Parlophone UK"
      },
      "licensor": {
         "id": 18,
         "name": "Warner"
      },
      "popularity": 0,
      "duration": 642,
      "trackCount": 3,
      "download": {
         "releaseDate": "2003-03-01T00:00:00Z",
         "packages": [
            {
               "id": 2,
               "description": "Standard",
               "price": {
                  "currencyCode": "GBP",
                  "sevendigitalPrice": "2.49",
                  "recommendedRetailPrice": "2.49"
               },
               "formats": [
                  {
                     "id": 17,
                     "description": "MP3 320"
                  }
               ]
            }
         ]
      },
      "subscriptionStreaming": {
         "releaseDate": "2003-03-01T00:00:00Z"
      },
      "adSupportedStreaming": {
         "releaseDate": "2003-03-01T00:00:00Z"
      }
   }
}

Release - details (batch) GET /release/details/batch

Return details of multiple releases in one request. In the request, releases are identified by release id. There will be one release in the response for every corresponding valid id in the request, and the releases will be in the same order as the requested ids. Releases that are not valid for any reason are omitted from the releases list in the response. They will be included in the errors list, in order, if showErrors is set true.

Example request: https://api.7digital.com/1.2/release/details/batch?releaseids=12345,12346,12347&showerrors=true&oauth_consumer_key=YOUR_KEY_HERE&country=GB&usageTypes=download,subscriptionstreaming,adsupportedstreaming

AttributeTypeDescription
releaseids
required
string

Contains a comma-separated list of release ids. Maximum of 500 items.

packageIdsstring

Contains a comma-separated list of package ids. When specified, only releases that have one of the specified packages will be returned. Used to filter searches to releases that have at least one high quality format. Package ids are listed here.

This parameter only takes effect when using 'usageTypes=download', and is otherwise ignored.

countrystring

The code of the country the end user resides in. The country will default to GB if not provided.

showErrorsboolean

When set true, the errors element is shown in the output, containing a list of errors. There will be one error for each release that could not be shown in the releases list. The Itemid on the error shows which release it relates to. The code and message relates to the reason why the release could not be shown.

usageTypes
required
string

Only use the usageTypes you need, e.g. download, subscriptionstreaming or adsupportedstreaming.

typestring

When set, only releases with the matching type value ("Album" or "single") will be returned. If not set, then all will be returned.

imageSizenumber

The requested width of the image in pixels. Available image sizes are listed here.

Method specific error codes:

1001 - Required parameter releaseIds is missing
You must supply a value for the releaseIds parameter.

1002 - Invalid value for parameter releaseIds
You must supply a comma-separated list of release ids.

application/xml response

<?xml version="1.0" encoding="UTF-8"?>
<response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" status="ok" version="1.2" xsi:noNamespaceSchemaLocation="http://api.7digital.com/1.2/static/7digitalAPI.xsd">
   <items>
      <releases>
         <release id="12345">
            <title>Yo, Minoria Absoluta</title>
            <version />
            <type>Album</type>
            <barcode>809274456564</barcode>
            <year>2002</year>
            <explicitContent>false</explicitContent>
            <slug>yo-minoria-absoluta-1</slug>
            <artist id="5653">
               <name>Extremoduro</name>
               <appearsAs>Extremoduro</appearsAs>
               <slug>extremoduro</slug>
               <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/056/0000005653_150.jpg</image>
               <isPlaceholderImage>false</isPlaceholderImage>
            </artist>
            <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/000/123/0000012345_50.jpg</image>
            <label id="556">
               <name>DRO/EastWest Spain</name>
            </label>
            <licensor id="18">
               <name>Warner</name>
            </licensor>
            <popularity>0</popularity>
            <duration>2560</duration>
            <trackCount>10</trackCount>
            <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
               <releaseDate>2005-05-23T23:00:00Z</releaseDate>
               <packages>
                  <package id="2">
                     <description>Standard</description>
                     <price>
                        <currencyCode>GBP</currencyCode>
                        <sevendigitalPrice>8.49</sevendigitalPrice>
                        <recommendedRetailPrice>8.49</recommendedRetailPrice>
                     </price>
                     <formats>
                        <format id="48">
                           <description>MP3 256</description>
                        </format>
                     </formats>
                  </package>
               </packages>
            </download>
            <subscriptionStreaming> <!-- Optional: You should only see this element if you are requesting with subscriptionstreaming usageType -->
               <releaseDate>2005-05-23T23:00:00Z</releaseDate>
            </subscriptionStreaming>
            <adSupportedStreaming> <!-- Optional: You should only see this element if you are requesting with adsupportedstreaming usageType -->
               <releaseDate>2005-05-23T23:00:00Z</releaseDate>
            </adSupportedStreaming>
         </release>
         <release id="12346">
            <title>The best of Umberto Tozzi</title>
            <version />
            <type>Album</type>
            <barcode>809274726360</barcode>
            <year>2002</year>
            <explicitContent>false</explicitContent>
            <slug>the-best-of-umberto-tozzi</slug>
            <artist id="5440">
               <name>Umberto Tozzi</name>
               <appearsAs>Umberto Tozzi</appearsAs>
               <slug>umberto-tozzi</slug>
               <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/054/0000005440_150.jpg</image>
               <isPlaceholderImage>false</isPlaceholderImage>
            </artist>
            <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/000/123/0000012346_50.jpg</image>
            <label id="430">
               <name>CGD/EastWest Italy</name>
            </label>
            <licensor id="18">
               <name>Warner</name>
            </licensor>
            <popularity>0</popularity>
            <duration>9488</duration>
            <trackCount>34</trackCount>
            <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
               <releaseDate>2012-01-13T00:00:00Z</releaseDate>
               <packages>
                  <package id="2">
                     <description>Standard</description>
                     <price>
                        <currencyCode>GBP</currencyCode>
                        <sevendigitalPrice>8.49</sevendigitalPrice>
                        <recommendedRetailPrice>8.49</recommendedRetailPrice>
                     </price>
                     <formats>
                        <format id="48">
                           <description>MP3 256</description>
                        </format>
                     </formats>
                  </package>
               </packages>
            </download>
            <subscriptionStreaming> <!-- Optional: You should only see this element if you are requesting with subscriptionstreaming usageType -->
               <releaseDate>2012-01-13T00:00:00Z</releaseDate>
            </subscriptionStreaming>
            <adSupportedStreaming> <!-- Optional: You should only see this element if you are requesting with adsupportedstreaming usageType -->
               <releaseDate>2012-01-13T00:00:00Z</releaseDate>
            </adSupportedStreaming>
         </release>
         <release id="12347">
            <title>Bach, JS : Well-Tempered Clavier Book 1</title>
            <version />
            <type>Album</type>
            <barcode>825646155361</barcode>
            <year>2004</year>
            <explicitContent>false</explicitContent>
            <slug>bach-well-tempered-clavier-book-1</slug>
            <artist id="6090">
               <name>Daniel Barenboim</name>
               <appearsAs>Daniel Barenboim</appearsAs>
               <slug>daniel-barenboim</slug>
               <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/060/0000006090_150.jpg</image>
               <isPlaceholderImage>false</isPlaceholderImage>
            </artist>
            <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/000/123/0000012347_50.jpg</image>
            <label id="422">
               <name>Warner Classics International</name>
            </label>
            <licensor id="18">
               <name>Warner</name>
            </licensor>
            <popularity>0</popularity>
            <duration>7482</duration>
            <trackCount>48</trackCount>
            <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
               <releaseDate>2006-08-29T00:00:00Z</releaseDate>
               <packages>
                  <package id="2">
                     <description>Standard</description>
                     <price>
                        <currencyCode>GBP</currencyCode>
                        <sevendigitalPrice>10.49</sevendigitalPrice>
                        <recommendedRetailPrice>10.49</recommendedRetailPrice>
                     </price>
                     <formats>
                        <format id="17">
                           <description>MP3 320</description>
                        </format>
                     </formats>
                  </package>
               </packages>
            </download>
         </release>
      </releases>
      <errors />
   </items>
</response>

application/json response

{
   "items": {
      "releases": [
         {
            "id": 12345,
            "title": "Yo, Minoria Absoluta",
            "version": "",
            "type": "Album",
            "barcode": "809274456564",
            "year": 2002,
            "explicitContent": false,
            "slug": "yo-minoria-absoluta-1",
            "artist": {
               "id": 5653,
               "name": "Extremoduro",
               "appearsAs": "Extremoduro",
               "url": null,
               "slug": "extremoduro",
               "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/056/0000005653_150.jpg",
               "isPlaceholderImage": false
            },
            "url": null,
            "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/000/123/0000012345_50.jpg",
            "price": null,
            "formats": null,
            "label": {
               "id": 556,
               "name": "DRO/EastWest Spain"
            },
            "licensor": {
               "id": 18,
               "name": "Warner"
            },
            "popularity": 0,
            "duration": 2560,
            "trackCount": 10,
            "download": {
               "releaseDate": "2005-05-23T23:00:00Z",
               "packages": [
                  {
                     "id": 2,
                     "description": "Standard",
                     "price": {
                        "currencyCode": "GBP",
                        "sevendigitalPrice": "8.49",
                        "recommendedRetailPrice": "8.49"
                     },
                     "formats": [
                        {
                           "id": 48,
                           "description": "MP3 256"
                        }
                     ]
                  }
               ]
            },
            "subscriptionStreaming": {
               "releaseDate": "2005-05-23T23:00:00Z"
            },
            "adSupportedStreaming": {
               "releaseDate": "2005-05-23T23:00:00Z"
            }
         },
         {
            "id": 12346,
            "title": "The best of Umberto Tozzi",
            "version": "",
            "type": "Album",
            "barcode": "809274726360",
            "year": 2002,
            "explicitContent": false,
            "slug": "the-best-of-umberto-tozzi",
            "artist": {
               "id": 5440,
               "name": "Umberto Tozzi",
               "appearsAs": "Umberto Tozzi",
               "url": null,
               "slug": "umberto-tozzi",
               "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/054/0000005440_150.jpg",
               "isPlaceholderImage": false
            },
            "url": null,
            "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/000/123/0000012346_50.jpg",
            "price": null,
            "formats": null,
            "label": {
               "id": 430,
               "name": "CGD/EastWest Italy"
            },
            "licensor": {
               "id": 18,
               "name": "Warner"
            },
            "popularity": 0,
            "duration": 9488,
            "trackCount": 34,
            "download": {
               "releaseDate": "2012-01-13T00:00:00Z",
               "packages": [
                  {
                     "id": 2,
                     "description": "Standard",
                     "price": {
                        "currencyCode": "GBP",
                        "sevendigitalPrice": "8.49",
                        "recommendedRetailPrice": "8.49"
                     },
                     "formats": [
                        {
                           "id": 48,
                           "description": "MP3 256"
                        }
                     ]
                  }
               ]
            },
            "subscriptionStreaming": {
               "releaseDate": "2012-01-13T00:00:00Z"
            },
            "adSupportedStreaming": {
               "releaseDate": "2012-01-13T00:00:00Z"
            }
         },
         {
            "id": 12347,
            "title": "Bach, JS : Well-Tempered Clavier Book 1",
            "version": "",
            "type": "Album",
            "barcode": "825646155361",
            "year": 2004,
            "explicitContent": false,
            "slug": "bach-well-tempered-clavier-book-1",
            "artist": {
               "id": 6090,
               "name": "Daniel Barenboim",
               "appearsAs": "Daniel Barenboim",
               "url": null,
               "slug": "daniel-barenboim",
               "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/060/0000006090_150.jpg",
               "isPlaceholderImage": false
            },
            "url": null,
            "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/000/123/0000012347_50.jpg",
            "price": null,
            "formats": null,
            "label": {
               "id": 422,
               "name": "Warner Classics International"
            },
            "licensor": {
               "id": 18,
               "name": "Warner"
            },
            "popularity": 0,
            "duration": 7482,
            "trackCount": 48,
            "download": {
               "releaseDate": "2006-08-29T00:00:00Z",
               "packages": [
                  {
                     "id": 2,
                     "description": "Standard",
                     "price": {
                        "currencyCode": "GBP",
                        "sevendigitalPrice": "10.49",
                        "recommendedRetailPrice": "10.49"
                     },
                     "formats": [
                        {
                           "id": 17,
                           "description": "MP3 320"
                        }
                     ]
                  }
               ]
            },
            "subscriptionStreaming": null,
            "adSupportedStreaming": null
         }
      ],
      "errors": []
   }
}

Release - recommended (BETA) GET /release/recommend

This method returns list of recommended releases for given release or artist. This is a beta endpoint and is not fully supported yet. Please use with caution.

Example request: http://api.7digital.com/1.2/release/recommend?releaseid=155408&oauth_consumer_key=YOUR_KEY_HERE&country=GB&usageTypes=download,subscriptionstreaming,adsupportedstreaming

AttributeTypeDescription
releaseId / artistId
required
integer

The unique identifier of the recommended release or artist. Only ONE identifier can be specified in a request.

usageTypes
required
string

Only use the usageTypes you need, e.g. download, subscriptionstreaming or adsupportedstreaming.

countrystring

The code of the country the end user resides in. The country will default to GB if not provided.

application/xml response

<?xml version="1.0" encoding="UTF-8"?>
<response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" status="ok" version="1.2" xsi:noNamespaceSchemaLocation="http://api.7digital.com/1.2/static/7digitalAPI.xsd">
   <recommendations>
      <page>1</page>
      <pageSize>10</pageSize>
      <totalItems>9</totalItems>
      <recommendedItem>
         <release id="730">
            <title>Riot On An Empty Street</title>
            <version />
            <type>Album</type>
            <barcode>00724357166553</barcode>
            <year>2004</year>
            <explicitContent>false</explicitContent>
            <artist id="433">
               <name>Kings Of Convenience</name>
               <appearsAs>Kings Of Convenience</appearsAs>
               <slug>kings-of-convenience</slug>
               <isPlaceholderImage>false</isPlaceholderImage>
            </artist>
            <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/000/007/0000000730_50.jpg</image>
            <label id="1488">
               <name>Source UK</name>
            </label>
            <licensor id="493">
               <name>EMI Retained</name>
            </licensor>
            <popularity>0</popularity>
            <duration>2624</duration>
            <trackCount>12</trackCount>
            <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
               <releaseDate>2013-07-09T23:00:00Z</releaseDate>
               <packages>
                  <package id="2">
                     <description>Standard</description>
                     <price>
                        <currencyCode>GBP</currencyCode>
                        <sevendigitalPrice>7.99</sevendigitalPrice>
                        <recommendedRetailPrice>7.99</recommendedRetailPrice>
                     </price>
                     <formats>
                        <format id="17">
                           <description>MP3 320</description>
                        </format>
                     </formats>
                  </package>
               </packages>
            </download>
            <subscriptionStreaming> <!-- Optional: You should only see this element if you are requesting with subscriptionstreaming usageType -->
               <releaseDate>2004-06-20T23:00:00Z</releaseDate>
            </subscriptionStreaming>
            <slug>riot-on-an-empty-steet</slug>
         </release>
      </recommendedItem>
      <recommendedItem>
         <release id="27449">
            <title>Unrest</title>
            <version />
            <type>Album</type>
            <barcode>00724381332153</barcode>
            <year>2003</year>
            <explicitContent>false</explicitContent>
            <artist id="18940">
               <name>Erlend Øye</name>
               <appearsAs>Erlend Øye</appearsAs>
               <slug>erlend-øye</slug>
               <isPlaceholderImage>false</isPlaceholderImage>
            </artist>
            <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/000/274/0000027449_50.jpg</image>
            <label id="1488">
               <name>Source UK</name>
            </label>
            <licensor id="493">
               <name>EMI Retained</name>
            </licensor>
            <popularity>0</popularity>
            <duration>2620</duration>
            <trackCount>10</trackCount>
            <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
               <releaseDate>2013-07-09T23:00:00Z</releaseDate>
               <packages>
                  <package id="2">
                     <description>Standard</description>
                     <price>
                        <currencyCode>GBP</currencyCode>
                        <sevendigitalPrice>7.99</sevendigitalPrice>
                        <recommendedRetailPrice>7.99</recommendedRetailPrice>
                     </price>
                     <formats>
                        <format id="17">
                           <description>MP3 320</description>
                        </format>
                     </formats>
                  </package>
               </packages>
            </download>
            <subscriptionStreaming> <!-- Optional: You should only see this element if you are requesting with subscriptionstreaming usageType -->
               <releaseDate>2003-05-31T23:00:00Z</releaseDate>
            </subscriptionStreaming>
            <slug>unrest</slug>
         </release>
      </recommendedItem>
      ...
   </recommendations>
</response>

Release - search GET /release/search

This method searches the 7digital catalogue for releases matching the search query. Results can be filtered by release type.

Example request: http://api.7digital.com/1.2/release/search?q=no%20surprises&oauth_consumer_key=YOUR_KEY_HERE&country=GB&pagesize=2&usageTypes=download,subscriptionstreaming,adsupportedstreaming

AttributeTypeDescription
q
required
string

The search query string.

usageTypes
required
string

Only use the usageTypes you need, e.g. download, subscriptionstreaming or adsupportedstreaming.

typeone of album,single,video

If specified results are filtered by given release type (multiple types separated by commas can be passed).

packageIdsinteger

A single or comma-separated list of integers. If specified, results are filtered to releases that have at least one of the specified package ids. Package ids are listed here.

This parameter only takes effect when using 'usageTypes=download', and is otherwise ignored.

countrystring

The code of the country the end user resides in. The country will default to GB if not provided.

pageinteger

Page number of the result set. If not supplied, defaults to 1

pageSizeinteger

Number of items to be returned per page. If not supplied this defaults to 10. Maximum page size is 50

imageSizeinteger

The requested width of the image in pixels. Available image sizes are listed here.

Method specific error codes:

1001 - Required parameter q is missing
You must supply a value for the q parameter.

1002 - Invalid value in package ids
You must supply only a single integer, or a comma-delimited list of integers for the packageIds parameter. Package ids are listed here.

1003 - Requested page out of range
You specified a page number which does not exist.

application/xml response

<?xml version="1.0" encoding="UTF-8"?>
<response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" status="ok" version="1.2" xsi:noNamespaceSchemaLocation="http://api.7digital.com/1.2/static/7digitalAPI.xsd">
   <searchResults>
      <page>1</page>
      <pageSize>2</pageSize>
      <totalItems>9</totalItems>
      <searchResult>
         <type>release</type>
         <score>12.588761</score>
         <release id="1046">
            <title>No Surprises</title>
            <version />
            <type>Single</type>
            <barcode>0724388514453</barcode>
            <year>1997</year>
            <explicitContent>false</explicitContent>
            <artist id="304">
               <name>Radiohead</name>
               <appearsAs>Radiohead</appearsAs>
               <slug>radiohead</slug>
               <image>
                http://artwork-cdn.7static.com/static/img/artistimages/00/000/003/0000000304_150.jpg
               </image>
               <isPlaceholderImage>false</isPlaceholderImage>
            </artist>
            <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/000/010/0000001046_50.jpg</image>
            <label id="227575">
               <name>Parlophone UK</name>
            </label>
            <licensor id="18">
               <name>Warner</name>
            </licensor>
            <popularity>0.48</popularity>
            <duration>642</duration>
            <trackCount>3</trackCount>
            <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
               <releaseDate>2003-03-01T00:00:00Z</releaseDate>
               <packages>
                  <package id="2">
                     <description>Standard</description>
                     <price>
                        <currencyCode>GBP</currencyCode>
                        <sevendigitalPrice>2.49</sevendigitalPrice>
                        <recommendedRetailPrice>2.49</recommendedRetailPrice>
                     </price>
                     <formats>
                        <format id="17">
                           <description>MP3 320</description>
                        </format>
                     </formats>
                  </package>
               </packages>
            </download>
            <subscriptionStreaming> <!-- Optional: You should only see this element if you are requesting with subscriptionstreaming usageType -->
               <releaseDate>2003-03-01T00:00:00Z</releaseDate>
            </subscriptionStreaming>
            <adSupportedStreaming> <!-- Optional: You should only see this element if you are requesting with adsupportedstreaming usageType -->
               <releaseDate>2003-03-01T00:00:00Z</releaseDate>
            </adSupportedStreaming>
            <slug>no-surprises</slug>
         </release>
      </searchResult>
      <searchResult>
         <type>release</type>
         <score>12.172725</score>
         <release id="1047">
            <title>No Surprises</title>
            <version />
            <type>Single</type>
            <barcode>0724388514552</barcode>
            <year>1997</year>
            <explicitContent>false</explicitContent>
            <artist id="304">
               <name>Radiohead</name>
               <appearsAs>Radiohead</appearsAs>
               <slug>radiohead</slug>
               <image>
                http://artwork-cdn.7static.com/static/img/artistimages/00/000/003/0000000304_150.jpg
               </image>
               <isPlaceholderImage>false</isPlaceholderImage>
            </artist>
            <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/000/010/0000001047_50.jpg</image>
            <label id="227575">
               <name>Parlophone UK</name>
            </label>
            <licensor id="18">
               <name>Warner</name>
            </licensor>
            <popularity>0.47</popularity>
            <duration>795</duration>
            <trackCount>3</trackCount>
            <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
               <releaseDate>2003-03-01T00:00:00Z</releaseDate>
               <packages>
                  <package id="2">
                     <description>Standard</description>
                     <price>
                        <currencyCode>GBP</currencyCode>
                        <sevendigitalPrice>2.49</sevendigitalPrice>
                        <recommendedRetailPrice>2.49</recommendedRetailPrice>
                     </price>
                     <formats>
                        <format id="17">
                           <description>MP3 320</description>
                        </format>
                     </formats>
                  </package>
               </packages>
            </download>
            <subscriptionStreaming> <!-- Optional: You should only see this element if you are requesting with subscriptionstreaming usageType -->
               <releaseDate>2003-03-01T00:00:00Z</releaseDate>
            </subscriptionStreaming>
            <adSupportedStreaming> <!-- Optional: You should only see this element if you are requesting with adsupportedstreaming usageType -->
               <releaseDate>2003-03-01T00:00:00Z</releaseDate>
            </adSupportedStreaming>
            <slug>no-surprises-3</slug>
         </release>
      </searchResult>
   </searchResults>
</response>

application/json response

{
   "status": "ok",
   "version": "1.2",
   "searchResults": {
      "page": 1,
      "pageSize": 2,
      "totalItems": 9,
      "searchResult": [
         {
            "type": "release",
            "score": 12.588761,
            "release": {
               "id": 1046,
               "title": "No Surprises",
               "version": "",
               "type": "Single",
               "barcode": "0724388514453",
               "year": 1997,
               "explicitContent": false,
               "artist": {
                  "isPlaceholderImage": "false",
                  "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/003/0000000304_150.jpg",
                  "id": 304,
                  "name": "Radiohead",
                  "appearsAs": "Radiohead",
                  "url": null,
                  "slug": "radiohead"
               },
               "url": null,
               "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/000/010/0000001046_50.jpg",
               "releaseDate": null,
               "addedDate": null,
               "price": null,
               "formats": null,
               "label": {
                  "id": "227575",
                  "name": "Parlophone UK"
               },
               "licensor": {
                  "id": "18",
                  "name": "Warner"
               },
               "popularity": 0.48,
               "duration": 642,
               "trackCount": 3,
               "download": {
                  "releaseDate": "2003-03-01T00:00:00Z",
                  "packages": [
                     {
                        "id": 2,
                        "description": "Standard",
                        "price": {
                           "currencyCode": "GBP",
                           "sevendigitalPrice": 2.49,
                           "recommendedRetailPrice": 2.49
                        },
                        "formats": [
                           {
                              "id": 17,
                              "description": "MP3 320"
                           }
                        ]
                     }
                  ]
               },
               "subscriptionStreaming": {
                  "releaseDate": "2003-03-01T00:00:00Z"
               },
               "adSupportedStreaming": {
                  "releaseDate": "2003-03-01T00:00:00Z"
               },
               "slug": "no-surprises"
            }
         },
         {
            "type": "release",
            "score": 11.7706,
            "release": {
               "id": 1047,
               "title": "No Surprises",
               "version": "",
               "type": "Single",
               "barcode": "0724388514552",
               "year": 1997,
               "explicitContent": false,
               "artist": {
                  "isPlaceholderImage": "false",
                  "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/003/0000000304_150.jpg",
                  "id": 304,
                  "name": "Radiohead",
                  "appearsAs": "Radiohead",
                  "url": null,
                  "slug": "radiohead"
               },
               "url": null,
               "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/000/010/0000001047_50.jpg",
               "releaseDate": null,
               "addedDate": null,
               "price": null,
               "formats": null,
               "label": {
                  "id": "227575",
                  "name": "Parlophone UK"
               },
               "licensor": {
                  "id": "18",
                  "name": "Warner"
               },
               "popularity": 0.46,
               "duration": 795,
               "trackCount": 3,
               "download": {
                  "releaseDate": "2003-03-01T00:00:00Z",
                  "packages": [
                     {
                        "id": 2,
                        "description": "Standard",
                        "price": {
                           "currencyCode": "GBP",
                           "sevendigitalPrice": 2.49,
                           "recommendedRetailPrice": 2.49
                        },
                        "formats": [
                           {
                              "id": 17,
                              "description": "MP3 320"
                           }
                        ]
                     }
                  ]
               },
               "subscriptionStreaming": {
                  "releaseDate": "2003-03-01T00:00:00Z"
               },
               "adSupportedStreaming": {
                  "releaseDate": "2003-03-01T00:00:00Z"
               },
               "slug": "no-surprises-3"
            }
         }
      ]
   }
}

Release - track listing GET /release/tracks

This method will return a list of all tracks constituting the release.

Example request: http://api.7digital.com/1.2/release/tracks?releaseid=1046&oauth_consumer_key=YOUR_KEY_HERE&country=GB&usageTypes=download,subscriptionstreaming,adsupportedstreaming

AttributeTypeDescription
releaseId
required
integer

The unique ID of the release.

usageTypes
required
string

Only use the usageTypes you need, e.g. download, subscriptionstreaming or adsupportedstreaming.

countrystring

The code of the country the end user resides in. The country will default to GB if not provided.

imageSizeinteger

The requested width of the image in pixels. Available image sizes are listed here.

Method specific error codes:

2001 - Release id not licensed for this partner
The copyright for the release you requested is owned by a label not currently licensed for your service.

application/xml response

<?xml version="1.0" encoding="UTF-8"?>
<response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" status="ok" version="1.2" xsi:noNamespaceSchemaLocation="http://api.7digital.com/1.2/static/7digitalAPI.xsd">
   <tracks>
      <page>1</page>
      <pageSize>3</pageSize>
      <totalItems>3</totalItems>
      <track id="9525">
         <title>No Surprises</title>
         <version />
         <artist id="304">
            <name>Radiohead</name>
            <appearsAs>Radiohead</appearsAs>
            <slug>radiohead</slug>
            <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/003/0000000304_150.jpg</image>
            <isPlaceholderImage>true</isPlaceholderImage>
         </artist>
         <trackNumber>1</trackNumber>
         <duration>229</duration>
         <explicitContent>false</explicitContent>
         <isrc>GBAYE9700386</isrc>
         <type>audio</type>
         <release id="1046">
            <title>No Surprises</title>
            <version />
            <type>Single</type>
            <barcode>0724388514453</barcode>
            <slug>no-surprises</slug>
            <artist id="304">
               <name>Radiohead</name>
               <appearsAs>Radiohead</appearsAs>
               <slug>radiohead</slug>
               <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/003/0000000304_150.jpg</image>
               <isPlaceholderImage>true</isPlaceholderImage>
            </artist>
            <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/000/010/0000001046_50.jpg</image>
            <label id="227575">
               <name>Parlophone UK</name>
            </label>
            <licensor id="18">
               <name>Warner</name>
            </licensor>
         </release>
         <discNumber>1</discNumber>
         <number>1</number>
         <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
            <releaseDate>2003-03-01T00:00:00Z</releaseDate>
            <previewDate>2003-03-01T00:00:00Z</previewDate>
            <packages>
               <package id="2">
                  <description>Standard</description>
                  <price>
                     <currencyCode>GBP</currencyCode>
                     <sevendigitalPrice>0.99</sevendigitalPrice>
                     <recommendedRetailPrice>0.99</recommendedRetailPrice>
                  </price>
                  <formats>
                     <format id="17">
                        <description>MP3 320</description>
                     </format>
                  </formats>
               </package>
            </packages>
         </download>
         <subscriptionStreaming> <!-- Optional: You should only see this element if you are requesting with subscriptionstreaming usageType -->
            <releaseDate>2003-03-01T00:00:00Z</releaseDate>
         </subscriptionStreaming>
         <adSupportedStreaming> <!-- Optional: You should only see this element if you are requesting with adsupportedstreaming usageType -->
            <releaseDate>2003-03-01T00:00:00Z</releaseDate>
         </adSupportedStreaming>
      </track>
      <track id="9526">
         <title>Palo Alto</title>
         <version />
         <artist id="304">
            <name>Radiohead</name>
            <appearsAs>Radiohead</appearsAs>
            <slug>radiohead</slug>
            <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/003/0000000304_150.jpg</image>
            <isPlaceholderImage>true</isPlaceholderImage>
         </artist>
         <trackNumber>2</trackNumber>
         <duration>224</duration>
         <explicitContent>false</explicitContent>
         <isrc>GBAYE9800042</isrc>
         <type>audio</type>
         <release id="1046">
            <title>No Surprises</title>
            <version />
            <type>Single</type>
            <barcode>0724388514453</barcode>
            <slug>no-surprises</slug>
            <artist id="304">
               <name>Radiohead</name>
               <appearsAs>Radiohead</appearsAs>
               <slug>radiohead</slug>
               <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/003/0000000304_150.jpg</image>
               <isPlaceholderImage>true</isPlaceholderImage>
            </artist>
            <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/000/010/0000001046_50.jpg</image>
            <label id="227575">
               <name>Parlophone UK</name>
            </label>
            <licensor id="18">
               <name>Warner</name>
            </licensor>
         </release>
         <discNumber>1</discNumber>
         <number>2</number>
         <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
            <releaseDate>2003-03-01T00:00:00Z</releaseDate>
            <previewDate>2003-03-01T00:00:00Z</previewDate>
            <packages>
               <package id="2">
                  <description>Standard</description>
                  <price>
                     <currencyCode>GBP</currencyCode>
                     <sevendigitalPrice>0.99</sevendigitalPrice>
                     <recommendedRetailPrice>0.99</recommendedRetailPrice>
                  </price>
                  <formats>
                     <format id="17">
                        <description>MP3 320</description>
                     </format>
                  </formats>
               </package>
            </packages>
         </download>
         <subscriptionStreaming> <!-- Optional: You should only see this element if you are requesting with subscriptionstreaming usageType -->
            <releaseDate>2003-03-01T00:00:00Z</releaseDate>
         </subscriptionStreaming>
         <adSupportedStreaming> <!-- Optional: You should only see this element if you are requesting with adsupportedstreaming usageType -->
            <releaseDate>2003-03-01T00:00:00Z</releaseDate>
         </adSupportedStreaming>
      </track>
      ...
   </tracks>
</response>

application/json response

{
   "page": 1,
   "pageSize": 3,
   "totalItems": 3,
   "tracks": [
      {
         "id": 9525,
         "title": "No Surprises",
         "version": "",
         "artist": {
            "id": 304,
            "name": "Radiohead",
            "appearsAs": "Radiohead",
            "url": null,
            "slug": "radiohead",
            "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/003/0000000304_150.jpg",
            "isPlaceholderImage": true
         },
         "trackNumber": 1,
         "duration": 229,
         "explicitContent": false,
         "isrc": "GBAYE9700386",
         "type": "audio",
         "release": {
            "id": 1046,
            "title": "No Surprises",
            "version": "",
            "type": "Single",
            "barcode": "0724388514453",
            "slug": "no-surprises",
            "artist": {
               "id": 304,
               "name": "Radiohead",
               "appearsAs": "Radiohead",
               "url": null,
               "slug": "radiohead",
               "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/003/0000000304_150.jpg",
               "isPlaceholderImage": true
            },
            "url": null,
            "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/000/010/0000001046_50.jpg",
            "label": {
               "id": 227575,
               "name": "Parlophone UK"
            },
            "licensor": {
               "id": 18,
               "name": "Warner"
            }
         },
         "url": null,
         "price": null,
         "discNumber": 1,
         "number": 1,
         "download": {
            "releaseDate": "2003-03-01T00:00:00Z",
            "previewDate": "2003-03-01T00:00:00Z",
            "packages": [
               {
                  "id": 2,
                  "description": "Standard",
                  "price": {
                     "currencyCode": "GBP",
                     "sevendigitalPrice": null,
                     "recommendedRetailPrice": "0.99"
                  },
                  "formats": [
                     {
                        "id": 17,
                        "description": "MP3 320"
                     }
                  ]
               }
            ]
         },
         "subscriptionStreaming": {
            "releaseDate": "2003-03-01T00:00:00Z"
         },
         "adSupportedStreaming": {
            "releaseDate": "2003-03-01T00:00:00Z"
         }
      },
      {
         "id": 9526,
         "title": "Palo Alto",
         "version": "",
         "artist": {
            "id": 304,
            "name": "Radiohead",
            "appearsAs": "Radiohead",
            "url": null,
            "slug": "radiohead",
            "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/003/0000000304_150.jpg",
            "isPlaceholderImage": true
         },
         "trackNumber": 2,
         "duration": 224,
         "explicitContent": false,
         "isrc": "GBAYE9800042",
         "type": "audio",
         "release": {
            "id": 1046,
            "title": "No Surprises",
            "version": "",
            "type": "Single",
            "barcode": "0724388514453",
            "slug": "no-surprises",
            "artist": {
               "id": 304,
               "name": "Radiohead",
               "appearsAs": "Radiohead",
               "url": null,
               "slug": "radiohead",
               "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/003/0000000304_150.jpg",
               "isPlaceholderImage": true
            },
            "url": null,
            "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/000/010/0000001046_50.jpg",
            "label": {
               "id": 227575,
               "name": "Parlophone UK"
            },
            "licensor": {
               "id": 18,
               "name": "Warner"
            }
         },
         "url": null,
         "price": null,
         "discNumber": 1,
         "number": 2,
         "download": {
            "releaseDate": "2003-03-01T00:00:00Z",
            "previewDate": "2003-03-01T00:00:00Z",
            "packages": [
               {
                  "id": 2,
                  "description": "Standard",
                  "price": {
                     "currencyCode": "GBP",
                     "sevendigitalPrice": null,
                     "recommendedRetailPrice": "0.99"
                  },
                  "formats": [
                     {
                        "id": 17,
                        "description": "MP3 320"
                     }
                  ]
               }
            ]
         },
         "subscriptionStreaming": {
            "releaseDate": "2003-03-01T00:00:00Z"
         },
         "adSupportedStreaming": {
            "releaseDate": "2003-03-01T00:00:00Z"
         }
      },
      ...
   ]
}

Track - chart GET /track/chart

This endpoint returns a territory-specific rolling weekly chart, based on the most purchased tracks over the past 7 days.

Example request: http://api.7digital.com/1.2/track/chart?oauth_consumer_key=YOUR_KEY_HERE&country=GB&pagesize=2&usageTypes=download,subscriptionstreaming,adsupportedstreaming

AttributeTypeDescription
usageTypes
required
string

Only use the usageTypes you need, e.g. download, subscriptionstreaming or adsupportedstreaming.

countrystring

The code of the country the end user resides in. The country will default to GB if not provided.

pageinteger

Page number of the result set. If not supplied, defaults to 1.

pageSizeinteger

Number of items to be returned per page. If not supplied this defaults to 10. Maximum page size is 50.

imageSizeinteger

The requested width of the image in pixels. Available image sizes are listed here.

Method specific error codes:

1003 - Requested page out of range
You specified a page number which does not exist.

application/xml response

<?xml version="1.0" encoding="UTF-8"?>
<response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" status="ok" version="1.2" xsi:noNamespaceSchemaLocation="http://api.7digital.com/1.2/static/7digitalAPI.xsd">
   <chart>
      <page>1</page>
      <pageSize>2</pageSize>
      <totalItems>93</totalItems>
      <type>track</type>
      <fromDate>2014-09-25T00:00:00+01:00</fromDate>
      <toDate>2014-10-01T00:00:00+01:00</toDate>
      <chartItem>
         <position>1</position>
         <change>New</change>
         <track id="38656894">
            <title>Changing</title>
            <version />
            <artist id="334462">
               <name>Sigma</name>
               <appearsAs>Sigma</appearsAs>
               <image>http://artwork-cdn.7static.com/static/img/artistimages/00/003/344/0000334462_150.jpg</image>
               <slug>sigma</slug>
            </artist>
            <trackNumber>1</trackNumber>
            <duration>191</duration>
            <explicitContent>false</explicitContent>
            <isrc>GBSXS1400130</isrc>
            <type>audio</type>
            <release id="3698566">
               <title>Changing</title>
               <version />
               <type>Single</type>
               <barcode>05037128211457</barcode>
               <artist id="334462">
                  <name>Sigma</name>
                  <appearsAs>Sigma</appearsAs>
                  <image>http://artwork-cdn.7static.com/static/img/artistimages/00/003/344/0000334462_150.jpg</image>
                  <slug>sigma</slug>
               </artist>
               <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/036/985/0003698566_50.jpg</image>
               <label id="487178">
                  <name>(P) 2014 All Around The World Limited</name>
               </label>
               <licensor id="1">
                  <name>Universal</name>
               </licensor>
               <slug>changing</slug>
            </release>
            <discNumber>1</discNumber>
            <number>1</number>
            <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
               <releaseDate>2015-09-11T23:00:00Z</releaseDate>
               <previewDate>2015-09-11T00:00:00Z</previewDate>
               <packages>
                  <package id="2">
                     <description>Standard</description>
                     <price>
                        <currencyCode>GBP</currencyCode>
                        <sevendigitalPrice xsi:nil="true" />
                        <recommendedRetailPrice>0.99</recommendedRetailPrice>
                     </price>
                     <formats>
                        <format id="17">
                           <description>MP3 320</description>
                        </format>
                     </formats>
                  </package>
               </packages>
            </download>
            <subscriptionStreaming> <!-- Optional: You should only see this element if you are requesting with subscriptionstreaming usageType -->
               <releaseDate>2015-09-11T23:00:00Z</releaseDate>
            </subscriptionStreaming>
         </track>
      </chartItem>
      <chartItem>
         <position>2</position>
         <change>New</change>
         <track id="39109566">
            <title>Blame</title>
            <version />
            <artist id="49225">
               <name>Calvin Harris</name>
               <appearsAs>Calvin Harris</appearsAs>
               <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/492/0000049225_150.jpg</image>
               <slug>calvin-harris</slug>
            </artist>
            <trackNumber>1</trackNumber>
            <duration>211</duration>
            <explicitContent>false</explicitContent>
            <isrc>GBARL1400567</isrc>
            <type>audio</type>
            <release id="3751479">
               <title>Blame</title>
               <version />
               <type>Single</type>
               <barcode>886444665278</barcode>
               <artist id="2395637">
                  <name>Calvin Harris feat. John Newman</name>
                  <appearsAs>Calvin Harris feat. John Newman</appearsAs>
                  <image>http://artwork-cdn.7static.com/static/img/artistimages/00/023/956/0002395637_150.jpg</image>
                  <slug>calvin-harris-feat-john-newman</slug>
               </artist>
               <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/037/514/0003751479_50.jpg</image>
               <label id="592">
                  <name>Columbia</name>
               </label>
               <licensor id="2">
                  <name>Sony Music</name>
               </licensor>
               <slug>blame</slug>
            </release>
            <discNumber>1</discNumber>
            <number>1</number>
            <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
               <releaseDate>2014-09-06T23:00:00Z</releaseDate>
               <previewDate>2014-09-06T00:00:00Z</previewDate>
               <packages>
                  <package id="2">
                     <description>Standard</description>
                     <price>
                        <currencyCode>GBP</currencyCode>
                        <sevendigitalPrice xsi:nil="true" />
                        <recommendedRetailPrice>0.99</recommendedRetailPrice>
                     </price>
                     <formats>
                        <format id="17">
                           <description>MP3 320</description>
                        </format>
                        <format id="33">
                           <description>AAC 320</description>
                        </format>
                     </formats>
                  </package>
               </packages>
            </download>
            <subscriptionStreaming> <!-- Optional: You should only see this element if you are requesting with subscriptionstreaming usageType -->
               <releaseDate>2014-09-06T23:00:00Z</releaseDate>
            </subscriptionStreaming>
         </track>
      </chartItem>
   </chart>
</response>

application/json response

{
   "status": "ok",
   "version": "1.2",
   "chart": {
      "page": 1,
      "pageSize": 2,
      "totalItems": 93,
      "type": "track",
      "fromDate": "2014-09-25T00:00:00+01:00",
      "toDate": "2014-10-01T00:00:00+01:00",
      "chartItem": [
         {
            "position": 1,
            "change": "New",
            "track": {
               "id": 38656894,
               "title": "Changing",
               "version": "",
               "artist": {
                  "id": 334462,
                  "name": "Sigma",
                  "appearsAs": "Sigma",
                  "url": null,
                  "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/003/344/0000334462_150.jpg"
               },
               "trackNumber": 1,
               "duration": 191,
               "explicitContent": false,
               "isrc": "GBSXS1400130",
               "type": "audio",
               "release": {
                  "id": 3698566,
                  "title": "Changing",
                  "version": "",
                  "type": "Single",
                  "barcode": "05037128211457",
                  "artist": {
                     "id": 334462,
                     "name": "Sigma",
                     "appearsAs": "Sigma",
                     "url": null,
                     "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/003/344/0000334462_150.jpg"
                  },
                  "url": null,
                  "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/036/985/0003698566_50.jpg",
                  "releaseDate": null,
                  "formats": null,
                  "label": {
                     "id": "487178",
                     "name": "(P) 2014 All Around The World Limited"
                  },
                  "licensor": {
                     "id": "1",
                     "name": "Universal"
                  },
                  "slug": "changing"
               },
               "url": null,
               "price": null,
               "discNumber": 1,
               "number": 1,
               "download": {
                  "releaseDate": "2015-09-11T23:00:00Z",
                  "previewDate": "2015-09-11T00:00:00Z",
                  "packages": [
                     {
                        "id": 2,
                        "description": "Standard",
                        "price": {
                           "currencyCode": "GBP",
                           "sevendigitalPrice": 0.99,
                           "recommendedRetailPrice": 0.99
                        },
                        "formats": [
                           {
                              "id": 17,
                              "description": "MP3 320"
                           }
                        ]
                     }
                  ]
               },
               "subscriptionStreaming": {
                  "releaseDate": "2015-09-11T23:00:00Z"
               }
            }
         },
         {
            "position": 2,
            "change": "New",
            "track": {
               "id": 39109566,
               "title": "Blame",
               "version": "",
               "artist": {
                  "id": 49225,
                  "name": "Calvin Harris",
                  "appearsAs": "Calvin Harris",
                  "url": null,
                  "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/492/0000049225_150.jpg"
               },
               "trackNumber": 1,
               "duration": 211,
               "explicitContent": false,
               "isrc": "GBARL1400567",
               "type": "audio",
               "release": {
                  "id": 3751479,
                  "title": "Blame",
                  "version": "",
                  "type": "Single",
                  "barcode": "886444665278",
                  "artist": {
                     "id": 2395637,
                     "name": "Calvin Harris feat. John Newman",
                     "appearsAs": "Calvin Harris feat. John Newman",
                     "url": null,
                     "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/023/956/0002395637_150.jpg"
                  },
                  "url": null,
                  "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/037/514/0003751479_50.jpg",
                  "releaseDate": null,
                  "formats": null,
                  "label": {
                     "id": "592",
                     "name": "Columbia"
                  },
                  "licensor": {
                     "id": "2",
                     "name": "Sony Music"
                  },
                  "slug": "blame"
               },
               "url": null,
               "price": null,
               "discNumber": 1,
               "number": 1,
               "download": {
                  "releaseDate": "2014-09-06T23:00:00Z",
                  "previewDate": "2014-09-06T00:00:00Z",
                  "packages": [
                     {
                        "id": 2,
                        "description": "Standard",
                        "price": {
                           "currencyCode": "GBP",
                           "sevendigitalPrice": 0.99,
                           "recommendedRetailPrice": 0.99
                        },
                        "formats": [
                           {
                              "id": 17,
                              "description": "MP3 320"
                           },
                           {
                              "id": 33,
                              "description": "AAC 320"
                           }
                        ]
                     }
                  ]
               },
               "subscriptionStreaming": {
                  "releaseDate": "2014-09-06T23:00:00Z"
               }
            }
         }
      ]
   }
}

Track - details GET /track/details

This method returns various track details such as title, duration and price.

Example request: http://api.7digital.com/1.2/track/details?trackid=123456&oauth_consumer_key=YOUR_KEY_HERE&country=GB&usageTypes=download,subscriptionstreaming,adsupportedstreaming

AttributeTypeDescription
trackId
required
integer

The unique identifier of the track.

usageTypes
required
string

Only use the usageTypes you need, e.g. download, subscriptionstreaming or adsupportedstreaming.

countrystring

The code of the country the end user resides in. The country will default to GB if not provided.

imageSizeinteger

The requested width of the image in pixels. Available image sizes are listed here.

Method specific error codes:

2001 - Track id not licensed for this partner
The copyright for the track you requested is owned by a label not currently licensed for your service.

application/xml response

<?xml version="1.0" encoding="UTF-8"?>
<response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" status="ok" version="1.2" xsi:noNamespaceSchemaLocation="http://api.7digital.com/1.2/static/7digitalAPI.xsd">
   <track id="123456">
      <title>Sleeping In My Car (Single Version)</title>
      <version />
      <artist id="7018">
         <name>Roxette</name>
         <appearsAs>Roxette</appearsAs>
         <slug>roxette</slug>
         <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/070/0000007018_150.jpg</image>
         <isPlaceholderImage>true</isPlaceholderImage>
      </artist>
      <trackNumber>9</trackNumber>
      <duration>214</duration>
      <explicitContent>false</explicitContent>
      <isrc>SEAMA9301032</isrc>
      <type>audio</type>
      <release id="12134">
         <title>The Pop Hits</title>
         <version />
         <type>Album</type>
         <barcode>0724358215557</barcode>
         <slug>the-pop-hits-3</slug>
         <artist id="7018">
            <name>Roxette</name>
            <appearsAs>Roxette</appearsAs>
            <slug>roxette</slug>
            <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/070/0000007018_150.jpg</image>
            <isPlaceholderImage>true</isPlaceholderImage>
         </artist>
         <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/000/121/0000012134_50.jpg</image>
         <label id="226994">
            <name>Parlophone Sweden</name>
         </label>
         <licensor id="18">
            <name>Warner</name>
         </licensor>
      </release>
      <discNumber>1</discNumber>
      <number>9</number>
      <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
         <releaseDate>2003-05-31T23:00:00Z</releaseDate>
         <previewDate>2003-05-31T00:00:00Z</previewDate>
         <packages>
            <package id="2">
               <description>Standard</description>
               <price>
                  <currencyCode>GBP</currencyCode>
                  <sevendigitalPrice>8.49</sevendigitalPrice>
                  <recommendedRetailPrice>8.49</recommendedRetailPrice>
               </price>
               <formats>
                  <format id="17">
                     <description>MP3 320</description>
                  </format>
               </formats>
            </package>
         </packages>
      </download>
      <subscriptionStreaming> <!-- Optional: You should only see this element if you are requesting with subscriptionstreaming usageType -->
         <releaseDate>2003-05-31T23:00:00Z</releaseDate>
      </subscriptionStreaming>
      <adSupportedStreaming> <!-- Optional: You should only see this element if you are requesting with adsupportedstreaming usageType -->
         <releaseDate>2003-05-31T23:00:00Z</releaseDate>
      </adSupportedStreaming>
   </track>
</response>

application/json response

{
   "track": {
      "id": 123456,
      "title": "Sleeping In My Car (Single Version)",
      "version": "",
      "artist": {
         "id": 7018,
         "name": "Roxette",
         "appearsAs": "Roxette",
         "url": null,
         "slug": "roxette",
         "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/070/0000007018_150.jpg",
         "isPlaceholderImage": true
      },
      "trackNumber": 9,
      "duration": 214,
      "explicitContent": false,
      "isrc": "SEAMA9301032",
      "type": "audio",
      "release": {
         "id": 12134,
         "title": "The Pop Hits",
         "version": "",
         "type": "Album",
         "barcode": "0724358215557",
         "slug": "the-pop-hits-3",
         "artist": {
            "id": 7018,
            "name": "Roxette",
            "appearsAs": "Roxette",
            "url": null,
            "slug": "roxette",
            "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/070/0000007018_150.jpg",
            "isPlaceholderImage": true
         },
         "url": null,
         "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/000/121/0000012134_50.jpg",
         "label": {
            "id": 226994,
            "name": "Parlophone Sweden"
         },
         "licensor": {
            "id": 18,
            "name": "Warner"
         }
      },
      "url": null,
      "price": null,
      "discNumber": 1,
      "number": 9,
      "download": {
         "releaseDate": "2003-05-31T23:00:00Z",
         "previewDate": "2003-05-31T00:00:00Z",
         "packages": [
            {
               "id": 2,
               "description": "Standard",
               "price": {
                  "currencyCode": "GBP",
                  "sevendigitalPrice": null,
                  "recommendedRetailPrice": "0.99"
               },
               "formats": [
                  {
                     "id": 17,
                     "description": "MP3 320"
                  }
               ]
            }
         ]
      },
      "subscriptionStreaming": {
         "releaseDate": "2003-05-31T23:00:00Z"
      },
      "adSupportedStreaming": {
         "releaseDate": "2003-05-31T23:00:00Z"
      }
   }
}

Track - details (batch) GET /track/details/batch

Return details of multiple tracks in one request. In the request, tracks are identified by track id. There will be one track in the response for every corresponding valid id in the request, and the tracks will be in the same order as the requested ids. Tracks that are not valid for any reason are omitted from the tracks list in the response. They will be included in the errors list, in order, if showErrors is set true.

Example request: https://api.7digital.com/1.2/track/details/batch?trackids=2146,1347&showerrors=true&oauth_consumer_key=YOUR_KEY_HERE&country=GB&usageTypes=download,subscriptionstreaming,adsupportedstreaming

AttributeTypeDescription
trackIds
required
string

Contains a comma-separated list of track ids. Maximum of 500 items.

usageTypes
required
string

Only use the usageTypes you need, e.g. download, subscriptionstreaming or adsupportedstreaming.

packageIdsstring

Contains a comma-separated list of package ids. When specified, only tracks that have one of the specified packages will be returned. Used to filter searches to tracks that have at least one high quality format. Package ids are listed here.

This parameter only takes effect when using 'usageTypes=download', and is otherwise ignored.

countrystring

The code of the country the end user resides in. The country will default to GB if not provided.

showErrorsboolean

When set true, the errors element is shown in the output, containing a list of errors. There will be one error for each track that could not be shown in the tracks list. The itemId on the error shows which track it relates to. The code and message relates to the reason why the track could not be shown.

imageSizenumber

The requested width of the image in pixels. Available image sizes are listed here.

Method specific error codes:

1001 - Required parameter trackIds is missing
You must supply a value for the trackIds parameter.

1002 - Invalid value for parameter trackIds
You must supply a comma-separated list of track ids.

application/xml response

<?xml version="1.0" encoding="UTF-8"?>
<response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" status="ok" version="1.2" xsi:noNamespaceSchemaLocation="http://api.7digital.com/1.2/static/7digitalAPI.xsd">
   <items>
      <tracks>
         <track id="2146">
            <title>Chicken Shake</title>
            <version />
            <artist id="55">
               <name>Stereo MC's</name>
               <appearsAs>Stereo MC's</appearsAs>
               <slug>stereo-mcs-(2)</slug>
               <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000055_150.jpg</image>
               <isPlaceholderImage>true</isPlaceholderImage>
            </artist>
            <trackNumber>10</trackNumber>
            <duration>230</duration>
            <explicitContent>false</explicitContent>
            <isrc>GBAAN9290032</isrc>
            <type>audio</type>
            <release id="206">
               <title>Connected</title>
               <version />
               <type>Album</type>
               <barcode>00731451274329</barcode>
               <slug>connected</slug>
               <artist id="55">
                  <name>Stereo MC's</name>
                  <appearsAs>Stereo MC's</appearsAs>
                  <slug>stereo-mcs-(2)</slug>
                  <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000055_150.jpg</image>
                  <isPlaceholderImage>true</isPlaceholderImage>
               </artist>
               <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/000/002/0000000206_50.jpg</image>
               <label id="466278">
                  <name>(P) 1992 Island Records, a division of Universal Music Operations Limited</name>
               </label>
               <licensor id="1">
                  <name>Universal</name>
               </licensor>
            </release>
            <discNumber>1</discNumber>
            <number>10</number>
            <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
               <releaseDate>2015-11-15T00:00:00Z</releaseDate>
               <previewDate>2015-11-15T00:00:00Z</previewDate>
               <packages>
                  <package id="2">
                     <description>Standard</description>
                     <price>
                        <currencyCode>GBP</currencyCode>
                        <sevendigitalPrice>5.49</sevendigitalPrice>
                        <recommendedRetailPrice>5.49</recommendedRetailPrice>
                     </price>
                     <formats>
                        <format id="17">
                           <description>MP3 320</description>
                        </format>
                        <format id="33">
                           <description>AAC 320</description>
                        </format>
                     </formats>
                  </package>
                  <package id="9">
                     <description>Premium</description>
                     <price>
                        <currencyCode>GBP</currencyCode>
                        <sevendigitalPrice>8.49</sevendigitalPrice>
                        <recommendedRetailPrice>8.49</recommendedRetailPrice>
                     </price>
                     <formats>
                        <format id="45">
                           <description>FLAC 16-bit 44.1kHz</description>
                        </format>
                     </formats>
                  </package>
               </packages>
            </download>
            <subscriptionStreaming> <!-- Optional: You should only see this element if you are requesting with subscriptionstreaming usageType -->
               <releaseDate>2015-11-15T00:00:00Z</releaseDate>
            </subscriptionStreaming>
            <adSupportedStreaming> <!-- Optional: You should only see this element if you are requesting with adsupportedstreaming usageType -->
               <releaseDate>2015-11-15T00:00:00Z</releaseDate>
            </adSupportedStreaming>
         </track>
         <track id="1347">
            <title>Give Me A Little More Time</title>
            <version />
            <artist id="96">
               <name>Gabrielle</name>
               <appearsAs>Gabrielle</appearsAs>
               <slug>gabrielle</slug>
               <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000096_150.jpg</image>
               <isPlaceholderImage>true</isPlaceholderImage>
            </artist>
            <trackNumber>5</trackNumber>
            <duration>295</duration>
            <explicitContent>false</explicitContent>
            <isrc>GBAQT9600013</isrc>
            <type>audio</type>
            <release id="96">
               <title>Gabrielle</title>
               <version />
               <type>Album</type>
               <barcode>00042282885821</barcode>
               <slug>gabrielle-2</slug>
               <artist id="96">
                  <name>Gabrielle</name>
                  <appearsAs>Gabrielle</appearsAs>
                  <slug>gabrielle</slug>
                  <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000096_150.jpg</image>
                  <isPlaceholderImage>true</isPlaceholderImage>
               </artist>
               <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/000/000/0000000096_50.jpg</image>
               <label id="474673">
                  <name>(P) 1996 Go! Discs Ltd.</name>
               </label>
               <licensor id="1">
                  <name>Universal</name>
               </licensor>
            </release>
            <discNumber>1</discNumber>
            <number>5</number>
            <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
               <releaseDate>2015-11-14T00:00:00Z</releaseDate>
               <previewDate>2015-11-14T00:00:00Z</previewDate>
               <packages>
                  <package id="2">
                     <description>Standard</description>
                     <price>
                        <currencyCode>GBP</currencyCode>
                        <sevendigitalPrice>5.49</sevendigitalPrice>
                        <recommendedRetailPrice>5.49</recommendedRetailPrice>
                     </price>
                     <formats>
                        <format id="17">
                           <description>MP3 320</description>
                        </format>
                        <format id="33">
                           <description>AAC 320</description>
                        </format>
                     </formats>
                  </package>
                  <package id="9">
                     <description>Premium</description>
                     <price>
                        <currencyCode>GBP</currencyCode>
                        <sevendigitalPrice>8.49</sevendigitalPrice>
                        <recommendedRetailPrice>8.49</recommendedRetailPrice>
                     </price>
                     <formats>
                        <format id="45">
                           <description>FLAC 16-bit 44.1kHz</description>
                        </format>
                     </formats>
                  </package>
               </packages>
            </download>
            <subscriptionStreaming> <!-- Optional: You should only see this element if you are requesting with subscriptionstreaming usageType -->
               <releaseDate>2015-11-14T00:00:00Z</releaseDate>
            </subscriptionStreaming>
            <adSupportedStreaming> <!-- Optional: You should only see this element if you are requesting with adsupportedstreaming usageType -->
               <releaseDate>2015-11-14T00:00:00Z</releaseDate>
            </adSupportedStreaming>
         </track>
      </tracks>
      <errors />
   </items>
</response>

application/json response

{
   "items": {
      "tracks": [
         {
            "id": 2146,
            "title": "Chicken Shake",
            "version": "",
            "artist": {
               "id": 55,
               "name": "Stereo MC's",
               "appearsAs": "Stereo MC's",
               "url": null,
               "slug": "stereo-mcs-(2)",
               "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000055_150.jpg",
               "isPlaceholderImage": true
            },
            "trackNumber": 10,
            "duration": 230,
            "explicitContent": false,
            "isrc": "GBAAN9290032",
            "type": "audio",
            "release": {
               "id": 206,
               "title": "Connected",
               "version": "",
               "type": "Album",
               "barcode": "00731451274329",
               "slug": "connected",
               "artist": {
                  "id": 55,
                  "name": "Stereo MC's",
                  "appearsAs": "Stereo MC's",
                  "url": null,
                  "slug": "stereo-mcs-(2)",
                  "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000055_150.jpg",
                  "isPlaceholderImage": true
               },
               "url": null,
               "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/000/002/0000000206_50.jpg",
               "label": {
                  "id": 466278,
                  "name": "(P) 1992 Island Records, a division of Universal Music Operations Limited"
               },
               "licensor": {
                  "id": 1,
                  "name": "Universal"
               }
            },
            "url": null,
            "price": null,
            "discNumber": 1,
            "number": 10,
            "download": {
               "releaseDate": "2015-11-15T00:00:00Z",
               "previewDate": "2015-11-15T00:00:00Z",
               "packages": [
                  {
                     "id": 2,
                     "description": "Standard",
                     "price": {
                        "currencyCode": "GBP",
                        "sevendigitalPrice": null,
                        "recommendedRetailPrice": "0.99"
                     },
                     "formats": [
                        {
                           "id": 17,
                           "description": "MP3 320"
                        },
                        {
                           "id": 33,
                           "description": "AAC 320"
                        }
                     ]
                  },
                  {
                     "id": 9,
                     "description": "Premium",
                     "price": {
                        "currencyCode": "GBP",
                        "sevendigitalPrice": null,
                        "recommendedRetailPrice": "1.69"
                     },
                     "formats": [
                        {
                           "id": 45,
                           "description": "FLAC 16-bit 44.1kHz"
                        }
                     ]
                  }
               ]
            },
            "subscriptionStreaming": {
               "releaseDate": "2015-11-15T00:00:00Z"
            },
            "adSupportedStreaming": {
               "releaseDate": "2015-11-15T00:00:00Z"
            }
         },
         {
            "id": 1347,
            "title": "Give Me A Little More Time",
            "version": "",
            "artist": {
               "id": 96,
               "name": "Gabrielle",
               "appearsAs": "Gabrielle",
               "url": null,
               "slug": "gabrielle",
               "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000096_150.jpg",
               "isPlaceholderImage": true
            },
            "trackNumber": 5,
            "duration": 295,
            "explicitContent": false,
            "isrc": "GBAQT9600013",
            "type": "audio",
            "release": {
               "id": 96,
               "title": "Gabrielle",
               "version": "",
               "type": "Album",
               "barcode": "00042282885821",
               "slug": "gabrielle-2",
               "artist": {
                  "id": 96,
                  "name": "Gabrielle",
                  "appearsAs": "Gabrielle",
                  "url": null,
                  "slug": "gabrielle",
                  "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000096_150.jpg",
                  "isPlaceholderImage": true
               },
               "url": null,
               "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/000/000/0000000096_50.jpg",
               "label": {
                  "id": 474673,
                  "name": "(P) 1996 Go! Discs Ltd."
               },
               "licensor": {
                  "id": 1,
                  "name": "Universal"
               }
            },
            "url": null,
            "price": null,
            "discNumber": 1,
            "number": 5,
            "download": {
               "releaseDate": "2015-11-14T00:00:00Z",
               "previewDate": "2015-11-14T00:00:00Z",
               "packages": [
                  {
                     "id": 2,
                     "description": "Standard",
                     "price": {
                        "currencyCode": "GBP",
                        "sevendigitalPrice": null,
                        "recommendedRetailPrice": "0.99"
                     },
                     "formats": [
                        {
                           "id": 17,
                           "description": "MP3 320"
                        },
                        {
                           "id": 33,
                           "description": "AAC 320"
                        }
                     ]
                  },
                  {
                     "id": 9,
                     "description": "Premium",
                     "price": {
                        "currencyCode": "GBP",
                        "sevendigitalPrice": null,
                        "recommendedRetailPrice": "1.69"
                     },
                     "formats": [
                        {
                           "id": 45,
                           "description": "FLAC 16-bit 44.1kHz"
                        }
                     ]
                  }
               ]
            },
            "subscriptionStreaming": {
               "releaseDate": "2015-11-14T00:00:00Z"
            },
            "adSupportedStreaming": {
               "releaseDate": "2015-11-14T00:00:00Z"
            }
         }
      ],
      "errors": []
   }
}

Track - search GET /track/search

This method will search for a track that matches the supplied search query. The following fields will be searched on: track title, artist name, release title and track ISRC.

Example request: http://api.7digital.com/1.2/track/search?q=Happy&oauth_consumer_key=YOUR_KEY_HERE&country=GB&pagesize=2&usageTypes=download,subscriptionstreaming,adsupportedstreaming

AttributeTypeDescription
q
required
string

The search query string.

usageTypes
required
string

Only use the usageTypes you need, e.g. download, subscriptionstreaming or adsupportedstreaming.

packageIdsinteger

A single or comma-separated list of integers. If specified, results are filtered to tracks that have at least one of the specified package ids. Package ids are listed here.

This parameter only takes effect when using 'usageTypes=download', and is otherwise ignored.

countrystring

The code of the country the end user resides in. The country will default to GB if not provided.

pageinteger

Page number of the result set. If not supplied, defaults to 1.

pageSizeinteger

Number of items to be returned per page. If not supplied this defaults to 10. Maximum page size is 50.

imageSizeinteger

The requested width of the image in pixels. Available image sizes are listed here.

explicitboolean

If provided search results will contain only tracks that do/don't contain explicit content.

Method specific error codes:

1001 - Required parameter q is missing
You must supply a value for the q parameter.

1002 - Invalid value in package ids
You must supply only a single integer, or a comma-delimited list of integers for the packageIds parameter. Package ids are listed here.

1003 - Requested page out of range
You specified a page number which does not exist.

application/xml response

<?xml version="1.0" encoding="UTF-8"?>
<response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" status="ok" version="1.2" xsi:noNamespaceSchemaLocation="http://api.7digital.com/1.2/static/7digitalAPI.xsd">
   <searchResults>
      <page>1</page>
      <pageSize>2</pageSize>
      <totalItems>1000</totalItems>
      <searchResult>
         <type>track</type>
         <score>2.2942443</score>
         <track id="33576075">
            <title>Happy (From "Despicable Me 2")</title>
            <version />
            <artist id="1389406">
               <name>Pharrell Williams</name>
               <appearsAs>Pharrell Williams</appearsAs>
               <slug>pharrell-williams</slug>
                  <image>
                    http://artwork-cdn.7static.com/static/img/artistimages/00/013/894/0001389406_150.jpg
                  </image>
                  <isPlaceholderImage>false</isPlaceholderImage>
            </artist>
            <trackNumber>1</trackNumber>
            <duration>233</duration>
            <explicitContent>false</explicitContent>
            <isrc>USQ4E1300686</isrc>
            <type>audio</type>
            <release id="3157769">
               <title>Happy</title>
               <version />
               <type>Single</type>
               <artist id="1389406">
                  <name>Pharrell Williams</name>
                  <appearsAs>Pharrell Williams</appearsAs>
                  <slug>pharrell-williams</slug>
                  <image>
                    http://artwork-cdn.7static.com/static/img/artistimages/00/013/894/0001389406_150.jpg
                  </image>
                  <isPlaceholderImage>false</isPlaceholderImage>
               </artist>
               <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/031/577/0003157769_50.jpg</image>
               <label id="24002">
                  <name>Sony Music Entertainment</name>
               </label>
               <licensor id="2">
                  <name>Sony Music</name>
               </licensor>
               <popularity>0</popularity>
               <slug>happy-grus-theme-from-despicable-me-2</slug>
            </release>
            <discNumber>1</discNumber>
            <popularity>0.68</popularity>
            <number>1</number>
            <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
               <releaseDate>2013-12-17T00:00:00Z</releaseDate>
               <previewDate>2013-12-17T00:00:00Z</previewDate>
               <packages>
                  <package id="2">
                     <description>Standard</description>
                     <price>
                        <currencyCode>GBP</currencyCode>
                        <sevendigitalPrice>0.99</sevendigitalPrice>
                        <recommendedRetailPrice>0.99</recommendedRetailPrice>
                     </price>
                     <formats>
                        <format id="17">
                           <description>MP3 320</description>
                        </format>
                        <format id="33">
                           <description>AAC 320</description>
                        </format>
                     </formats>
                  </package>
               </packages>
            </download>
            <subscriptionStreaming> <!-- Optional: You should only see this element if you are requesting with subscriptionstreaming usageType -->
               <releaseDate>2013-12-17T00:00:00Z</releaseDate>
            </subscriptionStreaming>
            <adSupportedStreaming> <!-- Optional: You should only see this element if you are requesting with adsupportedstreaming usageType -->
               <releaseDate>2013-12-17T00:00:00Z</releaseDate>
            </adSupportedStreaming>
         </track>
      </searchResult>
      <searchResult>
         <type>track</type>
         <score>2.0211854</score>
         <track id="23383867">
            <title>Happy Hour</title>
            <version />
            <artist id="1518064">
               <name>SoundSense</name>
               <appearsAs>SoundSense</appearsAs>
               <slug>soundsense</slug>
               <image>
                 http://artwork-cdn.7static.com/static/img/artistimages/00/013/894/0001518064_150.jpg
               </image>
               <isPlaceholderImage>false</isPlaceholderImage>
            </artist>
            <trackNumber>10</trackNumber>
            <duration>139</duration>
            <explicitContent>false</explicitContent>
            <isrc>FR6V81605038</isrc>
            <type>audio</type>
            <release id="2170865">
               <title>100% 80's - 100 Classic Hits</title>
               <version />
               <type>Album</type>
               <artist id="1518064">
                  <name>SoundSense</name>
                  <appearsAs>SoundSense</appearsAs>
                  <slug>soundsense</slug>
               </artist>
               <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/021/708/0002170865_50.jpg</image>
               <label id="81377">
                  <name>BPM Digital Ltd</name>
               </label>
               <licensor id="166">
                  <name>Believe</name>
               </licensor>
               <popularity>0</popularity>
               <slug>100-80s-100-classic-hits</slug>
            </release>
            <discNumber>1</discNumber>
            <popularity>0.65</popularity>
            <number>10</number>
            <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
               <releaseDate>2013-02-15T00:00:00Z</releaseDate>
               <previewDate>2013-02-15T00:00:00Z</previewDate>
               <packages>
                  <package id="2">
                     <description>Standard</description>
                     <price>
                        <currencyCode>GBP</currencyCode>
                        <sevendigitalPrice>12.99</sevendigitalPrice>
                        <recommendedRetailPrice>12.99</recommendedRetailPrice>
                     </price>
                     <formats>
                        <format id="17">
                           <description>MP3 320</description>
                        </format>
                     </formats>
                  </package>
               </packages>
            </download>
            <subscriptionStreaming> <!-- Optional: You should only see this element if you are requesting with subscriptionstreaming usageType -->
               <releaseDate>2013-02-15T00:00:00Z</releaseDate>
            </subscriptionStreaming>
         </track>
      </searchResult>
   </searchResults>
</response>
        

application/json response

{
   "status": "ok",
   "version": "1.2",
   "searchResults": {
      "page": 1,
      "pageSize": 2,
      "totalItems": 1000,
      "searchResult": [
         {
            "type": "track",
            "score": 2.2408922,
            "track": {
               "id": 33576075,
               "title": "Happy (From \"Despicable Me 2\")",
               "version": "",
               "artist": {
                  "id": 1389406,
                  "name": "Pharrell Williams",
                  "appearsAs": "Pharrell Williams",
                  "url": null,
                  "isPlaceholderImage": "false",
                  "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/013/894/0001389406_150.jpg",
                  "slug": "pharrell-williams"
               },
               "trackNumber": 1,
               "duration": 233,
               "explicitContent": false,
               "isrc": "USQ4E1300686",
               "type": "audio",
               "release": {
                  "id": 3157769,
                  "title": "Happy",
                  "version": "",
                  "type": "Single",
                  "artist": {
                     "isPlaceholderImage": "false",
                     "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/013/894/0001389406_150.jpg",
                     "id": 1389406,
                     "name": "Pharrell Williams",
                     "appearsAs": "Pharrell Williams",
                     "url": null,
                     "slug": "pharrell-williams"
                  },
                  "url": null,
                  "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/031/577/0003157769_50.jpg",
                  "releaseDate": null,
                  "formats": null,
                  "label": {
                     "id": "24002",
                     "name": "Sony Music Entertainment"
                  },
                  "licensor": {
                     "id": "2",
                     "name": "Sony Music"
                  },
                  "popularity": 0,
                  "slug": "happy-grus-theme-from-despicable-me-2"
               },
               "url": null,
               "price": null,
               "discNumber": 1,
               "popularity": 0.67,
               "number": 1,
               "download": {
                  "releaseDate": "2013-12-17T00:00:00Z",
                  "previewDate": "2013-12-17T00:00:00Z",
                  "packages": [
                     {
                        "id": 2,
                        "description": "Standard",
                        "price": {
                           "currencyCode": "GBP",
                           "sevendigitalPrice": null,
                           "recommendedRetailPrice": 0.99
                        },
                        "formats": [
                           {
                              "id": 17,
                              "description": "MP3 320"
                           },
                           {
                              "id": 33,
                              "description": "AAC 320"
                           }
                        ]
                     }
                  ]
               },
               "subscriptionStreaming": {
                  "releaseDate": "2013-12-17T00:00:00Z"
               },
               "adSupportedStreaming": {
                  "releaseDate": "2013-12-17T00:00:00Z"
               }
            }
         },
         {
            "type": "track",
            "score": 2.0211854,
            "track": {
               "id": 23383867,
               "title": "Happy Hour",
               "version": "",
               "artist": {
                  "id": 1518064,
                  "name": "SoundSense",
                  "appearsAs": "SoundSense",
                  "url": null,
                  "isPlaceholderImage": "false",
                  "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/013/894/0001389406_150.jpg",
                  "slug": "soundsense"
               },
               "trackNumber": 10,
               "duration": 139,
               "explicitContent": false,
               "isrc": "FR6V81605038",
               "type": "audio",
               "release": {
                  "id": 2170865,
                  "title": "100% 80's - 100 Classic Hits",
                  "version": "",
                  "type": "Album",
                  "artist": {
                     "id": 1518064,
                     "name": "SoundSense",
                     "appearsAs": "SoundSense",
                     "url": null,
                     "slug": "soundsense"
                  },
                  "url": null,
                  "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/021/708/0002170865_50.jpg",
                  "releaseDate": null,
                  "formats": null,
                  "label": {
                     "id": "81377",
                     "name": "BPM Digital Ltd"
                  },
                  "licensor": {
                     "id": "166",
                     "name": "Believe"
                  },
                  "popularity": 0,
                  "slug": "100-80s-100-classic-hits"
               },
               "url": null,
               "price": null,
               "discNumber": 1,
               "popularity": 0.65,
               "number": 10,
               "download": {
                  "releaseDate": "2013-02-15T00:00:00Z",
                  "previewDate": "2013-02-15T00:00:00Z",
                  "packages": [
                     {
                        "id": 2,
                        "description": "Standard",
                        "price": {
                           "currencyCode": "GBP",
                           "sevendigitalPrice": null,
                           "recommendedRetailPrice": 0.99
                        },
                        "formats": [
                           {
                              "id": 17,
                              "description": "MP3 320"
                           }
                        ]
                     }
                  ]
               },
               "subscriptionStreaming": {
                  "releaseDate": "2013-02-15T00:00:00Z"
               },
               "adSupportedStreaming": null
            }
         }
      ]
   }
}

Tag (genre) - list all GET /tag

This method returns a list of all available tags.

Example request: http://api.7digital.com/1.2/tag?oauth_consumer_key=YOUR_KEY_HERE&country=GB

AttributeTypeDescription
countrystring

The code of the country the end user resides in. The country will default to GB if not provided.

application/xml response

<response status="ok" version="1.2" xsi:noNamespaceSchemaLocation="http://api.7digital.com/1.2/static/7digitalAPI.xsd">
  <tags>
    <page>1</page>
    <pageSize>10</pageSize>
    <totalItems>471</totalItems>
    <tag id="pop">
      <text>pop</text>
      <url>http://www.7digital.com/tags/pop?partner=1401</url>
      <count>328620</count>
    </tag>
    <tag id="electronic">
      <text>rock</text>
      <url>http://www.7digital.com/tags/electronic?partner=1401</url>
      <count>204523</count>
    </tag>        
    ...
   </tags>
</response>

Tag - artist tags GET /artist/tags

This method returns all tags associated with the given artist.

Example request: http://api.7digital.com/1.2/artist/tags?artistid=1&oauth_consumer_key=YOUR_KEY_HERE&country=GB

AttributeTypeDescription
artistId
required
integer

The unique identifier of the artist.

countrystring

The code of the country the end user resides in. The country will default to GB if not provided.

application/xml response

<response status="ok" version="1.2" xsi:noNamespaceSchemaLocation="http://api.7digital.com/1.2/static/7digitalAPI.xsd">
  <tags>
    <page>1</page>
    <pageSize>10</pageSize>
    <totalItems>4</totalItems>
    <tag id="rock">
      <text>rock</text>
      <url>http://www.7digital.com/tags/rock?partner=1401</url>
    </tag>
    <tag id="pop">
      <text>pop</text>
      <url>http://www.7digital.com/tags/pop?partner=1401</url>
    </tag>
    <tag id="alternative">
      <text>alternative</text>
      <url>
         http://www.7digital.com/tags/alternative?partner=1401
      </url>
    </tag>
    <tag id="2000s">
      <text>2000s</text>
      <url>http://www.7digital.com/tags/2000s?partner=1401</url>
    </tag>
  </tags>
</response>

application/json response

{
  "status": "ok",
  "version": "1.2",
  "tags": {
    "page": 1,
    "pageSize": 10,
    "totalItems": 4,
    "tag": [
      {
        "id": "rock",
        "text": "rock",
        "url": "http://www.7digital.com/tags/rock?partner=1401"
      },
      {
        "id": "pop",
        "text": "pop",
        "url": "http://www.7digital.com/tags/pop?partner=1401"
      },
      {
        "id": "alternative",
        "text": "alternative",
        "url": "http://www.7digital.com/tags/alternative?partner=1401"
      },
      {
        "id": "2000s",
        "text": "2000s",
        "url": "http://www.7digital.com/tags/2000s?partner=1401"
      }
    ]
  }
}

Tag - top artists GET /artist/bytag/top

This method returns a list of most popular artists tagged by a given tag or list of tags. If multiple tags are supplied only artists matching all of them will be returned.

Example request: http://api.7digital.com/1.2/artist/bytag/top?tags=rock,pop,2000s&oauth_consumer_key=YOUR_KEY_HERE&country=GB&pagesize=2

AttributeTypeDescription
tags
required
string

A single or comma-separated list of tags.

countrystring

The code of the country the end user resides in. The country will default to GB if not provided.

pageinteger

Page number of the result set. If not supplied, defaults to 1.

pageSizeinteger

Number of items to be returned per page. If not supplied this defaults to 10. Maximum page size is 50.

imageSizeinteger

The requested width of the image in pixels. Available image sizes are listed here.

Method specific error codes:

2001 - None of the provided tag(s) exist.
The tags you supplied do not exist.

1003 - Requested page out of range
You specified a page number which does not exist.

application/xml response

<response status="ok" version="1.2">
  <taggedResults>
    <page>1</page>
    <pageSize>2</pageSize>
    <totalItems>439</totalItems>
    <type>artist</type>
    <taggedItem>
      <artist id="20">
        <name>Coldplay</name>
        <sortName>Coldplay</sortName>
        <url>http://www.7digital.com/artist/coldplay/?partner=1401</url>
        <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/000/0000000020_150.jpg</image>
        <popularity>0.81</popularity>
      </artist>
    </taggedItem>
    <taggedItem>
      <artist id="222">
        <name>Maroon 5</name>
        <sortName>Maroon 5</sortName>
        <url>http://www.7digital.com/artist/maroon-5/?partner=1401</url>
        <image>http://artwork-cdn.7static.com/static/img/artistimages/00/000/002/0000000222_150.jpg</image>
        <popularity>0.81</popularity>
      </artist>
    </taggedItem>
  </taggedResults>
</response>
        

application/json response

{
    "status": "ok",
    "version": "1.2",
    "taggedResults": {
        "page": 1,
        "pageSize": 2,
        "totalItems": 438,
        "type": "artist",
        "taggedItem": [
            {
                "artist": {
                    "id": 222,
                    "name": "Maroon 5",
                    "sortName": "Maroon 5",
                    "url": "http://www.7digital.com/artist/maroon-5/?partner=1401",
                    "image": "http://artwork-cdn.7static.com/static/img/artistimages/00/000/002/0000000222_150.jpg",
                    "popularity": 0.91
                }
            },
           ...
        ]
    }
}

Tag - release tags GET /release/tags

This method returns all tags associated with the given release.

Example request: http://api.7digital.com/1.2/release/tags?releaseid=155408&oauth_consumer_key=YOUR_KEY_HERE&country=GB

AttributeTypeDescription
releaseId
required
integer

The unique identifier of the release.

countrystring

The code of the country the end user resides in. The country will default to GB if not provided.

application/xml response

<response status="ok" version="1.2" xsi:noNamespaceSchemaLocation="http://api.7digital.com/1.2/static/7digitalAPI.xsd">
  <tags>
  <page>1</page>
  <pageSize>10</pageSize>
  <totalItems>5</totalItems>
  <tag id="rock">
    <text>rock</text>
    <url>http://www.7digital.com/tags/rock</url>
  </tag>
  <tag id="pop">
    <text>pop</text>
    <url>http://www.7digital.com/tags/pop</url>
  </tag>
  <tag id="electronic">
    <text>electronic</text>
    <url>http://www.7digital.com/tags/electronic</url>
  </tag>
  <tag id="indie-rock">
    <text>indie rock</text>
    <url>http://www.7digital.com/tags/indie-rock</url>
  </tag>
  <tag id="2000s">
    <text>2000s</text>
    <url>http://www.7digital.com/tags/2000s</url>
  </tag>
  </tags>
</response>
        

Tag - new releases GET /release/bytag/new

This endpoint returns a list of releases matching a specified genre, ordered by most recent release date.

Example request: http://api.7digital.com/1.2/release/bytag/new?tags=rock&page=2&pageSize=2&oauth_consumer_key=YOUR_KEY_HERE&country=GB&usageTypes=download,subscriptionstreaming,adsupportedstreaming

AttributeTypeDescription
tags
required
string

genre to filter by (e.g. tags=rock).

usageTypes
required
string

Only use the usageTypes you need, e.g. download, subscriptionstreaming or adsupportedstreaming.

countrystring

The code of the country the end user resides in. The country will default to GB if not provided.

pageinteger

Page number of the result set. If not supplied, defaults to 1.

pageSizeinteger

Number of items to be returned per page. If not supplied this defaults to 10. Maximum page size is 50.

imageSizeinteger

The requested width of the image in pixels. Available image sizes are listed here.

Method specific error codes:

2001 - None of the provided tag(s) exist
The tags you supplied do not exist.

1003 - Requested page out of range
You specified a page number which does not exist.

application/xml response

<?xml version="1.0" encoding="UTF-8"?>
<response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" status="ok" version="1.2" xsi:noNamespaceSchemaLocation="http://api.7digital.com/1.2/static/7digitalAPI.xsd">
   <taggedResults>
      <page>2</page>
      <pageSize>2</pageSize>
      <totalItems>250</totalItems>
      <type>release</type>
      <taggedItem>
         <release id="4987796">
            <title>Mighty Eagle</title>
            <version />
            <type>Single</type>
            <barcode>7340065072028</barcode>
            <year>2015</year>
            <explicitContent>false</explicitContent>
            <artist id="335480">
               <name>Cryonic Temple</name>
               <appearsAs>Cryonic Temple</appearsAs>
               <slug>cryonic-temple</slug>
               <isPlaceholderImage>false</isPlaceholderImage>
            </artist>
            <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/049/877/0004987796_50.jpg</image>
            <label id="119166">
               <name>DISTROSONG</name>
            </label>
            <licensor id="68">
               <name>Kontor</name>
            </licensor>
            <popularity>0</popularity>
            <duration>205</duration>
            <trackCount>1</trackCount>
            <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
               <releaseDate>2015-12-17T00:00:00Z</releaseDate>
               <packages>
                  <package id="2">
                     <description>Standard</description>
                     <price>
                        <currencyCode>GBP</currencyCode>
                        <sevendigitalPrice>0.79</sevendigitalPrice>
                        <recommendedRetailPrice>0.79</recommendedRetailPrice>
                     </price>
                     <formats>
                        <format id="17">
                           <description>MP3 320</description>
                        </format>
                        <format id="33">
                           <description>AAC 320</description>
                        </format>
                     </formats>
                  </package>
               </packages>
            </download>
            <subscriptionStreaming> <!-- Optional: You should only see this element if you are requesting with subscriptionstreaming usageType -->
               <releaseDate>2015-12-17T00:00:00Z</releaseDate>
            </subscriptionStreaming>
            <adSupportedStreaming> <!-- Optional: You should only see this element if you are requesting with adsupportedstreaming usageType -->
               <releaseDate>2015-12-17T00:00:00Z</releaseDate>
            </adSupportedStreaming>
            <slug>mighty-eagle</slug>
         </release>
      </taggedItem>
      <taggedItem>
         <release id="4947593">
            <title>Upset for the Ages (Single)</title>
            <version />
            <type>Album</type>
            <barcode>7071676152105</barcode>
            <year>2015</year>
            <explicitContent>false</explicitContent>
            <artist id="2753170">
               <name>Bicentennial Bear</name>
               <appearsAs>Bicentennial Bear</appearsAs>
               <slug>bicentennial-bear</slug>
               <isPlaceholderImage>false</isPlaceholderImage>
            </artist>
            <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/049/475/0004947593_50.jpg</image>
            <label id="152250">
               <name>IndiGoBoom</name>
            </label>
            <licensor id="261">
               <name>Phonofile</name>
            </licensor>
            <popularity>0</popularity>
            <duration>360</duration>
            <trackCount>2</trackCount>
            <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
               <releaseDate>2015-12-17T00:00:00Z</releaseDate>
               <packages>
                  <package id="2">
                     <description>Standard</description>
                     <price>
                        <currencyCode>GBP</currencyCode>
                        <sevendigitalPrice>1.98</sevendigitalPrice>
                        <recommendedRetailPrice>1.98</recommendedRetailPrice>
                     </price>
                     <formats>
                        <format id="17">
                           <description>MP3 320</description>
                        </format>
                        <format id="33">
                           <description>AAC 320</description>
                        </format>
                     </formats>
                  </package>
               </packages>
            </download>
            <subscriptionStreaming> <!-- Optional: You should only see this element if you are requesting with subscriptionstreaming usageType -->
               <releaseDate>2015-11-20T00:00:00Z</releaseDate>
            </subscriptionStreaming>
            <adSupportedStreaming> <!-- Optional: You should only see this element if you are requesting with adsupportedstreaming usageType -->
               <releaseDate>2015-11-20T00:00:00Z</releaseDate>
            </adSupportedStreaming>
            <slug>upset-for-the-ages-single</slug>
         </release>
      </taggedItem>
   </taggedResults>
</response>

application/json response

{
   "status": "ok",
   "version": "1.2",
   "schema": "http://api.7digital.com/1.2/static/7digitalAPI.xsd",
   "taggedResults": {
      "type": "release",
      "releases": [
         {
            "id": 4987796,
            "title": "Mighty Eagle",
            "version": "",
            "type": "Single",
            "barcode": "7340065072028",
            "year": "2015",
            "explicitContent": false,
            "artist": {
               "id": 335480,
               "name": "Cryonic Temple",
               "appearsAs": "Cryonic Temple",
               "slug": "cryonic-temple",
               "isPlaceholderImage": false
            },
            "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/049/877/0004987796_50.jpg",
            "label": {
               "id": 119166,
               "name": "DISTROSONG"
            },
            "licensor": {
               "id": 68,
               "name": "Kontor"
            },
            "popularity": 0,
            "duration": 205,
            "trackCount": 1,
            "download": {
               "releaseDate": "2015-12-17T00:00:00Z",
               "packages": [
                  {
                     "id": 2,
                     "description": "Standard",
                     "price": {
                        "currencyCode": "GBP",
                        "sevendigitalPrice": 0.79,
                        "recommendedRetailPrice": 0.79
                     },
                     "formats": [
                        {
                           "id": 17,
                           "description": "MP3 320"
                        },
                        {
                           "id": 33,
                           "description": "AAC 320"
                        }
                     ]
                  }
               ]
            },
            "subscriptionStreaming": {
               "releaseDate": "2015-12-17T00:00:00Z"
            },
            "adSupportedStreaming": {
               "releaseDate": "2015-12-17T00:00:00Z"
            },
            "slug": "mighty-eagle"
         },
         {
            "id": 4947593,
            "title": "Upset for the Ages (Single)",
            "version": "",
            "type": "Album",
            "barcode": "7071676152105",
            "year": "2015",
            "explicitContent": false,
            "artist": {
               "id": 2753170,
               "name": "Bicentennial Bear",
               "appearsAs": "Bicentennial Bear",
               "slug": "bicentennial-bear",
               "isPlaceholderImage": false
            },
            "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/049/475/0004947593_50.jpg",
            "label": {
               "id": 152250,
               "name": "IndiGoBoom"
            },
            "licensor": {
               "id": 261,
               "name": "Phonofile"
            },
            "popularity": 0,
            "duration": 360,
            "trackCount": 2,
            "download": {
               "releaseDate": "2015-12-17T00:00:00Z",
               "packages": [
                  {
                     "id": 2,
                     "description": "Standard",
                     "price": {
                        "currencyCode": "GBP",
                        "sevendigitalPrice": 1.98,
                        "recommendedRetailPrice": 1.98
                     },
                     "formats": [
                        {
                           "id": 17,
                           "description": "MP3 320"
                        },
                        {
                           "id": 33,
                           "description": "AAC 320"
                        }
                     ]
                  }
               ]
            },
            "subscriptionStreaming": {
               "releaseDate": "2015-11-20T00:00:00Z"
            },
            "adSupportedStreaming": {
               "releaseDate": "2015-11-20T00:00:00Z"
            },
            "slug": "upset-for-the-ages-single"
         }
      ],
      "taggedReleases": [
         {
            "release": {
               "id": 4987796,
               "title": "Mighty Eagle",
               "version": "",
               "type": "Single",
               "barcode": "7340065072028",
               "year": "2015",
               "explicitContent": false,
               "artist": {
                  "id": 335480,
                  "name": "Cryonic Temple",
                  "appearsAs": "Cryonic Temple",
                  "slug": "cryonic-temple",
                  "isPlaceholderImage": false
               },
               "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/049/877/0004987796_50.jpg",
               "label": {
                  "id": 119166,
                  "name": "DISTROSONG"
               },
               "licensor": {
                  "id": 68,
                  "name": "Kontor"
               },
               "popularity": 0,
               "duration": 205,
               "trackCount": 1,
               "download": {
                  "releaseDate": "2015-12-17T00:00:00Z",
                  "packages": [
                     {
                        "id": 2,
                        "description": "Standard",
                        "price": {
                           "currencyCode": "GBP",
                           "sevendigitalPrice": 0.79,
                           "recommendedRetailPrice": 0.79
                        },
                        "formats": [
                           {
                              "id": 17,
                              "description": "MP3 320"
                           },
                           {
                              "id": 33,
                              "description": "AAC 320"
                           }
                        ]
                     }
                  ]
               },
               "subscriptionStreaming": {
                  "releaseDate": "2015-12-17T00:00:00Z"
               },
               "adSupportedStreaming": {
                  "releaseDate": "2015-12-17T00:00:00Z"
               },
               "slug": "mighty-eagle"
            }
         },
         {
            "release": {
               "id": 4947593,
               "title": "Upset for the Ages (Single)",
               "version": "",
               "type": "Album",
               "barcode": "7071676152105",
               "year": "2015",
               "explicitContent": false,
               "artist": {
                  "id": 2753170,
                  "name": "Bicentennial Bear",
                  "appearsAs": "Bicentennial Bear",
                  "slug": "bicentennial-bear",
                  "isPlaceholderImage": false
               },
               "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/049/475/0004947593_50.jpg",
               "label": {
                  "id": 152250,
                  "name": "IndiGoBoom"
               },
               "licensor": {
                  "id": 261,
                  "name": "Phonofile"
               },
               "popularity": 0,
               "duration": 360,
               "trackCount": 2,
               "download": {
                  "releaseDate": "2015-12-17T00:00:00Z",
                  "packages": [
                     {
                        "id": 2,
                        "description": "Standard",
                        "price": {
                           "currencyCode": "GBP",
                           "sevendigitalPrice": 1.98,
                           "recommendedRetailPrice": 1.98
                        },
                        "formats": [
                           {
                              "id": 17,
                              "description": "MP3 320"
                           },
                           {
                              "id": 33,
                              "description": "AAC 320"
                           }
                        ]
                     }
                  ]
               },
               "subscriptionStreaming": {
                  "releaseDate": "2015-11-20T00:00:00Z"
               },
               "adSupportedStreaming": {
                  "releaseDate": "2015-11-20T00:00:00Z"
               },
               "slug": "upset-for-the-ages-single"
            }
         }
      ],
      "page": 2,
      "pageSize": 2,
      "totalItems": 250
   }
}

Tag - top releases GET /release/bytag/top

This endpoint returns a list of releases ordered by popularity, for a specified genre.

Example request: http://api.7digital.com/1.2/release/bytag/top?tags=rock&page=1&pageSize=2&oauth_consumer_key=YOUR_KEY_HERE&country=GB&usageTypes=download,subscriptionstreaming,adsupportedstreaming

AttributeTypeDescription
tags
required
string

A genre (ie 'rock')

countrystring

The code of the country the end user resides in. The country will default to GB if not provided.

usageTypes
required
string

Only use the usageTypes you need, e.g. download, subscriptionstreaming or adsupportedstreaming.

Method specific error codes:

2001 - None of the provided tag(s) exist
The tags you supplied do not exist.

application/xml response

<?xml version="1.0" encoding="UTF-8"?>
<response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" status="ok" version="1.2" xsi:noNamespaceSchemaLocation="http://api.7digital.com/1.2/static/7digitalAPI.xsd">
   <taggedResults>
      <page>1</page>
      <pageSize>2</pageSize>
      <totalItems>250</totalItems>
      <type>release</type>
      <taggedItem>
         <release id="1402423">
            <title>Nevermind</title>
            <version />
            <type>Album</type>
            <barcode>00602527856865</barcode>
            <year>1991</year>
            <explicitContent>false</explicitContent>
            <artist id="169">
               <name>Nirvana</name>
               <appearsAs>Nirvana</appearsAs>
               <slug>nirvana</slug>
               <isPlaceholderImage>false</isPlaceholderImage>
            </artist>
            <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/014/024/0001402423_50.jpg</image>
            <label id="472015">
               <name>(P) 2011 Geffen Records</name>
            </label>
            <licensor id="1">
               <name>Universal</name>
            </licensor>
            <popularity>0</popularity>
            <duration>2954</duration>
            <trackCount>13</trackCount>
            <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
               <releaseDate>2015-11-24T00:00:00Z</releaseDate>
               <packages>
                  <package id="2">
                     <description>Standard</description>
                     <price>
                        <currencyCode>GBP</currencyCode>
                        <sevendigitalPrice>8.49</sevendigitalPrice>
                        <recommendedRetailPrice>8.49</recommendedRetailPrice>
                     </price>
                     <formats>
                        <format id="17">
                           <description>MP3 320</description>
                        </format>
                        <format id="33">
                           <description>AAC 320</description>
                        </format>
                     </formats>
                  </package>
               </packages>
            </download>
            <subscriptionStreaming> <!-- Optional: You should only see this element if you are requesting with subscriptionstreaming usageType -->
               <releaseDate>2015-11-24T00:00:00Z</releaseDate>
            </subscriptionStreaming>
            <adSupportedStreaming> <!-- Optional: You should only see this element if you are requesting with adsupportedstreaming usageType -->
               <releaseDate>2015-11-24T00:00:00Z</releaseDate>
            </adSupportedStreaming>
            <slug>nevermind-4</slug>
         </release>
      </taggedItem>
      <taggedItem>
         <release id="3490858">
            <title>Ghost Stories</title>
            <version />
            <type>Album</type>
            <barcode>825646305926</barcode>
            <year>2014</year>
            <explicitContent>false</explicitContent>
            <artist id="20">
               <name>Coldplay</name>
               <appearsAs>Coldplay</appearsAs>
               <slug>coldplay</slug>
               <isPlaceholderImage>false</isPlaceholderImage>
            </artist>
            <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/034/908/0003490858_50.jpg</image>
            <label id="227575">
               <name>Parlophone UK</name>
            </label>
            <licensor id="18">
               <name>Warner</name>
            </licensor>
            <popularity>0</popularity>
            <duration>2562</duration>
            <trackCount>10</trackCount>
            <download> <!-- Optional: You should only see this element if you are requesting with download usageType -->
               <releaseDate>2015-03-23T00:00:00Z</releaseDate>
               <packages>
                  <package id="2">
                     <description>Standard</description>
                     <price>
                        <currencyCode>GBP</currencyCode>
                        <sevendigitalPrice>4.49</sevendigitalPrice>
                        <recommendedRetailPrice>4.49</recommendedRetailPrice>
                     </price>
                     <formats>
                        <format id="10">
                           <description>PDF file</description>
                        </format>
                        <format id="17">
                           <description>MP3 320</description>
                        </format>
                     </formats>
                  </package>
               </packages>
            </download>
            <slug>ghost-stories</slug>
         </release>
      </taggedItem>
   </taggedResults>
</response>

application/json response

{
   "status": "ok",
   "version": "1.2",
   "schema": "http://api.7digital.com/1.2/static/7digitalAPI.xsd",
   "taggedResults": {
      "type": "release",
      "releases": [
         {
            "id": 1402423,
            "title": "Nevermind",
            "version": "",
            "type": "Album",
            "barcode": "00602527856865",
            "year": "1991",
            "explicitContent": false,
            "artist": {
               "id": 169,
               "name": "Nirvana",
               "appearsAs": "Nirvana",
               "slug": "nirvana",
               "isPlaceholderImage": false
            },
            "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/014/024/0001402423_50.jpg",
            "label": {
               "id": 472015,
               "name": "(P) 2011 Geffen Records"
            },
            "licensor": {
               "id": 1,
               "name": "Universal"
            },
            "popularity": 0,
            "duration": 2954,
            "trackCount": 13,
            "download": {
               "releaseDate": "2015-11-24T00:00:00Z",
               "packages": [
                  {
                     "id": 2,
                     "description": "Standard",
                     "price": {
                        "currencyCode": "GBP",
                        "sevendigitalPrice": 8.49,
                        "recommendedRetailPrice": 8.49
                     },
                     "formats": [
                        {
                           "id": 17,
                           "description": "MP3 320"
                        },
                        {
                           "id": 33,
                           "description": "AAC 320"
                        }
                     ]
                  }
               ]
            },
            "subscriptionStreaming": {
               "releaseDate": "2015-11-24T00:00:00Z"
            },
            "adSupportedStreaming": {
               "releaseDate": "2015-11-24T00:00:00Z"
            },
            "slug": "nevermind-4"
         },
         {
            "id": 3490858,
            "title": "Ghost Stories",
            "version": "",
            "type": "Album",
            "barcode": "825646305926",
            "year": "2014",
            "explicitContent": false,
            "artist": {
               "id": 20,
               "name": "Coldplay",
               "appearsAs": "Coldplay",
               "slug": "coldplay",
               "isPlaceholderImage": false
            },
            "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/034/908/0003490858_50.jpg",
            "label": {
               "id": 227575,
               "name": "Parlophone UK"
            },
            "licensor": {
               "id": 18,
               "name": "Warner"
            },
            "popularity": 0,
            "duration": 2562,
            "trackCount": 10,
            "download": {
               "releaseDate": "2015-03-23T00:00:00Z",
               "packages": [
                  {
                     "id": 2,
                     "description": "Standard",
                     "price": {
                        "currencyCode": "GBP",
                        "sevendigitalPrice": 4.49,
                        "recommendedRetailPrice": 4.49
                     },
                     "formats": [
                        {
                           "id": 10,
                           "description": "PDF file"
                        },
                        {
                           "id": 17,
                           "description": "MP3 320"
                        }
                     ]
                  }
               ]
            },
            "slug": "ghost-stories"
         }
      ],
      "taggedReleases": [
         {
            "release": {
               "id": 1402423,
               "title": "Nevermind",
               "version": "",
               "type": "Album",
               "barcode": "00602527856865",
               "year": "1991",
               "explicitContent": false,
               "artist": {
                  "id": 169,
                  "name": "Nirvana",
                  "appearsAs": "Nirvana",
                  "slug": "nirvana",
                  "isPlaceholderImage": false
               },
               "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/014/024/0001402423_50.jpg",
               "label": {
                  "id": 472015,
                  "name": "(P) 2011 Geffen Records"
               },
               "licensor": {
                  "id": 1,
                  "name": "Universal"
               },
               "popularity": 0,
               "duration": 2954,
               "trackCount": 13,
               "download": {
                  "releaseDate": "2015-11-24T00:00:00Z",
                  "packages": [
                     {
                        "id": 2,
                        "description": "Standard",
                        "price": {
                           "currencyCode": "GBP",
                           "sevendigitalPrice": 8.49,
                           "recommendedRetailPrice": 8.49
                        },
                        "formats": [
                           {
                              "id": 17,
                              "description": "MP3 320"
                           },
                           {
                              "id": 33,
                              "description": "AAC 320"
                           }
                        ]
                     }
                  ]
               },
               "subscriptionStreaming": {
                  "releaseDate": "2015-11-24T00:00:00Z"
               },
               "adSupportedStreaming": {
                  "releaseDate": "2015-11-24T00:00:00Z"
               },
               "slug": "nevermind-4"
            }
         },
         {
            "release": {
               "id": 3490858,
               "title": "Ghost Stories",
               "version": "",
               "type": "Album",
               "barcode": "825646305926",
               "year": "2014",
               "explicitContent": false,
               "artist": {
                  "id": 20,
                  "name": "Coldplay",
                  "appearsAs": "Coldplay",
                  "slug": "coldplay",
                  "isPlaceholderImage": false
               },
               "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/034/908/0003490858_50.jpg",
               "label": {
                  "id": 227575,
                  "name": "Parlophone UK"
               },
               "licensor": {
                  "id": 18,
                  "name": "Warner"
               },
               "popularity": 0,
               "duration": 2562,
               "trackCount": 10,
               "download": {
                  "releaseDate": "2015-03-23T00:00:00Z",
                  "packages": [
                     {
                        "id": 2,
                        "description": "Standard",
                        "price": {
                           "currencyCode": "GBP",
                           "sevendigitalPrice": 4.49,
                           "recommendedRetailPrice": 4.49
                        },
                        "formats": [
                           {
                              "id": 10,
                              "description": "PDF file"
                           },
                           {
                              "id": 17,
                              "description": "MP3 320"
                           }
                        ]
                     }
                  ]
               },
               "slug": "ghost-stories"
            }
         }
      ],
      "page": 1,
      "pageSize": 2,
      "totalItems": 250
   }
}

Matching

About this API

This section details the endpoints used to match between 7digital entities and various 3rd party entities (such as MusicBrainz).

Artist - match by id GET /artist/match/byid

This endpoint matches between 7digital and third party artist Ids. It supports batch operations by passing a comma delimited list of Ids. Ids not matched will respond with an in-line matching error. Ordering of matches in the response are not guaranteed to match the order of requested Ids. Casing of the requested and response Ids can also be different (e.g. MusicBrainz Guids). Results are grouped by an attribute based on your request, e.g. "sevenDigitalId" when matching on sevenDigitalIds.

Example request: http://api.7digital.com/1.2/artist/match/byId?mbids=DFE9A7C4-8CF2-47F4-9DCB-D233C2B86EC3,00000000-0000-0000-0000-000000000001&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
sevenDigitalIdsstring

Comma delimited list of 7digital artist unique identifiers

mbIdsstring

Comma delimited list of MusicBrainz artist unique identifiers

Method specific error codes:

1001 - Required parameter is missing
You must supply a value for either the 'sevenDigitalIds' parameter or the 'mbIds' parameter.

1003 - Parameter value out of allowable range
Too Many ids. The request must have a maximum of 500 7digital ids, or 50 MusicBrainz ids.

1 - Inline error on an id. No match can be found for given id.

2 - Inline error on an id. Invalid id provided for matching.

application/xml response

<response status="ok" version="1.2">
  <matches>
    <artists mbId="00000000-0000-0000-0000-000000000001">
      <matchError code="1"/>
    </artists>
    <artists mbId="dfe9a7c4-8cf2-47f4-9dcb-d233c2b86ec3">
      <artist>
        <sevenDigitalId>4</sevenDigitalId>
        <mbId>dfe9a7c4-8cf2-47f4-9dcb-d233c2b86ec3</mbId>
      </artist>
      <artist>
        <sevenDigitalId>308994</sevenDigitalId>
        <mbId>dfe9a7c4-8cf2-47f4-9dcb-d233c2b86ec3</mbId>
      </artist>
      <artist>
        <sevenDigitalId>1084320</sevenDigitalId>
        <mbId>dfe9a7c4-8cf2-47f4-9dcb-d233c2b86ec3</mbId>
      </artist>
    </artists>
  </matches>
</response>

application/json response

{
  "status": "ok",
  "version": "1.2",
  "matches": {
    "artists": [
      {
        "mbId": "00000000-0000-0000-0000-000000000001",
        "matchError": {
          "code": 1
        }
      },
      {
        "mbId": "Ddfe9a7c4-8cf2-47f4-9dcb-d233c2b86ec",
        "artist": [
          {
            "sevenDigitalId": 4,
            "mbId": "Ddfe9a7c4-8cf2-47f4-9dcb-d233c2b86ec"
          },
          {
            "sevenDigitalId": 308994,
            "mbId": "Ddfe9a7c4-8cf2-47f4-9dcb-d233c2b86ec"
          },
          {
            "sevenDigitalId": 1084320,
            "mbId": "Ddfe9a7c4-8cf2-47f4-9dcb-d233c2b86ec"
          }
        ]
      }
    ]
  }
}

Track - match by id GET /track/match/byid

This endpoint matches between 7digital and third party track Ids. It supports batch operations by passing a comma delimited list of Ids. Ids not matched will respond with an in-line matching error. Ordering of matches in the response are not guaranteed to match the order of requested Ids. Casing of the requested and response Ids can also be different (eg MusicBrainz guids). Results are grouped by an attribute based on your request, e.g. "sevenDigitalId" when matching on sevenDigitalIds. The MusicBrainz id identifies the recording - is a MusicBrainz recording Id and not a track id. For more information see https://musicbrainz.org/doc/Recording

Example request: http://api.7digital.com/1.2/track/match/byId?sevendigitalids=12345,12346,12347&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
sevenDigitalIdsstring

Comma delimited list of 7digital track unique identifiers

mbIdsstring

Comma delimited list of MusicBrainz recording unique identifiers

Method specific error codes:

1001 - Required parameter is missing
You must supply a value for either the 'sevenDigitalIds' parameter or the 'mbIds' parameter.

1003 - Parameter value out of allowable range
Too Many ids. The request must have a maximum of 500 7digital ids, or 50 MusicBrainz ids.

1 - Inline error on an id. No match can be found for given id.

2 - Inline error on an id. Invalid id provided for matching.

application/xml response

<response status="ok">
  <matches>
     <tracks sevenDigitalId="12345">
          <track>
            <sevenDigitalId>12345</sevenDigitalId>
            <mbId>46E22688-BF7D-4EE2-8F67-E498581408E9</mbId>
          </track>
        </tracks>
        <tracks sevenDigitalId="12346">
          <track>
            <sevenDigitalId>12346</sevenDigitalId>
            <mbId>A76B4F03-9B61-481F-BAE3-29BB3C78E7C1</mbId>
          </track>
          <track>
            <sevenDigitalId>12346</sevenDigitalId>
            <mbId>46E22688-BF7D-4EE2-8F67-E498581408E9</mbId>
          </track>
        </tracks>
        <tracks sevenDigitalId="12347">
          <matchError code="1"/>
        </tracks>
    </matches>
  </response>

application/json response

{
  "status": "ok",
  "version": "1.2",
  "matches": { 
     "tracks": [
       {
         "sevenDigitalId": 12345,
         "track": [
           {
             "sevenDigitalId": 12345,
             "mbId": "bff3bc49-7e55-4701-8a86-1f8b86784166"
           }
         ]
       },
       {
         "sevenDigitalId": 12346,
         "track": [
           {
             "sevenDigitalId": 12346,
             "mbId": "00007960-9d81-4192-b548-ad33d6b0ca54"
           }
         ]
       },
         {
           "sevenDigitalId": 12347,
           "matchError": {
             "code": 1
           }
         }
      ]
  }

Release - match by id GET /release/match/byid

This endpoint matches between 7digital and third party release Ids. It supports batch operations by passing a comma delimited list of Ids. Ids not matched will respond with an in-line matching error. Ordering of matches in the response are not guaranteed to match the order of requested Ids. Casing of the requested and response Ids can also be different (eg MusicBrainz guids). Results are grouped by an attribute based on your request, e.g. "sevenDigitalId" when matching on sevenDigitalIds. The MusicBrainz id is a MusicBrainz release group Id and not a release id. For more information see https://musicbrainz.org/doc/Release_Group

Example request: http://api.7digital.com/1.2/release/match/byId?sevendigitalids=3,4,5&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
sevenDigitalIdsstring

Comma delimited list of 7digital release unique identifiers

mbIdsstring

Comma delimited list of MusicBrainz release group unique identifiers

Method specific error codes:

1001 - Required parameter is missing
You must supply a value for either the 'sevenDigitalIds' parameter or the 'mbIds' parameter.

1003 - Parameter value out of allowable range
Too Many ids. The request must have a maximum of 500 7digital ids, or 50 MusicBrainz ids.

1 - Inline error on an id. No match can be found for given id.

2 - Inline error on an id. Invalid id provided for matching.

application/xml response

<response status="ok" version="1.2">
    <matches>
        <releases sevenDigitalId="3">
            <release>
                <sevenDigitalId>3</sevenDigitalId>
                <mbId>9c11ddbd-11aa-39af-9502-dbc241a6895d</mbId>
            </release>
        </releases>
        <releases sevenDigitalId="4">
            <release>
                <sevenDigitalId>4</sevenDigitalId>
                <mbId>b6cf3412-a202-3cde-9c80-cab0849d5254</mbId>
            </release>
        </releases>
        <releases sevenDigitalId="5">
            <matchError code="1"/>
        </releases>
    </matches>
</response>

application/json response

{
    "status": "ok",
    "version": "1.2",
    "matches": {
        "releases": [
            {
                "sevenDigitalId": 3,
                "release": [
                    {
                        "sevenDigitalId": 3,
                        "mbId": "9c11ddbd-11aa-39af-9502-dbc241a6895d"
                    }
                ]
            },
            {
                "sevenDigitalId": 4,
                "release": [
                    {
                        "sevenDigitalId": 4,
                        "mbId": "b6cf3412-a202-3cde-9c80-cab0849d5254"
                    }
                ]
            },
            {
                "sevenDigitalId": 5,
                    "matchError": {
                    "code": 1
                }
            }
        ]
    }
}

Streaming & Downloads

About this API

The Media Delivery API allows end users to download or stream full-length tracks and previews.

These methods will give you progressive streaming access to media provided by 7digital. All streaming endpoints support standard HTTP Range headers.

Tracks are available in the following formats and bitrates:

  • Format ID 56 (AAC 160)

  • Format ID 55 (AAC 64)

  • Format ID 26 (MP3 128)

AAC is our preferred format. The MP3 format is provided for backwards compatibility for devices that do not support AAC—it should only be used when it is not possible to use AAC.

These methods provide various different ways to request and obtain audio data for full-length track playback. They are split based on the scenario in which they are used.

Stream from locker GET /stream/locker

Allows user to stream a previously purchased track from their locker. This endpoint can be used for online plays or offline caching (for plays when the device isn't connected to the Internet). Endpoint's full location: https://stream.svc.7digital.net/stream/locker

Example request: https://stream.svc.7digital.net/stream/locker?trackid=123456&formatid=??

AttributeTypeDescription
oauth_token / userId
required
string

If you hold a 7digital oauth access token for the user streaming the track this needs to be provided. If not, you can pass your own identifier of the user (ID, GUID, username, etc). For streaming services that don't require users to sign, please contact us for alternative options of providing user identification (e.g. device IDs, autogenerated IDs stored in a cookie).

trackId
required
integer

The 7digital ID of the track to be streamed.

formatId
required
integer

The 7digital ID of the format requested. Please contact us for available formats.

country
required
string

Two character country code.

Method specific error codes:

1001 - Error: Missing "parameter name" query parameter. User did not specify all mandatory parameters.

1002 - Invalid value for "parameter name": parameter value. Value for parameter in error message is not valid.

2001 - Release not found. This release isn't available for streaming in your country or shop.

2002 - Pre-release or license availability. Either the requested track is not in the user's locker, or the track is not available for streaming (note that streaming release dates may differ from download or catalogue streaming release dates).

application/xml response

HTTP/1.1 200 OK
Date: Thu, 19 Nov 2009 11:27:47 GMT
Content-Length: 7256280
Content-Type: audio/mpeg

Stream any track (radio use) GET /stream/catalogue

Allows user to stream any track in the 7digital catalogue available in their region. This endpoint is designed for radio style play where individual tracks cannot be selected by the user (i.e. not "on-demand" streaming), and is licensed differently than other streaming endpoints. Tracks can be cached (in an encrypted format) on the end user's device, but all plays from either the cache or live must be reported with the catalogue/log endpoint. Please contact us for more details. Endpoint's full location: https://stream.svc.7digital.net/stream/catalogue

Example request: https://stream.svc.7digital.net/stream/catalogue?trackid=123456&formatid=??

AttributeTypeDescription
trackId
required
integer

The 7digital ID of the track to be streamed.

formatId
required
integer

The 7digital ID of the format requested. Please contact us for available formats.

country
required
string

Two character country code.

Method specific error codes:

1001 - Error: Missing "parameter name" query parameter. User did not specify all mandatory parameters.

1002 - Invalid value for "parameter name": parameter value. Value for parameter in error message is not valid.

2001 - Release not found. This release isn't available for streaming in your country or shop.

2002 - Pre-release availability. The track is not available for radio streaming (note that release dates may differ from subscription/locker streaming release dates).

application/xml response

HTTP/1.1 200 OK
Date: Thu, 19 Nov 2009 11:27:47 GMT
Content-Length: 7256280
Content-Type: audio/mpeg

Stream to subscriber GET /stream/subscription

Allows user to stream any track available for streaming in their region, as long as they have a valid subscription account already set up with our subscription system (billed either by 7digital or your system). This endpoint should only be used when a given device is actively connected to the Internet. For local caching in bulk, to be used for offline plays, see offline/subscription. Tracks can be cached (in an encrypted format) on the end user's device, but all plays from either the cache or live must be reported with the user/subscription/log endpoint. When the clientId parameter is supplied, mulitple devices will not be allowed to stream concurrently. Device A can start streaming, but if Device B starts, Device A will finish its current track then be blocked from playing again for a short time period. After that time period, Device A can play again, and Device B will become blocked. Endpoint's full location: https://stream.svc.7digital.net/stream/subscription

Example request: https://stream.svc.7digital.net/stream/subscription?trackid=123456&formatid=??

AttributeTypeDescription
oauth_token / userId
required
string

If you hold a 7digital oauth access token for the user streaming the track this needs to be provided. If not, you can pass your own identifier of the user (ID, GUID, username, etc). For streaming services that don't require users to sign, please contact us for alternative options of providing user identification (e.g. device IDs, autogenerated IDs stored in a cookie).

trackId
required
integer

The 7digital ID of the track to be streamed.

formatId
required
integer

The 7digital ID of the format requested. Please contact us for available formats.

clientIdstring

A unique identifier for the current device streaming the track. Generally a music label requirement, this will allow us to block multiple devices from streaming on the same user account (see above for more information).

country
required
string

Two character country code.

Method specific error codes:

1001 - Error: Missing "parameter name" query parameter. User did not specify all mandatory parameters.

1002 - Invalid value for "parameter name": parameter value. Value for parameter in error message is not valid.

2001 - Release not found. This release isn't available for streaming in your country or shop.

2002 - Pre-release or subscription availability. Either the user does not have a valid subscription account with us, or the track is not available for streaming (note that streaming release dates may differ from download or catalogue streaming release dates).

application/xml response

HTTP/1.1 200 OK
Date: Thu, 19 Nov 2009 11:27:47 GMT
Content-Length: 7256280
Content-Type: audio/mpeg

Stream to subscriber - offline GET /offline/subscription

Allows user to stream any track available for streaming in their region, as long as they have a valid subscription account already set up with our subscription system and their device is registered for offline play with the user/unlimitedStreaming/offline endpoint. This endpoint should only be used when a given device is caching for offline track play (where it won't be connected to the Internet). All plays done during offline mode must be reported to the user/subscription/log endpoint as soon as Internet connectivity is restored. Endpoint's full location: https://stream.svc.7digital.net/offline/subscription

Example request: https://stream.svc.7digital.net/offline/subscription?trackid=123456&formatid=??&clientId=123

AttributeTypeDescription
oauth_token / userId
required
string

If you hold a 7digital oauth access token for the user streaming the track this needs to be provided. If not, you can pass your own identifier of the user (ID, GUID, username, etc). For streaming services that don't require users to sign, please contact us for alternative options of providing user identification (e.g. device IDs, autogenerated IDs stored in a cookie).

trackId
required
integer

The 7digital ID of the track to be streamed.

formatId
required
integer

The 7digital ID of the format requested. Please contact us for available formats.

clientId
required
string

A unique identifier for the current device streaming the track. This should be the same clientId used to register the device for offline play with the user/unlimitedStreaming/offline endpoint.

country
required
string

Two character country code.

Method specific error codes:

1001 - Error: Missing "parameter name" query parameter. User did not specify all mandatory parameters.

1002 - Invalid value for "parameter name": parameter value. Value for parameter in error message is not valid.

2001 - Release not found. This release isn't available for streaming in your country or shop.

2002 - Pre-release or subscription availability. Either the user does not have a valid subscription account with us, or the track is not available for streaming (note that streaming release dates may differ from download or catalogue streaming release dates).

application/xml response

HTTP/1.1 200 OK
Date: Thu, 19 Nov 2009 11:27:47 GMT
Content-Length: 7256280
Content-Type: audio/mpeg

Authorize device for off-line streaming POST /user/unlimitedStreaming/offline

Used to authorise a device for offline mode. After authorised, a device can download in bulk from the offline/subscription endpoint. The POST body can be sent in either XML or JSON formats.

Example request: POST http://api.7digital.com/1.2/user/unlimitedStreaming/offline?oauth_consumer_key=YOUR_KEY_HERE&oauth_token=... With body: <offlineStatus> <clientId>e5ada89d-db5b-4d0e-b70b-820796d7d583</clientId> <offlineEnabled>true</offlineEnabled> <country>GB</country> </offlineStatus>

AttributeTypeDescription
oauth_token / userId
required
string

If you hold a 7digital oauth access token for the user streaming the track this needs to be provided. If not, you can pass your own identifier of the user (ID, GUID, username, etc). For streaming services that don't require users to sign, please contact us for alternative options of providing user identification (e.g. device IDs, autogenerated IDs stored in a cookie).

clientId
required
integer

A unique identifier for the current device wanting to go offline.

offlineEnabled
required
boolean

true if the device is being enabled for offline streaming, false if it's being disabled.

country
required
string

The code of the country the end user resides in.

Method specific error codes:

1002 - "parameter name": "reason" User did not specify valid value for mandatory parameter. Check the message for more details.

1003 - This account type cannot register offline device/Maximum number of offline devices registered Client was not successfully registered for offline playback. Check the message for more details.

application/xml response

<response status=”ok” version=”1.2”>
  <offlineStatus>
    <offlineEnabled>true</offlineEnabled>
    <offlineMaxTrackCount>4000</offlineMaxTrackCount>
  </offlineStatus>
</response>

Device status for off-line streaming GET /user/unlimitedStreaming/offline

Used to check the offline status of a specified device. This status can be changed with a POST to the user/unlimitedStreaming/offline endpoint.

Example request: http://api.7digital.com/1.2/user/unlimitedStreaming/offline?oauth_consumer_key=YOUR_KEY_HERE&clientId=xyz&oauth_token=...

AttributeTypeDescription
oauth_token / userId
required
string

If you hold a 7digital oauth access token for the user streaming the track this needs to be provided. If not, you can pass your own identifier of the user (ID, GUID, username, etc). For streaming services that don't require users to sign, please contact us for alternative options of providing user identification (e.g. device IDs, autogenerated IDs stored in a cookie).

clientId
required
integer

A unique identifier for the current device you're checking the offline status of.

Method specific error codes:

1001 - Missing parameter "parameter name" User did not specify all mandatory parameters.

application/xml response

<response status=”ok” version=”1.2”>
  <offlineStatus>
    <offlineEnabled>true</offlineEnabled>
    <offlineMaxTrackCount>4000</offlineMaxTrackCount>
  </offlineStatus>
</response>

Devices authorized for off-line streaming GET /user/offlineclients

Used to get list of all user's registered devices.

Example request: http://api.7digital.com/1.2/user/offlineclients?oauth_consumer_key=YOUR_KEY_HERE&oauth_token=...

AttributeTypeDescription
oauth_token
required
string

User's OAuth access token.

application/xml response

<response status=”ok” version=”1.2”>
  <offlineClients>
    <offlineClient>
      <clientId>BD0A351C-4265-49A4-A80F-D10C5F56EC3E</clientId>
    </offlineClient>
    <offlineClient>
      <clientId>8B91B97A-3214-4D17-B2A4-325E8CAB88B5</clientId>
    </offlineClient>
  </offlineClients>
</response>

Report a subscriber stream POST /user/subscription/log

Multiple plays can be batched by user into a single POST to this endpoint, and the body can be sent in either XML or JSON formats. Streams that are requested as part of pre-fetching functionality, but never played on the device, should still be logged with a zero second play time.

Situations on when you should and should not log to this endpoint:

Plays from stream/subscription:

Online from our servers: log using this endpoint

Cached on the device (after playing once from our servers): log using this endpoint

Plays from offline/subscription:

Online from our servers (being downloaded for later play, not actively playing from this endpoint): do not log

Cached on the device (after downloading once from our servers): log using this endpoint

Plays from stream/locker:

Online from our servers: do not log

Cached on the device (after playing once from our servers): do not log

If posting data as JSON, omit the "playLog" wrapping object shown in the XML example. The JSON object should have a single property, "playLogItem", which contains the required data.

XML POST body:

<playLog>
  <playLogItem>
    <trackId>123456</trackId>
    <releaseId>123456</releaseId>
    <formatId>50</formatId>
    <playMode>online</playMode>
    <dateTimePlayed>2014-03-13T11:39:28.8981203Z</dateTimePlayed>
    <totalTimePlayed >12</totalTimePlayed>
    <userAgent>Device version 3, App version 6</userAgent>
  </playLogItem>
</playLog>

Example request: POST http://api.7digital.com/1.2/user/subscription/log?country=GB&oauth_consumer_key=YOUR_KEY_HERE&oauth_token=...

AttributeTypeDescription
oauth_token / userId
required
string

If you hold a 7digital oauth access token for the user streaming the track this needs to be provided. If not, you can pass your own identifier of the user (ID, GUID, username, etc). For streaming services that don't require users to sign, please contact us for alternative options of providing user identification (e.g. device IDs, autogenerated IDs stored in a cookie).

country
required
string

The 2 letter ISO country code, as with our other endpoints. Should be the country where the user originated the stream from (e.g. set to US if the stream was played by a US user). Please note it can only be placed as a query string parameter, not in the POST body, or authorisation headers if those are used.

trackId
required
integer

The 7digital ID of the track that was streamed.

releaseId
required
integer

The 7digital ID of the release that was streamed.

formatId
required
integer

The 7digital ID of the format streamed.

userAgent
required
string

Details of the device model and application version used to play the track. Values over 256 characters will be truncated.

dateTimePlayed
required
string

The date and time when the track was played. Should be in the ISO 8601 format.

totalTimePlayed
required
string

The total time the track was streamed in seconds (or 0 if it was only pre-fetched and never played).

playMode
required
string

Either "online", "offline", or "online-cached". Indicates if the play was with an active or inactive network connection and, if the network connection is active, whether or not it was read from the device cache.

Method specific error codes:

1003 - User has never had a subscription The user you're trying to log plays for has never had a subscription account in our system (active or not) and therefore couldn't have streamed a subscription track with us.

application/xml response

<response status="ok" version="1.2">
   <playLogs>
       <count>2</count>
   </playLogs>
</response>

Report a catalogue stream POST /catalogue/log

Multiple plays (maximum of 100 per request) can be batched into a single POST to this endpoint, and the body can be sent in either XML or JSON formats. Streams that are requested as part of pre-fetching functionality, but never played on the device, should still be logged with a zero second play time.

Situations in which you should log to this endpoint:

Plays from stream/catalogue:

Online from our servers: log using this endpoint

Cached on the device (after playing once from our servers): log using this endpoint

If posting data as JSON, omit the "playLog" wrapping object shown in the XML example. The JSON object should have a single property, "playLogItem", which contains the required data.

XML POST body:

<playLog>
  <playLogItem>
    <trackId>123456</trackId>
    <releaseId>123456</releaseId>
    <formatId>50</formatId>
    <dateTimePlayed>2014-03-13T11:39:28.8981203Z</dateTimePlayed>
    <totalTimePlayed>12</totalTimePlayed>
    <userAgent>Device version 3, App version 6</userAgent>
    <userId>135</userId>
    <endReason>naturalEnd</endReason>
  </playLogItem>
</playLog>

Example request: POST http://api.7digital.com/1.2/catalogue/log?country=US&oauth_consumer_key=YOUR_KEY_HERE&...

AttributeTypeDescription
country
required
string

The 2 letter ISO country code, as with our other endpoints. Should be the country where the user originated the stream from (e.g. set to US if the stream was played by a US user). Please note it can only be placed as a query string parameter, not in the POST body, or authorisation headers if those are used.

trackId
required
integer

The 7digital ID of the track that was streamed.

releaseId
required
integer

The 7digital ID of the release that was streamed.

formatId
required
integer

The 7digital ID of the format streamed.

userAgent
required
string

Details of the device model and application version used to play the track. Values over 256 characters will be truncated.

dateTimePlayed
required
string

The date and time when the track was played. Should be in the ISO 8601 format.

totalTimePlayed
required
string

The total time the track was streamed in seconds (or 0 if it was only pre-fetched and never played).

userId
required
string

The identifier of the user that played that track. Please note this must be in the body and is not a user id for authorisation purposes (as this endpoint is 2-leg OAuth signed). It's just for reporting purposes. The User ID value can be anything you want but it must be unique to each user and used consistently.

endReason
required
string

The reason the track play was stopped. This is one of three values "naturalEnd", "userSkipped" or "other." "naturalEnd" would be used to indicate when a track has finished playing in its entirety. "userSkipped" would be used to indicate that a user has chosen to skip the currently playing track. "other" is used when the reason the track has been stopped doesn't fit into the previous catagories, for example when a user changes radio station.

application/xml response

<response status="ok" version="1.2">
   <playLogs>
       <count>2</count>
   </playLogs>
</response>

Report a preview stream POST /preview/log

Multiple plays can be batched into a single POST to this endpoint, and the body can be sent in either XML or JSON formats. Previews that are requested as part of pre-fetching functionality, but never played on the device, should still be logged with a zero second play time.

A country parameter is required in the query string. This is for OAuth authorisation, and must be a country your API key has access to. The country property in the POST body is the location in which the user played the clip.

The maximum accepted POST body size is limited to 100KiB.

An HTTP non-200 response means we have not fully saved the logs. Please retry the request, with an increasing backoff with any successive failures.

XML POST body:

<logs>
  <log>
    <country>US</country>
    <trackId>123456</trackId>
    <dateTimePlayed>2014-03-13T11:39:28.8981203Z</dateTimePlayed>
    <totalTimePlayed>12</totalTimePlayed>
    <userAgent>Device version 3, App version 6</userAgent>
    <userId>135</userId>
    <playMode>online</playMode>
  </log>
</logs>

JSON POST body:

{
  "logs": [
    {
      "country": "US",
      "trackId": 123456,
      "dateTimePlayed": "2014-03-13T11:39:28.8981203Z",
      "totalTimePlayed": 12,
      "userAgent": "Device version 3, App version 6",
      "userId": "135",
      "playMode":"online"
    }
  ]
}

Example request: POST http://api.7digital.com/1.2/preview/log?country=GB&oauth_consumer_key=YOUR_KEY_HERE&...

AttributeTypeDescription
country
required
string

The 2 letter ISO country code, as with our other endpoints. Should be the country where the user originated the stream from (e.g. set to US if the stream was played by a US user). Please note: the query string parameter is for authorisation only and doesn't get logged, whilst the country in the body is for reporting purposes. These values can differ if you send multiple countries at once.

trackId
required
integer

The 7digital ID of the track that was streamed.

userAgent
required
string

Details of the device model and application version used to play the track. Values over 256 characters will be truncated.

dateTimePlayed
required
string

The date and time when the track was played. Should be in the ISO 8601 format.

totalTimePlayed
required
string

The total time the track was streamed in seconds (or 0 if it was only pre-fetched and never played).

userId
required
string

The identifier of the user that played that track. Please note this must be in the body and is not a user id for authorisation purposes (as this endpoint is 2-leg OAuth signed). It's just for reporting purposes. The User ID value can be anything you want but it must be unique to each user and used consistently.

playMode
required
string

Either "online", "offline", or "online-cached". Indicates if the play was with an active or inactive network connection and, if the network connection is active, whether or not it was read from the device cache.

application/xml response

<response status="ok" version="1.2" />

application/json response

{}

Download track GET /user/downloadtrack

Allows the user to download a purchased track. Endpoint's full location: http://media.geo.7digital.com/media/user/downloadtrack

Example request: http://media.geo.7digital.com/media/user/downloadtrack?trackid=123456&releaseid=123456&formatid=17&errorUrl=http%3a%2f%2fexample.com%2ferror&oauth_consumer_key=YOUR_KEY_HERE&...

AttributeTypeDescription
oauth_token / userId
required
string

If you hold a 7digital oauth access token for the user streaming the track this needs to be provided. If not, you can pass your own identifier of the user (ID, GUID, username, etc). For streaming services that don't require users to sign, please contact us for alternative options of providing user identification (e.g. device IDs, autogenerated IDs stored in a cookie).

trackId
required
integer

The 7digital ID of the track to be downloaded.

releaseId
required
integer

The 7digital ID of the release the track that is being delivered appears on.

formatId
required
integer

The 7digital ID of the format requested (from the list provided for each track by the purchasing API or locker response).

country
required
string

The 2 letter ISO country code.

errorUrlstring

URL encoded callback URL in the event of an error.

Method specific error codes:

1001 - Error: Missing "parameter name" query parameter. User did not specify all mandatory parameters.

1002 - Invalid value for "parameter name": parameter value Value for parameter in error message is not valid.

2002 - No licences found for the download request. Either the purchase ID supplied does not exist or does not belong to the User supplied, or the User does not exist.

application/xml response

HTTP/1.1 200 OK
Date: Thu, 19 Nov 2009 11:27:47 GMT
Content-Length: 7256280
Content-Disposition: attachment; filename="David Hasselhoff - Jump In My Car.mp3";
Content-Type: audio/mpeg

Download release (ZIP) GET /user/download/release

Allows a user to download tracks in a purchased release as a single ZIP file. Endpoint's full location: http://media.geo.7digital.com/media/user/download/release

Example request: http://media.geo.7digital.com/media/user/download/release?releaseid=123456&oauth_consumer_key=YOUR_KEY_HERE&...

AttributeTypeDescription
oauth_token / userId
required
string

If you hold a 7digital oauth access token for the user streaming the track this needs to be provided. If not, you can pass your own identifier of the user (ID, GUID, username, etc). For streaming services that don't require users to sign, please contact us for alternative options of providing user identification (e.g. device IDs, autogenerated IDs stored in a cookie).

releaseId
required
integer

The 7digital ID of the previously purchased release by the user to be downloaded.

formatIdinteger

The 7digital ID of the format requested (from the list provided for each track by the purchasing API or locker response).

country
required
string

The 2 letter ISO country code.

Method specific error codes:

1001 - Error: Missing "parameter name" query parameter. User did not specify all mandatory parameters.

1002 - Invalid value for "parameter name": parameter value Value for parameter in error message is not valid.

2002 - No licences found for the download request. Either the purchase Id supplied does not exist or does not belong to the User supplied, or the User does not exist.

application/xml response

HTTP/1.1 200 OK
Date: Thu, 19 Nov 2009 11:27:47 GMT
Content-Length: 7256280
Content-Disposition: attachment; filename="Dardem - Nada.zip";
Content-Type: application/zip

Download purchase (ZIP) GET /user/download/purchase

Allows a user to download tracks purchased in a transaction as a single ZIP file. The highest quality available for each track will be used. Endpoint's full location: http://media.geo.7digital.com/media/user/download/purchase

Example request: http://media.geo.7digital.com/media/user/download/purchase?purchaseId=123456&oauth_consumer_key=YOUR_KEY_HERE&...

AttributeTypeDescription
oauth_token / userId
required
string

If you hold a 7digital oauth access token for the user streaming the track this needs to be provided. If not, you can pass your own identifier of the user (ID, GUID, username, etc). For streaming services that don't require users to sign, please contact us for alternative options of providing user identification (e.g. device IDs, autogenerated IDs stored in a cookie).

purchaseId
required
integer

This is the 7digital ID of the purchase as returned by the user/purchase/* or user/deliveritem methods.

country
required
string

The 2 letter ISO country code.

Method specific error codes:

1001 - Error: Missing "parameter name" query parameter. User did not specify all mandatory parameters.

1002 - Invalid value for "parameter name": parameter value Value for parameter in error message is not valid.

2002 - No licences found for the download request. Either the purchase Id supplied does not exist or does not belong to the User supplied, or the User does not exist.

application/xml response

HTTP/1.1 200 OK
Date: Thu, 19 Nov 2009 11:27:47 GMT
Content-Length: 7256280
Content-Disposition: attachment; filename="7digital_Downloads_21-10-2010.zip";
Content-Type: application/zip

Play preview clip GET /clip/{trackId}

If authorisation is successful the bytes for the clip will be returned to the client. Request url should not be stored for reuse since it expires. Endpoint's full location: http://previews.7digital.com/clip

Example request: http://previews.7digital.com/clip/1234?oauth_consumer_key=YOUR_KEY_HERE&country=GB&...

AttributeTypeDescription
trackId
required
integer

The 7digital ID of the track.

country
required
string

The 2 letter ISO country code.

Method specific error codes:

HTTP: 404 - Track not found: {reason}. The requested track does not have a preview available.

HTTP: 401 - Error: Authorization failed. The request could not be authorised successfully.

HTTP: 400 - Invalid trackId. The trackId specified is not in a valid format.

HTTP: 400 - Required parameter Country or ShopId is missing. The country/shopId parameter is missing.

application/xml response

HTTP/1.1 200 OK
Content-Length: 240534
Content-Type: audio/mpeg

Locker

About this API

Users' locker GET /user/locker

Returns a paged list of releases and tracks for a user's locker (collection of all purchased tracks). This method must be OAuth signed.

Availability - in some cases releases might be removed from 7digital catalogue (or from particular service only), this is indicated in lockerRelease.available property. If the value is set to false all tracks from this release in user's locker are no longer available for re-download. Any attempts to download (or stream) these tracks will result in error page being returned by the relevant media delivery endpoint (instead of the actual media file). We recommend not to provide a download (or play) button in the end user interface (or disable/grey it out) for any releases with lockerRelease.available set to false.

Download limits - several licensors restrict the number of times their content can be re-downloaded. This is indicated in the lockerTrack.remainingDownloads property. If the value reaches 0 then given track can't be re-downloaded anymore (download attemps resulting in error message). Given the download limits vary from licensor to licensor we DON'T recommend to display the remaining downloads to end users to avoid confusion. But we DO recomend to disable download button (and provide an explanatory message) when all downloads have been used up. To improve end user experience you can also display a friendly warning when only 1 last re-download remains. Streaming from locker does not affect remaining downloads and tracks with their re-download limits used up can still be streamed.

Example request: http://api.7digital.com/1.2/user/locker?sort=purchaseDate%20desc&oauth_token=...

AttributeTypeDescription
oauth_token
required
integer

user's OAuth accesstoken

pagesizeinteger

sets the number of releases that will be returned per page, the default is 10, the maximum is 50

pageinteger

sets the page to be returned in paged list of the customers releases and tracks, by default this is the first page. page=1

countrystring

The code of the country the end user resides in. The country will default to GB if not provided.

releaseIdinteger

The 7digital ID of the release to be that we are interested in. You will use this to filter out and return a specific release from the user's locker. Will return an empty locker response if no match is found.

trackIdinteger

If supplied together with the releaseId, will returned only that specific track (provided it exists in user locker). Will return an empty locker response if no match is found.

purchaseIdinteger

If supplied will return only the releases and tracks for that basket. Will return an error if no tracks are found.

sortstring

Orders the returned results. Supplied as a string in the format: "{sortColumn} {sortOrder}", for example: "purchaseDate desc" will show recent purchases first. Currently you can sort by releaseTitle (asc or desc), purchaseDate (asc or desc) and artistName (asc or desc). If no sort is supplied, the default is "releaseTitle asc". If no order is supplied the default is ascending.

application/xml response

<response status="ok" version="1.2">
  <locker>
    <lockerReleases>
      <page>1</page>
      <pageSize>10</pageSize>
      <totalItems>1</totalItems>
      <lockerRelease>
        <release id="302123">
          <title>Original Album Classics</title>
          <version/>
          <type>Album</type>
          <artist id="1194">
            <name>Patti Smith</name>
            <appearsAs>Patti Smith</appearsAs>
            <url>http://www.7digital.com/artists/patti-smith/?partner=1401</url>
            <slug>patti-smith</slug>
          </artist>
          <url>http://www.7digital.com/artists/patti-smith/original.../?partner=1401</url>
          <slug>original-album-classics</slug>
          <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/003/021/0000302123_50.jpg</image>
          <releaseDate>2008-06-16T00:00:00+01:00</releaseDate>
          <licensor id="2">
            <name>Sony Music</name>
          </licensor>
          <label id="92">
            <name>Arista</name>
          </label>
        </release>
        <lockerTracks>
          <lockerTrack>
            <track id="3544116">
              <title>Gloria</title>
              <version>Digitally Remastered 1996</version>
              <artist id="1194">
                <name>Patti Smith</name>
                <appearsAs>Patti Smith</appearsAs>
                <url>http://www.7digital.com/artists/patti-smith/?partner=1401</url>
                <slug>patti-smith</slug>
              </artist>
              <trackNumber>2</trackNumber>
              <duration>150</duration>
              <isrc>USRC10301017</isrc>
              <url>http://www.7digital.com/artists/patti-smith/original.../01-Gloria?partner=1401</url>
              <discNumber>1</discNumber>
              <number>2</number>
            </track>
            <remainingDownloads>355</remainingDownloads>
            <purchaseDate>2009-07-22T11:41:41+01:00</purchaseDate>
            <downloadUrls>
              <downloadUrl>
                <url>http://media.geo.7digital.com/media/user/downloadtrack...</url>
                <format id="17">
                  <fileFormat>MP3</fileFormat>
                  <bitRate>320</bitRate>
                  <drmFree>true</drmFree>
                </format>
              </downloadUrl>
            </downloadUrls>
          </lockerTrack>
        </lockerTracks>
        <available>true</available>
      </lockerRelease>
    </lockerReleases>
  </locker>
</response>

Editorial

About this API

The Editorial API gives you access to content curated by the 7digital Editorial Team.

Get editorial list GET /editorial/list

Returns a curated list of artists, albums or tracks. Available editorial lists are described in the table below. Please note that some lists might be empty for certain countries and/or at certain times in which case the list should not be displayed to users and we recommend to replace the empty list with the next editorial list in prominence order.

Since the curated lists accessible through this endpoint are put together with download services in mind, the endpoint only accepts a 'usageTypes' parameter of value 'download', other values will return an error.

The following lists are currently published by our team:

TitleKeyUpdate frequencyDescription
New albumsnew-albumsweeklyA long list (14+ products) of hand-picked albums considered to be the week's musical highlights/priority new albums.
New tracksnew-tracksweeklyA long list (14+ products) of hand-picked tracks considered to be the week's musical highlights/priority new tracks.
Pre-ordersnew-preordersweekly-fortnightlyA list of hand-picked pre-orders, which are often major upcoming priorities. In some instances, these are not available on other platforms yet, offering competitive differentiation.

Example request:

GET http://api.7digital.com/1.2/editorial/list?key=new-albums&country=GB&oauth_consumer_key=YOUR_KEY_HERE&usageTypes=download

AttributeTypeDescription
key
required
string

Unique key referencing the list to be returned as provided by 7digital. See list of available editorial list and their keys.

country
required
string

For a localized list of content please provide a country code.

usageTypesstring

This endpoint only supports "usageTypes=download".

Method specific error codes:

1001 - Required parameter missing
Not all mandatory parameters have been provided.

2001 - The list was not found
List with given key has not been found.

application/xml response

<response status="ok" version="1.2">
  <list id="3876">
    <key>new-albums</key>
    <listItems>
      <listItem id="5098706">
        <type>release</type>
        <release id="5098706">
          <title>Anti</title>
          <version>Explicit</version>
          <type>Album</type>
          <barcode>00851365006578</barcode>
          <year>2015</year>
          <explicitContent>true</explicitContent>
          <slug>anti</slug>
          <artist id="10653">
            <name>Rihanna</name>
            <appearsAs>Rihanna</appearsAs>
            <slug>rihanna</slug>
          </artist>
          <image>
            http://artwork-cdn.7static.com/static/img/sleeveart/00/050/987/0005098706_50.jpg
          </image>
          <label id="549385">
            <name>
              (P) 2016 Westbury Road Entertainment. Distributed by Roc Nation Records
            </name>
          </label>
          <licensor id="1">
            <name>Universal</name>
          </licensor>
          <popularity>0</popularity>
          <duration>2620</duration>
          <trackCount>13</trackCount>
          <download>
            <releaseDate>2016-01-29T00:00:00Z</releaseDate>
            <packages>
              <package id="2">
                <description>Standard</description>
                <price>
                  <currencyCode>GBP</currencyCode>
                  <sevendigitalPrice>4.99</sevendigitalPrice>
                  <recommendedRetailPrice>9.49</recommendedRetailPrice>
                </price>
                <formats>
                  <format id="33">
                    <description>AAC 320</description>
                  </format>
                  <format id="17">
                    <description>MP3 320</description>
                  </format>
                </formats>
              </package>
            </packages>
          </download>
        </release>
      </listItem>
      ...
    </listItems>
  </list>
</response>

Get editorial content for release GET /release/editorial

This method returns editorial content for the given release. This includes reviews written by our editorial team (~100 words) and recommendations suggested by employees of 7digital (~70 words).

Example request:

GET http://api.7digital.com/1.2/release/editorial?releaseid=1279755&oauth_consumer_key=YOUR_KEY_HERE&country=US&lang=en

AttributeTypeDescription
releaseId
required
integer

The unique identifier of the release.

country
required
string

ISO 3166-1 Alpha-2 code of the country the user resides in.

langstring

ISO 639-1 code of the language the review form will be displayed in. Currently supported languages are: en, es, it, de, nl, pt and fr. If not provided the language will be picked according to the country parameter.

application/xml response

<response status="ok" version="1.0">
  <editorial>
    <review>
      <text>
        Peek behind &lt;a href="/artists/sbtrkt/"&gt;SBTRKT&lt;/a&gt;’s Polynesian mask and you’ll find London lad Aaron
        Jerome, the camera-shy DJ already responsible for a string of storming singles and blinding remixes for big names like &lt;a
        href="/artists/modeselektor/"&gt;Modeselektor&lt;/a&gt; and &lt;a href="/artists/basement-jaxx/"&gt;Basement
        Jaxx&lt;/a&gt;. On this, his &lt;a href="/artists/sbtrkt/sbtrkt/"&gt;full-length debut&lt;/a&gt; for Young Turks, Jerome
        has capitalised on the promise of last year’s &lt;a href="/artists/sbtrkt/step-in-shadows-ep/"&gt;Step in Shadows&lt;/a&gt; EP,
        to deliver a brilliant album of vocal-heavy dance. Taking in broken beat and electro on &#x2018;&lt;a
        href="/artists/sbtrkt/sbtrkt/04/"&gt;Sanctuary&lt;/a&gt;’, UK funky on the &lt;a
        href="/artists/sbtrkt-and-sampha/"&gt;Sampha&lt;/a&gt;-featuring &#x2018;&lt;a
        href="/artists/sbtrkt/sbtrkt/07/"&gt;Something Goes Right&lt;/a&gt;’ and delicious, wobbling, dubstep bass lines on
        &#x2018;&lt;a href="/artists/sbtrkt/sbtrkt/03/"&gt;Wildfire&lt;/a&gt;’, &lt;a
        href="/artists/sbtrkt/sbtrkt/"&gt;SBTRKT&lt;/a&gt; is a thrilling snapshot of UK urban dance culture in 2011. It’s time for Jerome
        to kiss his anonymity goodbye &#x2013; this is going to be huge.
      </text>
      <author>7digital</author>
    </review>
    <staffRecommendation>
      <text>
        "Clinging onto those final summer vibes, SBTRKT's debut never grows old... Infectious rhythms, heavy with vocals and deep in two-step, RnB and Chicago house." 
      </text>
      <author>Sharri Morris</author>          
    </staffRecommendation>
  </editorial>
</response>

Playlists version 1.2

About this API

This section details the endpoints used to retreieve, create and delete a list of selected tracks

List playlists GET /playlists

Returns a list of the partner's playlists, as well as any public playlists created by other partners.

If an oauth_token is provided then also given users' private playlists will be included in the response. The list can be filtered to display only lists created by a specific user by providing a user parameter. (Currently only 7digital user IDs are supported for filtering).

See also user/playlist API method for alternate way of listing only playlists owned by current user.

Example request: http://api.7digital.com/1.2/playlists?user=id:12345&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
userstring

This allows you to pass the id of a user you wish to view the playlists of a specific user. It must be in the format id:userId e.g. user=id:12345

oauth_tokenstring

User's OAuth access token - allows user to view Private playlist if it belongs to them

qstring

Filter playlists by playlist name

visibilitystring

Filter playlists by visibility. Supported values are: private, public, partner, publicanduser, all

statusstring

Filter playlists by status. Supported values are: draft, published.

favouritedBystring

Filter playlists by a user id to return the ones that user has favourited. It must be in the format id:userId e.g. favouritedBy=id:12345. This only applies to partner playlists.

pageinteger - default: 1

Page number of the result set.

pageSizeinteger - default: 10

Number of items to be returned per page. Maximum page size is 500

application/xml response

<response status="ok" version="1.2">
  <playlists>
    <page>1</page>
    <pageSize>10</pageSize>
    <totalItems>1</totalItems>
    <playlist id="5231cf08278a490db4ede678">
      <name>My Chillout Mix</name>
      <links>
        <link rel="self" href="http://api.7digital.com/1.2/playlists/5231cf08278a490db4ede678"/>
        <link rel="details" href="http://api.7digital.com/1.2/playlists/5231cf08278a490db4ede678/details"/>
        <link rel="tracks" href="http://api.7digital.com/1.2/playlists/5231cf08278a490db4ede678/tracks"/>
      </links>
      <trackCount>2</trackCount>
      <status>draft</status>
      <visibility>Private</visibility>
      <annotations>
        <annotation key="name">value</annotation>
      </annotations>
      <lastUpdated>2013-09-12T14:26:13.108Z</lastUpdated>
    </playlist>
  </playlists>
</response>

application/json response

{
  "playlists":
  {
    "page":1,
    "pageSize":10,
    "totalItems":1,
    "playlist":[
    {
      "id": "51ed5cfec9021614f462bb7b",
      "name": "My Chillout Mix",
      "links": [
      {
        "rel": "self",
        "href": "http://api.7digital.com/1.2/playlists/51ed5cfec9021614f462bb7b"
      },
      {
        "rel": "details",
        "href": "http://api.7digital.com/1.2/playlists/51ed5cfec9021614f462bb7b/details"
      },
      {
        "rel": "tracks",
        "href": "http://api.7digital.com/1.2/playlists/51ed5cfec9021614f462bb7b/tracks"
      }],
      "trackCount": 7,
      "status": "published"
      "visibility": "Public",
      "annotations":
                  {
        "key": "value"
      },
      "lastUpdated": "2013-10-02T12:16:04.615Z"
    }]
  }
}

Create playlist POST /playlists

Creates a new playlist owned by the current user. Each playlist has to have an owner, i.e. oauth_token representing a user has to be provided.

When creating a new playlist you can provide an inital track listing in the request or create an empty playlists by leaving the "tracks" array empty.

Descriptions are limited to 500 characters. Descriptions over this length are truncated.

IMPORTANT: When adding a track to a playlist there are certain properties you can specify, see playlists/{playlistId}/tracks for details

Example request: POST http://api.7digital.com/1.2/user/playlists Authorization: OAuth realm="...", oauth_consumer_key="YOUR_KEY_HERE", oauth_token="..." Content-type: application/json { "name" : "party time", "visibility" : "Public", "tracks" : [{ "trackId" : "5495893", "trackTitle" : "No You Girls", "trackVersion" : "Trentmoller Remix", "artistAppearsAs" : "Franz Ferdinand", "releaseId" : "496338", "releaseTitle" : "No You Girls Remixes Part 2", "releaseArtistAppearsAs" : "Franz Ferdinand", "releaseVersion" : "Digital Download", "imageUrl": "http://artwork-cdn.7static.com/static/img/sleeveart/00/003/865/0000386513_$size$.jpg", "description": "A chillout playlist for relaxing to", "source" : "7digital" }], "annotations" : { "key" : "value", "anotherkey" : "another value" } }

AttributeTypeDescription
oauth_tokenstring

User's OAuth access token, if creating a playlist for a user. If omitted, the playlist will be created for the partner.

FieldTypeDescription
name
required
string

The name of the playlist

statusstring - default: published

The status of the playlist. Supported values are draft, published.

visibilitystring - default: private

The visibility of the playlist. Supported values are private and public.

descriptionstring

The description of the playlist

tracksstring

An array of objects, each of which can contain:

trackId (string, optional): a unique identifer for the playlist item

trackTitle (string, optional): the name of the playlist item

trackVersion (string, optional): the version of the item e.g. deluxe

artistAppearsAs (string, optional): the artist name

releaseId (string, optional): a unique identifier for the release

releaseTitle (string, optional): the title of the release

releaseArtistAppearsAs (string, optional): The artist of the release e.g. Various Artists

releaseVersion (string, optional): The version of the release

annotationsstring

a hash of any additional parameters to be saved

application/xml response

<response status="ok" version="1.2">
  <playlist id="51ed5cfec9021614f462bb7b">
    <name>party time</name>
    <visibility>Public</visibility>
    <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/004/963/0000496338_$size$.jpg</image>
    <description>A playlist to party to</description>
    <status>published</status>
    <tracks>
      <track>
        <playlistItemId>524ae1a1c90216252c1837ab</playlistItemId>
        <trackId>5495893</trackId>
        <trackTitle>No You Girls</trackTitle>
        <trackVersion>Trentmoller Remix</trackVersion>
        <artistAppearsAs>Franz Ferdinand</artistAppearsAs>
        <releaseId>496338</releaseId>
        <releaseTitle>No You Girls Remixes Part 2</releaseTitle>
        <releaseArtistAppearsAs>Franz Ferdinand</releaseArtistAppearsAs>
        <releaseVersion>Digital Download<releaseVersion/>
        <source>7digital</source>
        <audioUrl>http://stream.svc.7digital.net/stream/catalogue?trackId=5495893</audioUrl>
        <user>id:4874383</user>
      <track>
    </tracks>
    <annotations>
      <annotation key="key">value</annotation>
      <annotation key="anotherkey">another value</annotation>
    </annotations>
    <lastUpdated>2013-10-02T12:16:04.615Z</lastUpdated>
  </playlist>
</response>

Retrieve playlist GET /playlists/{playlistId}

Returns playlist details and track listing.

Access to private playlists is only allowed when an oauth_token of the playlist owner is provided, or the partner owns the playlist.

Example request: http://api.7digital.com/1.2/playlists/51ed5cfec9021614f462bb7b?oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
oauth_tokenstring

User's OAuth access token - allows user to view private playlist if it belongs to them

application/xml response

<response status="ok" version="1.2">
  <playlist id="51ed5cfec9021614f462bb7b">
    <name>My Chillout Mix</name>
    <visibility>Private</visibility>
    <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/004/963/0000496338_$size$.jpg</image>
    <description>Laid back listening</description>
    <status>published</status>
    <tracks>
      <track>
        <playlistItemId>524ae1a1c90216252c1837ab</playlistItemId>
        <trackId>29675004</trackId>
        <trackTitle>Lux</trackTitle>
        <trackVersion></trackVersion>
        <artistAppearsAs>Empire Of The Sun</artistAppearsAs>
        <releaseId>2766569</releaseId>
        <releaseTitle>Ice On The Dune</releaseTitle>
        <releaseArtistAppearsAs>Ice On The Dune</releaseArtistAppearsAs>
        <releaseVersion/>
        <source>7digital</source>
        <audioUrl>http://stream.svc.7digital.net/stream/catalogue?trackId=5495893</audioUrl>
        <user>id:4874383</user>
      <track>
    </tracks>
    <annotations>
      <annotation key="key">value</annotation>
    </annotations>
    <lastUpdated>2013-10-02T12:16:04.615Z</lastUpdated>
  </playlist>
</response>

application/json response

{
  "playlist": {
    "id": "51ed5cfec9021614f462bb7b",
    "name": "My Chillout Mix",
    "status": "published",
    "visibility": "Private",
    "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/004/963/0000496338_$size$.jpg",
    "description": "Laid back listening",
    "tracks": [{
      "playlistItemId": "52cd88c2c902161660aeab80",
      "trackId": "5495893",
      "trackTitle": "No You Girls",
      "trackVersion": "Trentmoller Remix",
      "artistAppearsAs": "Franz Ferdinand",
      "releaseId": "496338",
      "releaseTitle": "No You Girls Remixes Part 2",
      "releaseArtistAppearsAs": "Franz Ferdinand",
      "releaseVersion": "Digital Download",
      "source": "7digital",
      "audioUrl": "http://stream.svc.7digital.net/stream/catalogue?trackId=5495893",
      "user": "id:4874383",
    }],
    "annotations": {
      "key": "value"
    },
    "lastUpdated": "2013-10-02T12:16:04.615Z"
  }
}

Replace playlist POST /playlists/{playlistId}

Replaces a playlist at {playlistId} with the supplied playlist.

The playlist can only be replaced by its owner, i.e. oauth_token representing the user has to be provided.

This method is intended to be used when multiple changes have been made to playlist off-line. If the user is online each individual change to playlist should be submitted as it happens using the endpoints for modifying playlist details, adding and deleting individual tracks.

Example request: POST http://api.7digital.com/1.2/playlists/51ed5cfec9021614f462bb7b Authorization: OAuth realm="...", oauth_consumer_key="YOUR_KEY_HERE", oauth_token="..." Content-type: application/json { "name": "party time", "status": "published", "visibility": "Public", "imageUrl": "http://artwork-cdn.7static.com/static/img/sleeveart/00/004/963/0000496338_$size$.jpg", "description": "Hits to get the party started", "tracks" : [ { "trackId" : "5495893", "trackTitle" : "No You Girls", "trackVersion" : "Trentmoller Remix", "artistAppearsAs" : "Franz Ferdinand", "releaseId" : "496338", "releaseTitle" : "No You Girls Remixes Part 2", "releaseArtistAppearsAs" : "Franz Ferdinand", "releaseVersion" : "Digital Download", "source" : "7digital" }], "annotations" : { "key" : "value", "anotherkey" : "another value" } }

AttributeTypeDescription
oauth_tokenstring

User's OAuth access token

application/xml response

<response status="ok" version="1.2">
  <playlist id="51ed5cfec9021614f462bb7b">
    <name>party time</name>
    <description>Hits to get the party started</description>
    <status>published</status>
    <visibility>Public</visibility>
    <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/004/963/0000496338_$size$.jpg</image>
    <description>http://artwork-cdn.7static.com/static/img/sleeveart/00/004/963/0000496338_$size$.jpg</description>
    <tracks>
      <track>
        <playlistItemId>524ae1a1c90216252c1837ab</playlistItemId>
        <trackId>5495893</trackId>
        <trackTitle>No You Girls</trackTitle>
        <trackVersion>Trentmoller Remix</trackVersion>
        <artistAppearsAs>Franz Ferdinand</artistAppearsAs>
        <releaseId>496338</releaseId>
        <releaseTitle>No You Girls Remixes Part 2</releaseTitle>
        <releaseArtistAppearsAs>Franz Ferdinand</releaseArtistAppearsAs>
        <releaseVersion>Digital Download<releaseVersion/>
        <source>7digital</source>
        <audioUrl>http://stream.svc.7digital.net/stream/catalogue?trackId=5495893</audioUrl>
        <user>id:4874383</user>
        <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/004/963/0000496338_$size$.jpg</image>
      <track>
    </tracks>
    <annotations>
      <annotation key="key">value</annotation>
      <annotation key="anotherkey">another value</annotation>
    </annotations>
    <lastUpdated>2013-10-02T12:16:04.615Z</lastUpdated>
  </playlist>
</response>

Delete playlist DELETE /playlists/{playlistId}

Deletes the playlist at {playlistId}.

The playlist can only be deleted by its owner, i.e. oauth_token representing the user has to be provided, or the partner that owns the playlist.

NB: This action is irreversible - deleted playlists can't be recovered. We advise you to ask users for confirmation or delay calling the API by couple of seconds whilst providing users with option to undo their action.

Example request: DELETE http://api.7digital.com/1.2/playlists/51ed5cfec9021614f462bb7b

AttributeTypeDescription
oauth_tokenstring

User's OAuth access token

application/xml response

HTTP/1.1 200 OK

Favourite playlist PUT /playlists/{playlistId}/favourites/{userId}

Favourite the playlist at {playlistId} for user at {userId}. Only partner playlists can be favourited.

Example request: PUT http://api.7digital.com/1.2/playlists/51ed5cfec9021614f462bb7b/favourites/123?oauth_consumer_key=YOUR_KEY_HERE&oauth_token=...

application/xml response

HTTP/1.1 200 OK

Unfavourite playlist DELETE /playlists/{playlistId}/favourites/{userId}

Unfavourite the playlist at {playlistId} for user at {userId}. Only partner playlists can be favourited.

Example request: DELETE http://api.7digital.com/1.2/playlists/51ed5cfec9021614f462bb7b/favourites/123?oauth_consumer_key=YOUR_KEY_HERE&oauth_token=...

application/xml response

HTTP/1.1 200 OK

Playlist details GET /playlists/{playlistId}/details

Returns details of given playlist without including all playlist tracks in the response.

Access to private playlists details is only allowed when an oauth_token of the playlist owner is provided, or the partner owns the playlist.

Example request: http://api.7digital.com/1.2/playlists/51ed5cfec9021614f462bb7b/details?oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
oauth_tokenstring

User's OAuth access token, required if trying to view signed in users Private playlist

application/xml response

<response status="ok" version="1.2">
  <playlist id="51ed5cfec9021614f462bb7b">
    <name>My Chillout Mix</name>
    <status>published</status>
    <visibility>Public</visibility>
    <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/004/963/0000496338_$size$.jpg</image>
    <description>Laid back listening</description>
    <annotations>
      <annotation key="key">value</annotation>
    </annotations>
    <lastUpdated>2013-10-02T12:16:04.615Z</lastUpdated>
  </playlist>
</response>

application/json response

{
  "playlist": {
    "id": "51ed5cfec9021614f462bb7b",
    "name": "My Chillout Mix",
    "visibility": "Public",
    "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/004/963/0000496338_$size$.jpg",
    "description": "Laid back listening",
    "status": "published",
    "annotations": {
      "key": "value",
    },
    "lastUpdated": "2013-10-02T12:16:04.615Z"
  }
}

Update playlist details POST /playlists/{playlistId}/details

Updates playlist details at {playlistId} with the supplied playlist details.

It does not affect playlist tracks. Use this method e.g. for changing visibility of the playlist from private to public.

The playlist details can only be updated by the playlist owner, i.e. oauth_token representing the user has to be provided.

Descriptions are limited to 500 characters. Descriptions over this length are truncated.

Example request: POST http://api.7digital.com/1.2/playlists/51ed5cfec9021614f462bb7b/details Authorization: OAuth realm="...", oauth_consumer_key="YOUR_KEY_HERE", oauth_token="..." Content-type: application/json { "name": "party time", "visibility": "Public", "imageUrl": "http://artwork-cdn.7static.com/static/img/sleeveart/00/004/963/0000496338_$size$.jpg", "description": "Laid back listening", "annotations": { "key": "value" } }

AttributeTypeDescription
oauth_token
required
string

User's OAuth access token

application/xml response

HTTP/1.1 200 OK
Location: http://api.7digital.com/1.2/playlists/51ed5cfec9021614f462bb7b

Add tracks to playlist POST /playlists/{playlistId}/tracks

Adds an array of tracks to the playlist at {playlistId}.

Tracks can only be added by the playlist owner, i.e. oauth_token representing the user has to be provided, or the partner owns the playlist. All metadata (e.g. track title, artist, etc) for tracks needs to be provided in the API call.

The "source" property is optional, and defaults to 7digital. This relates to the audioUrl and image response and can be used to indicate a different source for the physical file, it can be any string you want as long as the application you use to add the track can understand it The "audioUrl" property is optional and allows you to specify a different source for the physical file e.g. source="local" and audioUrl="file://a.specific.file.location.mp3" could mean that the consuming application understands how to handle a file stored at the given audioUrl

It is advisable that you only use these extra parameters if you need to use them. It's also advisable if you are accessing public playlists that some tracks may not be playable by your application, so we would advise inclusiding an option to hide, grey out non source=7digital tracks

Example request: POST http://api.7digital.com/1.2/playlists/51ed5cfec9021614f462bb7b Authorization: OAuth realm="...", oauth_consumer_key="YOUR_KEY_HERE", oauth_token="..." Content-type: application/json [{ "trackId" : "5495893", "trackTitle" : "No You Girls", "trackVersion" : "Trentmoller Remix", "artistAppearsAs" : "Franz Ferdinand", "releaseId" : "496338", "releaseTitle" : "No You Girls Remixes Part 2", "releaseArtistAppearsAs" : "Franz Ferdinand", "releaseVersion" : "Digital Download", "source" : "7digital" }, { "trackId" : "3121833", "trackTitle" : "Kids", "trackVersion" : "", "artistAppearsAs" : "MGMT", "releaseId" : "280218", "releaseTitle" : "Oracula Spectacular", "releaseArtistAppearsAs" : "MGMT", "releaseVersion" : "", "source" : "local", "audioUrl" : "file://a.specific.file.location.mp3" }]

AttributeTypeDescription
oauth_tokenstring

User's OAuth access token

application/xml response

<response status="ok" version="1.2">
  <playlist id="51ed5cfec9021614f462bb7b">
    <name>My Chillout Mix</name>
    <status>published</status>
    <visibility>Public</visibility>
    <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/004/963/0000496338_$size$.jpg</image>
    <description>Laid back listening</description>
    <tracks>
      <track>
        <playlistItemId>52cd88c2c902161660aeab80</playlistItemId>
        <trackId>5495893</trackId>
        <trackTitle>No You Girls</trackTitle>
        <trackVersion>Trentmoller Remix</trackVersion>
        <artistAppearsAs>Franz Ferdinand</artistAppearsAs>
        <releaseId>496338</releaseId>
        <releaseTitle>No You Girls Remixes Part 2</releaseTitle>
        <releaseArtistAppearsAs>Franz Ferdinand</releaseArtistAppearsAs>
        <releaseVersion/>
        <source>7digital</source>
        <audioUrl>http://stream.svc.7digital.net/stream/catalogue?trackId=5495893</audioUrl>
        <user>id:4874383</user>
        <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/004/963/0000496338_$size$.jpg</image>
      </track>
      <track>
        <playlistItemId>52cd88c2c902161660aeab81</playlistItemId>
        <trackId>3121833</trackId>
        <trackTitle>Kids</trackTitle>
        <trackVersion></trackVersion>
        <artistAppearsAs>MGMT</artistAppearsAs>
        <releaseId>280218</releaseId>
        <releaseTitle>Oracula Spectacular</releaseTitle>
        <releaseArtistAppearsAs>MGMT</releaseArtistAppearsAs>
        <releaseVersion/>
        <source>7digital</source>
        <audioUrl>http://stream.svc.7digital.net/stream/catalogue?trackId=3121833</audioUrl>
        <user>id:4874383</user>
        <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/002/802/0000280218_$size$.jpg</image>
      </track>
    </tracks>
    <annotations />
    <lastUpdated>2013-10-02T12:16:04.615Z</lastUpdated>
  </playlist>
</response>

application/json response

{
  "playlist": {
    "id": "51ed5cfec9021614f462bb7b",
    "name": "My Chillout Mix",
    "status": "published",
    "visibility": "Public",
    "image": "http://artwork-cdn.7static.com/static/img/sleeveart/00/004/963/0000496338_$size$.jpg",
    "description": "Laid back listening",
    "tracks" : [{
      "playlistItemId" : "52cd88c2c902161660aeab80",
      "trackId" : "5495893",
      "trackTitle" : "No You Girls",
      "trackVersion" : "Trentmoller Remix",
      "artistAppearsAs" : "Franz Ferdinand",
      "releaseId" : "496338",
      "eleaseTitle" : "No You Girls Remixes Part 2",
      "releaseArtistAppearsAs" : "Franz Ferdinand",
      "releaseVersion" : "Digital Download",
      "source" : "7digital",
      "audioUrl" : "http://stream.svc.7digital.net/stream/catalogue?trackId=5495893",
      "user" : "id:4874383",
      "image" : "http://artwork-cdn.7static.com/static/img/sleeveart/00/004/963/0000496338_$size$.jpg"
    },
    {
      "playlistItemId" : "52cd88c2c902161660aeab81",
      "trackId" : "3121833",
      "trackTitle" : "Kids",
      "trackVersion" : "",
      "artistAppearsAs" : "MGMT",
      "releaseId" : "280218",
      "releaseTitle" : "Oracula Spectacular",
      "releaseArtistAppearsAs" : "MGMT",
      "releaseVersion" : "",
      "source" : "7digital",
      "audioUrl" : "http://stream.svc.7digital.net/stream/catalogue?trackId=3121833",
      "user" : "id:4874383",
      "image" : "http://artwork-cdn.7static.com/static/img/sleeveart/00/002/802/0000280218_$size$.jpg"
    }],
    "annotations": { },
    "lastUpdated": "2013-10-02T12:16:04.615Z"
  }
}

Remove tracks DELETE /playlists/{playlistId}/tracks/{playlisttrackid}

Removes the specified track {playlisttrackid} from the specified playlist at {playlistId}.

Tracks can only be removed by the playlist owner, i.e. oauth_token representing the user has to be provided.

Example request: DELETE http://api.7digital.com/1.2/playlists/51ed5cfec9021614f462bb7b/tracks/52cd88c2c902161660aeab81?oauth_consumer_key=YOUR_KEY_HERE&oauth_token=...

AttributeTypeDescription
oauth_token
required
string

User's OAuth access token

application/xml response

<response status="ok" version="1.2">
  <playlist id="51ed5cfec9021614f462bb7b">
    <name>My Chillout Mix</name>
    <status>published</status>
    <visibility>Public</visibility>
    <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/004/963/0000496338_$size$.jpg</image>
    <description>Laid back listening</description>
    <tracks>
      <track>
        <playlistItemId>52cd88c2c902161660aeab80</playlistItemId>
        <trackId>5495893</trackId>
        <trackTitle>No You Girls</trackTitle>
        <trackVersion>Trentmoller Remix</trackVersion>
        <artistAppearsAs>Franz Ferdinand</artistAppearsAs>
        <releaseId>496338</releaseId>
        <releaseTitle>No You Girls Remixes Part 2</releaseTitle>
        <releaseArtistAppearsAs>Franz Ferdinand</releaseArtistAppearsAs>
        <releaseVersion/>
        <source>7digital</source>
        <audioUrl>http://stream.svc.7digital.net/stream/catalogue?trackId=5495893</audioUrl>
        <user>id:4874383</user>
        <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/004/963/0000496338_$size$.jpg</image>
      </track>
    </tracks>
    <annotations />
    <lastUpdated>2013-10-02T12:16:04.615Z</lastUpdated>
  </playlist>
</response>

Move tracks POST /playlists/{playlistId}/tracks/{playlisttrackid}/move

Moves the specified track {playlisttrackid} from the specified playlist at {playlistId}, to a location dictated by the "pos" parameter of the POST request data.

Tracks can only be moved by the playlist owner, i.e. oauth_token representing the user has to be provided. The "pos" parameter is the playlistTrackId of the track you wish your selected track to appear AFTER. A value of "0" indicates you wish to place the track at the front of the list.

NOTE: Tracks can also be rearranged at the client side and then posted back to the ~/playlists/{playlistId} endpoint, this offers a lightweight way of doing the same thing. Response with Http OK and the newly reordered playlist

Example request: POST http://api.7digital.com/1.2/playlists/51ed5cfec9021614f462bb7b/tracks/524ae1a1c90216252c1837ab/move Authorization: OAuth realm="...", oauth_consumer_key="YOUR_KEY_HERE", oauth_token="..." Content-type: application/json {"pos" : "524ae1a1c90216252c1837cd"}

Example request: POST http://api.7digital.com/1.2/playlists/51ed5cfec9021614f462bb7b/tracks/524ae1a1c90216252c1837ab/move Authorization: OAuth realm="...", oauth_consumer_key="YOUR_KEY_HERE", oauth_token="..." Content-type: application/x-www-form-urlencoded pos=524ae1a1c90216252c1837cd

AttributeTypeDescription
oauth_token
required
string

User's OAuth access token

application/xml response

<response status="ok" version="1.2">
  <playlist id="51ed5cfec9021614f462bb7b">
    <name>My Chillout Mix</name>
    <status>published</status>
    <visibility>Public</visibility>
    <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/004/963/0000496338_$size$.jpg</image>
    <description>Laid back listening</description>
    <tracks>
      <track>
        <playlistItemId>52cd88c2c902161660aeab80</playlistItemId>
        <trackId>5495893</trackId>
        <trackTitle>No You Girls</trackTitle>
        <trackVersion>Trentmoller Remix</trackVersion>
        <artistAppearsAs>Franz Ferdinand</artistAppearsAs>
        <releaseId>496338</releaseId>
        <releaseTitle>No You Girls Remixes Part 2</releaseTitle>
        <releaseArtistAppearsAs>Franz Ferdinand</releaseArtistAppearsAs>
        <releaseVersion/>
        <source>7digital</source>
        <audioUrl>http://stream.svc.7digital.net/stream/catalogue?trackId=5495893</audioUrl>
        <user>id:4874383</user>
        <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/004/963/0000496338_$size$.jpg</image>
      </track>
      <track>
        <playlistItemId>52cd88c2c902161660aeab81</playlistItemId>
        <trackId>3121833</trackId>
        <trackTitle>Kids</trackTitle>
        <trackVersion></trackVersion>
        <artistAppearsAs>MGMT</artistAppearsAs>
        <releaseId>280218</releaseId>
        <releaseTitle>Oracula Spectacular</releaseTitle>
        <releaseArtistAppearsAs>MGMT</releaseArtistAppearsAs>
        <releaseVersion/>
        <source>7digital</source>
        <audioUrl>http://stream.svc.7digital.net/stream/catalogue?trackId=3121833</audioUrl>
        <user>id:4874383</user>
        <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/002/802/0000280218_$size$.jpg</image>
      </track>
    </tracks>
    <annotations />
    <lastUpdated>2013-10-02T12:16:04.615Z</lastUpdated>
  </playlist>
</response>

application/json response

{
  "playlist": {
    "id": "51ed5cfec9021614f462bb7b",
    "name": "My Chillout Mix",
    "status": "published",
    "visibility": "Public",
    "image":"http://artwork-cdn.7static.com/static/img/sleeveart/00/004/963/0000496338_$size$.jpg",
    "description":"Laid back listening",
    "tracks" : [{
      "playlistItemId" : "52cd88c2c902161660aeab80",
      "trackId" : "5495893",
      "trackTitle" : "No You Girls",
      "trackVersion" : "Trentmoller Remix",
      "artistAppearsAs" : "Franz Ferdinand",
      "releaseId" : "496338",
      "releaseTitle" : "No You Girls Remixes Part 2",
      "releaseArtistAppearsAs" : "Franz Ferdinand",
      "releaseVersion" : "Digital Download",
      "source" : "7digital",
      "audioUrl" : "http://stream.svc.7digital.net/stream/catalogue?trackId=5495893",
      "user" : "id:4874383",
      "image" : "http://artwork-cdn.7static.com/static/img/sleeveart/00/004/963/0000496338_$size$.jpg"
    },
    {
      "playlistItemId" : "52cd88c2c902161660aeab81",
      "trackId" : "3121833",
      "trackTitle" : "Kids",
      "trackVersion" : "",
      "artistAppearsAs" : "MGMT",
      "releaseId" : "280218",
      "releaseTitle" : "Oracula Spectacular",
      "releaseArtistAppearsAs" : "MGMT",
      "releaseVersion" : "",
      "source" : "7digital",
      "audioUrl" : "http://stream.svc.7digital.net/stream/catalogue?trackId=3121833",
      "user" : "id:4874383",
      "image" : "http://artwork-cdn.7static.com/static/img/sleeveart/00/002/802/0000280218_$size$.jpg"
    }],
    "annotations": { },
    "lastUpdated": "2013-10-02T12:16:04.615Z"
  }
}

Playlist tags GET /playlists/tags

Return a list of unique tags that have been added to a partner's playlists

Example request: http://api.7digital.com/1.2/playlists/tags?oauth_consumer_key=YOUR_KEY_HERE&oauth_token=...

application/xml response

<response status="ok" version="1.2">
  <tags>
    <tag>
      <name>Dance</name>
    </tag>
    <tag>
      <name>Rock</name>
    </tag>
    <tag>
      <name>Pop</name>
    </tag>
 </tags>
</response>

application/json response

{
  "tags": [{
    "name": "Dance"
  }, {
    "name": "Rock"
  }, {
    "name": "Pop"
  }]
}

Retrieve user's playlists GET /user/playlists

Return a list of playlists owned by current user (identified by the provided access token).

Example request: http://api.7digital.com/1.2/user/playlists?oauth_consumer_key=YOUR_KEY_HERE&oauth_token=...

AttributeTypeDescription
oauth_token
required
string

User's OAuth access token

application/xml response

<response status="ok" version="1.2">
  <playlists>
    <page>1</page>
    <pageSize>10</pageSize>
    <totalItems>1</totalItems>
    <playlist id="5231cf08278a490db4ede678">
      <name>My Chillout Mix</name>
      <links>
        <link rel="self" href="http://api.7digital.com/1.2/playlists/5231cf08278a490db4ede678"/>
        <link rel="details" href="http://api.7digital.com/1.2/playlists/5231cf08278a490db4ede678/details"/>
        <link rel="tracks" href="http://api.7digital.com/1.2/playlists/5231cf08278a490db4ede678/tracks"/>
      </links>
      <trackCount>2</trackCount>
      <status>published</status>
      <visibility>Private</visibility>
      <annotations>
        <annotation key="key">value</annotation>
      </annotations>
      <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/004/963/0000496338_$size$.jpg</image>
      <lastUpdated>2013-09-12T14:26:13.108Z</lastUpdated>
    </playlist>
  </playlists>
</response>

application/json response

{
  "playlists":{
    "page":1,
    "pageSize":10,
    "totalItems":1,
    "playlist":[{
      "id" : "51ed5cfec9021614f462bb7b",
      "name" : "My Chillout Mix",
      "links" : [{
        "rel" : "self",
        "href" : "http://api.7digital.com/1.2/playlists/51ed5cfec9021614f462bb7b"
      },
      {
        "rel" : "details",
        "href" : "http://api.7digital.com/1.2/playlists/51ed5cfec9021614f462bb7b/details"
      },
      {
        "rel" : "tracks",
        "href" : "http://api.7digital.com/1.2/playlists/51ed5cfec9021614f462bb7b/tracks"
      }],
      "trackCount" : 7,
      "status": "published",
      "visibility" : "Public",
        "annotations" : {
        "key" : "value"
      },
      "image" : "http://artwork-cdn.7static.com/static/img/sleeveart/00/004/963/0000496338_$size$.jpg",
      "lastUpdated" : "2013-10-02T12:16:04.615Z"
    }]
  }
}

API Authentication / OAuth

About this API

Request token POST /oauth/requesttoken

Requests a new request token for 3-legged authentication. As per OAuth spec the default format of the response is "application/x-www-form-urlencoded" unless you explicitly specify "application/xml" or "application/json" in the request "Accept" header. NB: In order to avoid breaking changes for API consumers who integrated with this endpoint in the past if you invoke this API call with HTTP method "GET" an XML response is returned by default.

Example request: https://api.7digital.com/1.2/oauth/requesttoken?oauth_consumer_key=YOUR_KEY_HERE&oauth_nonce=ABCDEF&oauth_timestamp=1234567890&oauth_signature_method=HMAC-SHA1&oauth_signature=4KO5478ghJ49Olsp3kJ3L589Ssslg5o5

AttributeTypeDescription
oauth_consumer_key
required
string

The only requirement for this method is that the request is OAuth signed.

xoauth_client_identifierstring

An arbitrary string that will be stored with the token. This string will be displayed to the user along with the token for easier reference to an account or device that the token is linked to. The identifier has to be meaningful to the end user, e.g. "IMEI: 1234564546" (device serial number), "john2004" (user's login name on your website).

Method specific error codes:

1001 - Missing parameter "parameter name"
Not all mandatory parameters have been provided.

1002 - Value of parameter "parameter name" is not valid
Value for parameter in error message is not valid.

application/xml response

<response status="ok" version="1.2">
  <oauth_request_token>
    <oauth_token>ABCD123456</oauth_token>
    <oauth_token_secret>d2I8uj7yaoa39KKdu3upasybu98f89fln</oauth_token_secret>
  </oauth_request_token>
</response>
          

application/json response

{
          "status":"ok",
          "version":"1.2",
          "oauth_request_token":
            {
              "oauth_token":"ABCD123456",
              "oauth_token_secret":"d2I8uj7yaoa39KKdu3upasybu98f89fln"
              }
            }
          

Authorising a request token GET /User authentication - authorising a request token

This is not an API method, but the URL that displays the form that a user will authenticate themselves to 7digital with. After authenticating the user, the request will be redirected back to the API consumer's website (if returnUrl has been supplied). The return url will contain two additional paramters - the original request token and a status paramater which can have the value 'Authorised' or 'InvalidToken'

Example request: https://account.7digital.com/YOUR_KEY_HERE/oauth/authorise?oauth_token=AAAAAAA&oauth_callback=http%3a%2f%2fapi-consumer.com%2fhandback%3fconsumerparam%3dvalue

AttributeTypeDescription
oauth_token
required
string

The oauth_token value returned to the API consumer from an oauth/requesttoken request.

oauth_callbackstring

The URL that 7digital will use to hand the user authentication back to the requesting API consumer.

application/xml response

HTTP/1.x 302 Found
Location: http://api-consumer.com/handback?consumerparam=value?oauth_token=AAAAAA&status=Authorised

Access token POST /oauth/accesstoken

Grants an access token in exchange for an authorised request token. This method must be OAuth signed, using your consumer secret and the request token secret.

As per OAuth spec the default format of the response is "application/x-www-form-urlencoded" unless you explicitly specify "application/xml" or "application/json" in the request "Accept" header. Although not expiring automatically after a certain period of time, access tokens (and also authorised request tokens) can be revoked by users at any time.

In the near future we will also enforce a limit of maximum of 3 access tokens that can be active at the same time per one 7digital user account, api consumer key and xoauth_client_identifier combination. If a user has already approved 3 access tokens for your service, the next time you acquire another access token for this same user the first access token will automatically expire.

If the nature of your service allows/requires users to maintain multiple connections to a single 7digital account you are advised to use a distinct xoauth_client_identifier for each connection.

E.g. if a user of your service has registered 5 different accounts ("joe_home", "joe_work", etc) and they want to link all these accounts to a single 7digital account you need to provide an xoauth_client_identifier (xoauth_client_identifier=joe_home, xoauth_client_identifier=joe_work, etc) at the stage of acquiring an oauth/requesttoken.

For device based integrations we recommend to use device names (if available) or serial numbers or IMEIs for mobiles as the identifier.

NB: In order to avoid breaking changes for API consumers who integrated with this endpoint in the past if you invoke this API call with HTTP method "GET" an XML response is returned by default.

Example request: https://api.7digital.com/1.2/oauth/accesstoken?oauth_consumer_key=YOUR_KEY_HERE&oauth_nonce=ABCDEF&oauth_timestamp=1234567890&oauth_signature_method=HMAC-SHA1&oauth_token=yu87230J29DT7tyuGslO98wrR43e39Of&oauth_signature=lth409pPr989rmMjaE9po3h34oKER89e

AttributeTypeDescription
oauth_token
required
string

The original request token.

application/xml response

<response status="ok" version="1.2">
  <oauth_access_token>
    <oauth_token>E3w4FV3oirRfj4KfT7alOpa893mmn4HJ</oauth_token>
    <oauth_token_secret>923kj3Kspa304n4Oamd3201pLkgjeM32</oauth_token_secret>
  </oauth_access_token>
</response>
          

application/json response

{
          "status":"ok",
          "version":"1.2",
          "oauth_access_token":
            {
              "oauth_token":"E3w4FV3oirRfj4KfT7alOpa893mmn4HJ",
              "oauth_token_secret":"923kj3Kspa304n4Oamd3201pLkgjeM32"
              }
            }
          

Subscriptions version 1.2

About this API

The Subscriptions API is responsible for granting users permission stream content and logging subscription data. It will be up to the API Consumer to process the billing themselves, and then notify 7digital of any changes to a user's Subscription.

Create or update a subscription POST /user/unlimitedStreaming (post)

The API Consumer must notify us of new subscriptions or changes to existing ones. This is essential in granting streaming access for any given user.

Example request: POST http://api.7digital.com/1.2/user/unlimitedStreaming planCode=trial-unlimited-streaming& status=active& currency=GBP& recurringFee=999& postcode=W1A%201AA& country=GB& activatedAt=2012-07-01T10:33:00Z& currentPeriodStartDate=2013-11-23T23:59:59Z& trialEndsAt=2013-12-23T23:59:59Z& expiryDate=2013-12-23T23:59:59Z& oauth_consumer_key=YOUR_KEY_HERE& oauth_token=...

AttributeTypeDescription
oauth_token / userId
required
string

If you hold a 7digital oauth access token for the user this needs to be provided. If not, you can pass your own identifier for the user you created (ID, GUID, username, etc).

planCode
required
string

The current subscription type. If you intend to use trial or voucher-based subscriptions please contact your account manager for more detail on how to supply the correct planCode.
premium-unlimited-streaming - Paying user has full unlimited streaming and offline access.
standard-unlimited-streaming - Paying user has full unlimited streaming but not offline access

status
required
string

The status of the subscription. Must be one of active, cancelled or expired.
active - Subscription is currently valid and active. The user has streaming access.
cancelled - Subscription will not be renewed, but the user still has streaming access until the expiry date is reached.
expired - Subscription has expired. The user no longer has streaming access.

currency
required
string

ISO 4217 currency code, relating to the currency in which the subscriber is paying.

recurringFee
required
integer

The amount in cents charged to the subscriber for the current subscription. If a voucher has been used then recurringFee should be 0.

postcodestring

The postcode of the subscriber if applicable.

country
required
string

ISO 2-character country code where the subscriber is located. NOTE: API clients with custom content pool(s) must for this particular endpoint provide BOTH their content pool's "shopId" as welll as "country" params.

activatedAt
required
string

ISO 8601 UTC date-time format. The date and time when the user first activated any type of subscription. ActivatedAt must be now or earlier.

currentPeriodStartDate
required
integer

ISO 8601 UTC date-time format. The date and time when the current subscription started.CurrentPeriodStartDate must be no more than 1 day from now, and the same as or later than activatedAt.

trialEndsAtstring

ISO 8601 UTC date-time format. This is the date and time of when a trial period ends. If planCode is equal to trial-unlimited-streaming, then this value must be populated. Otherwise this parameter must not be supplied. TrialEndsAt must be later than currentPeriodStartDate and no more than 100 days from currentPeriodStartDate.

expiryDate
required
string

ISO 8601 UTC date-time format. The date and time when the subscription is due to expire. ExpiryDate must be no more than 1 month from currentPeriodStartDate. If the subscription is a trial, expiryDate must also be the same as or later than trialEndsAt. In the exceptional case that trialEndsAt is more than 1 month from currentPeriodStartDate, expiryDate must be equal to trialEndsAt.

application/xml response

<response status="ok" version="1.2">
  <streaming>
    <level>premium</level>
    <expiryDate>2013-12-23T23:59:59Z</expiryDate>
  </streaming>
</response>

Retrieve subscription status GET /user/unlimitedStreaming (get)

Provides information about whether a user has access to streaming services and at what date does the access expire. If expiryDate is in the future then user has access to stream.

Example request: GET http://api.7digital.com/1.2/user/unlimitedStreaming?country=GB&oauth_consumer_key=YOUR_KEY_HERE&oauth_token=...

AttributeTypeDescription
oauth_token / userId
required
string

If you hold a 7digital oauth access token for the user this needs to be provided. If not, you can pass your own identifier for the user you created (ID, GUID, username, etc).

country
required
string

ISO 2-character country code. The location of the user.

Method specific error codes:

2001 - Resource not found
The user was not found.

application/xml response

<response status=”ok” version=”1.2”>
  <streaming>
    <level>premium</level>
    <expiryDate>2012-12-23T23:59:59Z</expiryDate>
  </streaming>
</response>

User Management version 1.2

About this API

7digital API supports 2 ways of dealing with end user accounts:

7digital account - is a standard 7digital user account which allows users to log on to 7digital.com website or any other 7digital branded or co-branded service. Users are able to share their music lockers (containing all previously purchased tracks) across all these services and your application. 7digital accounts can also be permanently linked to other 3rd party accounts (e.g. Facebook, Twitter, or your service) allowing users to sign in using the 3rd party credentials within your app.

The User Management API is designed for selected 7digital partners allowing more seamless integration without the need to redirect users to the sign in/sign up page on the 7digital hosted account microsite. Access to 7digital user resources is still managed using the 3-legged OAuth protocol which means usernames and passwords are only used to acquire access tokens.

All user passwords have to be passed directly to the 7digital API and MUST NOT BE STORED at anytime anywhere on the API consumer side.

Partner account - partner user accounts are only accessible via the 7digital API and solely by the API partner that created them. They are effectively only stub accounts consisting of your unique identifier of the user, email address (required by content licensors) and purchase history. User names and passwords are handled by your application. Apart from your unique identifiers of the users, 7digital will not store any login details (e.g. usernames, passwords). Users will not be able to log into 7digital.com or any other 7digital powered service. Purchases made via your application will only be accessible in your application and users will not have access to tracks previously purchased via any 7digital powered website or application.

Access to partner user resources is managed using 2-legged OAuth protocol whilst replacing the 3-legged OAuth oauth_token parameter with userId parameter providing your own identifier of the user. The user with the given userId must be created beforehand using the below user/create method.

Each application (using 1 API key) can support only one of the above user access types.

Create a 7digital user POST /user/signup

Creates a new 7digital user account. The user will be able to use the same credentials to log on to 7digital.com to buy music and view their locker online.

Note: Since OAuth protocol is particularly strict about parameter encoding we advise you to thoroughly test integration with this endpoint using passwords containing special characters (e.g. @, �, & etc)

Example request: POST https://api.7digital.com/1.2/user/signup emailAddress=test%40example.com&password=secret

AttributeTypeDescription
emailAddress
required
string

The email address of the user

password
required
string

The password for the user's account.

affiliatePartnerstring

Referral affiliate partner id. If your application supports referral affiliate tracking please provide the affiliate partner id associated with the current session.

Method specific error codes:

1001 - Missing parameter
A required parameter is missing.

1002 - Parameter value out of allowable range
A parameter has been supplied with invalid value.

2003 - User with given email already exists
User with given email address already has a 7digital account.

application/xml response

<response status="ok" version="1.2">
  <user id="123456">
    <type>7digital</type>
    <emailAddress>user@example.com</emailAddress>
  </user>
 </response>

Get 7digital user's details GET /user/details

Returns a user's email address. For consumers with access to internal services, the details of any user can be accessed given their userid. For normal consumers, only their own user details will be returned.

Example request: https://api.7digital.com/1.2/user/details?userid=1234userid

AttributeTypeDescription
userid
required
string

The internal user id of the user

Method specific error codes:

2001 - Resource not found
The user was not found.

application/xml response

<response status="ok" version="1.2">
  <user>
      <emailAddress>bob@example.com</emailAddress>
  </user>
</response>

Check if a 7digital user exists GET /users

Checks if a 7digital user account exists for a particular email address. If a user account is not found for the provided email address then an empty list will be returned.

Example request: http://api.7digital.com/1.2/users?emailAddress=someone@example.com

AttributeTypeDescription
emailAddress
required
string

The email address used to register the 7digital account.

Method specific error codes:

1001 - Missing or invalid parameter
One or more of the supplied parameters is missing or invalid.

application/xml response

<response status="ok" version="1.2">
  <users>
    <user id="1">
      <type>7digital</type>
      <emailAddress>someone@example.com</emailAddress>
    </user>
  </users>
</response>

Create a new partner user GET /user/create

Creates a new partner user account.

Example request: http://api.7digital.com/1.2/user/create?userId=123456&emailAddress=email@some.com

AttributeTypeDescription
userID
required
string

Your 3rd party user identifier can be an arbitrary string up to 255 chars. The userId is permanent and cannot be changed once created (hence we don't recommend using email addresses as user IDs)

emailAddress
required
string

The email address to be associated with the user. If 7digital is processing payments users will receive their purchase receipts at this address.

Method specific error codes:

1001 - Missing parameter
A required parameter is missing.

1002 - Invalid parameter value
A parameter has been supplied with invalid value.

`2003' - User with given email already exists
User with given userId has already been created.

application/xml response

<response status="ok" version="1.2">
  <user id="123456">
    <type>partner</type>
    <emailAddress>email@some.com</emailAddress>
  </user>
</response>

Basket

About this API

The basket API allows creation of 7digital hosted baskets which can be populated with items (tracks and releases) from the 7digital catalogue.

Please note: At the moment the baskets can only be checked out by using the Purchasing API method user/purchase/basket.

Retrieve basket GET /basket

This method retrieves an existing basket and its contents.

Example request: http://api.7digital.com/1.2/basket?basketId=00000000-0000-0000-0000-000000000000&country=DE&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
basketId
required
string

The unique identifier of the basket as acquired by basket/create method

country
required
string

The code of the country the end user resides in.

Method specific error codes:

1001 - Missing parameter "parameter name"
Not all mandatory parameters have been provided.

1002 - Value of parameter "parameter name" is not valid
Value for parameter in error message is not valid.

2001 - Basket with basketId not found.
Basket with given ID does not exist.

2002 - Basket with basketId is unavailable in this country / shop.
The basket has been created in different country and can only be accessed in the country where it was created.

application/xml response

<response status="ok" version="1.2">
  <basket id="00000000-0000-0000-0000-000000000000">
    <itemCount>1</itemCount>
    <price>
      <currency code="EUR">€</currency>
      <value>0.99</value>
      <formattedPrice>0,99€</formattedPrice>
    </price>
    <amountDue>
      <currency code="EUR">€</currency>
      <amount>0.99</amount>
      <formattedAmount>0,99€</formattedAmount>
    </amountDue>
    <basketItems>
      <basketItem id="15284882">
        <type>track</type>
        <itemName>Test</itemName>
        <artistName>Ghetto</artistName>
        <trackId>2458384</trackId>
        <releaseId>224820</releaseId>
        <price>
          <currency code="EUR">€</currency>
          <value>0.99</value>
          <formattedPrice>0,99€</formattedPrice>
        </price>
        <amountDue>
          <amount>0.99</amount>
          <formattedAmount>0,99€</formattedAmount>
        </amountDue>
        <package id="2" />
      </basketItem>
    </basketItems>
  </basket>
</response>

Create basket GET /basket/create

This method creates an empty basket and returns the new basket with it's basketId.

Example request: http://api.7digital.com/1.2/basket/create?country=DE&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
country
required
string

The code of the country the end user resides in. The country will default to GB if not provided.

application/xml response

<response status="ok" version="1.2">
  <basket id="00000000-0000-0000-0000-000000000000">
    <itemCount>0</itemCount>
    <price>
      <currency code="GBP">&#163;</currency>
      <value>0</value>
      <formattedPrice>&#163;0.00</formattedPrice>
    </price>
    <amountDue>
      <currency code="GBP">&#163;</currency>
      <amount>0</amount>
      <formattedAmount>&#163;0.00</formattedAmount>
    </amountDue>
    <basketItems/>
  </basket>
</response>

Add item to basket GET /basket/addItem

This method adds a track or release to a basket.

Example request: http://api.7digital.com/1.2/basket/additem?basketid=00000000-0000-0000-0000-000000000000&releaseid=160553&trackid=1693930&country=GB&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
basketId
required
string

identifier of the basket as acquired by basket/create method

releaseId
required
integer

identifier of the release to add to the basket

trackIdinteger

identifier of the track being added to the basket. You must also specify the releaseId that the track belongs to.

packageIdinteger

identifier of the package for the item being added to the basket (ie, 2 = 'standard'). Defaults to 2 if not supplied.

country
required
string

The code of the country the end user resides in.

affiliatePartnerinteger

Overrides affiliate tracking id when adding an item to the basket.

application/xml response

<response status="ok" version="1.2">
  <basket id="00000000-0000-0000-0000-000000000000">
    <itemCount>1</itemCount>
    <price>
      <currency code="EUR">€</currency>
      <value>0.99</value>
      <formattedPrice>0,99€</formattedPrice>
    </price>
    <amountDue>
      <currency code="EUR">€</currency>
      <amount>0.99</amount>
      <formattedAmount>0,99€</formattedAmount>
    </amountDue>
    <basketItems>
      <basketItem id="15284882">
        <type>track</type>
        <itemName>Test</itemName>
        <artistName>Ghetto</artistName>
        <trackId>2458384</trackId>
        <releaseId>224820</releaseId>
        <price>
          <currency code="EUR">€</currency>
          <value>0.99</value>
          <formattedPrice>0,99€</formattedPrice>
        </price>
        <amountDue>
          <amount>0.99</amount>
          <formattedAmount>0,99€</formattedAmount>
        </amountDue>
        <package id="2" />
      </basketItem>
    </basketItems>
  </basket>
</response>

Remove item GET /basket/removeItem

This method removes an item from a basket.

Example request: http://api.7digital.com/1.2/basket/removeitem?basketid=00000000-0000-0000-0000-000000000000&itemid=15965085&country=DE&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
basketId
required
string

The unique identifier of the basket as acquired by basket/create method

itemId
required
integer

basketItem ID of the item to be removed

country
required
string

The code of the country the end user resides in.

Method specific error codes:

1001 - Missing parameter "parameter name"
Not all mandatory parameters have been provided.

1002 - Value of parameter "parameter name" is not valid
Value for parameter in error message is not valid.

2001 - Basket with basketId not found.
Basket with given ID does not exist.

2001 - Basket item with id not found.
Basket does not contain an item with given ID.

2002 - Basket with basketId is unavailable in this country / shop.
The basket has been created in different country and can only be accessed in the country where it was created.

application/xml response

<response status="ok" version="1.2">
  <basket id="00000000-0000-0000-0000-000000000000">
    <itemCount>0</itemCount>
    <price>
      <currency code="EUR">€</currency>
      <value>0.00</value>
      <formattedPrice>0,00€</formattedPrice>
    </price>
    <amountDue>
      <currency code="EUR">€</currency>
      <amount>0.00</amount>
      <formattedAmount>0,00€</formattedAmount>
    </amountDue>
    <basketItems/>
  </basket>
</response>

Apply voucher POST /basket/applyVoucher

This method applies a voucher to a basket. If a valid voucher code has been applied the response will return an updated basket with the applied discount reflected in the amountDue element of the basket item the voucher has been applied to. The amountDue element of the basket total will be updated accordingly as well. The price element will remain unchanged and will reflect the original catalogue price of the item and basket. To finalize purchase the basket needs to be checked-out using user/purchase/basket method. If the voucher code cannot be redeemed against any items in the basket an error response will be returned.

Example request: POST https://api.7digital.com/1.2/basket/applyvoucher?basketid=00000000-0000-0000-0000-000000000000&vouchercode=ABC123&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
basketId
required
string

The unique identifier of the basket as acquired by basket/create method

voucherCode
required
string

Voucher code that will be redeemed against items in the basket.

countrystring

The code of the country the end user resides in. The country will default to GB if not provided.

Method specific error codes:

1001 - Missing parameter "parameter name"
Not all mandatory parameters have been provided.

1002 - Value of parameter "parameter name" is not valid
Value for parameter in error message is not valid.

2001 - Basket with basketId not found.
Basket with given ID does not exist.

2002 - Basket with basketId is unavailable in this country / shop.
The basket has been created in different country and can only be accessed in the country where it was created.

3012 - Voucher not applied
Voucher was not applied for any of the following reasons:

  • the voucher code is not valid
  • the voucher has expired
  • it cannot be redeemed against any items in the basket
  • it has been fully redeemed already

application/xml response

<response status="ok" version="1.2">
  <basket id="00000000-0000-0000-0000-000000000000">
    <itemCount>1</itemCount>
    <price>
      <currency code="EUR">€</currency>
      <value>0.99</value>
      <formattedPrice>0,99€</formattedPrice>
    </price>
    <amountDue>
      <currency code="EUR">€</currency>
      <amount>0</amount>
      <formattedAmount>0,00€</formattedAmount>
    </amountDue>
    <basketItems>
      <basketItem id="15284882">
        <type>track</type>
        <itemName>Test</itemName>
        <artistName>Ghetto</artistName>
        <trackId>2458384</trackId>
        <releaseId>224820</releaseId>
        <price>
          <currency code="EUR">€</currency>
          <value>0.99</value>
          <formattedPrice>0,99€</formattedPrice>
        </price>
        <amountDue>
          <amount>0</amount>
          <formattedAmount>0,00€</formattedAmount>
        </amountDue>
        <discount>
          <type>Voucher</type>
        </discount>
        <package id="2" />
      </basketItem>
    </basketItems>
  </basket>
</response>

Check voucher status GET /payment/voucher/details

Checks validity of voucher and returns remaining allowance and expiry date.

Example request: https://api.7digital.com/1.2/payment/voucher/details?voucherCode=ABC&oauth_consumer_key...

AttributeTypeDescription
voucherCode
required
string

Valid voucher code

countrystring

Some vouchers might only be valid in certain countries, provide code of country for which the validity of the voucher should be checked

Method specific error codes:

1001 - Missing parameter
A required parameter is missing.

1002 - Invalid parameter
A parameter has been supplied with invalid value.

2001 - Voucher does not exist
There is no voucher (valid or not) with this code.

application/xml response

<response status="ok" version="1.2">
  <voucher>
    <type>release</type>
    <remainingAllowance>5</remainingAllowance>
    <expirationDate>2011-03-21T00:00:00Z<expirationDate>>
  </voucher>
</response>

Purchasing

About this API

The Purchasing API allows 3rd parties to deliver digital content to individual users. The API offers 2 ways of handling user payments for the delivered content:

Payments are processed by 7digital Users' payments for all delivered content are handled by 7digital. The only available payment method for use with the Purchasing API is credit/debit card payments. Users will need to have a valid payment method set up on their 7digital account before completing purchase (registering new cards can be incorporated into your checkout flow). New cards can be added directly within your app or website via the Cards API or 7digital users can do so also on any 7digital consumer website (e.g. www.7digital.com).

Payments are processed by API Consumer Payments processed by 7digital

Purchase single item GET /user/purchase/item

This method allows a user to purchase an item at the price as advertised on 7digital.com. It will return the download URL of each item purchased. For example, if a release consisting of multiple tracks was purchased, then the download URL of each item constituting the release will be returned. For a user purchase to be processed, the user should already have a default debit or credit card set up for payments. This method allows users to take advantage of 7digital.com promotional offers and is only available to selected partners building 7digital branded integrations. For white-label integrations please use user/purchase/rrpItem or user/purchase/pricedItem.

Example request: https://api.7digital.com/1.2/user/purchase/item?releaseid=786&trackid=6598&price=0.99&oauth_token=...

AttributeTypeDescription
oauth_token
required
integer

user's OAuth accesstoken

releaseId
required
integer

The unique ID of the release being purchased. If a track is being purchased, this needs to identify the release the track appears on.

trackIdinteger

The unique ID of the track being purchased. If supplied, only the track is delivered - otherwise the full release is delivered.

price
required
number

The price that has been displayed to the user prior to purchase. If the actual 7digital.com price is different to the supplied value the purchase is aborted and 3004 error message is returned instead. This is used to ensure the users cannot be charged a different amount than the advertised price (e.g. if the price was cached and/or has changed after it was displayed.)

countrystring

The code of the country the end user resides in. The country will default to GB if not provided.

shopidinteger

The shop ID that all basket items were selected from. The shop ID will default to the 7digital UK shop if it is not provided. If the shop ID is provided, the country parameter will be ignored.

tag_*key*string

Additional data to be stored with successful transactions, for the purposes such as tagging affiliated or marketing information. up to 10 tags can be stored. A tag key can be a maximum of 50 characters, and a tag value a maximum of 100 characters. E.g. tag_MyPartner=MagazinePromoABC&tag_ApplicationVersion=1.5. This data will only be available to API clients subscribing to customized sales reports service.

Method specific error codes:

3001 - The user's card has expired
The user's default payment hard has expired.

3002 - The user has no card details saved
User did not register a payment method. Before making a purchase on user's behalf they need to register a payment card.

3003 - Payment for this purchase has failed
The payment with the default payment card have been declined by the bank (e.g. card details not valid, insufficient funds, etc). The card used will be automatically marked as inactive and user will have to re-enter new payment card.

3004 - Price supplied is out of date
The price displayed to the user and supplied in price parameter is no longer valid. The user has not been charged. You can retrieve the updated price, notify the user of the change and repeat the purchase request.

3005 - This card was issued in a country that is not valid for purchases in this shop. Please use another card.
For legal reasons, access to our catalogues is restricted by country. If you see this message, it means that the payment card is issued in a country that is not valid for this catalogue.

application/xml response

<response status="ok" version="1.2">
  <purchase id="123">
    <purchaseDate>2009-08-10T11:00:00+01:00</purchaseDate>
    <lockerReleases>
      <lockerRelease>
        <release id="1">
          <title>Ill Communication</title>
          <version/>
          <type>Album</type>
          <artist id="357">
            <name>Beastie Boys</name>
            <appearsAs>Beastie Boys</appearsAs>
            <url>http://www.7digital.com/artists/beastie-boys</url>
          </artist>
          <url>http://www.7digital.com/artists/beastie-boys</url>
          <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/004/915/0000491573_350.jpg</image>
        </release>
        <lockerTracks>
          <lockerTrack>
            <track id="456">
              <title>Sabotage</title>
              <version/>
              <artist id="0">
                <name>Beastie Boys</name>
                <appearsAs>Beastie Boys</appearsAs>
                <url>http://www.7digital.com/artists/beastie-boys</url>
              </artist>
              <url>http://www.7digital.com/artists/beastie-boys/ill.../06-Sabotage-(2009-Digital-Remaster)/</url>
            </track>
            <remainingDownloads>3</remainingDownloads>
            <purchaseDate>2009-08-10T11:00:00+01:00</purchaseDate>
            <downloadUrls>
              <downloadUrl>
                <url>http://media.geo.7digital.com/media/user/downloadtrack...</url>
                <format id="1">
                  <fileFormat>MP3</fileFormat>
                  <bitRate>320</bitRate>
                  <drmFree>true</drmFree>
                </format>
              </downloadUrl>
            </downloadUrls>
          </lockerTrack>
        </lockerTracks>
      </lockerRelease>
    </lockerReleases>
  </purchase>
</response>

Purchase item at RRP GET /user/purchase/rrpItem

This method allows a user to purchase an item at 7digital recommended retail price (RRP). It will return the download URL of each item purchased. For example, if a release consisting of multiple tracks was purchased, then the download URL of each item constituting the release will be returned. For a user purchase to be processed, the user should already have a default debit or credit card set up for payments.

Example request: https://api.7digital.com/1.2/user/purchase/rrpItem?releaseid=786&trackid=6598&price=0.99&oauth_token=...

AttributeTypeDescription
oauth_token
required
integer

user's OAuth accesstoken

releaseId
required
integer

The unique ID of the release being purchased. If a track is being purchased, this needs to identify the release the track appears on.

trackIdinteger

The unique ID of the track being purchased. If supplied, only the track is delivered - otherwise the full release is delivered.

price
required
number

The price that has been displayed to the user prior to purchase. If the actual 7digital recommended retail price is different to the supplied value the purchase is aborted and 3004 error message is returned instead. This is used to ensure the users cannot be charged a different amount than the advertised price (e.g. if the price was cached and/or has changed after it was displayed.)

countrystring

The country that all basket items were selected from. The country will default to UK if it is not provided. Provide this if you are purchasing from a territory other than the UK.

shopidinteger

The shop ID that all basket items were selected from. The shop ID will default to the 7digital UK shop if it is not provided. If the shop ID is provided, the country parameter will be ignored.

tag_*key*string

Additional data to be stored with successful transactions, for the purposes such as tagging affiliated or marketing information. up to 10 tags can be stored. A tag key can be a maximum of 50 characters, and a tag value a maximum of 100 characters. E.g. tag_MyPartner=MagazinePromoABC&tag_ApplicationVersion=1.5. This data will only be available to API clients subscribing to customized sales reports service.

Method specific error codes:

3001 - The user's card has expired
The user's default payment hard has expired.

3002 - The user has no card details saved
User did not register a payment method. Before making a purchase on user's behalf they need to register a payment card.

3003 - Payment for this purchase has failed
The payment with the default payment card have been declined by the bank (e.g. card details not valid, insufficient funds, etc). The card used will be automatically marked as inactive and user will have to re-enter new payment card.

3004 - Price supplied is out of date
The price displayed to the user and supplied in price parameter is no longer valid. The user has not been charged. You can retrieve the updated price, notify the user of the change and repeat the purchase request.

3005 - This card was issued in a country that is not valid for purchases in this shop. Please use another card.
For legal reasons, access to our catalogues is restricted by country. If you see this message, it means that the payment card is issued in a country that is not valid for this catalogue.

application/xml response

<response status="ok" version="1.2">
  <purchase id="123">
    <purchaseDate>2009-08-10T11:00:00+01:00</purchaseDate>
    <lockerReleases>
      <lockerRelease>
        <release id="1">
          <title>Ill Communication</title>
          <version/>
          <type>Album</type>
          <artist id="357">
            <name>Beastie Boys</name>
            <appearsAs>Beastie Boys</appearsAs>
            <url>http://www.7digital.com/artists/beastie-boys</url>
          </artist>
          <url>http://www.7digital.com/artists/beastie-boys</url>
          <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/004/915/0000491573_350.jpg</image>
        </release>
        <lockerTracks>
          <lockerTrack>
            <track id="456">
              <title>Sabotage</title>
              <version/>
              <artist id="0">
                <name>Beastie Boys</name>
                <appearsAs>Beastie Boys</appearsAs>
                <url>http://www.7digital.com/artists/beastie-boys</url>
              </artist>
              <url>http://www.7digital.com/artists/beastie-boys/ill.../06-Sabotage-(2009-Digital-Remaster)/</url>
            </track>
            <remainingDownloads>3</remainingDownloads>
            <purchaseDate>2009-08-10T11:00:00+01:00</purchaseDate>
            <downloadUrls>
              <downloadUrl>
                <url>http://media.geo.7digital.com/media/user/downloadtrack...</url>
                <format id="1">
                  <fileFormat>MP3</fileFormat>
                  <bitRate>320</bitRate>
                  <drmFree>true</drmFree>
                </format>
              </downloadUrl>
            </downloadUrls>
          </lockerTrack>
        </lockerTracks>
      </lockerRelease>
    </lockerReleases>
  </purchase>
</response>

Purchase basket GET /user/purchase/basket

This method allows a user to purchase a basket with items that have been added via basket/additem or basket/addpriceditem. It will return the download URL of each item purchased. For example, if a release consisting of multiple tracks was purchased, then the download URL of each item constituting the release will be returned. If total amount due for a basket is greater than 0, the user will need to have a valid debit or credit card set up for payments otherwise a 300X error will be returned. Upon receiving a 300X error you should redirect the user to a new payment method registration screen (see Adding a payment card)

Example request: https://api.7digital.com/1.2/user/purchase/basket?basketid=00000000-0000-0000-0000-000000000000&country=FR&oauth_token=...

AttributeTypeDescription
oauth_token
required
integer

user's OAuth accesstoken

basketid
required
string

This is the session ID for the basket that contains the items to purchase. This is the basketid returned from basket/create.

countrystring

The country that all basket items were selected from. The country will default to UK if it is not provided. Provide this if you are purchasing from a territory other than the UK.

shopidinteger

The shop ID that all basket items were selected from. The shop ID will default to the 7digital UK shop if it is not provided. If the shop ID is provided, the country parameter will be ignored.

tag_*key*string

Additional data to be stored with successful transactions, for the purposes such as tagging affiliated or marketing information. up to 10 tags can be stored. A tag key can be a maximum of 50 characters, and a tag value a maximum of 100 characters. E.g. tag_MyPartner=MagazinePromoABC&tag_ApplicationVersion=1.5. This data will only be available to API clients subscribing to customized sales reports service.

Method specific error codes:

3001 - The user's card has expired
The user's default payment hard has expired.

3002 - The user has no card details saved
User did not register a payment method. Before making a purchase on user's behalf they need to register a payment card.

3003 - Payment for this purchase has failed
The payment with the default payment card have been declined by the bank (e.g. card details not valid, insufficient funds, etc). The card used will be automatically marked as inactive and user will have to re-enter new payment card.

3005 - This card was issued in a country that is not valid for purchases in this shop. Please use another card.
For legal reasons, access to our catalogues is restricted by country. If you see this message, it means that the payment card is issued in a country that is not valid for this catalogue.

application/xml response

<response status="ok" version="1.2">
  <purchase id="123">
    <purchaseDate>2009-08-10T11:00:00+01:00</purchaseDate>
    <lockerReleases>
      <lockerRelease>
        <release id="1">
          <title>Ill Communication</title>
          <version/>
          <type>Album</type>
          <artist id="357">
            <name>Beastie Boys</name>
            <appearsAs>Beastie Boys</appearsAs>
            <url>http://www.7digital.com/artists/beastie-boys</url>
          </artist>
          <url>http://www.7digital.com/artists/beastie-boys</url>
          <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/004/915/0000491573_350.jpg</image>
        </release>
        <lockerTracks>
          <lockerTrack>
            <track id="456">
              <title>Sabotage</title>
              <version/>
              <artist id="0">
                <name>Beastie Boys</name>
                <appearsAs>Beastie Boys</appearsAs>
                <url>http://www.7digital.com/artists/beastie-boys</url>
              </artist>
              <url>http://www.7digital.com/artists/beastie-boys/ill-communication-remastered-version/06-Sabotage-(2009-Digital-Remaster)/</url>
            </track>
            <remainingDownloads>3</remainingDownloads>
            <purchaseDate>2009-08-10T11:00:00+01:00</purchaseDate>
            <downloadUrls>
              <downloadUrl>
                <url>http://media.geo.7digital.com/media/user/downloadtrack?formatid=1&amp;oauth_consumer_key=YOUR_KEY_HERE&amp;...</url>
                <format id="1">
                  <fileFormat>MP3</fileFormat>
                  <bitRate>320</bitRate>
                  <drmFree>true</drmFree>
                </format>
              </downloadUrl>
            </downloadUrls>
          </lockerTrack>
          <lockerTrack>
            <track id="789">
              <title>Root Down</title>
              <version/>
              <artist id="0">
                <name>Beastie Boys</name>
                <appearsAs>Beastie Boys</appearsAs>
                <url>http://www.7digital.com/artists/beastie-boys</url>
              </artist>
              <url>http://www.7digital.com/artists/beastie-boys/ill-communication-remastered-version/05-Root-Down-(2009-Digital-Remaster)/</url>
            </track>
            <remainingDownloads>3</remainingDownloads>
            <purchaseDate>2009-08-10T11:00:00+01:00</purchaseDate>
            <downloadUrls>
              <downloadUrl>
                <url>http://media.geo.7digital.com/media/user/downloadtrack?formatid=1&amp;oauth_consumer_key=YOUR_KEY_HERE&amp;...</url>
                <format id="1">
                  <fileFormat>MP3</fileFormat>
                  <bitRate>320</bitRate>
                  <drmFree>true</drmFree>
                </format>
              </downloadUrl>
            </downloadUrls>
          </lockerTrack>
        </lockerTracks>
      </lockerRelease>
    </lockerReleases>
  </purchase>
</response>

Add custom priced item to basket GET /basket/addpriceditem

This method allows an item to be added to a basket with a specified price. The specified price can be higher or lower than the 7digital catalogue price, including a price of 0.00 to make an item free. For a full description of the basket responses, please refer to the Basket API section in the 7digital public API documentation.

Example request: https://api.7digital.com/1.2/basket/addpriceditem?basketid=00000000-0000-0000-0000-000000000000&releaseid=123&price=12.30

AttributeTypeDescription
basketId
required
string

The unique identifier of the basket generated by the basket/create method

price
required
number

The custom price for the item to add to the basket e.g. "11.95". The price cannot be negative and must not be more than 2 decimal places. The price should not include any commas (",").

releaseId
required
integer

The unique identifier of the release

trackIdinteger

The unique identifier of the track. If supplied, you must also supply the releaseId that the track belongs to.

application/xml response

<response status="ok" version="1.2">
  <basket id="00000000-0000-0000-0000-000000000000">
    <itemCount>1</itemCount>
      <price> 
        <currency code="GBP">£</currency> 
        <value>12.3</value> 
        <formattedPrice>£12.30</formattedPrice> 
      </price>
      <amountDue> 
        <currency code="GBP">£</currency> 
        <value>12.3</value> 
        <formattedAmount>£12.30</formattedAmount> 
      </amountDue>
      <basketItems>
        <basketItem id="17590164"> 
          <type>release</type> 
          <itemName>Even Better Than The Real Thing (Remix)</itemName>
          <artistName>U2</artistName>
          <trackId></trackId>
          <releaseId>123</releaseId>
          <price>
            <currency code="EUR">€</currency>
            <value>12.3</value> 
            <formattedPrice>£12.30</formattedPrice> 
          </price>
          <amountDue> 
            <value>12.3</value> 
            <formattedAmount>£12.30</formattedAmount> 
          </amountDue>
          <package id="2" />
        </basketItem> 
    </basketItems>
  </basket>
</response>

Purchase custom priced item GET /user/purchase/priceditem

This method allows a user to purchase a product or track at a specified price. The specified price can be higher or lower than the 7digital catalogue price, including a price of 0.00 to make an item free. It will return the download URL of each item purchased. For example, if a release consisting of multiple tracks was purchased, then the download URL of each item constituting the release will be returned. The user should already have a default debit or credit card set up for payments.

Example request: https://api.7digital.com/1.2/user/purchase/priceditem?releaseid=10147&trackid=103818&price=2.00&country=FR&oauth_token=...

AttributeTypeDescription
oauth_token
required
string

user's OAuth accesstoken

price
required
number

The custom price for the item to add to the basket e.g. "11.95". The price cannot be negative and must not be more than 2 decimal places. The price should not include any commas (",").

releaseId
required
integer

The unique ID of the release being purchased. If a track is being purchased, this needs to identify the release the track appears on.

trackIdinteger

The unique ID of the track being purchased. If supplied, only the track is delivered - otherwise the full release is delivered.

countrystring

The country that all basket items were selected from. The country will default to UK if it is not provided. Provide this if you are purchasing from a territory other than the UK.

shopidinteger

The shop ID that all basket items were selected from. The shop ID will default to the 7digital UK shop if it is not provided. If the shop ID is provided, the country parameter will be ignored.

application/xml response

<response status="ok" version="1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://localhost/api/static/7digitalAPI.xsd">
  <purchase id="49193524">
    <purchaseDate>2009-11-25T18:29:08Z</purchaseDate>
    <lockerReleases>
      <lockerRelease>
        <release id="10147">
          <title>Siamese Dream</title>
          <version />
          <type>Album</type>
          <artist id="7041">
            <name>The Smashing Pumpkins</name>
            <appearsAs>The Smashing Pumpkins</appearsAs>
            <url>http://www.7digital.com/artists/the-smashing-pumpkins/?partner=1401</url>
          </artist>
          <url>http://www.7digital.com/artists/the-smashing-pumpkins/siamese-dream/?partner=1401</url>
          <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/000/101/0000010147_50.jpg</image>
          <releaseDate>2005-04-05T00:00:00+01:00</releaseDate>
        </release>
        <lockerTracks>
          <lockerTrack>
            <track id="103818">
              <title>Cherub Rock</title>
              <version />
              <artist id="7041">
                <name>The Smashing Pumpkins</name>
                <appearsAs>The Smashing Pumpkins</appearsAs>
                <url>http://www.7digital.com/artists/the-smashing-pumpkins/?partner=1401</url>
              </artist>
              <url>http://www.7digital.com/artists/the-smashing-pumpkins/siamese-dream/01-Cherub-Rock?partner=1401&partner=1401</url>
            </track>
            <remainingDownloads>225</remainingDownloads>
            <purchaseDate>2009-11-24T14:51:56Z</purchaseDate>
            <downloadUrls>
              <downloadUrl>
                <url>http://media.geo.7digital.com/media/user/downloadtrack?formatid=17&oauth_consumer_key=YOUR_KEY_HERE&oauth_nonce=5954041&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1259173749&oauth_token=12345678&releaseid=10147&shopid=34&trackid=103818&oauth_signature=FAo3MI%2Bn%2FoVjm7AX8GJ2otA3fp8%3D</url>
                <format id="17">
                  <fileFormat>MP3</fileFormat>
                  <bitRate>320</bitRate>
                  <drmFree>true</drmFree>
                </format>
              </downloadUrl>
            </downloadUrls>
          </lockerTrack>
        </lockerTracks>
      </lockerRelease>
    </lockerReleases>
  </purchase>
</response>

Credit item GET /user/deliveritem

This method will deliver a track or release to user and return a purchase id identifying the transaction at 7digital's end and release and track information along with download URL for each track from the transaction.

Example request: https://api.7digital.com/1.2/user/deliveritem?country=US&trackId=4648051&releaseid=415019&transactionid=test4343&oauth_token=...

AttributeTypeDescription
oauth_token
required
string

user's OAuth accesstoken

emailAddressstring

The email address of the User.

releaseId
required
integer

The 7digital ID of the release being delivered to the user. If a track is being delivered, this needs to identify the release the track appears on.

trackIdinteger

If supplied, only the track is delivered - otherwise the full release is delivered.

packageIdinteger

The package id of the item being delivered (ie, 2 = 'standard'). Defaults to 2 if not supplied.

country/shopIdstring

A Country Code needs to be provided if you are delivering content from a 7digital international shop. Provide a shop ID if you have a dedicated pool of content and you have been assigned a shop ID by 7digital.

transactionId
required
string

The transaction ID provided will be stored along with a 7digital purchase ID in the 7digital transactions log.

retailPricenumber

Compulsory if you are charging your users different prices than 7digital RRP. If you're giving away items for free please use retailPrice=0, if you're using vouchers or you're not sure what to report please contact our sales team.

postCodestring

The post code or zip code of the user purchasing the track or release. This is currently only valid when country is US or shopId is the 7digital US shop.

application/xml response

<response status="ok" version="1.2">
  <purchase id="50454737">
    <purchaseDate>2009-11-10T14:59:39Z</purchaseDate>
    <lockerReleases>
      <lockerRelease>
        <release id="415019">
          <title>Perfect Symmetry</title>
          <version>US Album</version>
          <type>Album</type>
          <artist id="1">
            <name>Keane</name>
            <appearsAs>Keane</appearsAs>
            <url>http://us.7digital.com/artists/keane/</url>
          </artist>
          <url>http://us.7digital.com/artists/keane/perfect-symmetry-6/</url>
          <image>http://artwork-cdn.7static.com/static/img/sleeveart/00/004/150/0000415019_50.jpg</image>
          <releaseDate>2008-10-14T00:00:00+01:00</releaseDate>
        </release>
        <lockerTracks>
          <lockerTrack>
            <track id="4648051">
              <title>Spiralling</title>
              <version></version>
              <artist id="1">
                <name>Keane</name>
                <appearsAs>Keane</appearsAs>
                <url>http://us.7digital.com/artists/keane/</url>
              </artist>
              <url>http://us.7digital.com/artists/keane/perfect-symmetry-6/01-Spiralling/</url>
            </track>
            <remainingDownloads>15</remainingDownloads>
            <purchaseDate>2009-11-10T14:47:11Z</purchaseDate>
            <downloadUrls>
              <downloadUrl>
                <url>
                  http://media.geo.7digital.com/media/user/downloadtrack?formatid=17&amp;
                </url>
                  <format id="17">
                    <fileFormat>MP3</fileFormat>
                    <bitRate>320</bitRate>
                    <drmFree>true</drmFree>
                  </format>
                </downloadUrl>
            </downloadUrls>
          </lockerTrack>
        </lockerTracks>
      </lockerRelease>
    </lockerReleases>
  </purchase>
</response>

Report release refund DELETE /user/purchase/{purchaseid}/release/{releaseid}

This method allows a user to remove a purchase of a release from the sales report when the purchase has been refunded. It will return the purchase id and the release id of the item remvoved.

Example request: http://api.7digital.com/1.2/user/purchase/49193524/release/87654?oauth_token=...

AttributeTypeDescription
purchaseid
required
integer

purchase id identifying the transaction at 7digital's end that the refunded item belongs to

releaseId
required
integer

The 7digital id of the release being refunded

Method specific error codes:

2001 - Cannot find sale with purchaseId {purchaseid} and releaseId {releaseid}
Specified sale could not be found in the sales log

2002 - Cannot exclude sale with purchaseId {purchaseid} and releaseId {releaseid}
Specified sale could not be removed because the sale does not fall within the current reporting period. (The reporting period being from the start of the current month to 5th of the succeeding month. e.g. In January the reporting period is 1st January to 4th February.

application/xml response

<response status="ok" version="1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://localhost/api/static/7digitalAPI.xsd">
  <release>      
    <purchaseId>49193524</purchaseId>
    <releaseId>87654</releaseId>
  </release>
</response>

application/json response

  {
    "status":"ok",
    "version":"1.2",
    "purchaseId": "49193524"
     "releaseId": "87654"
    }
  }

Report track refund DELETE /user/purchase/{purchaseid}/track/{trackid}

This method allows a user to remove a purchase of a track from the sales report when the purchase has been refunded. It will return the purchase id and the track id of the item remvoved.

Example request: http://api.7digital.com/1.2/user/purchase/49193524/track/87654?oauth_token=...

AttributeTypeDescription
purchaseid
required
integer

purchase id identifying the transaction at 7digital's end that the refunded item belongs to

trackid
required
integer

The 7digital id of the track being refunded

Method specific error codes:

2001 - Cannot find sale with purchaseId {purchaseid} and trackId {releaseid}
Specified sale could not be found in the sales log

2002 - Cannot exclude sale with purchaseId {purchaseid} and trackId {trackid}
Specified sale could not be removed because the sale does not fall within the current reporting period. (The reporting period being from the start of the current month to 5th of the succeeding month. e.g. In January the reporting period is 1st January to 4th February.

application/xml response

<response status="ok" version="1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://localhost/api/static/7digitalAPI.xsd">
  <track>      
    <purchaseId>49193524</purchaseId>
    <trackId>87654</trackId>
  </track>
</response>

application/json response

  {
    "status":"ok",
    "version":"1.2",
    "purchaseId": "49193524"
     "trackId": "87654"
    }
  }

Using Existing Cards version 1.2

About this API

The Card Management API is designed for selected 7digital partners allowing more seemless integration without the need to redirect users to payments page on the 7digital hosted account microsite.

Important: 7digital does not store payment card details of users but these are tokenized and passed directly on to our payment providers. We do use different payment providers in different countries which means that if user registers a card for payments in one store (e.g. US store with purchases in USD) that card will not be available in countries where payments are handled by different payment provider (e.g. in UK with purchases in GBP). Always make sure that with each Credit Card Management API request you supply the correct code of country where the purchase is about to take place.

Get all active payment cards GET /user/payment/card

Lists all active payment cards stored on user's account. The first card listed is the user's default payment method.

Example request: https://api.7digital.com/1.2/user/payment/card?country=GB&oauth_token=xxxxxx&oauth_consumer_key...

AttributeTypeDescription
oauth_token
required
integer

user's OAuth accesstoken

country
required
string

ISO 2-character country code. When getting a list of active payment cards registered with user's account always make sure you do so for country where the purchase is about to take place

application/xml response

<response status="ok" version="1.2">
  <cards>
  <card id="123456">
    <type>VISA</type>
    <last4digits>2345</last4digits>
    <cardHolderName>John Doe</cardHolderName>
    <expiryDate>112012</expiryDate>
  </card> 
  <card id="123457">
    <type>MasterCard</type>
    <last4digits>2345</last4digits>
    <cardHolderName>Martin Doe</cardHolderName>
    <expiryDate>112012</expiryDate>
  </card> 
  <cards>
</response>

Set default payment method POST /user/payment/card/select

Sets selected payment card as the default payment method for user.

Example request: https://api.7digital.com/1.2/user/payment/card/select?cardId=123456&oauth_token=xxxxxx&oauth_consumer_key...

AttributeTypeDescription
oauth_token
required
integer

user's OAuth accesstoken

cardId
required
integer

the id of the card to be selected as default

country
required
string

ISO 2-character country code. When getting a list of active payment cards registered with user's account always make sure you do so for country where the purchase is about to take place

Method specific error codes:

1001 - Missing parameter
A required parameter is missing.

1002 - Invalid parameter value
A parameter has been supplied with invalid value.

2001 - Card does not exist
User has not registerd card with given cardId or the card has been deleted.

application/xml response

<response status="ok" version="1.2">
  <card>
    <type>VISA</type>
    <last4digits>2345</last4digits>
    <cardHolderName>Joe User</cardHolderName>
    <expiryDate>112012</expiryDate>
  </card>
</response>

Remove payment card POST /user/payment/card/delete

Remove payment card from user's account.

Example request: https://api.7digital.com/1.2/user/payment/card/delete?cardId=123456&oauth_token=xxxxxx&oauth_consumer_key...

AttributeTypeDescription
oauth_token
required
integer

user's OAuth accesstoken

cardId
required
integer

the id of the card to be deleted from user's account

country
required
string

ISO 2-character country code. When getting a list of active payment cards registered with user's account always make sure you do so for country where the purchase is about to take place

Method specific error codes:

1001 - Missing parameter
A required parameter is missing.

1002 - Invalid parameter value
A parameter has been supplied with invalid value.

2001 - Card does not exist
User has not registerd card with given cardId or the card has been already deleted.

application/xml response

<response status="ok" version="1.2">
</response>

Lisy payment card types GET /payment/card/type

List payment card types accepted in given country.

Example request: http://api.7digital.com/1.2/payment/card/type?country=US&oauth_consumer_key...

AttributeTypeDescription
country
required
string

ISO 2-character country code. When getting a list of active payment cards registered with user's account always make sure you do so for country where the purchase is about to take place

Method specific error codes:

1001 - Missing parameter
A required parameter is missing.

1002 - Invalid parameter value
A parameter has been supplied with invalid value.

application/xml response

<response status="ok" version="1.2">
  <cardTypes>
    <cardType id="VISA">Visa</cardType>
    <cardType id="MASTERCARD">MasterCard</cardType>
    <cardType id="AMEX">American Express</cardType>
  </cardTypes>
</response>

Adding A Card version 1.2

About this API

It is essential that card data is not stored or passed through your servers, therefore we offer two methods for adding a card; one aimed for use by websites and the other by mobile applications.

Mobile Applications - You can directly POST to https://card-api.7digital.com/card with your customer's card details.

Websites - We provide the ability to POST directly from a web page to add a card. This is done in three steps (outlined below). Firstly you will need to create a card registration resource (Step 1) which holds all the user information and a redirectUrl. The redirectUrl should be a web page in the API consumer's domain. The response from the first step will contain a location header which should be used to POST card data to directly from the client's browser (Step 2). This will redirect the client to the redirectUrl specified in the first step, which will also have the cardRegistrationId appended to it. To check the status of the card addition take the cardRegistrationId from the query string on the redirect of step 2 and GET the card registration resource (Step 3).

Mobile apps POST /card-api.7digital.com/card

Adds a new card to a user's account. This card will be automatically set as default payment option.

Before adding the card to user's account the card number is validated using Luhn alogrithm. Full card validation with the issuing bank (e.g. CVC number check, funds availability, etc.) is also performed.

This endpoint can be used by mobile applications, where the client's device communicates directly with the 7digital API.

Example request: POST https://card-api.7digital.com/card country=GB&cardNumber=4444333322221111&cardType=VISA&cardHolderName=Joe%20User&cardVerificationCode=123&cardExpiryDate=201611&cardCountry=GB&cardPostCode=W37NT&oauth_consumer_key=YOUR_KEY_HERE&oauth_token=...

AttributeTypeDescription
oauth_token
required
integer

user's OAuth accesstoken

country
required
string

ISO 2-character country code. When adding a card to a user's account make sure you do so for country where the purchase is about to take place. If no country code is provided the country will default to GB.

cardNumber
required
string

The long card number usually displayed on the front of the card (only digits, no spaces or special chars)

cardType
required
string

Type of card (e.g. Visa, MasterCard). CardType Id must be used. For valid options please refer to Using existing cards

cardHolderName
required
string

Name of the card holder as it appears on the card

cardStartDatedate

Valid date in format YYYYMM. The start date if stated on the card (e.g. 201105)

cardExpiryDate
required
date

Valid date in format YYYYMM. The expiry date on the card (e.g. 201612)

cardIssueNumberinteger

Issue number of the card if stated (e.g. 1)

cardVerificationCode
required
integer

The Card Verification Code (CVC) / 3-4 digits. Some territories do not issue cards with CVC numbers, in these instances please pass 000.

cardPostCode
required
string

Zip or Post Code of the registered billing address

cardCountry
required
integer

ISO 2-character country code. Country of the registered billing address (e.g. GB for United Kingdom)

Method specific error codes:

1001 - Missing parameter
A required parameter is missing.

1002 - Invalid parameter value
A parameter has been supplied with invalid value.

3100 - Payment Provider Connection Error
There was a problem processing the card action with the payment provider. Please retry your request.

3104 - Add Card declined
The card failed to pass validation checks or has been cancelled. Please try with another card.

7100 or 3103 - Add Card failed
The card failed to be added to the payment provider. This request can be resent without any side effects.

application/xml response

<response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" status="ok">
  <card id="123456">
    <type>VISA</type>
    <last4digits>1111</last4digits>
    <cardHolderName>Joe User</cardHolderName>
    <expiryDate>201611</expiryDate>
    <default>true</default>
  </card>
</response>

Web Step 1 - Create a card registration POST /api.7digital.com/1.2/user/payment/cardregistration

Creates a card registration which responds with a location header to which the browser can directly POST the users card details to.

Example request: POST http://api.7digital.com/1.2/user/payment/cardregistration redirecturl=http%3a%2f%2fredirect.me%2fhere&oauth_consumer_key=YOUR_KEY_HERE&oauth_token=...

AttributeTypeDescription
oauth_token
required
integer

user's OAuth accesstoken

redirectUrl
required
string

Your confirmation page that 7digital will redirect your customer too

country
required
string

ISO 2-character country code. When adding a card to a user's account make sure you do so for country where the purchase is about to take place. If no country code is provided the country will default to GB.

application/xml response

Location:https://card-api.7digital.com/cardregistration/3246a11b-cf71-4342-a1a4-691830eee2cf

<response status="ok" version="1.2" xsi:noNamespaceSchemaLocation="http://api.7digital.com/1.2/static/7digitalAPI.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <cardRegistration id="3246a11b-cf71-4342-a1a4-691830eee2cf" status="pending" />
</response>

Web Step 2 - Post card data POST /card-api.7digital.com/cardregistration/{id}

This URL is provided in the location header in the response from the POST to card registration above. You should POST to this URL directly from the client's browser.

Example request: POST https://card-api.7digital.com/cardregistration/3246a11b-cf71-4342-a1a4-691830eee2cf cardNumber=4444333322221111&cardType=VISA&cardHolderName=Joe%20User&cardVerificationCode=123&cardExpiryYear=2016&cardExpiryMonth=01&cardCountry=GB&cardPostCode=W37NT

AttributeTypeDescription
cardNumber
required
string

The long card number usually displayed on the front of the card (only digits, no spaces or special chars)

cardType
required
string

Type of card (e.g. Visa, MasterCard). CardType Id must be used. For valid options please refer to Using existing cards

cardHolderName
required
string

Name of the card holder as it appears on the card

cardStartDatedate

Valid date in format YYYYMM. The start date if stated on the card (e.g. 201105)

cardExpiryDate
required
date

Valid date in format YYYYMM. The expiry date on the card (e.g. 201612)

cardIssueNumberinteger

Issue number of the card if stated (e.g. 1)

cardVerificationCode
required
integer

The Card Verification Code (CVC) / 3-4 digits. Some territories do not issue cards with CVC numbers, in these instances please pass 000.

cardPostCode
required
string

Zip or Post Code of the registered billing address

cardCountry
required
integer

ISO 2-character country code. Country of the registered billing address (e.g. GB for United Kingdom)

application/xml response

HTTP 303 Redirect

Location:http://redirect.me/here?cardRegistrationId=3246a11b-cf71-4342-a1a4-691830eee2cf

Web Step 3 - Check the status of the card addition GET /api.7digital.com/1.2/user/payment/cardregistration/{id}

Use this endpoint to find out whether a card was added successfully or not.

Example request: GET http://api.7digital.com/1.2/user/payment/cardregistration/3246a11b-cf71-4342-a1a4-691830eee2cf

AttributeTypeDescription
oauth_token
required
integer

user's OAuth accesstoken

application/xml response

Example success response

<response status="ok" version="1.2" xsi:noNamespaceSchemaLocation="http://api.7digital.com/1.2/static/7digitalAPI.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <cardRegistration id="3246a11b-cf71-4342-a1a4-691830eee2cf" status="complete">
    <card id="123456">
      <type>Visa</type>
      <last4digits>1111</last4digits>
      <cardholderName>Joe User</cardholderName>
      <expiryDate>0116</expiryDate>
    </card>
  </cardRegistration>
</response>

Example error response

<response status="ok" version="1.2" xsi:noNamespaceSchemaLocation="http://api.7digital.com/1.2/static/7digitalAPI.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <cardRegistration id="3246a11b-cf71-4342-a1a4-691830eee2cf" status="error">
    <error code="3103">
      <errorMessage>Add card failed: Please try again</errorMessage>
    </error>
  </cardRegistration>
</response>

Catalogue Feeds

About this API

This section details the endpoints that allow for a client to download CSV formatted snapshots of the 7digital catalogue. The CSV formatted files allow a client to import 7digital's catalogue into their own database.

Artist - Full feed GET /feed/artist/full

This endpoint returns a file which is a data snaphot of all the artists contained in the catalogue. The data is contained in a gzipped CSV formatted text file.

Example request: http://feeds.api.7digital.com/1.2/feed/artist/full?country=WW&date=20160623&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
country
required
string

The code of the country of the catalogue you want to download.

date
required
string

Date of the feed file required, in the format yyyymmdd . File will contain the previous 24 hours worth of changes up until midnight of the value of the date parameter. To get the most recent changes, use today's date.

Release - Full feed GET /feed/release/full

This endpoint returns a file which is a data snaphot of all the releases contained in the catalogue for a given country. The data is contained in a gzipped CSV formatted text file.

Example request: http://feeds.api.7digital.com/1.2/feed/release/full?country=WW&date=20160623&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
country
required
string

The code of the country of the catalogue you want to download.

date
required
string

Date of the feed file required, in the format yyyymmdd . File will contain the previous 24 hours worth of changes up until midnight of the value of the date parameter. To get the most recent changes, use today's date.

Track - Full feed GET /feed/track/full

This endpoint returns a file which is a data snaphot of all the tracks contained in the catalogue for a given country. The data is contained in a gzipped CSV formatted text file.

Example request: http://feeds.api.7digital.com/1.2/feed/track/full?country=WW&date=20160623&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
country
required
string

The code of the country of the catalogue you want to download.

date
required
string

Date of the feed file required, in the format yyyymmdd . File will contain the previous 24 hours worth of changes up until midnight of the value of the date parameter. To get the most recent changes, use today's date.

Artist - Daily Updates feed GET /feed/artist/updates

This endpoint returns a file contains a data snaphot of the artists that have changed in the catalogue in the 24 hours prior to midnight on the date of the date parameter. The data is contained in a gzipped CSV formatted text file.

Example request: http://feeds.api.7digital.com/1.2/feed/artist/updates?country=WW&date=20160623&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
country
required
string

The code of the country of the catalogue you want to download.

date
required
string

Date of the feed file required, in the format yyyymmdd . File will contain the previous 24 hours worth of changes up until midnight of the value of the date parameter. To get the most recent changes, use today's date.

Release - Daily Updates feed GET /feed/release/updates

This endpoint returns a file contains a data snaphot of the releases that have changed in the catalogue in the past 24 hours for a given country. The data is contained in a gzipped CSV formatted text file.

Example request: http://feeds.api.7digital.com/1.2/feed/release/updates?country=WW&date=20160623&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
country
required
string

The code of the country of the catalogue you want to download.

date
required
string

Date of the feed file required, in the format yyyymmdd . File will contain the previous 24 hours worth of changes up until midnight of the value of the date parameter. To get the most recent changes, use today's date.

Track - Daily Updates feed GET /feed/track/updates

This endpoint returns a file contains a data snaphot of the tracks in the catalogue for a given country that have changed in the 24 hours prior to midnight on the date of the date parameter. The data is contained in a gzipped CSV formatted text file.

Example request: http://feeds.api.7digital.com/1.2/feed/track/updates?country=WW&date=20160623&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
country
required
string

The code of the country of the catalogue you want to download.

date
required
string

Date of the feed file required, in the format yyyymmdd . File will contain the previous 24 hours worth of changes up until midnight of the value of the date parameter. To get the most recent changes, use today's date.

Release - Global Full feed GET /feed/release/global/full

This endpoint returns a file which is a data snaphot of all the releases contained in the catalogue for all countries. The data is contained in a gzipped CSV formatted text file.

Example request: http://feeds.api.7digital.com/1.2/feed/release/global/full?date=20160623&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
date
required
string

Date of the feed file required, in the format yyyymmdd . File will contain the previous 24 hours worth of changes up until midnight of the value of the date parameter. To get the most recent changes, use today's date.

Track - Global Full feed GET /feed/track/global/full

This endpoint returns a file which is a data snaphot of all the tracks contained in the catalogue for all countries. The data is contained in a gzipped CSV formatted text file.

Example request: http://feeds.api.7digital.com/1.2/feed/track/global/full?date=20160623&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
date
required
string

Date of the feed file required, in the format yyyymmdd . File will contain the previous 24 hours worth of changes up until midnight of the value of the date parameter. To get the most recent changes, use today's date.

Release - Global Daily Updates feed GET /feed/release/global/updates

This endpoint returns a file with all the releases contained in the catalogue for all countries that have changed in the 24 hours prior to midnight on the date of the date parameter. The data is contained in a gzipped CSV formatted text file.

Example request: http://feeds.api.7digital.com/1.2/feed/release/global/updates?date=20160623&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
date
required
string

Date of the feed file required, in the format yyyymmdd . File will contain the previous 24 hours worth of changes up until midnight of the value of the date parameter. To get the most recent changes, use today's date.

Release - Hi Res Full feed GET /feed/release/hi-res/bitrate/{bitrate}/full

This endpoint returns a file which is a data snaphot of all the hi res releases of a given bitrate contained in the catalogue for a given country. The data is contained in a gzipped CSV formatted text file.

Example request: http://feeds.api.7digital.com/1.2/feed/release/hi-res/bitrate/16/full?country=WW&date=20160623&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
country
required
string

The code of the country of the catalogue you want to download.

bitrate
required
integer

Bit rate of the the catalogue data you require. Valid values are 16 or 24

date
required
string

Date of the feed file required, in the format yyyymmdd . File will contain the previous 24 hours worth of changes up until midnight of the value of the date parameter. To get the most recent changes, use today's date.

Track - Hi Res Full feed GET /feed/track/hi-res/bitrate/{bitrate}/full

This endpoint returns a file which is a data snaphot of all the hi res tracks of a given bitrate contained in the catalogue for a given country. The data is contained in a gzipped CSV formatted text file.

Example request: http://feeds.api.7digital.com/1.2/feed/track/hi-res/bitrate/16/full?country=WW&date=20160623&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
country
required
string

The code of the country of the catalogue you want to download.

bitrate
required
integer

Bit rate of the the catalogue data you require. Valid values are 16 or 24

date
required
string

Date of the feed file required, in the format yyyymmdd . File will contain the previous 24 hours worth of changes up until midnight of the value of the date parameter. To get the most recent changes, use today's date.

Release - Hi Res Daily updates feed GET /feed/release/hi-res/bitrate/{bitrate}/updates

This endpoint returns a file with all the hi res releases for a given country for a given bitrate that have changed in the catalogue in the past 24 hours. The data is contained in a gzipped CSV formatted text file.

Example request: http://feeds.api.7digital.com/1.2/feed/release/hi-res/bitrate/16/updates?country=WW&date=20160623&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
country
required
string

The code of the country of the catalogue you want to download.

bitrate
required
integer

Bit rate of the the catalogue data you require. Valid values are 16 or 24

date
required
string

Date of the feed file required, in the format yyyymmdd . File will contain the previous 24 hours worth of changes up until midnight of the value of the date parameter. To get the most recent changes, use today's date.

Track - Hi Res Daily updates feed GET /feed/track/hi-res/bitrate/{bitrate}/updates

This endpoint returns a file with all the hi res tracks for a given country for a given bitrate that have changed in the 24 hours prior to midnight on the date of the date parameter. The data is contained in a gzipped CSV formatted text file.

Example request: http://feeds.api.7digital.com/1.2/feed/track/hi-res/bitrate/16/updates?country=WW&date=20160623&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
country
required
string

The code of the country of the catalogue you want to download.

bitrate
required
integer

Bit rate of the the catalogue data you require. Valid values are 16 or 24

date
required
string

Date of the feed file required, in the format yyyymmdd . File will contain the previous 24 hours worth of changes up until midnight of the value of the date parameter. To get the most recent changes, use today's date.

Artist - Pre-release Full feed GET /feed/artist/prerelease/full

This endpoint returns a file which is a data snaphot of all the artists who's content is not yet saleable nor streamable in the catalogue. The data is contained in a gzipped CSV formatted text file.

Example request: http://feeds.api.7digital.com/1.2/feed/artist/prerelease/full?country=WW&date=20160623&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
country
required
string

The code of the country of the catalogue you want to download.

date
required
string

Date of the feed file required, in the format yyyymmdd . File will contain the previous 24 hours worth of changes up until midnight of the value of the date parameter. To get the most recent changes, use today's date.

Release - Pre-release Full feed GET /feed/release/prerelease/full

This endpoint returns a file which is a data snaphot of all the releases contained in the catalogue for a given country, which are not yet saleable nor streamable. The data is contained in a gzipped CSV formatted text file.

Example request: http://feeds.api.7digital.com/1.2/feed/release/prerelease/full?country=WW&date=20160623&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
country
required
string

The code of the country of the catalogue you want to download.

date
required
string

Date of the feed file required, in the format yyyymmdd . File will contain the previous 24 hours worth of changes up until midnight of the value of the date parameter. To get the most recent changes, use today's date.

Track - Pre-release Full feed GET /feed/track/prerelease/full

This endpoint returns a file which is a data snaphot of all the tracks contained in the catalogue for a given country, which are not yet saleable nor streamable. The data is contained in a gzipped CSV formatted text file.

Example request: http://feeds.api.7digital.com/1.2/feed/track/prerelease/full?country=WW&date=20160623&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
country
required
string

The code of the country of the catalogue you want to download.

date
required
string

Date of the feed file required, in the format yyyymmdd . File will contain the previous 24 hours worth of changes up until midnight of the value of the date parameter. To get the most recent changes, use today's date.

Artist - Pre-release Daily Updates feed GET /feed/artist/prerelease/updates

This endpoint returns a file contains a data snaphot of the artists who's content is not yet saleable nor streamable that have changed in the catalogue in the 24 hours prior to midnight on the date of the date parameter. The data is contained in a gzipped CSV formatted text file.

Example request: http://feeds.api.7digital.com/1.2/feed/artist/prelease/updates?country=WW&date=20160623&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
country
required
string

The code of the country of the catalogue you want to download.

date
required
string

Date of the feed file required, in the format yyyymmdd . File will contain the previous 24 hours worth of changes up until midnight of the value of the date parameter. To get the most recent changes, use today's date.

Release - Pre-release Daily Updates feed GET /feed/release/prerelease/updates

This endpoint returns a file contains a data snaphot of the releases which are not yet saleable nor streamable that have changed in the catalogue in the past 24 hours for a given country. The data is contained in a gzipped CSV formatted text file.

Example request: http://feeds.api.7digital.com/1.2/feed/release/prerelease/updates?country=WW&date=20160623&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
country
required
string

The code of the country of the catalogue you want to download.

date
required
string

Date of the feed file required, in the format yyyymmdd . File will contain the previous 24 hours worth of changes up until midnight of the value of the date parameter. To get the most recent changes, use today's date.

Track - Pre-release Daily Updates feed GET /feed/track/prerelease/updates

This endpoint returns a file contains a data snaphot of the tracks in the catalogue for a given country which are not yet saleable nor streamable that have changed in the 24 hours prior to midnight on the date of the date parameter. The data is contained in a gzipped CSV formatted text file.

Example request: http://feeds.api.7digital.com/1.2/feed/track/prerelease/updates?country=WW&date=20160623&oauth_consumer_key=YOUR_KEY_HERE

AttributeTypeDescription
country
required
string

The code of the country of the catalogue you want to download.

date
required
string

Date of the feed file required, in the format yyyymmdd . File will contain the previous 24 hours worth of changes up until midnight of the value of the date parameter. To get the most recent changes, use today's date.