This document describes version 5 of the Audiosocket MaaS™ API, which provides easy access to our music search and streaming features. The format and transport are JSON over HTTPS. The API is versioned, and URLs look something like this:

https://api.audiosocket.com/v5/...

We bump the API version when we make incompatible changes to data structures or remove features. New features, resources, and data do not bump the API version, so please handle unknown keys gracefully. New versions of the API are distributed along with a release plan, including timelines for removing older versions of the API.

Authentication

Access to the API is granted by your Audiosocket API token (to get or reset yours, email us). Your token must be included with every request you make in the X-Audiosocket-Token HTTP header.

All API calls are logged. If you wish to store additional audit information about a request (e.g., the user in your system responsible for initiating the call), you can optionally provide a tag in the X-Audiosocket-Tag HTTP header.

(All examples will be presented as curl commands. If you’re on a unixish system, curl is probably already available. In all examples, SERVER is used instead of the actual API server name.)

Example: Authenticate via Request Header

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     https://SERVER/v5/ping

Example: Provide an Audit Tag

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     -H "X-Audiosocket-Tag:user@example.org" \
     https://SERVER/v5/ping

Failures

API requests for missing or invalid API keys, inactive accounts, or restricted resources will receive a 401 UNAUTHORIZED response with a JSON body in the API’s standard error format:

{ "errors": { "request": ["Unauthorized."] } }

The "errors" object may contain additional information about the issue, but is not intended for end-user display.

Attributes

The detailed documentation for each resource includes a list of available attributes. In some cases, different data may be returned depending on whether the resource is rendered in a scoped or unscoped context.

For example, an album with ID 17 included in the /artists/42/albums resource will not contain an attribute with artist information, as it is implied by scope, but an unscoped /albums/17 resource will.

Pagination

All top-level collection data returned by the API is paginated, and all GET requests to collection resources accept the following optional parameters:

Parameter Description
p Results Page (default is 1)
pp Results Per Page (default is 100, capped at 1000)

All top-level collection data is returned in a consistent JSON document format:

{
  "data":  [ ... ],
  "page":  1,
  "pages": 3,
  "per":   50,
  "total": 105
}

An empty result set is returned in the same format, with an empty data array, total: 0, and pages: 1.

Searching for Music

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     https://SERVER/v5/tracks?q=love&g=6,30

This resource returns a list of tracks matching the given parameters. By default, results are ordered by relevance and freshness. The example above searches for tracks related to “love” in the “Blues” or “Rock” genres.

Many parameters take comma-separated lists of IDs. Depending on your account, various search restrictions may be applied automatically. Available query parameters (all optional):

Parameter Description
d Duration
e Ending ID
g Genre IDs
i Instrument IDs
in Intro IDs
l Language IDs
m Mood IDs
noop No-Op Flag
o Sort Order
q Free Text
t Tempo IDs
th Theme IDs
v Vocal IDs
with Request additional data in results. See /tracks for details.
x Include Explicit Content

Successful track searches return a 200 OK and a set of JSON-formatted results. See the /tracks resource for examples of JSON results.

Track Search Parameters

Duration

d is the desired length in seconds of matching track. By default tracks are given some slack: They’re allowed to be up to 20 seconds shorter or longer than the specified duration.

To change the amount of slack, additional information can be passed: d=120:00 requires tracks to be two minutes long, with no slack. d=120:30 allows tracks to be anywhere from 1:30 to 2:30.

To show only tracks longer or shorter than the duration, prefix with > or <. d=<60 requires tracks to be less than a minute long. If > or < are specified, any slack is ignored.

Ending ID

e is an ending ID, which specifies how a track ends. Does it fade out? Does it end abruptly? See the /endings resource for a list of valid endings.

Genre IDs

g is a list of genre IDs, which specify the musical genres for a track. Tracks can (and often do) belong to multiple genres, and multiple IDs can be specified in this parameter. g=34,18 might search for tracks that belong to the “Upbeat Rock” and “Latin Rock” genres, for example.

Genres are organized in a two-level tree, so requests for a top-level genre like “Rock” will also match tracks attached to any sub-genre of “Rock.” See the /genres resource for a list of valid genres.

Instrument IDs

i is a list of instrument IDs, which specify the musical instruments used to perform the track. As with genres above, instruments are organized in a tree and multiple comma-separated IDs can be specified. See the /instruments resource for a list of valid instruments.

Intro ID

