diff --git a/docs/schema.md b/docs/schema.md
index 78d36f6..584771e 100644
--- a/docs/schema.md
+++ b/docs/schema.md
@@ -15,7 +15,7 @@ type Alias {
# The locale (language and/or country) in which the alias is
# used.
- locale: String
+ locale: Locale
# Whether this is the main alias for the entity in the
# specified locale (this could mean the most recent or the most common).
@@ -256,6 +256,11 @@ type ArtistEdge {
score: Int
}
+# 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
+
# A query for all MusicBrainz entities directly linked to another
# entity.
type BrowseQuery {
@@ -381,6 +386,12 @@ type BrowseQuery {
# The MBID of a release group to which the entity is linked.
releaseGroup: MBID
+
+ # Filter by one or more release group types.
+ type: [ReleaseGroupType]
+
+ # Filter by one or more release statuses.
+ status: [ReleaseStatus]
): ReleaseConnection
# Browse release group entities linked to the given arguments.
@@ -396,6 +407,9 @@ type BrowseQuery {
# The MBID of a release to which the entity is linked.
release: MBID
+
+ # Filter by one or more release group types.
+ type: [ReleaseGroupType]
): ReleaseGroupConnection
# Browse work entities linked to the given arguments.
@@ -409,15 +423,6 @@ type BrowseQuery {
# The MBID of a collection in which the entity is found.
collection: MBID
): WorkConnection
-
- # Browse URL entities linked to the given arguments.
- urls(
- after: String
- first: Int
-
- # The web address for which to browse URL entities.
- resource: URLString
- ): URLConnection
}
# Geographic coordinates described with latitude and longitude.
@@ -696,6 +701,9 @@ type LifeSpan {
ended: Boolean
}
+# Language code, optionally with country and encoding.
+scalar Locale
+
# A lookup of an individual MusicBrainz entity by its MBID.
type LookupQuery {
# Look up a specific area by its MBID.
@@ -761,7 +769,10 @@ type LookupQuery {
# Look up a specific URL by its MBID.
url(
# The MBID of the entity.
- mbid: MBID!
+ mbid: MBID
+
+ # The web address of the URL entity to look up.
+ resource: URLString
): URL
# Look up a specific work by its MBID.
@@ -1305,6 +1316,10 @@ type Release implements Node, Entity {
# The country in which the release was issued.
country: String
+ # The [Amazon Standard Identification Number](https://musicbrainz.org/doc/ASIN)
+ # of the release.
+ asin: ASIN
+
# 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
@@ -1807,32 +1822,6 @@ type URL implements Node, Entity {
relationships: Relationships
}
-# A connection to a list of items.
-type URLConnection {
- # Information to aid in pagination.
- pageInfo: PageInfo!
-
- # A list of edges.
- edges: [URLEdge]
-
- # A count of the total number of items in this connection,
- # ignoring pagination.
- totalCount: Int
-}
-
-# An edge in a connection.
-type URLEdge {
- # The item at the end of the edge
- node: URL
-
- # A cursor for use in pagination
- cursor: String!
-
- # The relevancy score (0–100) assigned by the search engine, if
- # these results were found through a search.
- score: Int
-}
-
# A web address.
scalar URLString
diff --git a/docs/types.md b/docs/types.md
index 6ffcf1e..5618c62 100644
--- a/docs/types.md
+++ b/docs/types.md
@@ -52,8 +52,6 @@ You may also be interested in reading the [schema in GraphQL syntax](schema.md).
[TagConnection](#tagconnection)
[TagEdge](#tagedge)
[URL](#url)
- [URLConnection](#urlconnection)
- [URLEdge](#urledge)
[Work](#work)
[WorkConnection](#workconnection)
[WorkEdge](#workedge)
@@ -63,12 +61,14 @@ You may also be interested in reading the [schema in GraphQL syntax](schema.md).
[ReleaseStatus](#releasestatus)
[Scalars](#scalars)
+ - [ASIN](#asin)
- [Boolean](#boolean)
- [Date](#date)
- [Degrees](#degrees)
- [ID](#id)
- [IPI](#ipi)
- [Int](#int)
+ - [Locale](#locale)
- [MBID](#mbid)
- [String](#string)
- [Time](#time)
@@ -147,7 +147,7 @@ the front).
| locale |
- String |
+ Locale |
The locale (language and/or country) in which the alias is
used. |
@@ -931,6 +931,16 @@ release, but is not included in the credits for the release itself.
MBID |
The MBID of a release group to which the entity is linked. |
+
+ | type |
+ [ReleaseGroupType] |
+ Filter by one or more release group types. |
+
+
+ | status |
+ [ReleaseStatus] |
+ Filter by one or more release statuses. |
+
| releaseGroups |
ReleaseGroupConnection |
@@ -961,6 +971,11 @@ release, but is not included in the credits for the release itself.
MBID |
The MBID of a release to which the entity is linked. |
+
+ | type |
+ [ReleaseGroupType] |
+ Filter by one or more release group types. |
+
| works |
WorkConnection |
@@ -986,26 +1001,6 @@ release, but is not included in the credits for the release itself.
MBID |
The MBID of a collection in which the entity is found. |
-
- | urls |
- URLConnection |
- Browse URL entities linked to the given arguments. |
-
-
- | after |
- String |
- |
-
-
- | first |
- Int |
- |
-
-
- | resource |
- URLString |
- The web address for which to browse URL entities. |
-
### Coordinates
@@ -1660,9 +1655,14 @@ A lookup of an individual MusicBrainz entity by its MBID.
| mbid |
- MBID! |
+ MBID |
The MBID of the entity. |
+
+ | resource |
+ URLString |
+ The web address of the URL entity to look up. |
+
| work |
Work |
@@ -2762,6 +2762,12 @@ distribution mechanism.
String |
The country in which the release was issued. |
+
+ | asin |
+ ASIN |
+ The Amazon Standard Identification Number
+of the release. |
+
| barcode |
String |
@@ -3657,64 +3663,6 @@ acquired, an entry in another database, etc.
-### URLConnection
-
-A connection to a list of items.
-
-
-
- | Field / Argument |
- Type |
- Description |
-
-
-
- | pageInfo |
- PageInfo! |
- Information to aid in pagination. |
-
-
- | edges |
- [URLEdge] |
- A list of edges. |
-
-
- | totalCount |
- Int |
- A count of the total number of items in this connection,
-ignoring pagination. |
-
-
-
-### URLEdge
-
-An edge in a connection.
-
-
-
- | Field / Argument |
- Type |
- Description |
-
-
-
- | node |
- URL |
- The item at the end of the edge |
-
-
- | cursor |
- String! |
- A cursor for use in pagination |
-
-
- | score |
- Int |
- The relevancy score (0–100) assigned by the search engine, if
-these results were found through a search. |
-
-
-
### Work
A [work](https://musicbrainz.org/doc/Work) is a distinct
@@ -4013,6 +3961,12 @@ translation/transliteration purposes.
## Scalars
+### ASIN
+
+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.
+
### Boolean
The `Boolean` scalar type represents `true` or `false`.
@@ -4039,6 +3993,10 @@ musical rights management.
The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
+### Locale
+
+Language code, optionally with country and encoding.
+
### MBID
The MBID scalar represents MusicBrainz identifiers, which are
diff --git a/schema.json b/schema.json
index 5d98a58..96091d6 100644
--- a/schema.json
+++ b/schema.json
@@ -364,13 +364,19 @@
"name": "mbid",
"description": "The MBID of the entity.",
"type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "MBID",
- "ofType": null
- }
+ "kind": "SCALAR",
+ "name": "MBID",
+ "ofType": null
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "resource",
+ "description": "The web address of the URL entity to look up.",
+ "type": {
+ "kind": "SCALAR",
+ "name": "URLString",
+ "ofType": null
},
"defaultValue": null
}
@@ -1017,7 +1023,7 @@
"args": [],
"type": {
"kind": "SCALAR",
- "name": "String",
+ "name": "Locale",
"ofType": null
},
"isDeprecated": false,
@@ -1065,6 +1071,16 @@
"enumValues": null,
"possibleTypes": null
},
+ {
+ "kind": "SCALAR",
+ "name": "Locale",
+ "description": "Language code, optionally with country and encoding.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
{
"kind": "SCALAR",
"name": "Boolean",
@@ -2555,6 +2571,18 @@
"isDeprecated": false,
"deprecationReason": null
},
+ {
+ "name": "asin",
+ "description": "The [Amazon Standard Identification Number](https://musicbrainz.org/doc/ASIN)\nof the release.",
+ "args": [],
+ "type": {
+ "kind": "SCALAR",
+ "name": "ASIN",
+ "ofType": null
+ },
+ "isDeprecated": false,
+ "deprecationReason": null
+ },
{
"name": "barcode",
"description": "The [barcode](https://en.wikipedia.org/wiki/Barcode), if the\nrelease has one. The most common types found on releases are 12-digit\n[UPCs](https://en.wikipedia.org/wiki/Universal_Product_Code) and 13-digit\n[EANs](https://en.wikipedia.org/wiki/International_Article_Number).",
@@ -2870,6 +2898,16 @@
"enumValues": null,
"possibleTypes": null
},
+ {
+ "kind": "SCALAR",
+ "name": "ASIN",
+ "description": "An [Amazon Standard Identification Number](https://musicbrainz.org/doc/ASIN)\n(ASIN) is a 10-character alphanumeric unique identifier assigned by Amazon.com\nand its partners for product identification within the Amazon organization.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
{
"kind": "OBJECT",
"name": "LabelConnection",
@@ -6500,6 +6538,16 @@
"enumValues": null,
"possibleTypes": null
},
+ {
+ "kind": "SCALAR",
+ "name": "URLString",
+ "description": "A web address.",
+ "fields": null,
+ "inputFields": null,
+ "interfaces": null,
+ "enumValues": null,
+ "possibleTypes": null
+ },
{
"kind": "OBJECT",
"name": "URL",
@@ -6582,16 +6630,6 @@
"enumValues": null,
"possibleTypes": null
},
- {
- "kind": "SCALAR",
- "name": "URLString",
- "description": "A web address.",
- "fields": null,
- "inputFields": null,
- "interfaces": null,
- "enumValues": null,
- "possibleTypes": null
- },
{
"kind": "OBJECT",
"name": "BrowseQuery",
@@ -7088,6 +7126,34 @@
"ofType": null
},
"defaultValue": null
+ },
+ {
+ "name": "type",
+ "description": "Filter by one or more release group types.",
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "ReleaseGroupType",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
+ },
+ {
+ "name": "status",
+ "description": "Filter by one or more release statuses.",
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "ReleaseStatus",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
}
],
"type": {
@@ -7151,6 +7217,20 @@
"ofType": null
},
"defaultValue": null
+ },
+ {
+ "name": "type",
+ "description": "Filter by one or more release group types.",
+ "type": {
+ "kind": "LIST",
+ "name": null,
+ "ofType": {
+ "kind": "ENUM",
+ "name": "ReleaseGroupType",
+ "ofType": null
+ }
+ },
+ "defaultValue": null
}
],
"type": {
@@ -7213,49 +7293,6 @@
},
"isDeprecated": false,
"deprecationReason": null
- },
- {
- "name": "urls",
- "description": "Browse URL entities linked to the given arguments.",
- "args": [
- {
- "name": "after",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- },
- "defaultValue": null
- },
- {
- "name": "first",
- "description": null,
- "type": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- },
- "defaultValue": null
- },
- {
- "name": "resource",
- "description": "The web address for which to browse URL entities.",
- "type": {
- "kind": "SCALAR",
- "name": "URLString",
- "ofType": null
- },
- "defaultValue": null
- }
- ],
- "type": {
- "kind": "OBJECT",
- "name": "URLConnection",
- "ofType": null
- },
- "isDeprecated": false,
- "deprecationReason": null
}
],
"inputFields": null,
@@ -7369,112 +7406,6 @@
"enumValues": null,
"possibleTypes": null
},
- {
- "kind": "OBJECT",
- "name": "URLConnection",
- "description": "A connection to a list of items.",
- "fields": [
- {
- "name": "pageInfo",
- "description": "Information to aid in pagination.",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "PageInfo",
- "ofType": null
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "edges",
- "description": "A list of edges.",
- "args": [],
- "type": {
- "kind": "LIST",
- "name": null,
- "ofType": {
- "kind": "OBJECT",
- "name": "URLEdge",
- "ofType": null
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "totalCount",
- "description": "A count of the total number of items in this connection,\nignoring pagination.",
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- },
- "isDeprecated": false,
- "deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
- {
- "kind": "OBJECT",
- "name": "URLEdge",
- "description": "An edge in a connection.",
- "fields": [
- {
- "name": "node",
- "description": "The item at the end of the edge",
- "args": [],
- "type": {
- "kind": "OBJECT",
- "name": "URL",
- "ofType": null
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "cursor",
- "description": "A cursor for use in pagination",
- "args": [],
- "type": {
- "kind": "NON_NULL",
- "name": null,
- "ofType": {
- "kind": "SCALAR",
- "name": "String",
- "ofType": null
- }
- },
- "isDeprecated": false,
- "deprecationReason": null
- },
- {
- "name": "score",
- "description": "The relevancy score (0–100) assigned by the search engine, if\nthese results were found through a search.",
- "args": [],
- "type": {
- "kind": "SCALAR",
- "name": "Int",
- "ofType": null
- },
- "isDeprecated": false,
- "deprecationReason": null
- }
- ],
- "inputFields": null,
- "interfaces": [],
- "enumValues": null,
- "possibleTypes": null
- },
{
"kind": "OBJECT",
"name": "SearchQuery",