Development/Seeding/Release Editor: Difference between revisions

From MusicBrainz Wiki
Jump to navigationJump to search
(there is no medium position field. see MBS-7444)
 
(14 intermediate revisions by 6 users not shown)
Line 1: Line 1:
This page documents a list of parameters you can POST to the release editor to "seed" it. All values are optional unless otherwise stated.
This page documents a list of parameters you can POST to the release editor to “seed” it. All values are optional unless otherwise stated.


To create a new release: http://musicbrainz.org/release/add
To create a new release: http://musicbrainz.org/release/add


The MusicBrainz server includes an example which demonstrates seeding: [http://test.musicbrainz.org/static/tests/seed-love-bug.html seed-love-bug.html].
The MusicBrainz server includes an example which demonstrates seeding: [http://musicbrainz.org/static/tests/seed-love-bug.html seed-love-bug.html].


== Release data ==
== Release data ==


; name
; <code>name</code>
: The name of the release. Non-empty string. '''Required'''
: The name of the release. Non-empty string. '''Required'''
=== Release group data ===
; release_group
<blockquote>
: The MBID of the release group
We can either re-use an existing release group with
; comment
; <code>release_group</code>
: The MBID of an existing release group
Or we can create a new release group which will have the name of the release by listing its type(s)
; <code>type</code>
: The type(s) of the release group that will be created. The possible values are the names of the release group types, in English (see [[Release_Group/Type|the documentation]]). This can be specified multiple times to select multiple secondary types, though only one primary type should be specified (if you specify more than one, only one will be set).
</blockquote>
; <code>comment</code>
: A disambiguation comment for the release. Non-empty string
: A disambiguation comment for the release. Non-empty string
; annotation
; <code>annotation</code>
: Text to place in the releases annotation. Use a <code>&lt;textarea&gt;</code> / multi-line text
: Text to place in the releases annotation. Use a text area / multi-line text
; barcode
; <code>barcode</code>
: The barcode of the release. May be any valid barcode without whitespace
: The barcode of the release. May be any valid barcode without whitespace. To indicate there is no barcode, seed "none".
; language
; <code>language</code>
: The language of the release. May be any valid [http://en.wikipedia.org/wiki/List_of_ISO_639-2_codes ISO 639-2/T] code (for example, eng, deu, jpn)
: The language of the release. May be any valid [[wikipedia:List_of_ISO_639-3_codes|ISO 639-3]] code (for example: <code>eng</code>, <code>deu</code>, <code>jpn</code>)
; script
; <code>script</code>
: The script of the text on the release. May be any valid [http://en.wikipedia.org/wiki/ISO_15924 ISO 15924] code (for example, Latn, Cyrl)
: The script of the text on the release. May be any valid [[wikipedia:ISO_15924|ISO 15924]] code (for example: <code>Latn</code>, <code>Cyrl</code>)
; status
; <code>status</code>
: The status of the release, as defined by MusicBrainz. Possible values: official, promotion, bootleg, pseudo
: The status of the release, as defined by MusicBrainz. Possible values: <code>official</code>, <code>promotion</code>, <code>bootleg</code>, <code>pseudo-release</code>
; <code>packaging</code>
; type
: The type of packaging of the release. The possible values are the names of the release group types, in English (see [[Release/Packaging|the documentation]]).
: Ignore if you already specified '''release_group'''. The type of the release group, if a release group will be created. Possible values: album, single, ep, compilation, soundtrack, spokenword, interview, audiobook, live, remix, other (this can be specified multiple times to select multiple secondary types, though only one primary type should be specified)
; packaging
: The type of packaging of the release. Possible values: “jewel case”, “slim jewel case”, “digipak”, “cardboard/paper sleeve”, “other”, “keep case”


=== Release events ===
=== Release events ===


<blockquote>
A release can have zero, one or several release events. Each release event is composed of a date and a country. You must specify a positive integer for the ''x'' part of the field name to specify which release event referring to. For example: <code>events.0.date.year & events.0.country</code> or <code>events.3.date.year & events.3.date.month & events.3.date.day & events.3.country_id</code>
A release can have zero, one or several release events. Each release event is composed of a date and a country. You must specify a positive integer for the <code>''x''</code> part of the field name to specify which release event referring to. For example: <code>events.''0''.date.year & events.''0''.country</code> or <code>events.''3''.date.year & events.''3''.date.month & events.''3''.date.day & events.''3''.country</code>. Any of the fields can be omitted or sent blank if unknown (so, you can seed only the year and country, or only the month and day).


; events.''x''.date.year
; <code>events.''x''.date.year</code>
; events.''x''.date.month
; <code>events.''x''.date.month</code>
; events.''x''.date.day
; <code>events.''x''.date.day</code>
: The date of the release event. Each field is an integer
: The date of the release event. Each field is an integer
; events.''x''.country
; <code>events.''x''.country</code>
: The country of the release event. May be any valid country ISO code (for example, GB, US, FR)
: The country of the release event. May be any valid country ISO code (for example: <code>GB</code>, <code>US</code>, <code>FR</code>)
</blockquote>


=== Labels and catalog numbers ===
But because of the ongoing [http://tickets.musicbrainz.org/browse/MBS-6549 MBS-6549] bug you have to temporarily use either <code>country_id</code> or '''Legacy''' described below work-arounds.


<blockquote>
<blockquote>
Releases may be associated with multiple labels and catalog numbers, so the fields for specifying these are a little different. You must specify a positive integer for the <code>''x''</code> part of the field name to specify which label/catalog number pair you are referring to. For example: <code>label.''0''.mbid</code> and <code>label.''0''.catalog_number</code>
; events.''x''.country_id
: The country ID of the release event. This is an secret integer that you can find in release editor page’s source code or in [http://userscripts.org/scripts/show/85790 line #150]


; <code>labels.''x''.mbid</code>
==== Legacy release date and country ====

It is still possible to alternatively use the legacy single release event. It will act the same as if you describe only one ''real'' release event.

; date.year
; date.month
; date.day
: The date of the release. Each field is an integer
; country
: The country the release was released in. May be any valid country ISO code (for example, GB, US, FR)</blockquote>

=== Labels and catalog numbers ===

Releases may be associated with multiple labels and catalog numbers, so the fields for specifying these is a little different. You must specify a positive integer for the ''x'' part of the field name to specify which label/catalog number pair you are referring to. For example: label.0.mbid and label.0.catalog_number

; labels.''x''.mbid
: The MBID of the label
: The MBID of the label
; labels.''x''.catalog_number
; <code>labels.''x''.catalog_number</code>
: The catalog number of this release, for label ''x''
: The catalog number of this release, for label <code>''x''</code>
; labels.''x''.name
; <code>labels.''x''.name</code>
: The name of the label. If an MBID is present, this value is ignored
: The name of the label (to prefill the field in order to search for the label via the site interface). If an MBID is present, this value is ignored
</blockquote>


=== Artist credit ===
=== Artist credit ===


<blockquote>
A release may be credited to multiple artists via what is known as an [[Artist Credit]]. To specify the artists a release is credited to, you can use the following fields:
A release may be credited to multiple artists via what is known as an [[Artist Credit]]. To specify the artists a release is credited to, you can use the following fields:


; artist_credit.names.''x''.mbid
; <code>artist_credit.names.''x''.mbid</code>
: The MBID of the artist. If omitted you will be able to either create the artist in the release editor, or search MusicBrainz for this artist
: The MBID of the artist. If omitted you will be able to either create the artist in the release editor, or search MusicBrainz for this artist
; artist_credit.names.''x''.name
; <code>artist_credit.names.''x''.name</code>
: The name of the artist, as credited on the release. Optional, if omitted it will default to the artist’s current name
: The name of the artist, as credited on the release. Optional, if omitted it will default to the artist’s current name
; artist_credit.names.''x''.artist.name
; <code>artist_credit.names.''x''.artist.name</code>
: The name of the artist as it is usually referred too. Optional if you already specified both credited name and MBID
: The name of the artist as it is usually referred too (to prefill the field in order to search for the artist via the site interface). Unneeded if you already specified both credited name and MBID
; artist_credit.names.''x''.join_phrase
; <code>artist_credit.names.''x''.join_phrase</code>
: An optional phrase to join this artist with the next artist. For example, you could use “ &amp; ” to join “Calvin” with “Hobbes” to get the final text “Calvin &amp; Hobbes”
: An optional phrase to join this artist with the next artist. For example, you could use “ &amp; ” to join “Calvin” with “Hobbes” to get the final text “Calvin &amp; Hobbes”
</blockquote>


== Tracklist ==
== Tracklists data ==


As with labels above, there may be multiple mediums and tracklists which themselves may contain multiple tracks, so again you will need to fill in the ''x'' and ''y'' parameters accordingly. As with others, ''x'' and ''y'' are 0-indexed. Values for ''x'' must be in consecutive order starting with 0; with at least 1 track for each medium.
As with labels above, there may be multiple mediums and tracklists which themselves may contain multiple tracks, so again you will need to fill in the <code>''x''</code> and <code>''y''</code> parameters accordingly. As with others, <code>''x''</code> and <code>''y''</code> are 0-indexed. Values for <code>''x''</code> must be in consecutive order starting with <code>''0''</code>; with at least 1 track for each medium.


=== Mediums ===
=== Mediums ===


; mediums.''x''.format
; <code>mediums.''x''.format</code>
: Any valid medium format name: you can find the possible values in the release editor page’s source code
: Any valid medium format name. The possible values are the names of the medium formats, in English (see [[Release/Format|the documentation]], or check the release editor page’s source code)
; mediums.''x''.position
; <code>mediums.''x''.name</code>
: The name of medium <code>''x''</code> (for example “Live &amp; Unreleased”)
: The position of this medium in the list of mediums. If omitted, it will be inferred from the order of all mediums passed in (which is normally what you want)
; mediums.''x''.name
: The name of medium ''x'' (for example "Live &amp; Unreleased")


==== Tracks ====
==== Tracks ====


<blockquote>
; mediums.''x''.track.''y''.name
; <code>mediums.''x''.track.''y''.name</code>
: The name of track ''y'' on medium ''x''
: The name of track <code>''y''</code> on medium <code>''x''</code>
; mediums.''x''.track.''y''.number
; <code>mediums.''x''.track.''y''.number</code>
: The free-form track number of track ''y'' on medium ''x''
: The free-form track number of track <code>''y''</code> on medium <code>''x''</code>
; mediums.''x''.track.''y''.recording
; <code>mediums.''x''.track.''y''.recording</code>
: The MBID of an existing recording in the database which should be associated with track ''y'' on medium ''x''
: The MBID of an existing recording in the database which should be associated with track <code>''y''</code> on medium <code>''x''</code>
; mediums.''x''.track.''y''.length
; <code>mediums.''x''.track.''y''.length</code>
: The tracks duration, in MM:SS form or a single integer as milliseconds
: The tracks duration, in <code>MM:SS</code> form or a single integer as milliseconds


===== Track artist credits =====
===== Track artist credits =====


Refer to [[#Artist_credit|release artist credit]], as track artist credits share the same syntax. Here too you can have ''z'' artists (the first being 0 again).
Refer to [[#Artist_credit|release artist credit]], as track artist credits share the same syntax. Here too you can have <code>''z''</code> artists (the first being <code>''0''</code> again).


; mediums.''x''.track.''y''.artist_credit.names.''z''.mbid
; <code>mediums.''x''.track.''y''.artist_credit.names.''z''.mbid </code>
; mediums.''x''.track.''y''.artist_credit.names.''z''.name
; <code>mediums.''x''.track.''y''.artist_credit.names.''z''.name </code>
; mediums.''x''.track.''y''.artist_credit.names.''z''.artist.name
; <code>mediums.''x''.track.''y''.artist_credit.names.''z''.artist.name </code>
; mediums.''x''.track.''y''.artist_credit.names.''z''.join_phrase
; <code>mediums.''x''.track.''y''.artist_credit.names.''z''.join_phrase</code>
</blockquote>

== URL relationships ==

You can seed a list of URLs to add as relationships to the release, using the following fields:

; <code>urls.''x''.url</code>
: The URL to relate to. Non-empty string.
; <code>urls.''x''.link_type</code>
: The integer link type ID to use for the relationship. Not required; if left blank, can be selected in the release editor.


== Other data ==
== Other data ==


; edit_note
; <code>edit_note</code>
: Specify the contents of an edit note
: Specify the content of the edit note. Use a text area / multi-line text

; <code>redirect_uri</code>
: A URI to redirect to after the release is submitted. The release's MBID will be added to this URI under the 'release_mbid' query parameter. E.g., if 'http://example.com/' is provided for this, the user will be redirected to a URI like 'http://example.com/?release_mbid=4587fe99-db0e-4553-a56a-164dd38ab380'

Latest revision as of 10:20, 5 October 2023

This page documents a list of parameters you can POST to the release editor to “seed” it. All values are optional unless otherwise stated.

To create a new release: http://musicbrainz.org/release/add

The MusicBrainz server includes an example which demonstrates seeding: seed-love-bug.html.

Release data

name
The name of the release. Non-empty string. Required

Release group data

We can either re-use an existing release group with

release_group
The MBID of an existing release group

Or we can create a new release group which will have the name of the release by listing its type(s)

type
The type(s) of the release group that will be created. The possible values are the names of the release group types, in English (see the documentation). This can be specified multiple times to select multiple secondary types, though only one primary type should be specified (if you specify more than one, only one will be set).
comment
A disambiguation comment for the release. Non-empty string
annotation
Text to place in the releases annotation. Use a text area / multi-line text
barcode
The barcode of the release. May be any valid barcode without whitespace. To indicate there is no barcode, seed "none".
language
The language of the release. May be any valid ISO 639-3 code (for example: eng, deu, jpn)
script
The script of the text on the release. May be any valid ISO 15924 code (for example: Latn, Cyrl)
status
The status of the release, as defined by MusicBrainz. Possible values: official, promotion, bootleg, pseudo-release
packaging
The type of packaging of the release. The possible values are the names of the release group types, in English (see the documentation).

 Release events

A release can have zero, one or several release events. Each release event is composed of a date and a country. You must specify a positive integer for the x part of the field name to specify which release event referring to. For example: events.0.date.year & events.0.country or events.3.date.year & events.3.date.month & events.3.date.day & events.3.country. Any of the fields can be omitted or sent blank if unknown (so, you can seed only the year and country, or only the month and day).

events.x.date.year
events.x.date.month
events.x.date.day
The date of the release event. Each field is an integer
events.x.country
The country of the release event. May be any valid country ISO code (for example: GB, US, FR)

Labels and catalog numbers

Releases may be associated with multiple labels and catalog numbers, so the fields for specifying these are a little different. You must specify a positive integer for the x part of the field name to specify which label/catalog number pair you are referring to. For example: label.0.mbid and label.0.catalog_number

labels.x.mbid
The MBID of the label
labels.x.catalog_number
The catalog number of this release, for label x
labels.x.name
The name of the label (to prefill the field in order to search for the label via the site interface). If an MBID is present, this value is ignored

Artist credit

A release may be credited to multiple artists via what is known as an Artist Credit. To specify the artists a release is credited to, you can use the following fields:

artist_credit.names.x.mbid
The MBID of the artist. If omitted you will be able to either create the artist in the release editor, or search MusicBrainz for this artist
artist_credit.names.x.name
The name of the artist, as credited on the release. Optional, if omitted it will default to the artist’s current name
artist_credit.names.x.artist.name
The name of the artist as it is usually referred too (to prefill the field in order to search for the artist via the site interface). Unneeded if you already specified both credited name and MBID
artist_credit.names.x.join_phrase
An optional phrase to join this artist with the next artist. For example, you could use “ & ” to join “Calvin” with “Hobbes” to get the final text “Calvin & Hobbes”

Tracklists data

As with labels above, there may be multiple mediums and tracklists which themselves may contain multiple tracks, so again you will need to fill in the x and y parameters accordingly. As with others, x and y are 0-indexed. Values for x must be in consecutive order starting with 0; with at least 1 track for each medium.

Mediums

mediums.x.format
Any valid medium format name. The possible values are the names of the medium formats, in English (see the documentation, or check the release editor page’s source code)
mediums.x.name
The name of medium x (for example “Live & Unreleased”)

Tracks

mediums.x.track.y.name
The name of track y on medium x
mediums.x.track.y.number
The free-form track number of track y on medium x
mediums.x.track.y.recording
The MBID of an existing recording in the database which should be associated with track y on medium x
mediums.x.track.y.length
The tracks duration, in MM:SS form or a single integer as milliseconds
Track artist credits

Refer to release artist credit, as track artist credits share the same syntax. Here too you can have z artists (the first being 0 again).

mediums.x.track.y.artist_credit.names.z.mbid
mediums.x.track.y.artist_credit.names.z.name
mediums.x.track.y.artist_credit.names.z.artist.name
mediums.x.track.y.artist_credit.names.z.join_phrase

URL relationships

You can seed a list of URLs to add as relationships to the release, using the following fields:

urls.x.url
The URL to relate to. Non-empty string.
urls.x.link_type
The integer link type ID to use for the relationship. Not required; if left blank, can be selected in the release editor.

Other data

edit_note
Specify the content of the edit note. Use a text area / multi-line text
redirect_uri
A URI to redirect to after the release is submitted. The release's MBID will be added to this URI under the 'release_mbid' query parameter. E.g., if 'http://example.com/' is provided for this, the user will be redirected to a URI like 'http://example.com/?release_mbid=4587fe99-db0e-4553-a56a-164dd38ab380'