in is an intro ID, specifying the vocal or instrumental intro style that starts the track. See the /intros resource for a list of valid intros.

Language IDs

l is a list of language IDs, which specify the languages used in a track with vocals. Multiple comma-separated IDs can be specified. See the /languages resource for a list of valid languages.

Mood IDs

m is a list of mood IDs, which describe the emotional landscape of a track. Multiple comma-separated IDs can be specified. See the /moods resource for a list of valid moods.

No-Op Flag

noop can be set to true to log searches without executing the search or returning results. When the No-Op flag is used, the results will simply be { success:true }

Sort Order

o controls the sort order of search results. By default, search results are returned in an order which favors newer, hotter tracks. Order is specified as a list of comma-separated attribute/direction pairs. For example, o=duration:desc,name:asc would sort first by duration, favoring longer tracks, and then by name, favoring track names starting at the begininng of the alphabet.

Free Text

q is a free-text search, referencing artist names, album names, track names, lyrics, the names of similar artists, and many of the more structured classification elements as well. Any text may be passed.

Tempo IDs

t is a list of tempo IDs, which represent the speed of the track. Multiple comma-separated IDs can be specified. See the /tempos resource for a list of valid tempos.

Theme IDs

th is a list of theme IDs, which represent the overall thematic content of a vocal track’s lyrics. Multiple comma-separated IDs can be specified. See the /themes resource for a list of valid themes.

Vocal IDs

v is a list of vocal IDs, which represent the kind of voices present in a vocal track. Multiple comma-separated IDs can be specified. See the /vocals resource for a list of valid vocals.

Explicit

x is a flag specifying the explicit content of a track. Explicit tracks may contain profanity or references to R-rated situations or behavior. By default, both explicit and non-explicit tracks are available. Set x=false to filter out explicit tracks.

Streaming and Downloading with HTTP

The API supports many different audio encodings and quality levels, though all encodings may not be available for all files. The following encodings are widely available:

Most other variants are created on demand. If your project requires a specific quality or encoding, let us know! Our system probably already supports it.

To stream/download a track via HTTP, use the track’s ID to construct a URL. By default, MP3s will be delivered in 128k stereo.

Example: Download a 128k stereo MP3 of track 10005

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     https://SERVER/v5/tracks/10005.mp3

To request a different quality or encoding variant, you can add extra requirements to the track :id. A dot-separated list of requirements must start with the requested quality in KBPS and the requested number of channels (1 for mono, 2 for stereo). Other requirements will be ignored unless your API account has special powers.

The format:

https://SERVER/v5/tracks/:id[.:kbps[.:channels][.:extras]].[:format]

Example: Download a 192k stereo MP3 of track 10005

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     https://SERVER/v5/tracks/10005.192.mp3

Example: Download a 32k mono MP3 of track 10005

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     https://SERVER/v5/tracks/10005.32.1.mp3

An authorized request to this URL will redirect you to a signed, secure version of the track on one of our content delivery network. Redirects are only valid for a few seconds, so don’t wait too long to follow them. Requests for invalid or unavailable encodings will return 404 NOT FOUND.

If you need a URL that’s accessible without authentication, you can add /url for a JSON response. An optional lifetime parameter (expressed in seconds) is supported. lifetime defaults to five minutes, and can’t be longer than 12 hours.

Example: Request a pre-authenticated download URL

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     https://SERVER/v5/tracks/10005.mp3/url?lifetime=600

Response

{
  "until": 1283184660,
  "url": "http://big-url-pointing-to-our-cdn/10005.mp3"
}

The url key is the signed URL of the actual track file you’ve requested, and the until key is the time in epoch seconds when the URL will become invalid.

Albums

Albums are a collection of tracks for a specific artist.

Attributes

Attribute Description Visible
artist An object representing the album's artist. Unscoped
id A unique identifier. Always
name A descriptive name. Always
tracks The number of active tracks on the album. Unscoped

/albums/:id

The album represented by :id.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/albums/3

Response

{
    id: 3,
    name: "Button"
}

/albums/:id/tracks

Tracks matching a specific album :id. See the /tracks resource for example results.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/albums/1/tracks

Artists

Artists are the performers and composers of all music in the service.

Attributes

Attribute Description Visible
id A unique identifier. Always
name A descriptive name. Always
tracks The number of active tracks this artist has created. Singular

/artists

A list of artists.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/artists

Response

