graphbrainz/docs/schema.md

2107 lines
56 KiB
Markdown
Raw Permalink Normal View History

2016-11-26 01:38:32 +00:00
# GraphQL Schema
```graphql
# [Aliases](https://musicbrainz.org/doc/Aliases) are variant names
# that are mostly used as search help: if a search matches an entitys alias, the
# entity will be given as a result even if the actual name wouldnt be.
2016-11-26 01:38:32 +00:00
type Alias {
# The aliased name of the entity.
name: String
# The string to use for the purpose of ordering by name (for
# example, by moving articles like the to the end or a persons last name to
# the front).
sortName: String
# The locale (language and/or country) in which the alias is
# used.
2016-12-10 02:56:45 +00:00
locale: Locale
2016-11-26 01:38:32 +00:00
# Whether this is the main alias for the entity in the
# specified locale (this could mean the most recent or the most common).
primary: Boolean
# The type or purpose of the alias whether it is a variant,
# search hint, etc.
type: String
2016-11-26 10:56:26 +00:00
# The MBID associated with the value of the `type`
# field.
2016-11-26 01:38:32 +00:00
typeID: MBID
}
# [Areas](https://musicbrainz.org/doc/Area) are geographic regions
# or settlements (countries, cities, or the like).
type Area implements Node, Entity {
# The ID of an object
id: ID!
# The MBID of the entity.
mbid: MBID!
# The official name of the entity.
name: String
# The string to use for the purpose of ordering by name (for
# example, by moving articles like the to the end or a persons last name to
# the front).
sortName: String
# A comment used to help distinguish identically named entitites.
disambiguation: String
# [Aliases](https://musicbrainz.org/doc/Aliases) are used to store
# alternate names or misspellings.
aliases: [Alias]
2016-11-26 01:38:32 +00:00
# [ISO 3166 codes](https://en.wikipedia.org/wiki/ISO_3166) are
# the codes assigned by ISO to countries and subdivisions.
isoCodes: [String]
# A list of artists linked to this entity.
2016-11-26 01:38:32 +00:00
artists(after: String, first: Int): ArtistConnection
# A list of events linked to this entity.
2016-11-26 01:38:32 +00:00
events(after: String, first: Int): EventConnection
# A list of labels linked to this entity.
2016-11-26 01:38:32 +00:00
labels(after: String, first: Int): LabelConnection
# A list of places linked to this entity.
2016-11-26 01:38:32 +00:00
places(after: String, first: Int): PlaceConnection
# A list of releases linked to this entity.
releases(
after: String
first: Int
# Filter by one or more release group types.
type: [ReleaseGroupType]
# Filter by one or more release statuses.
status: [ReleaseStatus]
): ReleaseConnection
# Relationships between this entity and other entitites.
relationships: Relationships
# A list of tags linked to this entity.
tags(after: String, first: Int): TagConnection
2016-11-26 01:38:32 +00:00
}
# A connection to a list of items.
type AreaConnection {
# Information to aid in pagination.
pageInfo: PageInfo!
# A list of edges.
edges: [AreaEdge]
# A count of the total number of items in this connection,
# ignoring pagination.
totalCount: Int
2016-11-26 01:38:32 +00:00
}
# An edge in a connection.
type AreaEdge {
# The item at the end of the edge
node: Area
# A cursor for use in pagination
cursor: String!
2016-11-28 14:44:00 +00:00
# The relevancy score (0100) assigned by the search engine, if
# these results were found through a search.
score: Int
2016-11-26 01:38:32 +00:00
}
# An [artist](https://musicbrainz.org/doc/Artist) is generally a
# musician, group of musicians, or other music professional (like a producer or
# engineer). Occasionally, it can also be a non-musical person (like a
# photographer, an illustrator, or a poet whose writings are set to music), or
# even a fictional character.
type Artist implements Node, Entity {
# The ID of an object
id: ID!
# The MBID of the entity.
mbid: MBID!
# The official name of the entity.
name: String
# The string to use for the purpose of ordering by name (for
# example, by moving articles like the to the end or a persons last name to
# the front).
sortName: String
# A comment used to help distinguish identically named entitites.
disambiguation: String
# [Aliases](https://musicbrainz.org/doc/Aliases) are used to store
# alternate names or misspellings.
2016-11-26 01:38:32 +00:00
aliases: [Alias]
# The country with which an artist is primarily identified. It
# is often, but not always, its birth/formation country.
country: String
# The area with which an artist is primarily identified. It
# is often, but not always, its birth/formation country.
area: Area
# The area in which an artist began their career (or where
# were born, if the artist is a person).
beginArea: Area
# The area in which an artist ended their career (or where
# they died, if the artist is a person).
endArea: Area
# The begin and end dates of the entitys existence. Its exact
# meaning depends on the type of entity.
lifeSpan: LifeSpan
# Whether a person or character identifies as male, female, or
# neither. Groups do not have genders.
gender: String
2016-11-26 10:56:26 +00:00
# The MBID associated with the value of the `gender`
# field.
2016-11-26 01:38:32 +00:00
genderID: MBID
# Whether an artist is a person, a group, or something else.
type: String
2016-11-26 10:56:26 +00:00
# The MBID associated with the value of the `type`
# field.
2016-11-26 01:38:32 +00:00
typeID: MBID
2016-12-10 17:51:33 +00:00
# List of [Interested Parties Information](https://musicbrainz.org/doc/IPI)
# (IPI) codes for the artist.
ipis: [IPI]
# List of [International Standard Name Identifier](https://musicbrainz.org/doc/ISNI)
# (ISNI) codes for the artist.
isnis: [ISNI]
# A list of recordings linked to this entity.
2016-11-26 01:38:32 +00:00
recordings(after: String, first: Int): RecordingConnection
# A list of releases linked to this entity.
releases(
after: String
first: Int
# Filter by one or more release group types.
type: [ReleaseGroupType]
# Filter by one or more release statuses.
status: [ReleaseStatus]
): ReleaseConnection
2016-11-26 01:38:32 +00:00
# A list of release groups linked to this entity.
releaseGroups(
after: String
first: Int
# Filter by one or more release group types.
type: [ReleaseGroupType]
): ReleaseGroupConnection
2016-11-26 01:38:32 +00:00
# A list of works linked to this entity.
2016-11-26 01:38:32 +00:00
works(after: String, first: Int): WorkConnection
# Relationships between this entity and other entitites.
relationships: Relationships
# A list of tags linked to this entity.
tags(after: String, first: Int): TagConnection
2016-11-26 01:38:32 +00:00
}
# A connection to a list of items.
type ArtistConnection {
# Information to aid in pagination.
pageInfo: PageInfo!
# A list of edges.
edges: [ArtistEdge]
# A count of the total number of items in this connection,
# ignoring pagination.
totalCount: Int
2016-11-26 01:38:32 +00:00
}
# [Artist credits](https://musicbrainz.org/doc/Artist_Credits)
# indicate who is the main credited artist (or artists) for releases, release
# groups, tracks, and recordings, and how they are credited. They consist of
2016-11-26 01:38:32 +00:00
# artists, with (optionally) their names as credited in the specific release,
# track, etc., and join phrases between them.
type ArtistCredit {
# The entity representing the artist referenced in the
# credits.
artist: Artist
# The name of the artist as credited in the specific release,
# track, etc.
name: String
# Join phrases might include words and/or punctuation to
# separate artist names as they appear on the release, track, etc.
joinPhrase: String
}
# An edge in a connection.
type ArtistEdge {
# The item at the end of the edge
node: Artist
# A cursor for use in pagination
cursor: String!
2016-11-28 14:44:00 +00:00
# The relevancy score (0100) assigned by the search engine, if
# these results were found through a search.
score: Int
2016-11-26 01:38:32 +00:00
}
2016-12-10 02:56:45 +00:00
# An [Amazon Standard Identification Number](https://musicbrainz.org/doc/ASIN)
# (ASIN) is a 10-character alphanumeric unique identifier assigned by Amazon.com
# and its partners for product identification within the Amazon organization.
scalar ASIN
2016-11-26 01:38:32 +00:00
# A query for all MusicBrainz entities directly linked to another
# entity.
type BrowseQuery {
# Browse area entities linked to the given arguments.
areas(
after: String
first: Int
# The MBID of a collection in which the entity is found.
collection: MBID
): AreaConnection
2016-11-26 01:38:32 +00:00
# Browse artist entities linked to the given arguments.
artists(
after: String
first: Int
# The MBID of an area to which the entity is linked.
area: MBID
# The MBID of a collection in which the entity is found.
collection: MBID
2016-11-26 01:38:32 +00:00
# The MBID of a recording to which the entity is linked.
recording: MBID
# The MBID of a release to which the entity is linked.
release: MBID
# The MBID of a release group to which the entity is linked.
releaseGroup: MBID
# The MBID of a work to which the entity is linked.
2016-11-26 01:38:32 +00:00
work: MBID
): ArtistConnection
# Browse collection entities linked to the given arguments.
collections(
after: String
first: Int
# The MBID of an area to which the entity is linked.
area: MBID
# The MBID of an artist to which the entity is linked.
artist: MBID
# The username of the editor who created the collection.
editor: String
# The MBID of an event to which the entity is linked.
event: MBID
# The MBID of a label to which the entity is linked.
label: MBID
# The MBID of a place to which the entity is linked.
place: MBID
# The MBID of a recording to which the entity is linked.
recording: MBID
# The MBID of a release to which the entity is linked.
release: MBID
# The MBID of a release group to which the entity is linked.
releaseGroup: MBID
# The MBID of a work to which the entity is linked.
work: MBID
): CollectionConnection
2016-11-26 01:38:32 +00:00
# Browse event entities linked to the given arguments.
events(
after: String
first: Int
# The MBID of an area to which the entity is linked.
area: MBID
# The MBID of an artist to which the entity is linked.
artist: MBID
# The MBID of a collection in which the entity is found.
collection: MBID
# The MBID of a place to which the entity is linked.
2016-11-26 01:38:32 +00:00
place: MBID
): EventConnection
# Browse label entities linked to the given arguments.
labels(
after: String
first: Int
# The MBID of an area to which the entity is linked.
area: MBID
# The MBID of a collection in which the entity is found.
collection: MBID
2016-11-26 01:38:32 +00:00
# The MBID of a release to which the entity is linked.
release: MBID
): LabelConnection
# Browse place entities linked to the given arguments.
places(
after: String
first: Int
# The MBID of an area to which the entity is linked.
area: MBID
# The MBID of a collection in which the entity is found.
collection: MBID
2016-11-26 01:38:32 +00:00
): PlaceConnection
# Browse recording entities linked to the given arguments.
recordings(
after: String
first: Int
# The MBID of an artist to which the entity is linked.
artist: MBID
# The MBID of a collection in which the entity is found.
collection: MBID
2016-11-26 01:38:32 +00:00
# The MBID of a release to which the entity is linked.
release: MBID
# The [International Standard Recording Code](https://musicbrainz.org/doc/ISRC)
# (ISRC) of the recording.
isrc: ISRC
2016-11-26 01:38:32 +00:00
): RecordingConnection
# Browse release entities linked to the given arguments.
releases(
after: String
first: Int
# The MBID of an area to which the entity is linked.
area: MBID
# The MBID of an artist to which the entity is linked.
artist: MBID
# The MBID of a collection in which the entity is found.
collection: MBID
# The MBID of a label to which the entity is linked.
2016-11-26 01:38:32 +00:00
label: MBID
# The MBID of a track that is included in the release.
track: MBID
# The MBID of an artist that appears on a track in the
# release, but is not included in the credits for the release itself.
trackArtist: MBID
# The MBID of a recording to which the entity is linked.
recording: MBID
# The MBID of a release group to which the entity is linked.
releaseGroup: MBID
2016-12-10 02:56:45 +00:00
# Filter by one or more release group types.
type: [ReleaseGroupType]
# Filter by one or more release statuses.
status: [ReleaseStatus]
# A [disc ID](https://musicbrainz.org/doc/Disc_ID)
# associated with the release.
discID: DiscID
2016-11-26 01:38:32 +00:00
): ReleaseConnection
# Browse release group entities linked to the given arguments.
releaseGroups(
after: String
first: Int
# The MBID of an artist to which the entity is linked.
artist: MBID
# The MBID of a collection in which the entity is found.
collection: MBID
2016-11-26 01:38:32 +00:00
# The MBID of a release to which the entity is linked.
release: MBID
2016-12-10 02:56:45 +00:00
# Filter by one or more release group types.
type: [ReleaseGroupType]
2016-11-26 01:38:32 +00:00
): ReleaseGroupConnection
# Browse work entities linked to the given arguments.
works(
after: String
first: Int
# The MBID of an artist to which the entity is linked.
artist: MBID
# The MBID of a collection in which the entity is found.
collection: MBID
# The [International Standard Musical Work Code](https://musicbrainz.org/doc/ISWC)
# (ISWC) of the work.
iswc: ISWC
2016-11-26 01:38:32 +00:00
): WorkConnection
}
# [Collections](https://musicbrainz.org/doc/Collections) are
# lists of entities that users can create.
type Collection implements Node, Entity {
# The ID of an object
id: ID!
# The MBID of the entity.
mbid: MBID!
# The official name of the entity.
name: String
# The username of the editor who created the collection.
editor: String!
# The type of entity listed in the collection.
entityType: String!
# The type of collection.
type: String
# The MBID associated with the value of the `type`
# field.
typeID: MBID
# A list of areas linked to this entity.
areas(after: String, first: Int): AreaConnection
# A list of artists linked to this entity.
artists(after: String, first: Int): ArtistConnection
# A list of events linked to this entity.
events(after: String, first: Int): EventConnection
# A list of labels linked to this entity.
labels(after: String, first: Int): LabelConnection
# A list of places linked to this entity.
places(after: String, first: Int): PlaceConnection
# A list of recordings linked to this entity.
recordings(after: String, first: Int): RecordingConnection
# A list of releases linked to this entity.
releases(
after: String
first: Int
# Filter by one or more release group types.
type: [ReleaseGroupType]
# Filter by one or more release statuses.
status: [ReleaseStatus]
): ReleaseConnection
# A list of release groups linked to this entity.
releaseGroups(
after: String
first: Int
# Filter by one or more release group types.
type: [ReleaseGroupType]
): ReleaseGroupConnection
# A list of works linked to this entity.
works(after: String, first: Int): WorkConnection
}
# A connection to a list of items.
type CollectionConnection {
# Information to aid in pagination.
pageInfo: PageInfo!
# A list of edges.
edges: [CollectionEdge]
# A count of the total number of items in this connection,
# ignoring pagination.
totalCount: Int
}
# An edge in a connection.
type CollectionEdge {
# The item at the end of the edge
node: Collection
# A cursor for use in pagination
cursor: String!
# The relevancy score (0100) assigned by the search engine, if
# these results were found through a search.
score: Int
}
2016-11-26 01:38:32 +00:00
# Geographic coordinates described with latitude and longitude.
type Coordinates {
# The northsouth position of a point on the Earths surface.
latitude: Degrees
# The eastwest position of a point on the Earths surface.
longitude: Degrees
}
# Year, month (optional), and day (optional) in YYYY-MM-DD format.
scalar Date
# Decimal degrees, used for latitude and longitude.
scalar Degrees
# [Disc ID](https://musicbrainz.org/doc/Disc_ID) is the code
# number which MusicBrainz uses to link a physical CD to a [release](https://musicbrainz.org/doc/Release)
# listing.
#
# A release may have any number of disc IDs, and a disc ID may be linked to
# multiple releases. This is because disc ID calculation involves a hash of the
# frame offsets of the CD tracks.
#
# Different pressing of a CD often have slightly different frame offsets, and
# hence different disc IDs.
#
# Conversely, two different CDs may happen to have exactly the same set of frame
# offsets and hence the same disc ID.
scalar DiscID
# A length of time, in milliseconds.
scalar Duration
2016-11-26 01:38:32 +00:00
# An entity in the MusicBrainz schema.
interface Entity {
# The MBID of the entity.
mbid: MBID!
}
# An [event](https://musicbrainz.org/doc/Event) refers to an
# organised event which people can attend, and is relevant to MusicBrainz.
# Generally this means live performances, like concerts and festivals.
type Event implements Node, Entity {
# The ID of an object
id: ID!
# The MBID of the entity.
mbid: MBID!
# The official name of the entity.
name: String
# A comment used to help distinguish identically named entitites.
disambiguation: String
# [Aliases](https://musicbrainz.org/doc/Aliases) are used to store
# alternate names or misspellings.
aliases: [Alias]
2016-11-26 01:38:32 +00:00
# The begin and end dates of the entitys existence. Its exact
# meaning depends on the type of entity.
lifeSpan: LifeSpan
# The start time of the event.
time: Time
# Whether or not the event took place.
cancelled: Boolean
# A list of songs performed, optionally including links to
# artists and works. See the [setlist documentation](https://musicbrainz.org/doc/Event/Setlist)
# for syntax and examples.
setlist: String
# What kind of event the event is, e.g. concert, festival, etc.
type: String
2016-11-26 10:56:26 +00:00
# The MBID associated with the value of the `type`
# field.
2016-11-26 01:38:32 +00:00
typeID: MBID
# Relationships between this entity and other entitites.
relationships: Relationships
# A list of tags linked to this entity.
tags(after: String, first: Int): TagConnection
2016-11-26 01:38:32 +00:00
}
# A connection to a list of items.
type EventConnection {
# Information to aid in pagination.
pageInfo: PageInfo!
# A list of edges.
edges: [EventEdge]
# A count of the total number of items in this connection,
# ignoring pagination.
totalCount: Int
2016-11-26 01:38:32 +00:00
}
# An edge in a connection.
type EventEdge {
# The item at the end of the edge
node: Event
# A cursor for use in pagination
cursor: String!
2016-11-28 14:44:00 +00:00
# The relevancy score (0100) assigned by the search engine, if
# these results were found through a search.
score: Int
2016-11-26 01:38:32 +00:00
}
# [Instruments](https://musicbrainz.org/doc/Instrument) are
# devices created or adapted to make musical sounds. Instruments are primarily
# used in relationships between two other entities.
type Instrument implements Node, Entity {
# The ID of an object
id: ID!
# The MBID of the entity.
mbid: MBID!
# The official name of the entity.
name: String
# A comment used to help distinguish identically named entitites.
disambiguation: String
# [Aliases](https://musicbrainz.org/doc/Aliases) are used to store
# alternate names or misspellings.
aliases: [Alias]
2016-11-26 01:38:32 +00:00
# A brief description of the main characteristics of the
# instrument.
description: String
# The type categorises the instrument by the way the sound is
# created, similar to the [Hornbostel-Sachs](https://en.wikipedia.org/wiki/Hornbostel%E2%80%93Sachs)
# classification.
type: String
2016-11-26 10:56:26 +00:00
# The MBID associated with the value of the `type`
# field.
2016-11-26 01:38:32 +00:00
typeID: MBID
# Relationships between this entity and other entitites.
relationships: Relationships
# A list of tags linked to this entity.
tags(after: String, first: Int): TagConnection
}
# A connection to a list of items.
type InstrumentConnection {
# Information to aid in pagination.
pageInfo: PageInfo!
# A list of edges.
edges: [InstrumentEdge]
# A count of the total number of items in this connection,
# ignoring pagination.
totalCount: Int
}
# An edge in a connection.
type InstrumentEdge {
# The item at the end of the edge
node: Instrument
# A cursor for use in pagination
cursor: String!
2016-11-28 14:44:00 +00:00
# The relevancy score (0100) assigned by the search engine, if
# these results were found through a search.
score: Int
2016-11-26 01:38:32 +00:00
}
2016-12-10 17:51:33 +00:00
# An [Interested Parties Information](https://musicbrainz.org/doc/IPI)
# (IPI) code is an identifying number assigned by the CISAC database for musical
# rights management.
2016-11-26 01:38:32 +00:00
scalar IPI
2016-12-10 17:51:33 +00:00
# The [International Standard Name Identifier](https://musicbrainz.org/doc/ISNI)
# (ISNI) is an ISO standard for uniquely identifying the public identities of
# contributors to media content.
scalar ISNI
# The [International Standard Recording Code](https://musicbrainz.org/doc/ISRC)
# (ISRC) is an identification system for audio and music video recordings. It is
# standarized by the [IFPI](http://www.ifpi.org/) in ISO 3901:2001 and used by
# IFPI members to assign a unique identifier to every distinct sound recording
# they release. An ISRC identifies a particular [sound recording](https://musicbrainz.org/doc/Recording),
# not the song itself. Therefore, different recordings, edits, remixes and
# remasters of the same song will each be assigned their own ISRC. However, note
# that same recording should carry the same ISRC in all countries/territories.
# Songs are identified by analogous [International Standard Musical Work Codes](https://musicbrainz.org/doc/ISWC)
# (ISWCs).
scalar ISRC
# The [International Standard Musical Work Code](https://musicbrainz.org/doc/ISWC)
# (ISWC) is an ISO standard similar to ISBNs for identifying musical works /
# compositions.
scalar ISWC
2016-11-26 01:38:32 +00:00
# [Labels](https://musicbrainz.org/doc/Label) represent mostly
# (but not only) imprints. To a lesser extent, a label entity may be created to
# represent a record company.
type Label implements Node, Entity {
# The ID of an object
id: ID!
# The MBID of the entity.
mbid: MBID!
# The official name of the entity.
name: String
# The string to use for the purpose of ordering by name (for
# example, by moving articles like the to the end or a persons last name to
# the front).
sortName: String
# A comment used to help distinguish identically named entitites.
disambiguation: String
# [Aliases](https://musicbrainz.org/doc/Aliases) are used to store
# alternate names or misspellings.
aliases: [Alias]
2016-11-26 01:38:32 +00:00
# The country of origin for the label.
country: String
# The area in which the label is based.
area: Area
# The begin and end dates of the entitys existence. Its exact
# meaning depends on the type of entity.
lifeSpan: LifeSpan
# The [“LC” code](https://musicbrainz.org/doc/Label/Label_Code)
# of the label.
labelCode: Int
2016-12-10 17:51:33 +00:00
# List of [Interested Parties Information](https://musicbrainz.org/doc/IPI)
# codes for the label.
2016-11-26 01:38:32 +00:00
ipis: [IPI]
# A type describing the main activity of the label, e.g.
# imprint, production, distributor, rights society, etc.
type: String
2016-11-26 10:56:26 +00:00
# The MBID associated with the value of the `type`
# field.
2016-11-26 01:38:32 +00:00
typeID: MBID
# A list of releases linked to this entity.
releases(
after: String
first: Int
# Filter by one or more release group types.
type: [ReleaseGroupType]
# Filter by one or more release statuses.
status: [ReleaseStatus]
): ReleaseConnection
# Relationships between this entity and other entitites.
relationships: Relationships
# A list of tags linked to this entity.
tags(after: String, first: Int): TagConnection
2016-11-26 01:38:32 +00:00
}
# A connection to a list of items.
type LabelConnection {
# Information to aid in pagination.
pageInfo: PageInfo!
# A list of edges.
edges: [LabelEdge]
# A count of the total number of items in this connection,
# ignoring pagination.
totalCount: Int
2016-11-26 01:38:32 +00:00
}
# An edge in a connection.
type LabelEdge {
# The item at the end of the edge
node: Label
# A cursor for use in pagination
cursor: String!
2016-11-28 14:44:00 +00:00
# The relevancy score (0100) assigned by the search engine, if
# these results were found through a search.
score: Int
2016-11-26 01:38:32 +00:00
}
# Fields indicating the begin and end date of an entitys
# lifetime, including whether it has ended (even if the date is unknown).
type LifeSpan {
# The start date of the entitys life span.
2016-11-26 01:38:32 +00:00
begin: Date
# The end date of the entitys life span.
2016-11-26 01:38:32 +00:00
end: Date
# Whether or not the entitys life span has ended.
2016-11-26 01:38:32 +00:00
ended: Boolean
}
2016-12-10 02:56:45 +00:00
# Language code, optionally with country and encoding.
scalar Locale
2016-11-26 01:38:32 +00:00
# A lookup of an individual MusicBrainz entity by its MBID.
type LookupQuery {
# Look up a specific area by its MBID.
area(
# The MBID of the entity.
mbid: MBID!
): Area
# Look up a specific artist by its MBID.
artist(
# The MBID of the entity.
mbid: MBID!
): Artist
# Look up a specific collection by its MBID.
collection(
# The MBID of the entity.
mbid: MBID!
): Collection
2016-11-26 01:38:32 +00:00
# Look up a specific event by its MBID.
event(
# The MBID of the entity.
mbid: MBID!
): Event
# Look up a specific instrument by its MBID.
instrument(
# The MBID of the entity.
mbid: MBID!
): Instrument
# Look up a specific label by its MBID.
label(
# The MBID of the entity.
mbid: MBID!
): Label
# Look up a specific place by its MBID.
place(
# The MBID of the entity.
mbid: MBID!
): Place
# Look up a specific recording by its MBID.
recording(
# The MBID of the entity.
mbid: MBID!
): Recording
# Look up a specific release by its MBID.
release(
# The MBID of the entity.
mbid: MBID!
): Release
# Look up a specific release group by its MBID.
releaseGroup(
# The MBID of the entity.
mbid: MBID!
): ReleaseGroup
# Look up a specific series by its MBID.
series(
# The MBID of the entity.
mbid: MBID!
): Series
# Look up a specific URL by its MBID.
url(
# The MBID of the entity.
2016-12-10 02:56:45 +00:00
mbid: MBID
# The web address of the URL entity to look up.
resource: URLString
2016-11-26 01:38:32 +00:00
): URL
# Look up a specific work by its MBID.
work(
# The MBID of the entity.
mbid: MBID!
): Work
}
# The MBID scalar represents MusicBrainz identifiers, which are
# 36-character UUIDs.
scalar MBID
# An object with an ID
interface Node {
# The id of the object.
id: ID!
}
# Information about pagination in a connection.
type PageInfo {
# When paginating forwards, are there more items?
hasNextPage: Boolean!
# When paginating backwards, are there more items?
hasPreviousPage: Boolean!
# When paginating backwards, the cursor to continue.
startCursor: String
# When paginating forwards, the cursor to continue.
endCursor: String
}
# A [place](https://musicbrainz.org/doc/Place) is a venue, studio,
2016-11-26 01:38:32 +00:00
# or other place where music is performed, recorded, engineered, etc.
type Place implements Node, Entity {
# The ID of an object
id: ID!
# The MBID of the entity.
mbid: MBID!
# The official name of the entity.
name: String
# A comment used to help distinguish identically named entitites.
disambiguation: String
# [Aliases](https://musicbrainz.org/doc/Aliases) are used to store
# alternate names or misspellings.
aliases: [Alias]
2016-11-26 01:38:32 +00:00
# The address describes the location of the place using the
# standard addressing format for the country it is located in.
address: String
# The area entity representing the area, such as the city, in
# which the place is located.
area: Area
# The geographic coordinates of the place.
coordinates: Coordinates
# The begin and end dates of the entitys existence. Its exact
# meaning depends on the type of entity.
lifeSpan: LifeSpan
# The type categorises the place based on its primary
# function.
type: String
2016-11-26 10:56:26 +00:00
# The MBID associated with the value of the `type`
# field.
2016-11-26 01:38:32 +00:00
typeID: MBID
# A list of events linked to this entity.
2016-11-26 01:38:32 +00:00
events(after: String, first: Int): EventConnection
# Relationships between this entity and other entitites.
relationships: Relationships
# A list of tags linked to this entity.
tags(after: String, first: Int): TagConnection
2016-11-26 01:38:32 +00:00
}
# A connection to a list of items.
type PlaceConnection {
# Information to aid in pagination.
pageInfo: PageInfo!
# A list of edges.
edges: [PlaceEdge]
# A count of the total number of items in this connection,
# ignoring pagination.
totalCount: Int
2016-11-26 01:38:32 +00:00
}
# An edge in a connection.
type PlaceEdge {
# The item at the end of the edge
node: Place
# A cursor for use in pagination
cursor: String!
2016-11-28 14:44:00 +00:00
# The relevancy score (0100) assigned by the search engine, if
# these results were found through a search.
score: Int
2016-11-26 01:38:32 +00:00
}
# The query root, from which multiple types of MusicBrainz
# requests can be made.
type Query {
# Perform a lookup of a MusicBrainz entity by its MBID.
lookup: LookupQuery
# Browse all MusicBrainz entities directly linked to another entity.
2016-11-26 01:38:32 +00:00
browse: BrowseQuery
# Search for MusicBrainz entities using Lucene query syntax.
2016-11-26 01:38:32 +00:00
search: SearchQuery
2016-12-02 08:49:39 +00:00
# Fetches an object given its ID
node(
# The ID of an object
id: ID!
): Node
2016-11-26 01:38:32 +00:00
}
# A [recording](https://musicbrainz.org/doc/Recording) is an
# entity in MusicBrainz which can be linked to tracks on releases. Each track must
# always be associated with a single recording, but a recording can be linked to
# any number of tracks.
#
# A recording represents distinct audio that has been used to produce at least one
# released track through copying or mastering. A recording itself is never
# produced solely through copying or mastering.
#
# Generally, the audio represented by a recording corresponds to the audio at a
# stage in the production process before any final mastering but after any editing
# or mixing.
type Recording implements Node, Entity {
# The ID of an object
id: ID!
# The MBID of the entity.
mbid: MBID!
# The official title of the entity.
title: String
# A comment used to help distinguish identically named entitites.
disambiguation: String
# [Aliases](https://musicbrainz.org/doc/Aliases) are used to store
# alternate names or misspellings.
aliases: [Alias]
2016-11-26 01:38:32 +00:00
# The main credited artist(s).
artistCredit: [ArtistCredit] @deprecated(reason: "The `artistCredit` field has been renamed to\\n`artistCredits`, since it is a list of credits and is referred to in the\\nplural form throughout the MusicBrainz documentation. This field is deprecated\\nand will be removed in a major release in the future. Use the equivalent\\n`artistCredits` field.")
# The main credited artist(s).
artistCredits: [ArtistCredit]
2016-11-26 01:38:32 +00:00
# A list of [International Standard Recording Codes](https://musicbrainz.org/doc/ISRC)
# (ISRCs) for this recording.
isrcs: [ISRC]
2016-11-26 01:38:32 +00:00
# An approximation to the length of the recording, calculated
# from the lengths of the tracks using it.
length: Duration
2016-11-26 01:38:32 +00:00
# Whether this is a video recording.
video: Boolean
# A list of artists linked to this entity.
2016-11-26 01:38:32 +00:00
artists(after: String, first: Int): ArtistConnection
# A list of releases linked to this entity.
releases(
after: String
first: Int
# Filter by one or more release group types.
type: [ReleaseGroupType]
# Filter by one or more release statuses.
status: [ReleaseStatus]
): ReleaseConnection
2016-11-26 01:38:32 +00:00
# Relationships between this entity and other entitites.
relationships: Relationships
# A list of tags linked to this entity.
tags(after: String, first: Int): TagConnection
2016-11-26 01:38:32 +00:00
}
# A connection to a list of items.
type RecordingConnection {
# Information to aid in pagination.
pageInfo: PageInfo!
# A list of edges.
edges: [RecordingEdge]
# A count of the total number of items in this connection,
# ignoring pagination.
totalCount: Int
2016-11-26 01:38:32 +00:00
}
# An edge in a connection.
type RecordingEdge {
# The item at the end of the edge
node: Recording
# A cursor for use in pagination
cursor: String!
2016-11-28 14:44:00 +00:00
# The relevancy score (0100) assigned by the search engine, if
# these results were found through a search.
score: Int
2016-11-26 01:38:32 +00:00
}
# [Relationships](https://musicbrainz.org/doc/Relationships) are a
# way to represent all the different ways in which entities are connected to each
# other and to URLs outside MusicBrainz.
type Relationship {
# The target entity.
target: Entity!
# The direction of the relationship.
direction: String!
# The type of entity on the receiving end of the relationship.
targetType: String!
# How the source entity was actually credited, if different
# from its main (performance) name.
sourceCredit: String
# How the target entity was actually credited, if different
# from its main (performance) name.
targetCredit: String
# The date on which the relationship became applicable.
begin: Date
# The date on which the relationship became no longer applicable.
end: Date
# Whether the relationship still applies.
ended: Boolean
# Attributes which modify the relationship. There is a [list
# of all attributes](https://musicbrainz.org/relationship-attributes), but the
# attributes which are available, and how they should be used, depends on the
# relationship type.
attributes: [String]
# The type of relationship.
type: String
2016-11-26 10:56:26 +00:00
# The MBID associated with the value of the `type`
# field.
2016-11-26 01:38:32 +00:00
typeID: MBID
}
# A connection to a list of items.
type RelationshipConnection {
# Information to aid in pagination.
pageInfo: PageInfo!
# A list of edges.
edges: [RelationshipEdge]
# A count of the total number of items in this connection,
# ignoring pagination.
totalCount: Int
2016-11-26 01:38:32 +00:00
}
# An edge in a connection.
type RelationshipEdge {
# The item at the end of the edge
node: Relationship
# A cursor for use in pagination
cursor: String!
2016-11-28 14:44:00 +00:00
# The relevancy score (0100) assigned by the search engine, if
# these results were found through a search.
score: Int
2016-11-26 01:38:32 +00:00
}
# Lists of entity relationships for each entity type.
type Relationships {
# A list of relationships between these two entity types.
areas(
after: String
first: Int
before: String
last: Int
# Filter by the relationship direction.
direction: String
# Filter by the relationship type.
type: String
2016-11-26 10:56:26 +00:00
# The MBID associated with the value of the `type`
# field.
2016-11-26 01:38:32 +00:00
typeID: MBID
): RelationshipConnection
# A list of relationships between these two entity types.
artists(
after: String
first: Int
before: String
last: Int
# Filter by the relationship direction.
direction: String
# Filter by the relationship type.
type: String
2016-11-26 10:56:26 +00:00
# The MBID associated with the value of the `type`
# field.
2016-11-26 01:38:32 +00:00
typeID: MBID
): RelationshipConnection
# A list of relationships between these two entity types.
events(
after: String
first: Int
before: String
last: Int
# Filter by the relationship direction.
direction: String
# Filter by the relationship type.
type: String
2016-11-26 10:56:26 +00:00
# The MBID associated with the value of the `type`
# field.
2016-11-26 01:38:32 +00:00
typeID: MBID
): RelationshipConnection
# A list of relationships between these two entity types.
instruments(
after: String
first: Int
before: String
last: Int
# Filter by the relationship direction.
direction: String
# Filter by the relationship type.
type: String
2016-11-26 10:56:26 +00:00
# The MBID associated with the value of the `type`
# field.
2016-11-26 01:38:32 +00:00
typeID: MBID
): RelationshipConnection
# A list of relationships between these two entity types.
labels(
after: String
first: Int
before: String
last: Int
# Filter by the relationship direction.
direction: String
# Filter by the relationship type.
type: String
2016-11-26 10:56:26 +00:00
# The MBID associated with the value of the `type`
# field.
2016-11-26 01:38:32 +00:00
typeID: MBID
): RelationshipConnection
# A list of relationships between these two entity types.
places(
after: String
first: Int
before: String
last: Int
# Filter by the relationship direction.
direction: String
# Filter by the relationship type.
type: String
2016-11-26 10:56:26 +00:00
# The MBID associated with the value of the `type`
# field.
2016-11-26 01:38:32 +00:00
typeID: MBID
): RelationshipConnection
# A list of relationships between these two entity types.
recordings(
after: String
first: Int
before: String
last: Int
# Filter by the relationship direction.
direction: String
# Filter by the relationship type.
type: String
2016-11-26 10:56:26 +00:00
# The MBID associated with the value of the `type`
# field.
2016-11-26 01:38:32 +00:00
typeID: MBID
): RelationshipConnection
# A list of relationships between these two entity types.
releases(
after: String
first: Int
before: String
last: Int
# Filter by the relationship direction.
direction: String
# Filter by the relationship type.
type: String
2016-11-26 10:56:26 +00:00
# The MBID associated with the value of the `type`
# field.
2016-11-26 01:38:32 +00:00
typeID: MBID
): RelationshipConnection
# A list of relationships between these two entity types.
releaseGroups(
after: String
first: Int
before: String
last: Int
# Filter by the relationship direction.
direction: String
# Filter by the relationship type.
type: String
2016-11-26 10:56:26 +00:00
# The MBID associated with the value of the `type`
# field.
2016-11-26 01:38:32 +00:00
typeID: MBID
): RelationshipConnection
# A list of relationships between these two entity types.
series(
after: String
first: Int
before: String
last: Int
# Filter by the relationship direction.
direction: String
# Filter by the relationship type.
type: String
2016-11-26 10:56:26 +00:00
# The MBID associated with the value of the `type`
# field.
2016-11-26 01:38:32 +00:00
typeID: MBID
): RelationshipConnection
# A list of relationships between these two entity types.
urls(
after: String
first: Int
before: String
last: Int
# Filter by the relationship direction.
direction: String
# Filter by the relationship type.
type: String
2016-11-26 10:56:26 +00:00
# The MBID associated with the value of the `type`
# field.
2016-11-26 01:38:32 +00:00
typeID: MBID
): RelationshipConnection
# A list of relationships between these two entity types.
works(
after: String
first: Int
before: String
last: Int
# Filter by the relationship direction.
direction: String
# Filter by the relationship type.
type: String
2016-11-26 10:56:26 +00:00
# The MBID associated with the value of the `type`
# field.
2016-11-26 01:38:32 +00:00
typeID: MBID
): RelationshipConnection
}
# A [release](https://musicbrainz.org/doc/Release) represents the
# unique release (i.e. issuing) of a product on a specific date with specific
# release information such as the country, label, barcode, packaging, etc. If you
# walk into a store and purchase an album or single, theyre each represented in
# MusicBrainz as one release.
type Release implements Node, Entity {
# The ID of an object
id: ID!
# The MBID of the entity.
mbid: MBID!
# The official title of the entity.
title: String
# A comment used to help distinguish identically named entitites.
disambiguation: String
# [Aliases](https://musicbrainz.org/doc/Aliases) are used to store
# alternate names or misspellings.
aliases: [Alias]
2016-11-26 01:38:32 +00:00
# The main credited artist(s).
artistCredit: [ArtistCredit] @deprecated(reason: "The `artistCredit` field has been renamed to\\n`artistCredits`, since it is a list of credits and is referred to in the\\nplural form throughout the MusicBrainz documentation. This field is deprecated\\nand will be removed in a major release in the future. Use the equivalent\\n`artistCredits` field.")
# The main credited artist(s).
artistCredits: [ArtistCredit]
2016-11-26 01:38:32 +00:00
# The release events for this release.
releaseEvents: [ReleaseEvent]
# The [release date](https://musicbrainz.org/doc/Release/Date)
# is the date in which a release was made available through some sort of
# distribution mechanism.
date: Date
# The country in which the release was issued.
country: String
2016-12-10 02:56:45 +00:00
# The [Amazon Standard Identification Number](https://musicbrainz.org/doc/ASIN)
# of the release.
asin: ASIN
2016-11-26 01:38:32 +00:00
# The [barcode](https://en.wikipedia.org/wiki/Barcode), if the
# release has one. The most common types found on releases are 12-digit
# [UPCs](https://en.wikipedia.org/wiki/Universal_Product_Code) and 13-digit
# [EANs](https://en.wikipedia.org/wiki/International_Article_Number).
barcode: String
# The status describes how “official” a release is.
status: ReleaseStatus
2016-11-26 10:56:26 +00:00
# The MBID associated with the value of the `status`
# field.
2016-11-26 01:38:32 +00:00
statusID: MBID
# The physical packaging that accompanies the release. See
# the [list of packaging](https://musicbrainz.org/doc/Release/Packaging) for more
# information.
packaging: String
2016-11-26 10:56:26 +00:00
# The MBID associated with the value of the `packaging`
# field.
2016-11-26 01:38:32 +00:00
packagingID: MBID
# Data quality indicates how good the data for a release is.
# It is not a mark of how good or bad the music itself is for that, use
# [ratings](https://musicbrainz.org/doc/Rating_System).
quality: String
# A list of artists linked to this entity.
2016-11-26 01:38:32 +00:00
artists(after: String, first: Int): ArtistConnection
# A list of labels linked to this entity.
2016-11-26 01:38:32 +00:00
labels(after: String, first: Int): LabelConnection
# A list of recordings linked to this entity.
2016-11-26 01:38:32 +00:00
recordings(after: String, first: Int): RecordingConnection
# A list of release groups linked to this entity.
releaseGroups(
after: String
first: Int
# Filter by one or more release group types.
type: [ReleaseGroupType]
): ReleaseGroupConnection
2016-11-26 01:38:32 +00:00
# Relationships between this entity and other entitites.
relationships: Relationships
# A list of tags linked to this entity.
tags(after: String, first: Int): TagConnection
2016-11-26 01:38:32 +00:00
}
# A connection to a list of items.
type ReleaseConnection {
# Information to aid in pagination.
pageInfo: PageInfo!
# A list of edges.
edges: [ReleaseEdge]
# A count of the total number of items in this connection,
# ignoring pagination.
totalCount: Int
2016-11-26 01:38:32 +00:00
}
# An edge in a connection.
type ReleaseEdge {
# The item at the end of the edge
node: Release
# A cursor for use in pagination
cursor: String!
2016-11-28 14:44:00 +00:00
# The relevancy score (0100) assigned by the search engine, if
# these results were found through a search.
score: Int
2016-11-26 01:38:32 +00:00
}
2016-11-26 10:56:26 +00:00
# Date on which a release was issued in a country/region with a
2016-11-26 01:38:32 +00:00
# particular label, catalog number, barcode, and what release format was used.
type ReleaseEvent {
area: Area
date: Date
}
# A [release group](https://musicbrainz.org/doc/Release_Group) is
# used to group several different releases into a single logical entity. Every
# release belongs to one, and only one release group.
#
# Both release groups and releases are “albums” in a general sense, but with an
# important difference: a release is something you can buy as media such as a CD
# or a vinyl record, while a release group embraces the overall concept of an
# album it doesnt matter how many CDs or editions/versions it had.
type ReleaseGroup implements Node, Entity {
# The ID of an object
id: ID!
# The MBID of the entity.
mbid: MBID!
# The official title of the entity.
title: String
# A comment used to help distinguish identically named entitites.
disambiguation: String
# [Aliases](https://musicbrainz.org/doc/Aliases) are used to store
# alternate names or misspellings.
aliases: [Alias]
2016-11-26 01:38:32 +00:00
# The main credited artist(s).
artistCredit: [ArtistCredit] @deprecated(reason: "The `artistCredit` field has been renamed to\\n`artistCredits`, since it is a list of credits and is referred to in the\\nplural form throughout the MusicBrainz documentation. This field is deprecated\\nand will be removed in a major release in the future. Use the equivalent\\n`artistCredits` field.")
# The main credited artist(s).
artistCredits: [ArtistCredit]
2016-11-26 01:38:32 +00:00
# The date of the earliest release in the group.
firstReleaseDate: Date
# The [type](https://musicbrainz.org/doc/Release_Group/Type)
# of a release group describes what kind of releases the release group represents,
# e.g. album, single, soundtrack, compilation, etc. A release group can have a
# “main” type and an unspecified number of additional types.
primaryType: ReleaseGroupType
2016-11-26 10:56:26 +00:00
# The MBID associated with the value of the `primaryType`
# field.
2016-11-26 01:38:32 +00:00
primaryTypeID: MBID
# Additional [types](https://musicbrainz.org/doc/Release_Group/Type)
# that apply to this release group.
secondaryTypes: [ReleaseGroupType]
2016-11-26 10:56:26 +00:00
# The MBIDs associated with the values of the `secondaryTypes`
# field.
2016-11-26 01:38:32 +00:00
secondaryTypeIDs: [MBID]
# A list of artists linked to this entity.
2016-11-26 01:38:32 +00:00
artists(after: String, first: Int): ArtistConnection
# A list of releases linked to this entity.
releases(
after: String
first: Int
# Filter by one or more release group types.
type: [ReleaseGroupType]
# Filter by one or more release statuses.
status: [ReleaseStatus]
): ReleaseConnection
2016-11-26 01:38:32 +00:00
# Relationships between this entity and other entitites.
relationships: Relationships
# A list of tags linked to this entity.
tags(after: String, first: Int): TagConnection
2016-11-26 01:38:32 +00:00
}
# A connection to a list of items.
type ReleaseGroupConnection {
# Information to aid in pagination.
pageInfo: PageInfo!
# A list of edges.
edges: [ReleaseGroupEdge]
# A count of the total number of items in this connection,
# ignoring pagination.
totalCount: Int
2016-11-26 01:38:32 +00:00
}
# An edge in a connection.
type ReleaseGroupEdge {
# The item at the end of the edge
node: ReleaseGroup
# A cursor for use in pagination
cursor: String!
2016-11-28 14:44:00 +00:00
# The relevancy score (0100) assigned by the search engine, if
# these results were found through a search.
score: Int
2016-11-26 01:38:32 +00:00
}
# A type used to describe release groups, e.g. album, single, EP,
# etc.
2016-11-26 01:38:32 +00:00
enum ReleaseGroupType {
# An album, perhaps better defined as a “Long Play” (LP)
# release, generally consists of previously unreleased material (unless this type
# is combined with secondary types which change that, such as “Compilation”). This
# includes album re-issues, with or without bonus tracks.
ALBUM
# A single typically has one main song and possibly a handful
# of additional tracks or remixes of the main track. A single is usually named
# after its main song.
SINGLE
# An EP is a so-called “Extended Play” release and often
# contains the letters EP in the title. Generally an EP will be shorter than a
# full length release (an LP or “Long Play”) and the tracks are usually exclusive
# to the EP, in other words the tracks dont come from a previously issued
# release. EP is fairly difficult to define; usually it should only be assumed
# that a release is an EP if the artist defines it as such.
EP
# Any release that does not fit any of the other categories.
OTHER
# An episodic release that was originally broadcast via radio,
# television, or the Internet, including podcasts.
BROADCAST
# A compilation is a collection of previously released tracks
# by one or more artists.
COMPILATION
# A soundtrack is the musical score to a movie, TV series,
2016-11-26 10:56:26 +00:00
# stage show, computer game, etc.
2016-11-26 01:38:32 +00:00
SOUNDTRACK
# A non-music spoken word release.
SPOKENWORD
# An interview release contains an interview, generally with
# an artist.
INTERVIEW
# An audiobook is a book read by a narrator without music.
AUDIOBOOK
# A release that was recorded live.
LIVE
# A release that was (re)mixed from previously released
# material.
REMIX
# A DJ-mix is a sequence of several recordings played one
# after the other, each one modified so that they blend together into a continuous
# flow of music. A DJ mix release requires that the recordings be modified in some
# manner, and the DJ who does this modification is usually (although not always)
# credited in a fairly prominent way.
DJMIX
# Promotional in nature (but not necessarily free), mixtapes
# and street albums are often released by artists to promote new artists, or
# upcoming studio albums by prominent artists. They are also sometimes used to
# keep fans attention between studio releases and are most common in rap & hip
# hop genres. They are often not sanctioned by the artists label, may lack proper
# sample or song clearances and vary widely in production and recording quality.
# While mixtapes are generally DJ-mixed, they are distinct from commercial DJ
# mixes (which are usually deemed compilations) and are defined by having a
# significant proportion of new material, including original production or
# original vocals over top of other artists instrumentals. They are distinct from
2016-11-26 10:56:26 +00:00
# demos in that they are designed for release directly to the public and fans, not
2016-11-26 01:38:32 +00:00
# to labels.
MIXTAPE
# A release that was recorded for limited circulation or
# reference use rather than for general public release.
DEMO
# A non-album track (special case).
NAT
}
# A type used to describe the status of releases, e.g. official,
# bootleg, etc.
2016-11-26 01:38:32 +00:00
enum ReleaseStatus {
# Any release officially sanctioned by the artist and/or their
# record company. (Most releases will fit into this category.)
OFFICIAL
# A giveaway release or a release intended to promote an
2016-11-26 10:56:26 +00:00
# upcoming official release, e.g. prerelease albums or releases included with a
# magazine.
2016-11-26 01:38:32 +00:00
PROMOTION
# An unofficial/underground release that was not sanctioned by
# the artist and/or the record company.
BOOTLEG
# A pseudo-release is a duplicate release for
# translation/transliteration purposes.
PSEUDORELEASE
}
# A search for MusicBrainz entities using Lucene query syntax.
type SearchQuery {
# Search for area entities matching the given query.
areas(
# The query terms, in Lucene search syntax. See [examples
# and search fields](https://musicbrainz.org/doc/Development/XML_Web_Service/Version_2/Search).
query: String!
after: String
first: Int
): AreaConnection
2016-11-26 01:38:32 +00:00
# Search for artist entities matching the given query.
artists(
# The query terms, in Lucene search syntax. See [examples
# and search fields](https://musicbrainz.org/doc/Development/XML_Web_Service/Version_2/Search).
query: String!
after: String
first: Int
): ArtistConnection
# Search for event entities matching the given query.
events(
# The query terms, in Lucene search syntax. See [examples
# and search fields](https://musicbrainz.org/doc/Development/XML_Web_Service/Version_2/Search).
query: String!
after: String
first: Int
): EventConnection
# Search for instrument entities matching the given query.
instruments(
# The query terms, in Lucene search syntax. See [examples
# and search fields](https://musicbrainz.org/doc/Development/XML_Web_Service/Version_2/Search).
query: String!
after: String
first: Int
): InstrumentConnection
2016-11-26 01:38:32 +00:00
# Search for label entities matching the given query.
labels(
# The query terms, in Lucene search syntax. See [examples
# and search fields](https://musicbrainz.org/doc/Development/XML_Web_Service/Version_2/Search).
query: String!
after: String
first: Int
): LabelConnection
2016-11-26 01:38:32 +00:00
# Search for place entities matching the given query.
places(
# The query terms, in Lucene search syntax. See [examples
# and search fields](https://musicbrainz.org/doc/Development/XML_Web_Service/Version_2/Search).
query: String!
after: String
first: Int
): PlaceConnection
2016-11-26 01:38:32 +00:00
# Search for recording entities matching the given query.
recordings(
# The query terms, in Lucene search syntax. See [examples
# and search fields](https://musicbrainz.org/doc/Development/XML_Web_Service/Version_2/Search).
query: String!
after: String
first: Int
): RecordingConnection
2016-11-26 01:38:32 +00:00
# Search for release entities matching the given query.
releases(
# The query terms, in Lucene search syntax. See [examples
# and search fields](https://musicbrainz.org/doc/Development/XML_Web_Service/Version_2/Search).
query: String!
after: String
first: Int
): ReleaseConnection
2016-11-26 01:38:32 +00:00
# Search for release group entities matching the given query.
releaseGroups(
# The query terms, in Lucene search syntax. See [examples
# and search fields](https://musicbrainz.org/doc/Development/XML_Web_Service/Version_2/Search).
query: String!
after: String
first: Int
): ReleaseGroupConnection
# Search for series entities matching the given query.
series(
# The query terms, in Lucene search syntax. See [examples
# and search fields](https://musicbrainz.org/doc/Development/XML_Web_Service/Version_2/Search).
query: String!
after: String
first: Int
): SeriesConnection
2016-11-26 01:38:32 +00:00
# Search for work entities matching the given query.
works(
# The query terms, in Lucene search syntax. See [examples
# and search fields](https://musicbrainz.org/doc/Development/XML_Web_Service/Version_2/Search).
query: String!
after: String
first: Int
): WorkConnection
2016-11-26 01:38:32 +00:00
}
# A [series](https://musicbrainz.org/doc/Series) is a sequence of
# separate release groups, releases, recordings, works or events with a common
# theme.
type Series implements Node, Entity {
# The ID of an object
id: ID!
# The MBID of the entity.
mbid: MBID!
# The official name of the entity.
name: String
# A comment used to help distinguish identically named entitites.
disambiguation: String
# The type primarily describes what type of entity the series
# contains.
type: String
2016-11-26 10:56:26 +00:00
# The MBID associated with the value of the `type`
# field.
2016-11-26 01:38:32 +00:00
typeID: MBID
# Relationships between this entity and other entitites.
relationships: Relationships
# A list of tags linked to this entity.
tags(after: String, first: Int): TagConnection
}
# A connection to a list of items.
type SeriesConnection {
# Information to aid in pagination.
pageInfo: PageInfo!
# A list of edges.
edges: [SeriesEdge]
# A count of the total number of items in this connection,
# ignoring pagination.
totalCount: Int
}
# An edge in a connection.
type SeriesEdge {
# The item at the end of the edge
node: Series
# A cursor for use in pagination
cursor: String!
2016-11-28 14:44:00 +00:00
# The relevancy score (0100) assigned by the search engine, if
# these results were found through a search.
score: Int
}
2016-11-28 14:27:39 +00:00
# [Tags](https://musicbrainz.org/tags) are a way to mark entities
# with extra information for example, the genres that apply to an artist,
# release, or recording.
type Tag {
# The tag label.
name: String!
# How many times this tag has been applied to the entity.
count: Int
}
# A connection to a list of items.
type TagConnection {
# Information to aid in pagination.
pageInfo: PageInfo!
# A list of edges.
edges: [TagEdge]
# A count of the total number of items in this connection,
# ignoring pagination.
totalCount: Int
}
# An edge in a connection.
type TagEdge {
# The item at the end of the edge
node: Tag
# A cursor for use in pagination
cursor: String!
2016-11-28 14:44:00 +00:00
# The relevancy score (0100) assigned by the search engine, if
# these results were found through a search.
score: Int
2016-11-26 01:38:32 +00:00
}
# A time of day, in 24-hour hh:mm notation.
scalar Time
# A [URL](https://musicbrainz.org/doc/URL) pointing to a resource
# external to MusicBrainz, i.e. an official homepage, a site where music can be
# acquired, an entry in another database, etc.
type URL implements Node, Entity {
# The ID of an object
id: ID!
# The MBID of the entity.
mbid: MBID!
# The actual URL string.
resource: URLString!
# Relationships between this entity and other entitites.
relationships: Relationships
}
# A web address.
scalar URLString
# A [work](https://musicbrainz.org/doc/Work) is a distinct
# intellectual or artistic creation, which can be expressed in the form of one or
# more audio recordings.
type Work implements Node, Entity {
# The ID of an object
id: ID!
# The MBID of the entity.
mbid: MBID!
# The official title of the entity.
title: String
# A comment used to help distinguish identically named entitites.
disambiguation: String
# [Aliases](https://musicbrainz.org/doc/Aliases) are used to store
# alternate names or misspellings.
aliases: [Alias]
2016-11-26 01:38:32 +00:00
# A list of [ISWCs](https://musicbrainz.org/doc/ISWC) assigned
# to the work by copyright collecting agencies.
iswcs: [String]
# The language in which the work was originally written.
language: String
# The type of work.
type: String
2016-11-26 10:56:26 +00:00
# The MBID associated with the value of the `type`
# field.
2016-11-26 01:38:32 +00:00
typeID: MBID
# A list of artists linked to this entity.
2016-11-26 01:38:32 +00:00
artists(after: String, first: Int): ArtistConnection
# Relationships between this entity and other entitites.
relationships: Relationships
# A list of tags linked to this entity.
tags(after: String, first: Int): TagConnection
2016-11-26 01:38:32 +00:00
}
# A connection to a list of items.
type WorkConnection {
# Information to aid in pagination.
pageInfo: PageInfo!
# A list of edges.
edges: [WorkEdge]
# A count of the total number of items in this connection,
# ignoring pagination.
totalCount: Int
2016-11-26 01:38:32 +00:00
}
# An edge in a connection.
type WorkEdge {
# The item at the end of the edge
node: Work
# A cursor for use in pagination
cursor: String!
2016-11-28 14:44:00 +00:00
# The relevancy score (0100) assigned by the search engine, if
# these results were found through a search.
score: Int
2016-11-26 01:38:32 +00:00
}
```