{
    data: [
        {
            id: 466,
            name: "11 Acorn Lane"
        },
        {
            id: 873,
            name: "17th Century Italian Music"
        },
        {
            id: 122,
            name: "17th Chapter"
        },
    ]

    // ...
}

/artists/:id

The artist represented by :id.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/artists/3

Response

{
    id: 1,
    name: "Fono",
    tracks: 17
}

/artist/:id/albums

Albums matching a specific artist :id. See the /albums resource for example results.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/artists/1/albums

/artists/:id/tracks

Tracks matching a specific artist :id. See the /tracks resource for example results.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/artists/1/tracks

Context

Rather than requiring requests to a bunch of discrete resources to get the available genres, moods, tempos, et cetera, /context provides everything in one big unpaginated data bomb. This is useful for initialization: Make the big call at the beginning, and call the specific resources if a refresh is necessary.

Each context value is equivalent to the contents of the data key on a corresponding top-level resource request.

/context

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/context

Response

{
  endings: [...],
  genres: [...],
  instruments: [...],
  intros: [...],
  languages: [...],
  moods: [...],
  restrictions: [...],
  tempos: [...],
  themes: [...],
  vocals: [...]
}

Endings

Endings describe what happens in the last few seconds of a track.

Attributes

Attribute Description Visible
id A unique identifier. Always
name A descriptive name. Always

/endings

A list of endings.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/endings

Response

{
    data: [
        {
            id: 3,
            name: "Button"
        },
        {
            id: 4,
            name: "Clean"
        },
        {
            id: 2,
            name: "Fade Out"
        },
        {
            id: 1,
            name: "Sustain"
        }
    ]

    // ...
}

/endings/:id

The ending represented by :id.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/endings/3

Response

{
    id: 3,
    name: "Button"
}

/endings/:ids/tracks

Tracks matching one or more comma-separated ending :ids. See the /tracks resource for example results.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/endings/1,2/tracks

Genres

A genre is a category of music, grouping similar tracks together. Genres are organized in a tree.

Attributes

Attribute Description Visible
children An Array of more specific sub-genres. If children exist.
id A unique identifier. Always
name A descriptive name. Always
parent The ID of the parent genre. Singular, if parent exists.

/genres

A list of root genres with nested children.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/genres

Response

{
    data: [
        {
            children: [
                {
                    id: 246,
                    name: "Ambient/Textural"
                },
            ],
            id: 4,
            name: "Ambient"
        },
        {
            children: [
                {
                    id: 132,
                    name: "Electronic"
                },
                {
                    id: 318,
                    name: "Noise"
                }
                {
                    id: 319,
                    name: "Sound Sculpture"
                }
            ],
            id: 131,
            name: "Avant Garde"
        }

        // ...
    }
}

/genres/:id

The genre represented by :id.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/genres/4

Response

{
    id: 4,
    name: "Ambient",
    children: [...]
}

/genres/:ids/tracks

Tracks matching one or more comma-separated genre :ids. Tracks associated with a sub-genre will be merged into the parent. See the /tracks resource for example results.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/genres/4,5/tracks

Instruments

Various nefarious devices used to produce music. Instruments are organized in a tree.

Attributes

Attribute Description Visible
children An Array of more specific sub-instruments. If children exist.
id A unique identifier. Always
name A descriptive name. Always
parent The ID of the parent instrument. Singular, if parent exists.

/instruments

A list of root instruments with nested children.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/instruments

Response

{
    data: [
        {
            children: [
                {
                    id: 12,
                    name: "Acoustic Guitar"
                },
                {
                    id: 13,
                    name: "Banjo, Dobro, Fiddle, Mandolin"
                },
                {
                    id: 14,
                    name: "Upright Bass, Acoustic Bass"
                }
            ],
            id: 11,
            name: "Acoustic Stringed Instruments"
        }
    ]

    // ...
}

/instruments/:id

The instrument represented by :id.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/instruments/4

Response

{
    children: [...],
    id: 11,
    name: "Acoustic Stringed Instruments"
}

/instruments/:ids/tracks

Tracks matching one or more comma-separated instrument :ids. Tracks associated with a sub-instrument will be merged into the parent. See the /tracks resource for example results.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/instruments/4,5/tracks

Intros

Intros describe the contents of the first few seconds of a track, primarily whether or not it immediately contains vocals.

Attributes

Attribute Description Visible
id A unique identifier. Always
name A descriptive name. Always

/intros

A list of intros.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/intros

Response

{
    data: [
        {
            id: 1,
            name: "Instrumental"
        },
        {
            id: 2,
            name: "Vocal"
        }
    ]

    // ...
}

/intros/:id

The intro represented by :id.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/intros/1

Response

{
    id: 1,
    name: "Instrumental"
}

/intros/:ids/tracks

Tracks matching one or more comma-separated intro :ids. See the /tracks resource for example results.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/intros/1,2/tracks

Languages

Languages describe the spoken or sung language used in tracks with vocals.

Attributes

Attribute Description Visible
id A unique identifier. Always
name A descriptive name. Always

/languages

A list of languages.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/languages

Response

{
    data: [
        {
            id: 113,
            name: "Aboriginal"
        },
        {
            id: 21,
            name: "Africa - Afrikaans"
        },
        {
            id: 22,
            name: "Africa - Ndebele"
        }
    ]

    // ...
}

/languages/:id

The language represented by :id.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/languages/1

Response

{
    id: 113,
    name: "Aboriginal"
}

/languages/:ids/tracks

Tracks matching one or more comma-separated language :ids. See the /tracks resource for example results.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/languages/1,2/tracks

Moods

Moods describe the overall state of mind or feeling conveyed by a track.

Attributes

Attribute Description Visible
id A unique identifier. Always
name A descriptive name. Always

/moods

A list of moods.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/moods

Response

{
    data: [
        {
            id: 17,
            name: "Aggressive / Intense"
        },
        {
            id: 29,
            name: "Calm / Peaceful"
        },
        {
            id: 38,
            name: "Dramatic"
        }
    ]

    // ...
}

/moods/:id

The mood represented by :id.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/moods/1

Response

{
    id: 17,
    name: "Aggressive / Intense"
}

/moods/:ids/tracks

Tracks matching one or more comma-separated mood :ids. See the /tracks resource for example results.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/moods/1,2/tracks

Ping

This resource exists for uptime and performance checking, and it’s the only API method that can be requested without authentication.

curl http://SERVER/v5/ping

Response

{
    ok: {
        d: 38190,
        m: 0,
        r: [429, 40]
        s: 1,
    }
}

Success is defined as a 200 OK response with a JSON object containing an ok key. The contents of ok can vary wildly depending on account, cluster load, and time of day, and should be considered opaque.

Restrictions

Restrictions describe situations in which a track shouldn’t be used. For example, an artist may wish their music to never be used in a film, show, or game where violence is celebrated.

Attributes

Attribute Description Visible
id A unique identifier. Always
name A descriptive name. Always

/restrictions

A list of restrictions.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/restrictions

Response

{    
    data: [
        {
            id: 2,
            name: "No Alcohol"
        },
        {
            id: 6,
            name: "No Sexual Content"
        },
        {
            id: 1,
            name: "No Tobacco"
        }
    ]

    // ...
}

/restrictions/:id

The restriction represented by :id.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/restrictions/1

Response

{
    id: 2,
    name: "No Alcohol"
}

/restrictions/:ids/tracks

Tracks matching one or more comma-separated restriction :ids. See the /tracks resource for example results.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/restrictions/1,2/tracks

Tempos

Tempos describe the relative speed of a track.

Attributes

Attribute Description Visible
id A unique identifier. Always
name A descriptive name. Always

/tempos

A list of tempos.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/tempos

Response

{
    data: [
        {
            id: 2,
            name: "Fast (140-160)"
        },
        {
            id: 4,
            name: "Medium (80-110)"
        },
        {
            id: 3,
            name: "Medium Fast (110-140)"
        }
    ]

    // ...
}

/tempos/:id

The tempo represented by :id.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/tempos/1

Response

{
    id: 2,
    name: "Fast (140-160)"
}

/tempos/:ids/tracks

Tracks matching one or more comma-separated tempo :ids. See the /tracks resource for example results.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/tempos/1,2/tracks

Themes

Themes describe the overall subject of a track’s lyrics. Themes are organized in a tree.

Attributes

Attribute Description Visible
children An Array of more specific sub-themes. If children exist.
id A unique identifier. Always
name A descriptive name. Always
parent The ID of the parent theme. Singular, if parent exists.

/themes

A list of root themes with nested children.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/themes

Response

{
    data: [
        {
            children: [
                {
                    id: 2,
                    name: "Sports"
                },
                {
                    id: 9,
                    name: "Bullriding"
                },
                {
                    id: 242,
                    name: "Gardening"
                }
            ]
            id: 1,
            name: "Activities"
        }
    ]

    // ...
}    

/themes/:id

The theme represented by :id.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/themes/4

Response

{
    id: 1,
    name: "Activities",
    children: [...]
}

/themes/:ids/tracks

Tracks matching one or more comma-separated theme :ids. Tracks associated with a sub-theme will be merged into the parent. See the /tracks resource for example results.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/themes/4,5/tracks

Tracks

Tracks are the heart of the platform, and represent a playable piece of music. Methods for Searching and streaming tracks are documented in detail above. For speedy results, many track attributes are omitted when showing results for a collection or search. All attributes can be retrieved from the track’s /tracks/:id singular resource.

Attributes

Attribute Description Visible
artist An object representing the track's artist. Always
album An object representing the track's album. Always
children An array of instrumental or stem variants tracks. Singular, if children exist.
ending The ID of the track's ending. Singular, plural if requested.
explicit Does this track contain adult language? A boolean. Singular, plural if requested.
genres An array of genre IDs. Singular, plural if requested.
id A unique identifier. Always
instruments An array of instrument IDs. Singular, plural if requested.
intro The ID of the track's intro. Singular, plural if requested.
languages An array of language IDs. Singular, plural if requested.
moods An array of mood IDs. Singular, plural if requested.
restrictions An array of restriction IDs. Singular, plural if requested.
tempos An array of tempo IDs. Singular, plural if requested.
themes An array of theme IDs. Singular, plural if requested.
vocals An array of vocal IDs. Singular, plural if requested.
length The track duration in seconds as a floating-point number. Always
name The title of the track. Always

/tracks

Search a collection of tracks, as described above. Many other resources present a scoped track resource, but search options and results are consistent.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/tracks

Response

{
    data: [
        {
            length: 226.351,
            album: {
                id: 1,
                name: "Too Broken To Break"
            },
            artist: {
                id: 1,
                name: "Fono"
            },
            id: 10005,
            name: "Dangerous"
        }
    ]

    // ...
}

Optional Attributes

Track search results are optimized for speed and delivery size by default, but additional information can be requested by using the with query parameter, which contains a comma-separated list of additional attributes to include. Attribute abbreviations are consistent with the query parameters from searching above.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/tracks?with=g,m,t

The response to this query would include genres, moods, and tempos attributes for each matching track.

/tracks/:id

The track represented by :id.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/tracks/10005

Response

{
    id: 10005,
    name: "Dangerous",

    album: {
        id: 1,
        name: "Too Broken To Break"
    },

    artist: {
        id: 1,
        name: "Fono"
    },

    ending: 1,
    explicit: false,
    genres: [...],
    instruments: [...],
    intro: 1,
    languages: [...],
    length: 226.351,
    moods: [...],
    restrictions: [...],
    tempos: [...],
    themes: [...],
    vocals: [...],

    children: [
        {
            id: 35089,
            name: "Dangerous (instrumental)"
        }
    ]
}

/tracks/:id/lyrics

The lyrics for a track. Because lyrics are generally large, they’re not included in the normal track attributes.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/tracks/10005/lyrics

Response

{ lyrics: "..." }

/tracks/:ids/exist

Given a set of track ids, returns whether they exist.
If more than 1000 ids are passed, only the first 1000 will be included in the results.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/tracks/10005,10006/exist

Response

[
    { track: 10005, exists: true },
    { track: 10006, exists: false }
]

Vocals

Vocals describe the arrangement and usage of voices in a track.

Attributes

Attribute Description Visible
id A unique identifier. Always
name A descriptive name. Always

/vocals

A list of vocals.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/vocals

Response

{
    data: [
        {
            id: 6,
            name: "A Cappella"
        },
        {
            id: 4,
            name: "Duet"
        },
        {
            id: 2,
            name: "Female"
        }
    ]

    // ...
}

/vocals/:id

The vocal represented by :id.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/vocals/1

Response

{
    id: 6,
    name: "A Cappella"
}

/vocals/:ids/tracks

Tracks matching one or more comma-separated vocal :ids. See the /tracks resource for example results.

curl -H "X-Audiosocket-Token:YOUR-API-TOKEN" \
     http://SERVER/v5/vocals/1,2/tracks

As Always, Thanks!

Please drop an email to api@audiosocket.com with any feature requests, bug reports, or documentation improvements. We really appreciate all feedback. We periodically send updates to api-announce@audiosocket.com: If there are folks in your organization who would like to receive API updates, please let us know.