General Information

Resources

/artist[/:artist_id]

Artist

The Artist resource returns artist details.

Joins user, lastUser (user), artistAlias, artistGroup, artistLink, performance

GUEST Collection GET /artist

Fetch a collection of Artist entities.

Fields

Field Type Description Required
name string

The name of the artist. Artist names must be unique.

YES
icon string

A URL for an icon associated with this artist.

NO
abbreviation string

An abbreviation used in sources for this artist e.g. GD, PH, TOO

NO
isTradable boolean

Is this artist tradable?

YES
description text

A description which appears at the top of artist specific pages for this artist.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/artist"
       },
       "first": {
           "href": "/artist?page={page}"
       },
       "prev": {
           "href": "/artist?page={page}"
       },
       "next": {
           "href": "/artist?page={page}"
       },
       "last": {
           "href": "/artist?page={page}"
       }
   }
   "_embedded": {
       "artist": [
           {
               "_links": {
                   "self": {
                       "href": "/artist[/:artist_id]"
                   }
               }
              "name": "The name of the artist.  Artist names must be unique.",
              "icon": "A URL for an icon associated with this artist.",
              "abbreviation": "An abbreviation used in sources for this artist e.g. GD, PH, TOO",
              "isTradable": "Is this artist tradable?",
              "description": "A description which appears at the top of artist specific pages for this artist."
           }
       ]
   }
}

USER Collection POST /artist

Fields

Field Type Description Required
name string

The name of the artist. Artist names must be unique.

YES
icon string

A URL for an icon associated with this artist.

NO
abbreviation string

An abbreviation used in sources for this artist e.g. GD, PH, TOO

NO
isTradable boolean

Is this artist tradable?

YES
description text

A description which appears at the top of artist specific pages for this artist.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "name": "The name of the artist.  Artist names must be unique.",
   "icon": "A URL for an icon associated with this artist.",
   "abbreviation": "An abbreviation used in sources for this artist e.g. GD, PH, TOO",
   "isTradable": "Is this artist tradable?",
   "description": "A description which appears at the top of artist specific pages for this artist."
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 201: Created
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/artist[/:artist_id]"
       }
   }
   "name": "The name of the artist.  Artist names must be unique.",
   "icon": "A URL for an icon associated with this artist.",
   "abbreviation": "An abbreviation used in sources for this artist e.g. GD, PH, TOO",
   "isTradable": "Is this artist tradable?",
   "description": "A description which appears at the top of artist specific pages for this artist."
}

GUEST Entity GET /artist[/:artist_id]

Fields

Field Type Description Required
name string

The name of the artist. Artist names must be unique.

YES
icon string

A URL for an icon associated with this artist.

NO
abbreviation string

An abbreviation used in sources for this artist e.g. GD, PH, TOO

NO
isTradable boolean

Is this artist tradable?

YES
description text

A description which appears at the top of artist specific pages for this artist.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/artist[/:artist_id]"
       }
   }
   "name": "The name of the artist.  Artist names must be unique.",
   "icon": "A URL for an icon associated with this artist.",
   "abbreviation": "An abbreviation used in sources for this artist e.g. GD, PH, TOO",
   "isTradable": "Is this artist tradable?",
   "description": "A description which appears at the top of artist specific pages for this artist."
}

ADMIN Entity PATCH /artist[/:artist_id]

Fields

Field Type Description Required
name string

The name of the artist. Artist names must be unique.

YES
icon string

A URL for an icon associated with this artist.

NO
abbreviation string

An abbreviation used in sources for this artist e.g. GD, PH, TOO

NO
isTradable boolean

Is this artist tradable?

YES
description text

A description which appears at the top of artist specific pages for this artist.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "name": "The name of the artist.  Artist names must be unique.",
   "icon": "A URL for an icon associated with this artist.",
   "abbreviation": "An abbreviation used in sources for this artist e.g. GD, PH, TOO",
   "isTradable": "Is this artist tradable?",
   "description": "A description which appears at the top of artist specific pages for this artist."
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/artist[/:artist_id]"
       }
   }
   "name": "The name of the artist.  Artist names must be unique.",
   "icon": "A URL for an icon associated with this artist.",
   "abbreviation": "An abbreviation used in sources for this artist e.g. GD, PH, TOO",
   "isTradable": "Is this artist tradable?",
   "description": "A description which appears at the top of artist specific pages for this artist."
}

ADMIN Entity DELETE /artist[/:artist_id]

Fields

Field Type Description Required
name string

The name of the artist. Artist names must be unique.

YES
icon string

A URL for an icon associated with this artist.

NO
abbreviation string

An abbreviation used in sources for this artist e.g. GD, PH, TOO

NO
isTradable boolean

Is this artist tradable?

YES
description text

A description which appears at the top of artist specific pages for this artist.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 204: No Content
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

/artist-alias[/:artist_alias_id]

ArtistAlias

ArtistAlias is used to allow multiple names for the same Artist e.g. "The artist formerly known as Prince"

Joins artist

GUEST Collection GET /artist-alias

Fields

Field Type Description Required
name string

An alias for a given artist such as "Dylan" for "Bob Dylan"

YES
artist integer

The artist id to assign to this alias.

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/artist-alias"
       },
       "first": {
           "href": "/artist-alias?page={page}"
       },
       "prev": {
           "href": "/artist-alias?page={page}"
       },
       "next": {
           "href": "/artist-alias?page={page}"
       },
       "last": {
           "href": "/artist-alias?page={page}"
       }
   }
   "_embedded": {
       "artist_alias": [
           {
               "_links": {
                   "self": {
                       "href": "/artist-alias[/:artist_alias_id]"
                   }
               }
              "name": "An alias for a given artist such as "Dylan" for "Bob Dylan"",
              "artist": "The artist id to assign to this alias."
           }
       ]
   }
}

GUEST Entity GET /artist-alias[/:artist_alias_id]

Fields

Field Type Description Required
name string

An alias for a given artist such as "Dylan" for "Bob Dylan"

YES
artist integer

The artist id to assign to this alias.

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/artist-alias[/:artist_alias_id]"
       }
   }
   "name": "An alias for a given artist such as "Dylan" for "Bob Dylan"",
   "artist": "The artist id to assign to this alias."
}

/artist-group[/:artist_group_id]

ArtistGroup

The ArtistGroup is central to security for volunteers. Artists are assigned to an ArtistGroup and a User is assigned to an ArtistGroup similar to RBAC.

Joins artist, user

GUEST Collection GET /artist-group

Fields

Field Type Description Required
title string

The name of the ArtistGroup such as "Jerry Garcia Projects"

NO
header text

The header is displayed at the top of Sources for Artists in this ArtistGroup. HTML is allowed.

NO
footer text

The footer is displayed at the bottom of Sources for Artists in this ArtistGroup. HTML is allowed.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/artist-group"
       },
       "first": {
           "href": "/artist-group?page={page}"
       },
       "prev": {
           "href": "/artist-group?page={page}"
       },
       "next": {
           "href": "/artist-group?page={page}"
       },
       "last": {
           "href": "/artist-group?page={page}"
       }
   }
   "_embedded": {
       "artist_group": [
           {
               "_links": {
                   "self": {
                       "href": "/artist-group[/:artist_group_id]"
                   }
               }
              "title": "The name of the ArtistGroup such as "Jerry Garcia Projects"",
              "header": "The header is displayed at the top of Sources for Artists in this ArtistGroup.  HTML is allowed.",
              "footer": "The footer is displayed at the bottom of Sources for Artists in this ArtistGroup.  HTML is allowed."
           }
       ]
   }
}

ADMIN Collection POST /artist-group

Fields

Field Type Description Required
title string

The name of the ArtistGroup such as "Jerry Garcia Projects"

NO
header text

The header is displayed at the top of Sources for Artists in this ArtistGroup. HTML is allowed.

NO
footer text

The footer is displayed at the bottom of Sources for Artists in this ArtistGroup. HTML is allowed.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "title": "The name of the ArtistGroup such as "Jerry Garcia Projects"",
   "header": "The header is displayed at the top of Sources for Artists in this ArtistGroup.  HTML is allowed.",
   "footer": "The footer is displayed at the bottom of Sources for Artists in this ArtistGroup.  HTML is allowed."
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 201: Created
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/artist-group[/:artist_group_id]"
       }
   }
   "title": "The name of the ArtistGroup such as "Jerry Garcia Projects"",
   "header": "The header is displayed at the top of Sources for Artists in this ArtistGroup.  HTML is allowed.",
   "footer": "The footer is displayed at the bottom of Sources for Artists in this ArtistGroup.  HTML is allowed."
}

GUEST Entity GET /artist-group[/:artist_group_id]

Fields

Field Type Description Required
title string

The name of the ArtistGroup such as "Jerry Garcia Projects"

NO
header text

The header is displayed at the top of Sources for Artists in this ArtistGroup. HTML is allowed.

NO
footer text

The footer is displayed at the bottom of Sources for Artists in this ArtistGroup. HTML is allowed.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/artist-group[/:artist_group_id]"
       }
   }
   "title": "The name of the ArtistGroup such as "Jerry Garcia Projects"",
   "header": "The header is displayed at the top of Sources for Artists in this ArtistGroup.  HTML is allowed.",
   "footer": "The footer is displayed at the bottom of Sources for Artists in this ArtistGroup.  HTML is allowed."
}

ADMIN Entity DELETE /artist-group[/:artist_group_id]

Fields

Field Type Description Required
title string

The name of the ArtistGroup such as "Jerry Garcia Projects"

NO
header text

The header is displayed at the top of Sources for Artists in this ArtistGroup. HTML is allowed.

NO
footer text

The footer is displayed at the bottom of Sources for Artists in this ArtistGroup. HTML is allowed.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 204: No Content
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

SOURCE Entity PATCH /artist-group[/:artist_group_id]

Fields

Field Type Description Required
title string

The name of the ArtistGroup such as "Jerry Garcia Projects"

NO
header text

The header is displayed at the top of Sources for Artists in this ArtistGroup. HTML is allowed.

NO
footer text

The footer is displayed at the bottom of Sources for Artists in this ArtistGroup. HTML is allowed.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "title": "The name of the ArtistGroup such as "Jerry Garcia Projects"",
   "header": "The header is displayed at the top of Sources for Artists in this ArtistGroup.  HTML is allowed.",
   "footer": "The footer is displayed at the bottom of Sources for Artists in this ArtistGroup.  HTML is allowed."
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/artist-group[/:artist_group_id]"
       }
   }
   "title": "The name of the ArtistGroup such as "Jerry Garcia Projects"",
   "header": "The header is displayed at the top of Sources for Artists in this ArtistGroup.  HTML is allowed.",
   "footer": "The footer is displayed at the bottom of Sources for Artists in this ArtistGroup.  HTML is allowed."
}

/artist-lookup

ArtistLookup

Fetch a list of 10 Artist names and ids for use in a dropdown to select an Artist.

GUEST Collection GET /artist-lookup?search

See Response for a Request: /artist-lookup?search=grate

Fields

Field Type Description Required
search string

A string to search Artist name. Sent in the Query.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/json
application/*+json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/json
application/*+json
Allow Comma-separated list of all HTTP methods allowed

Body

{
"2": "Grateful Dead",
"396": "Grateful Dead & NRPS",
"571": "Bob Dylan & the Grateful Dead",
"847": "Grateful Dead Compilations",
"2108": "Grateful Dead & The Beach Boys",
"2978": "Merry Pranksters & the Grateful Dead",
"3036": "Grateful Dead Soundchecks",
"3050": "Grateful Dead Hour",
"3595": "Grateful Dead & Jefferson Airplane",
"13337": "Motograter"
}

/artist-merge[/:artist_merge_id]

ArtistMerge

This resource is used to enqueue Artists which should be merged. It is currently disabled.

/artist-to-artist-group[/:artist_id/:artist_group_id]

ArtistToArtistGroup

This RPC allows adding and removing an Artist from an ArtistGroup

ADMIN Collection POST /artist-to-artist-group

To POST include the Artist id and ArtistGroup id in the POST body.

Fields

Field Type Description Required
artist integer

The Artist id for the Artist

YES
artistGroup integer

The ArtistGroup id for the ArtistGroup

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/json
application/*+json
Content-Type
application/vnd.db-api.v1+json
application/json

Body

{
   "artist": "The Artist id for the Artist",
   "artistGroup": "The ArtistGroup id for the ArtistGroup"
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 201: Created
  • 404: Not Found
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/json
application/*+json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "artist": "The Artist id for the Artist",
   "artistGroup": "The ArtistGroup id for the ArtistGroup"
}

ADMIN Entity DELETE /artist-to-artist-group/:artist_id/:artist_group_id

To delete use the url: /artist-to-artist-group/:artist_id/:artist_group_id

Fields

Field Type Description Required
artist integer

The Artist id for the Artist

YES
artistGroup integer

The ArtistGroup id for the ArtistGroup

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/json
application/*+json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 204: No Content
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/json
application/*+json
Allow Comma-separated list of all HTTP methods allowed

/me

Me

Return information about the current authenticated user.

USER Entity GET /me

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/json
application/*+json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/json
application/*+json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user[/:user_id]"
       }
   }
   "username": "A unique username used to authenticate.",
   "password": "The User's password, encrypted.",
   "email": "A validated email address.  Served in ROT-13.",
   "name": "The proper name of the User.",
   "rules": "Free-form edit of a user's rules for trading with other users.  Shown at the top of their UserLists.",
   "isActiveTrading": "Is the User actively trading?",
   "realEmail": "Unvalidated User email address.",
   "city": "The City the User lives in.",
   "state": "The state or country the User lives in.",
   "postalCode": "Postal Code for User.",
   "description": "The User's description of themselves."
}

/media[/:media_id]

Media

This resource is not currently used.

/.well-known/openid-configuration

Oidc

Used for OAuth2 configuration; see https://auth0.com/docs/protocols/oidc/openid-connect-discovery

Collection GET /.well-known/openid-configuration

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/json
application/*+json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/json
application/*+json
Allow Comma-separated list of all HTTP methods allowed

Body


                                            

/performance[/:performance_id]

Performance

The Performance resource contains the concert information for each Performance.

GUEST Collection GET /performance

Fields

Field Type Description Required
performanceDate string

The date of the show. This is the show billing date. If a performance starts after midnight the billing date is used, not the actual date the music was played.

YES
venue string

The venue of the performance.

YES
city string

The city for the performance.

YES
state string

The state or country of the Performance.

YES
set1 text

The first set of music for the Performance. HTML not allowed.

NO
set2 text

The second (if exists) set of music for the Performance. HTML not allowed.

NO
set3 text

The third (if exists) set for the Performance.

NO
description text

Notes and other information about the Performance such as "* First time played"

NO
title string

For compilations or even Performances with a name, add the name here.

NO
artist integer

The primary key for the artist associated with this performance.

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/performance"
       },
       "first": {
           "href": "/performance?page={page}"
       },
       "prev": {
           "href": "/performance?page={page}"
       },
       "next": {
           "href": "/performance?page={page}"
       },
       "last": {
           "href": "/performance?page={page}"
       }
   }
   "_embedded": {
       "performance": [
           {
               "_links": {
                   "self": {
                       "href": "/performance[/:performance_id]"
                   }
               }
              "performanceDate": "The date of the show.  This is the show billing date.  If a performance starts after midnight the billing date is used, not the actual date the music was played.",
              "venue": "The venue of the performance.",
              "city": "The city for the performance.",
              "state": "The state or country of the Performance.",
              "set1": "The first set of music for the Performance.  HTML not allowed.",
              "set2": "The second (if exists) set of music for the Performance.  HTML not allowed.",
              "set3": "The third (if exists) set for the Performance.",
              "description": "Notes and other information about the Performance such as "* First time played"",
              "title": "For compilations or even Performances with a name, add the name here.",
              "artist": "The primary key for the artist associated with this performance."
           }
       ]
   }
}

USER Collection POST /performance

When a new performance is POSTed the performanceDate must be unique for the Artist and the ArtistGroup else the isApproved flag is set to FALSE.

Exceptions: SOURCE users can always add for Artists they maintain. ADMIN users can always add.

On POST PerformanceSubstitution will occur.

Bypass business rules if User is Source admin for Artist or the Artist does not belong to an ArtistGroup.

Fields

Field Type Description Required
performanceDate string

The date of the show. This is the show billing date. If a performance starts after midnight the billing date is used, not the actual date the music was played.

YES
venue string

The venue of the performance.

YES
city string

The city for the performance.

YES
state string

The state or country of the Performance.

YES
set1 text

The first set of music for the Performance. HTML not allowed.

NO
set2 text

The second (if exists) set of music for the Performance. HTML not allowed.

NO
set3 text

The third (if exists) set for the Performance.

NO
description text

Notes and other information about the Performance such as "* First time played"

NO
title string

For compilations or even Performances with a name, add the name here.

NO
artist integer

The primary key for the artist associated with this performance.

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "performanceDate": "The date of the show.  This is the show billing date.  If a performance starts after midnight the billing date is used, not the actual date the music was played.",
   "venue": "The venue of the performance.",
   "city": "The city for the performance.",
   "state": "The state or country of the Performance.",
   "set1": "The first set of music for the Performance.  HTML not allowed.",
   "set2": "The second (if exists) set of music for the Performance.  HTML not allowed.",
   "set3": "The third (if exists) set for the Performance.",
   "description": "Notes and other information about the Performance such as "* First time played"",
   "title": "For compilations or even Performances with a name, add the name here.",
   "artist": "The primary key for the artist associated with this performance."
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 201: Created
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/performance[/:performance_id]"
       }
   }
   "performanceDate": "The date of the show.  This is the show billing date.  If a performance starts after midnight the billing date is used, not the actual date the music was played.",
   "venue": "The venue of the performance.",
   "city": "The city for the performance.",
   "state": "The state or country of the Performance.",
   "set1": "The first set of music for the Performance.  HTML not allowed.",
   "set2": "The second (if exists) set of music for the Performance.  HTML not allowed.",
   "set3": "The third (if exists) set for the Performance.",
   "description": "Notes and other information about the Performance such as "* First time played"",
   "title": "For compilations or even Performances with a name, add the name here.",
   "artist": "The primary key for the artist associated with this performance."
}

GUEST Entity GET /performance[/:performance_id]

Fields

Field Type Description Required
performanceDate string

The date of the show. This is the show billing date. If a performance starts after midnight the billing date is used, not the actual date the music was played.

YES
venue string

The venue of the performance.

YES
city string

The city for the performance.

YES
state string

The state or country of the Performance.

YES
set1 text

The first set of music for the Performance. HTML not allowed.

NO
set2 text

The second (if exists) set of music for the Performance. HTML not allowed.

NO
set3 text

The third (if exists) set for the Performance.

NO
description text

Notes and other information about the Performance such as "* First time played"

NO
title string

For compilations or even Performances with a name, add the name here.

NO
artist integer

The primary key for the artist associated with this performance.

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/performance[/:performance_id]"
       }
   }
   "performanceDate": "The date of the show.  This is the show billing date.  If a performance starts after midnight the billing date is used, not the actual date the music was played.",
   "venue": "The venue of the performance.",
   "city": "The city for the performance.",
   "state": "The state or country of the Performance.",
   "set1": "The first set of music for the Performance.  HTML not allowed.",
   "set2": "The second (if exists) set of music for the Performance.  HTML not allowed.",
   "set3": "The third (if exists) set for the Performance.",
   "description": "Notes and other information about the Performance such as "* First time played"",
   "title": "For compilations or even Performances with a name, add the name here.",
   "artist": "The primary key for the artist associated with this performance."
}

USER SOURCE Entity PATCH /performance[/:performance_id]

When a USER submits a PATCH the delta is stored in the PerformanceCorrection table. The User's corrections will be included in the _computed section of the HAL response.

When a SOURCE or ADMIN submits a patch for an artist they administer all PerformanceCorrection entries for that Performance are deleted.

Fields

Field Type Description Required
performanceDate string

The date of the show. This is the show billing date. If a performance starts after midnight the billing date is used, not the actual date the music was played.

YES
venue string

The venue of the performance.

YES
city string

The city for the performance.

YES
state string

The state or country of the Performance.

YES
set1 text

The first set of music for the Performance. HTML not allowed.

NO
set2 text

The second (if exists) set of music for the Performance. HTML not allowed.

NO
set3 text

The third (if exists) set for the Performance.

NO
description text

Notes and other information about the Performance such as "* First time played"

NO
title string

For compilations or even Performances with a name, add the name here.

NO
artist integer

The primary key for the artist associated with this performance.

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "performanceDate": "The date of the show.  This is the show billing date.  If a performance starts after midnight the billing date is used, not the actual date the music was played.",
   "venue": "The venue of the performance.",
   "city": "The city for the performance.",
   "state": "The state or country of the Performance.",
   "set1": "The first set of music for the Performance.  HTML not allowed.",
   "set2": "The second (if exists) set of music for the Performance.  HTML not allowed.",
   "set3": "The third (if exists) set for the Performance.",
   "description": "Notes and other information about the Performance such as "* First time played"",
   "title": "For compilations or even Performances with a name, add the name here.",
   "artist": "The primary key for the artist associated with this performance."
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/performance[/:performance_id]"
       }
   }
   "performanceDate": "The date of the show.  This is the show billing date.  If a performance starts after midnight the billing date is used, not the actual date the music was played.",
   "venue": "The venue of the performance.",
   "city": "The city for the performance.",
   "state": "The state or country of the Performance.",
   "set1": "The first set of music for the Performance.  HTML not allowed.",
   "set2": "The second (if exists) set of music for the Performance.  HTML not allowed.",
   "set3": "The third (if exists) set for the Performance.",
   "description": "Notes and other information about the Performance such as "* First time played"",
   "title": "For compilations or even Performances with a name, add the name here.",
   "artist": "The primary key for the artist associated with this performance."
}

ADMIN Entity DELETE /performance[/:performance_id]

Fields

Field Type Description Required
performanceDate string

The date of the show. This is the show billing date. If a performance starts after midnight the billing date is used, not the actual date the music was played.

YES
venue string

The venue of the performance.

YES
city string

The city for the performance.

YES
state string

The state or country of the Performance.

YES
set1 text

The first set of music for the Performance. HTML not allowed.

NO
set2 text

The second (if exists) set of music for the Performance. HTML not allowed.

NO
set3 text

The third (if exists) set for the Performance.

NO
description text

Notes and other information about the Performance such as "* First time played"

NO
title string

For compilations or even Performances with a name, add the name here.

NO
artist integer

The primary key for the artist associated with this performance.

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 204: No Content
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

/performance-correction[/:performance_correction_id]

PerformanceCorrection

This resource is auto-populated when an unprivileged user submits a correction to the Performance.

When a USER updates a Performance they did not originally create store changed values in PerformanceCorrection, reset Performance values, and return a 202.

SOURCE Collection GET /performance-correction

When a SOURCE user is ready to review PerformanceCorrections they will fetch all corrections for a given Performance first.

Fields

Field Type Description Required
fieldName string

A string matching a field name from the Performance resource.

YES
value text

The new value for the field for the Performance.

NO
description text

A reason this correction was created.

NO
performance integer

The Performance id associated with this proposed correction.

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/performance-correction"
       },
       "first": {
           "href": "/performance-correction?page={page}"
       },
       "prev": {
           "href": "/performance-correction?page={page}"
       },
       "next": {
           "href": "/performance-correction?page={page}"
       },
       "last": {
           "href": "/performance-correction?page={page}"
       }
   }
   "_embedded": {
       "performance_correction": [
           {
               "_links": {
                   "self": {
                       "href": "/performance-correction[/:performance_correction_id]"
                   }
               }
              "fieldName": "A string matching a field name from the Performance resource.",
              "value": "The new value for the field for the Performance.",
              "description": "A reason this correction was created.",
              "performance": "The Performance id associated with this proposed correction."
           }
       ]
   }
}

SOURCE Entity GET /performance-correction[/:performance_correction_id]

It is rare a SOURCE user will need to fetch a single PerformanceCorrection.

Fields

Field Type Description Required
fieldName string

A string matching a field name from the Performance resource.

YES
value text

The new value for the field for the Performance.

NO
description text

A reason this correction was created.

NO
performance integer

The Performance id associated with this proposed correction.

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/performance-correction[/:performance_correction_id]"
       }
   }
   "fieldName": "A string matching a field name from the Performance resource.",
   "value": "The new value for the field for the Performance.",
   "description": "A reason this correction was created.",
   "performance": "The Performance id associated with this proposed correction."
}

SOURCE Entity DELETE /performance-correction[/:performance_correction_id]

PerformanceCorrection entries are removed when a Performance is PATCHed. This is an alternative way to remove them.

Fields

Field Type Description Required
fieldName string

A string matching a field name from the Performance resource.

YES
value text

The new value for the field for the Performance.

NO
description text

A reason this correction was created.

NO
performance integer

The Performance id associated with this proposed correction.

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 204: No Content
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

/performance-group[/:performance_group_id]

PerformanceGroup

PerformanceGroup offers a way to group performances such as when they were part of an event such as a festival.

GUEST Collection GET /performance-group

Fields

Field Type Description Required
name string

A name for the PerformanceGroup.

YES
startAt datetime

PerformanceGroup's are performances within the same event. This is the start date of that event and all Performances must fall within startAt and endAt.

NO
endAt datetime

PerformanceGroup's are performances within the same event. This is the end date of that event and all Performances must fall within startAt and endAt.

NO
city string

The city for the Event for this PerformanceGroup.

YES
state string

The state or country of the Event for this PerformanceGroup.

YES
attendance integer

An estimate of the number of people at the Event for this PerformanceGroup

NO
description text

A description of what this PerformanceGroup represents.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/performance-group"
       },
       "first": {
           "href": "/performance-group?page={page}"
       },
       "prev": {
           "href": "/performance-group?page={page}"
       },
       "next": {
           "href": "/performance-group?page={page}"
       },
       "last": {
           "href": "/performance-group?page={page}"
       }
   }
   "_embedded": {
       "performance_group": [
           {
               "_links": {
                   "self": {
                       "href": "/performance-group[/:performance_group_id]"
                   }
               }
              "name": "A name for the PerformanceGroup.",
              "startAt": "PerformanceGroup's are performances within the same event.  This is the start date of that event and all Performances must fall within startAt and endAt.",
              "endAt": "PerformanceGroup's are performances within the same event.  This is the end date of that event and all Performances must fall within startAt and endAt.",
              "city": "The city for the Event for this PerformanceGroup.",
              "state": "The state or country of the Event for this PerformanceGroup.",
              "attendance": "An estimate of the number of people at the Event for this PerformanceGroup",
              "description": "A description of what this PerformanceGroup represents."
           }
       ]
   }
}

USER Collection POST /performance-group

Fields

Field Type Description Required
name string

A name for the PerformanceGroup.

YES
startAt datetime

PerformanceGroup's are performances within the same event. This is the start date of that event and all Performances must fall within startAt and endAt.

NO
endAt datetime

PerformanceGroup's are performances within the same event. This is the end date of that event and all Performances must fall within startAt and endAt.

NO
city string

The city for the Event for this PerformanceGroup.

YES
state string

The state or country of the Event for this PerformanceGroup.

YES
attendance integer

An estimate of the number of people at the Event for this PerformanceGroup

NO
description text

A description of what this PerformanceGroup represents.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "name": "A name for the PerformanceGroup.",
   "startAt": "PerformanceGroup's are performances within the same event.  This is the start date of that event and all Performances must fall within startAt and endAt.",
   "endAt": "PerformanceGroup's are performances within the same event.  This is the end date of that event and all Performances must fall within startAt and endAt.",
   "city": "The city for the Event for this PerformanceGroup.",
   "state": "The state or country of the Event for this PerformanceGroup.",
   "attendance": "An estimate of the number of people at the Event for this PerformanceGroup",
   "description": "A description of what this PerformanceGroup represents."
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 201: Created
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/performance-group[/:performance_group_id]"
       }
   }
   "name": "A name for the PerformanceGroup.",
   "startAt": "PerformanceGroup's are performances within the same event.  This is the start date of that event and all Performances must fall within startAt and endAt.",
   "endAt": "PerformanceGroup's are performances within the same event.  This is the end date of that event and all Performances must fall within startAt and endAt.",
   "city": "The city for the Event for this PerformanceGroup.",
   "state": "The state or country of the Event for this PerformanceGroup.",
   "attendance": "An estimate of the number of people at the Event for this PerformanceGroup",
   "description": "A description of what this PerformanceGroup represents."
}

GUEST Entity GET /performance-group[/:performance_group_id]

Fields

Field Type Description Required
name string

A name for the PerformanceGroup.

YES
startAt datetime

PerformanceGroup's are performances within the same event. This is the start date of that event and all Performances must fall within startAt and endAt.

NO
endAt datetime

PerformanceGroup's are performances within the same event. This is the end date of that event and all Performances must fall within startAt and endAt.

NO
city string

The city for the Event for this PerformanceGroup.

YES
state string

The state or country of the Event for this PerformanceGroup.

YES
attendance integer

An estimate of the number of people at the Event for this PerformanceGroup

NO
description text

A description of what this PerformanceGroup represents.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/performance-group[/:performance_group_id]"
       }
   }
   "name": "A name for the PerformanceGroup.",
   "startAt": "PerformanceGroup's are performances within the same event.  This is the start date of that event and all Performances must fall within startAt and endAt.",
   "endAt": "PerformanceGroup's are performances within the same event.  This is the end date of that event and all Performances must fall within startAt and endAt.",
   "city": "The city for the Event for this PerformanceGroup.",
   "state": "The state or country of the Event for this PerformanceGroup.",
   "attendance": "An estimate of the number of people at the Event for this PerformanceGroup",
   "description": "A description of what this PerformanceGroup represents."
}

SOURCE Entity DELETE /performance-group[/:performance_group_id]

Fields

Field Type Description Required
name string

A name for the PerformanceGroup.

YES
startAt datetime

PerformanceGroup's are performances within the same event. This is the start date of that event and all Performances must fall within startAt and endAt.

NO
endAt datetime

PerformanceGroup's are performances within the same event. This is the end date of that event and all Performances must fall within startAt and endAt.

NO
city string

The city for the Event for this PerformanceGroup.

YES
state string

The state or country of the Event for this PerformanceGroup.

YES
attendance integer

An estimate of the number of people at the Event for this PerformanceGroup

NO
description text

A description of what this PerformanceGroup represents.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 204: No Content
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

SOURCE Entity PATCH /performance-group[/:performance_group_id]

Fields

Field Type Description Required
name string

A name for the PerformanceGroup.

YES
startAt datetime

PerformanceGroup's are performances within the same event. This is the start date of that event and all Performances must fall within startAt and endAt.

NO
endAt datetime

PerformanceGroup's are performances within the same event. This is the end date of that event and all Performances must fall within startAt and endAt.

NO
city string

The city for the Event for this PerformanceGroup.

YES
state string

The state or country of the Event for this PerformanceGroup.

YES
attendance integer

An estimate of the number of people at the Event for this PerformanceGroup

NO
description text

A description of what this PerformanceGroup represents.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "name": "A name for the PerformanceGroup.",
   "startAt": "PerformanceGroup's are performances within the same event.  This is the start date of that event and all Performances must fall within startAt and endAt.",
   "endAt": "PerformanceGroup's are performances within the same event.  This is the end date of that event and all Performances must fall within startAt and endAt.",
   "city": "The city for the Event for this PerformanceGroup.",
   "state": "The state or country of the Event for this PerformanceGroup.",
   "attendance": "An estimate of the number of people at the Event for this PerformanceGroup",
   "description": "A description of what this PerformanceGroup represents."
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/performance-group[/:performance_group_id]"
       }
   }
   "name": "A name for the PerformanceGroup.",
   "startAt": "PerformanceGroup's are performances within the same event.  This is the start date of that event and all Performances must fall within startAt and endAt.",
   "endAt": "PerformanceGroup's are performances within the same event.  This is the end date of that event and all Performances must fall within startAt and endAt.",
   "city": "The city for the Event for this PerformanceGroup.",
   "state": "The state or country of the Event for this PerformanceGroup.",
   "attendance": "An estimate of the number of people at the Event for this PerformanceGroup",
   "description": "A description of what this PerformanceGroup represents."
}

/performance-merge[/:performance_merge_id]

PerformanceMerge

PerformanceMerge is a queue of duplicate Performances to be merged.

SOURCE Collection GET /performance-merge

Fetch Performances which have been enqueued for merge. If the Request parameter 'artistGroup=1' is included in the request the response will be only keep artists whom are in the User's ArtistGroup.

If the Request parameter 'artistGroup=1' does not exist then all pending merges for artists which do not belong to an ArtistGroup will be returned.

Fields

Field Type Description Required
description text

A description of why these Performances should be merged.

NO
keepPerformance integer

The Performance id for the Performance which should be kept.

YES
mergePerformance integer

The Performance id for the Performance which should be merged and removed.

YES
id integer

Used in PUT operations to execute merge.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/performance-merge"
       },
       "first": {
           "href": "/performance-merge?page={page}"
       },
       "prev": {
           "href": "/performance-merge?page={page}"
       },
       "next": {
           "href": "/performance-merge?page={page}"
       },
       "last": {
           "href": "/performance-merge?page={page}"
       }
   }
   "_embedded": {
       "performance_merge": [
           {
               "_links": {
                   "self": {
                       "href": "/performance-merge[/:performance_merge_id]"
                   }
               }
              "description": "A description of why these Performances should be merged.",
              "keepPerformance": "The Performance id for the Performance which should be kept.",
              "mergePerformance": "The Performance id for the Performance which should be merged and removed.",
              "id": "Used in PUT operations to execute merge."
           }
       ]
   }
}

USER Collection POST /performance-merge

Create a new PerformanceMerge request.

Fields

Field Type Description Required
description text

A description of why these Performances should be merged.

NO
keepPerformance integer

The Performance id for the Performance which should be kept.

YES
mergePerformance integer

The Performance id for the Performance which should be merged and removed.

YES
id integer

Used in PUT operations to execute merge.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "description": "A description of why these Performances should be merged.",
   "keepPerformance": "The Performance id for the Performance which should be kept.",
   "mergePerformance": "The Performance id for the Performance which should be merged and removed."
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 201: Created
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/performance-merge[/:performance_merge_id]"
       }
   }
   "description": "A description of why these Performances should be merged.",
   "keepPerformance": "The Performance id for the Performance which should be kept.",
   "mergePerformance": "The Performance id for the Performance which should be merged and removed.",
   "id": "Used in PUT operations to execute merge."
}

SOURCE Entity GET /performance-merge[/:performance_merge_id]

Fetch a Performance which has been enqueued for merge. If the Request parameter 'artistGroup=1' is included in the request the response will be only keep artists whom are in the User's ArtistGroup.

If the Request parameter 'artistGroup=1' does not exist then PerformanceMerge entries for artists which do not belong to an ArtistGroup will be returned.

Fields

Field Type Description Required
description text

A description of why these Performances should be merged.

NO
keepPerformance integer

The Performance id for the Performance which should be kept.

YES
mergePerformance integer

The Performance id for the Performance which should be merged and removed.

YES
id integer

Used in PUT operations to execute merge.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/performance-merge[/:performance_merge_id]"
       }
   }
   "description": "A description of why these Performances should be merged.",
   "keepPerformance": "The Performance id for the Performance which should be kept.",
   "mergePerformance": "The Performance id for the Performance which should be merged and removed."
}

SOURCE Entity DELETE /performance-merge[/:performance_merge_id]

Fields

Field Type Description Required
description text

A description of why these Performances should be merged.

NO
keepPerformance integer

The Performance id for the Performance which should be kept.

YES
mergePerformance integer

The Performance id for the Performance which should be merged and removed.

YES
id integer

Used in PUT operations to execute merge.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 204: No Content
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

/performance-merge-execute/:performance_merge_id

PerformanceMergeExecute

This resource does the actual merging of two Performances.

SOURCE Entity POST /performance-merge-execute/:performance_merge_id

Execute a merge on a PerformanceMerge entity. You may swap the keep and merge Performances at the time this is called but you can only execute a PerformanceMerge for the existing Performances in keep and merge.

Fields

Field Type Description Required
keepPerformance integer

The Performance id to keep. This does not need to match keepPerformance on the PerformanceMerge entity. Flipping the keepPerformance and mergePerformance is valid.

YES
mergePerformance integer

The Performance id to merge. This does not need to match mergePerformance on the PerformanceMerge entity. Flipping the keepPerformance and mergePerformance is valid.

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/json
application/*+json
Content-Type
application/vnd.db-api.v1+json
application/json

Body

{
   "keepPerformance": "The Performance id to keep.  This does not need to match keepPerformance on the PerformanceMerge entity.  Flipping the keepPerformance and mergePerformance is valid.",
   "mergePerformance": "The Performance id to merge.  This does not need to match mergePerformance on the PerformanceMerge entity.  Flipping the keepPerformance and mergePerformance is valid."
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 201: Created
  • 404: Not Found
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/json
application/*+json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "keepPerformance": "The Performance id to keep.  This does not need to match keepPerformance on the PerformanceMerge entity.  Flipping the keepPerformance and mergePerformance is valid.",
   "mergePerformance": "The Performance id to merge.  This does not need to match mergePerformance on the PerformanceMerge entity.  Flipping the keepPerformance and mergePerformance is valid."
}

/performance-search

PerformanceSearch

Search the Performance index of Elasticsearch. Use a regular query string for the GET request.

GUEST Collection GET /performance-search?[field=value]

Search the Elasticsearch Performance index. Use a query parameter of "search" e.g. http://api.etreedb.org/performance-search?search=2018

Fields

Field Type Description Required
name string

Artsit Name

NO
performanceDate string

Date of the performance as yyyy-mm-dd

NO
year integer

Year of the performance

NO
title string

Title of the performance if not a specific performance date.

NO
venue string

The venue of the performance

NO
city string

The city the performance occurred in.

NO
state string

State or Country where the performance occurred.

NO
set1 string

First set

NO
set2 string

Second set

NO
set3 string

Third set of music

NO
description string

Description, also know as Comments, for the performance

NO
page integer

The page of results to return

NO
allSets allSets

Search set 1, 2 and 3 together

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/json
application/*+json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/json
application/*+json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "name": "Artsit Name",
   "performanceDate": "Date of the performance as yyyy-mm-dd",
   "year": "Year of the performance",
   "title": "Title of the performance if not a specific performance date.",
   "venue": "The venue of the performance",
   "city": "The city the performance occurred in.",
   "state": "State or Country where the performance occurred.",
   "set1": "First set",
   "set2": "Second set",
   "set3": "Third set of music",
   "description": "Description, also know as Comments, for the performance",
   "page": "The page of results to return"
}

/role[/:role_id]

Role

The Role resource is not actionable. It is used for formatting of responses from UserToRole RPC calls.

/source[/:source_id]

Source

Sources are recordings of Performances.

GUEST Collection GET /source

Fetch a Source.

Fields

Field Type Description Required
circulationDate string

The approximate date this source became publicly available.

NO
shnDiscCount integer

The number of CDs required to save this complete source.

YES
wavDiscCount integer

The number of CD required to burn this source to an Audio CD.

YES
description text

This field contains the full TXT file for the circulating Source. No HTML.

NO
summary text

A brief description of the Source. HTML is allowed.

YES
archiveIdentifier string

The identifier from archive.org if this source exists there.

NO
mediaSize bigint

The total size of the source including all text files in bytes with compressed .wav files.

NO
mediaSizeUncompressed bigint

The total size of the source including all text files in bytes with uncompressed .wav files.

NO
performance

The Performance id for the Performance for this Source.

YES
sourceChecksum array

An array of arrays of checksum data objects with name and description for each.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/source"
       },
       "first": {
           "href": "/source?page={page}"
       },
       "prev": {
           "href": "/source?page={page}"
       },
       "next": {
           "href": "/source?page={page}"
       },
       "last": {
           "href": "/source?page={page}"
       }
   }
   "_embedded": {
       "source": [
           {
               "_links": {
                   "self": {
                       "href": "/source[/:source_id]"
                   }
               }
              "circulationDate": "The approximate date this source became publicly available.",
              "shnDiscCount": "The number of CDs required to save this complete source.",
              "wavDiscCount": "The number of CD required to burn this source to an Audio CD.",
              "description": "This field contains the full TXT file for the circulating Source.  No HTML.",
              "summary": "A brief description of  the Source.  HTML is allowed.",
              "archiveIdentifier": "The identifier from archive.org if this source exists there.",
              "mediaSize": "The total size of the source including all text files in bytes with compressed .wav files.",
              "mediaSizeUncompressed": "The total size of the source including all text files in bytes with uncompressed .wav files.",
              "performance": "The Performance id for the Performance for this Source.",
              "sourceChecksum": "An array of checksum data objects with name and description for each."
           }
       ]
   }
}

USER SOURCE Collection POST /source

Upload a new Source including SourceChecksum data.

Fields

Field Type Description Required
circulationDate string

The approximate date this source became publicly available.

NO
shnDiscCount integer

The number of CDs required to save this complete source.

YES
wavDiscCount integer

The number of CD required to burn this source to an Audio CD.

YES
description text

This field contains the full TXT file for the circulating Source. No HTML.

NO
summary text

A brief description of the Source. HTML is allowed.

YES
archiveIdentifier string

The identifier from archive.org if this source exists there.

NO
mediaSize bigint

The total size of the source including all text files in bytes with compressed .wav files.

NO
mediaSizeUncompressed bigint

The total size of the source including all text files in bytes with uncompressed .wav files.

NO
performance

The Performance id for the Performance for this Source.

YES
sourceChecksum array

An array of arrays of checksum data objects with name and description for each.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "circulationDate": "The approximate date this source became publicly available.",
   "shnDiscCount": "The number of CDs required to save this complete source.",
   "wavDiscCount": "The number of CD required to burn this source to an Audio CD.",
   "description": "This field contains the full TXT file for the circulating Source.  No HTML.",
   "summary": "A brief description of  the Source.  HTML is allowed.",
   "archiveIdentifier": "The identifier from archive.org if this source exists there.",
   "mediaSize": "The total size of the source including all text files in bytes with compressed .wav files.",
   "mediaSizeUncompressed": "The total size of the source including all text files in bytes with uncompressed .wav files.",
   "performance": "The Performance id for the Performance for this Source.",
   "sourceChecksum": "An array of checksum data objects with name and description for each."
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 201: Created
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/source[/:source_id]"
       }
   }
   "circulationDate": "The approximate date this source became publicly available.",
   "shnDiscCount": "The number of CDs required to save this complete source.",
   "wavDiscCount": "The number of CD required to burn this source to an Audio CD.",
   "description": "This field contains the full TXT file for the circulating Source.  No HTML.",
   "summary": "A brief description of  the Source.  HTML is allowed.",
   "archiveIdentifier": "The identifier from archive.org if this source exists there.",
   "mediaSize": "The total size of the source including all text files in bytes with compressed .wav files.",
   "mediaSizeUncompressed": "The total size of the source including all text files in bytes with uncompressed .wav files.",
   "performance": "The Performance id for the Performance for this Source."
}

GUEST Entity GET /source[/:source_id]

Fields

Field Type Description Required
circulationDate string

The approximate date this source became publicly available.

NO
shnDiscCount integer

The number of CDs required to save this complete source.

YES
wavDiscCount integer

The number of CD required to burn this source to an Audio CD.

YES
description text

This field contains the full TXT file for the circulating Source. No HTML.

NO
summary text

A brief description of the Source. HTML is allowed.

YES
archiveIdentifier string

The identifier from archive.org if this source exists there.

NO
mediaSize bigint

The total size of the source including all text files in bytes with compressed .wav files.

NO
mediaSizeUncompressed bigint

The total size of the source including all text files in bytes with uncompressed .wav files.

NO
performance

The Performance id for the Performance for this Source.

YES
sourceChecksum array

An array of arrays of checksum data objects with name and description for each.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/source[/:source_id]"
       }
   }
   "circulationDate": "The approximate date this source became publicly available.",
   "shnDiscCount": "The number of CDs required to save this complete source.",
   "wavDiscCount": "The number of CD required to burn this source to an Audio CD.",
   "description": "This field contains the full TXT file for the circulating Source.  No HTML.",
   "summary": "A brief description of  the Source.  HTML is allowed.",
   "archiveIdentifier": "The identifier from archive.org if this source exists there.",
   "mediaSize": "The total size of the source including all text files in bytes with compressed .wav files.",
   "mediaSizeUncompressed": "The total size of the source including all text files in bytes with uncompressed .wav files.",
   "performance": "The Performance id for the Performance for this Source.",
   "sourceChecksum": "An array of arrays of checksum data objects with name and description for each."
}

SOURCE Entity DELETE /source[/:source_id]

Delete a source. Limited to Source Users who maintain the Source Artist.

Fields

Field Type Description Required
circulationDate string

The approximate date this source became publicly available.

NO
shnDiscCount integer

The number of CDs required to save this complete source.

YES
wavDiscCount integer

The number of CD required to burn this source to an Audio CD.

YES
description text

This field contains the full TXT file for the circulating Source. No HTML.

NO
summary text

A brief description of the Source. HTML is allowed.

YES
archiveIdentifier string

The identifier from archive.org if this source exists there.

NO
mediaSize bigint

The total size of the source including all text files in bytes with compressed .wav files.

NO
mediaSizeUncompressed bigint

The total size of the source including all text files in bytes with uncompressed .wav files.

NO
performance

The Performance id for the Performance for this Source.

YES
sourceChecksum array

An array of arrays of checksum data objects with name and description for each.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 204: No Content
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

SOURCE Entity PATCH /source[/:source_id]

Update a source. Limited to Source Users who maintain the Source Artist.

Fields

Field Type Description Required
circulationDate string

The approximate date this source became publicly available.

NO
shnDiscCount integer

The number of CDs required to save this complete source.

YES
wavDiscCount integer

The number of CD required to burn this source to an Audio CD.

YES
description text

This field contains the full TXT file for the circulating Source. No HTML.

NO
summary text

A brief description of the Source. HTML is allowed.

YES
archiveIdentifier string

The identifier from archive.org if this source exists there.

NO
mediaSize bigint

The total size of the source including all text files in bytes with compressed .wav files.

NO
mediaSizeUncompressed bigint

The total size of the source including all text files in bytes with uncompressed .wav files.

NO
performance

The Performance id for the Performance for this Source.

YES
sourceChecksum array

An array of arrays of checksum data objects with name and description for each.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "circulationDate": "The approximate date this source became publicly available.",
   "shnDiscCount": "The number of CDs required to save this complete source.",
   "wavDiscCount": "The number of CD required to burn this source to an Audio CD.",
   "description": "This field contains the full TXT file for the circulating Source.  No HTML.",
   "summary": "A brief description of  the Source.  HTML is allowed.",
   "archiveIdentifier": "The identifier from archive.org if this source exists there.",
   "mediaSize": "The total size of the source including all text files in bytes with compressed .wav files.",
   "mediaSizeUncompressed": "The total size of the source including all text files in bytes with uncompressed .wav files.",
   "performance": "The Performance id for the Performance for this Source.",
   "sourceChecksum": "An array of arrays of checksum data objects with name and description for each."
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/source[/:source_id]"
       }
   }
   "circulationDate": "The approximate date this source became publicly available.",
   "shnDiscCount": "The number of CDs required to save this complete source.",
   "wavDiscCount": "The number of CD required to burn this source to an Audio CD.",
   "description": "This field contains the full TXT file for the circulating Source.  No HTML.",
   "summary": "A brief description of  the Source.  HTML is allowed.",
   "archiveIdentifier": "The identifier from archive.org if this source exists there.",
   "mediaSize": "The total size of the source including all text files in bytes with compressed .wav files.",
   "mediaSizeUncompressed": "The total size of the source including all text files in bytes with uncompressed .wav files.",
   "performance": "The Performance id for the Performance for this Source.",
   "sourceChecksum": "An array of arrays of checksum data objects with name and description for each."
}

/source-checksum[/:source_checksum_id]

SourceChecksum

SourceChecksum stores the md5 or FLAC footprint for a Source.

GUEST Collection GET /source-checksum

Fetch a Source Checksum Collection

Fields

Field Type Description Required
name string

A short name describing this SourceChecksum such as 'd1' for Disc 1.

YES
description text

The body of the checksum. This is an MD5 list or FLAC footprint.

YES
source integer

The Source id for the Source for this SourceChecksum

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/source-checksum"
       },
       "first": {
           "href": "/source-checksum?page={page}"
       },
       "prev": {
           "href": "/source-checksum?page={page}"
       },
       "next": {
           "href": "/source-checksum?page={page}"
       },
       "last": {
           "href": "/source-checksum?page={page}"
       }
   }
   "_embedded": {
       "source_checksum": [
           {
               "_links": {
                   "self": {
                       "href": "/source-checksum[/:source_checksum_id]"
                   }
               }
              "name": "A short name describing this SourceChecksum such as 'd1' for Disc 1.",
              "description": "The body of the checksum.  This is an MD5 list or FLAC footprint.",
              "source": "The Source id for the Source for this SourceChecksum"
           }
       ]
   }
}

SOURCE Collection POST /source-checksum

Create a new Source Checksum. Only SOURCE can create a new Source Checksum after the Source is created. For a USER to create a Source Checksum include the data in the POST to Source.

Fields

Field Type Description Required
name string

A short name describing this SourceChecksum such as 'd1' for Disc 1.

YES
description text

The body of the checksum. This is an MD5 list or FLAC footprint.

YES
source integer

The Source id for the Source for this SourceChecksum

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "name": "A short name describing this SourceChecksum such as 'd1' for Disc 1.",
   "description": "The body of the checksum.  This is an MD5 list or FLAC footprint.",
   "source": "The Source id for the Source for this SourceChecksum"
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 201: Created
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/source-checksum[/:source_checksum_id]"
       }
   }
   "name": "A short name describing this SourceChecksum such as 'd1' for Disc 1.",
   "description": "The body of the checksum.  This is an MD5 list or FLAC footprint.",
   "source": "The Source id for the Source for this SourceChecksum"
}

GUEST Entity GET /source-checksum[/:source_checksum_id]

Fetch a Source Checksum

Fields

Field Type Description Required
name string

A short name describing this SourceChecksum such as 'd1' for Disc 1.

YES
description text

The body of the checksum. This is an MD5 list or FLAC footprint.

YES
source integer

The Source id for the Source for this SourceChecksum

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/source-checksum[/:source_checksum_id]"
       }
   }
   "name": "A short name describing this SourceChecksum such as 'd1' for Disc 1.",
   "description": "The body of the checksum.  This is an MD5 list or FLAC footprint.",
   "source": "The Source id for the Source for this SourceChecksum"
}

SOURCE Entity PATCH /source-checksum[/:source_checksum_id]

PATCH a SourceChecksum for an Artist in the SOURCE UserGroup.

Fields

Field Type Description Required
name string

A short name describing this SourceChecksum such as 'd1' for Disc 1.

YES
description text

The body of the checksum. This is an MD5 list or FLAC footprint.

YES
source integer

The Source id for the Source for this SourceChecksum

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "name": "A short name describing this SourceChecksum such as 'd1' for Disc 1.",
   "description": "The body of the checksum.  This is an MD5 list or FLAC footprint.",
   "source": "The Source id for the Source for this SourceChecksum"
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/source-checksum[/:source_checksum_id]"
       }
   }
   "name": "A short name describing this SourceChecksum such as 'd1' for Disc 1.",
   "description": "The body of the checksum.  This is an MD5 list or FLAC footprint.",
   "source": "The Source id for the Source for this SourceChecksum"
}

SOURCE Entity DELETE /source-checksum[/:source_checksum_id]

DELETE a SourceChecksum for an Artist in the SOURCE UserGroup

Fields

Field Type Description Required
name string

A short name describing this SourceChecksum such as 'd1' for Disc 1.

YES
description text

The body of the checksum. This is an MD5 list or FLAC footprint.

YES
source integer

The Source id for the Source for this SourceChecksum

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 204: No Content
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

/source-comment[/:source_comment_id]

SourceComment

A SourceComment is a discussion entry about a given Source.

GUEST Collection GET /source-comment

Fields

Field Type Description Required
description text

The body of the comment. HTML is not allowed.

NO
postedBy string

db.etree.org allowed anonymous Source comments. This field stores that data but is no longer used.

NO
postedByEmail string

db.etree.org allowed anonymous Source comments. This field stores that data but is no longer used.

NO
source integer

The Source id for the Source this SourceComment is for.

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/source-comment"
       },
       "first": {
           "href": "/source-comment?page={page}"
       },
       "prev": {
           "href": "/source-comment?page={page}"
       },
       "next": {
           "href": "/source-comment?page={page}"
       },
       "last": {
           "href": "/source-comment?page={page}"
       }
   }
   "_embedded": {
       "source_comment": [
           {
               "_links": {
                   "self": {
                       "href": "/source-comment[/:source_comment_id]"
                   }
               }
              "description": "The body of the comment.  HTML is not allowed.",
              "postedBy": "db.etree.org allowed GUESTymous Source comments.  This field stores that data but is no longer used.",
              "postedByEmail": "db.etree.org allowed GUESTymous Source comments.  This field stores that data but is no longer used.",
              "source": "The Source id for the Source this SourceComment is for."
           }
       ]
   }
}

USER Collection POST /source-comment

Fields

Field Type Description Required
description text

The body of the comment. HTML is not allowed.

NO
postedBy string

db.etree.org allowed anonymous Source comments. This field stores that data but is no longer used.

NO
postedByEmail string

db.etree.org allowed anonymous Source comments. This field stores that data but is no longer used.

NO
source integer

The Source id for the Source this SourceComment is for.

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "description": "The body of the comment.  HTML is not allowed.",
   "postedBy": "db.etree.org allowed GUESTymous Source comments.  This field stores that data but is no longer used.",
   "postedByEmail": "db.etree.org allowed GUESTymous Source comments.  This field stores that data but is no longer used.",
   "source": "The Source id for the Source this SourceComment is for."
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 201: Created
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/source-comment[/:source_comment_id]"
       }
   }
   "description": "The body of the comment.  HTML is not allowed.",
   "postedBy": "db.etree.org allowed GUESTymous Source comments.  This field stores that data but is no longer used.",
   "postedByEmail": "db.etree.org allowed GUESTymous Source comments.  This field stores that data but is no longer used.",
   "source": "The Source id for the Source this SourceComment is for."
}

GUEST Entity GET /source-comment[/:source_comment_id]

Fields

Field Type Description Required
description text

The body of the comment. HTML is not allowed.

NO
postedBy string

db.etree.org allowed anonymous Source comments. This field stores that data but is no longer used.

NO
postedByEmail string

db.etree.org allowed anonymous Source comments. This field stores that data but is no longer used.

NO
source integer

The Source id for the Source this SourceComment is for.

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/source-comment[/:source_comment_id]"
       }
   }
   "description": "The body of the comment.  HTML is not allowed.",
   "postedBy": "db.etree.org allowed GUESTymous Source comments.  This field stores that data but is no longer used.",
   "postedByEmail": "db.etree.org allowed GUESTymous Source comments.  This field stores that data but is no longer used.",
   "source": "The Source id for the Source this SourceComment is for."
}

SOURCE Entity DELETE /source-comment[/:source_comment_id]

Fields

Field Type Description Required
description text

The body of the comment. HTML is not allowed.

NO
postedBy string

db.etree.org allowed anonymous Source comments. This field stores that data but is no longer used.

NO
postedByEmail string

db.etree.org allowed anonymous Source comments. This field stores that data but is no longer used.

NO
source integer

The Source id for the Source this SourceComment is for.

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 204: No Content
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

/source-search

SourceSearch

Search the Source index of Elasticsearch.

GUEST Collection GET /source-search?search=

Search the Elasticsearch Source index. Use a query parameter of "search" e.g. http://api.etreedb.org/source-search?search=2018

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/json
application/*+json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/json
application/*+json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/source"
       },
       "first": {
           "href": "/source?page={page}"
       },
       "prev": {
           "href": "/source?page={page}"
       },
       "next": {
           "href": "/source?page={page}"
       },
       "last": {
           "href": "/source?page={page}"
       }
   }
   "_embedded": {
       "source": [
           {
               "_links": {
                   "self": {
                       "href": "/source[/:source_id]"
                   }
               }
              "circulationDate": "The approximate date this source became publicly available.",
              "shnDiscCount": "The number of CDs required to save this complete source.",
              "wavDiscCount": "The number of CD required to burn this source to an Audio CD.",
              "description": "This field contains the full TXT file for the circulating Source.  No HTML.",
              "summary": "A brief description of  the Source.  HTML is allowed.",
              "archiveIdentifier": "The identifier from archive.org if this source exists there.",
              "mediaSize": "The total size of the source including all text files in bytes with compressed .wav files.",
              "mediaSizeUncompressed": "The total size of the source including all text files in bytes with uncompressed .wav files.",
              "performance": "The Performance id for the Performance for this Source."
           }
       ]
   }
}

/user[/:user_id]

User

A User of api.etreedb.org

GUEST Collection GET /user

Fields

Field Type Description Required
username string

A unique username used to authenticate.

YES
password string

The User's password, encrypted.

YES
email string

A validated email address. Served in ROT-13.

NO
name string

The proper name of the User.

YES
rules text

Free-form edit of a user's rules for trading with other users. Shown at the top of their UserLists.

NO
isActiveTrading boolean

Is the User actively trading?

YES
realEmail string

Unvalidated User email address.

YES
city string

The City the User lives in.

NO
state string

The state or country the User lives in.

NO
postalCode string

Postal Code for User.

NO
description text

The User's description of themselves.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user"
       },
       "first": {
           "href": "/user?page={page}"
       },
       "prev": {
           "href": "/user?page={page}"
       },
       "next": {
           "href": "/user?page={page}"
       },
       "last": {
           "href": "/user?page={page}"
       }
   }
   "_embedded": {
       "user": [
           {
               "_links": {
                   "self": {
                       "href": "/user[/:user_id]"
                   }
               }
              "username": "A unique username used to authenticate.",
              "email": "A validated email address.  Served in ROT-13.",
              "name": "The proper name of the User.",
              "rules": "Free-form edit of a user's rules for trading with other users.  Shown at the top of their UserLists.",
              "isActiveTrading": "Is the User actively trading?",
              "realEmail": "Unvalidated User email address.",
              "city": "The City the User lives in.",
              "state": "The state or country the User lives in.",
              "postalCode": "Postal Code for User.",
              "description": "The User's description of themselves."
           }
       ]
   }
}

GUEST Collection POST /user

Fields

Field Type Description Required
username string

A unique username used to authenticate.

YES
password string

The User's password, encrypted.

YES
email string

A validated email address. Served in ROT-13.

NO
name string

The proper name of the User.

YES
rules text

Free-form edit of a user's rules for trading with other users. Shown at the top of their UserLists.

NO
isActiveTrading boolean

Is the User actively trading?

YES
realEmail string

Unvalidated User email address.

YES
city string

The City the User lives in.

NO
state string

The state or country the User lives in.

NO
postalCode string

Postal Code for User.

NO
description text

The User's description of themselves.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "username": "A unique username used to authenticate.",
   "password": "The User's password, encrypted.",
   "email": "A validated email address.  Served in ROT-13.",
   "name": "The proper name of the User.",
   "rules": "Free-form edit of a user's rules for trading with other users.  Shown at the top of their UserLists.",
   "isActiveTrading": "Is the User actively trading?",
   "realEmail": "Unvalidated User email address.",
   "city": "The City the User lives in.",
   "state": "The state or country the User lives in.",
   "postalCode": "Postal Code for User.",
   "description": "The User's description of themselves."
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 201: Created
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user[/:user_id]"
       }
   }
   "username": "A unique username used to authenticate.",
   "email": "A validated email address.  Served in ROT-13.",
   "name": "The proper name of the User.",
   "rules": "Free-form edit of a user's rules for trading with other users.  Shown at the top of their UserLists.",
   "isActiveTrading": "Is the User actively trading?",
   "realEmail": "Unvalidated User email address.",
   "city": "The City the User lives in.",
   "state": "The state or country the User lives in.",
   "postalCode": "Postal Code for User.",
   "description": "The User's description of themselves."
}

GUEST Entity GET /user[/:user_id]

Fields

Field Type Description Required
username string

A unique username used to authenticate.

YES
password string

The User's password, encrypted.

YES
email string

A validated email address. Served in ROT-13.

NO
name string

The proper name of the User.

YES
rules text

Free-form edit of a user's rules for trading with other users. Shown at the top of their UserLists.

NO
isActiveTrading boolean

Is the User actively trading?

YES
realEmail string

Unvalidated User email address.

YES
city string

The City the User lives in.

NO
state string

The state or country the User lives in.

NO
postalCode string

Postal Code for User.

NO
description text

The User's description of themselves.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user[/:user_id]"
       }
   }
   "username": "A unique username used to authenticate.",
   "email": "A validated email address.  Served in ROT-13.",
   "name": "The proper name of the User.",
   "rules": "Free-form edit of a user's rules for trading with other users.  Shown at the top of their UserLists.",
   "isActiveTrading": "Is the User actively trading?",
   "realEmail": "Unvalidated User email address.",
   "city": "The City the User lives in.",
   "state": "The state or country the User lives in.",
   "postalCode": "Postal Code for User.",
   "description": "The User's description of themselves."
}

USER Entity PATCH /user[/:user_id]

A USER may only update their on data. An ADMIN may update any User.

Fields

Field Type Description Required
username string

A unique username used to authenticate.

YES
password string

The User's password, encrypted.

YES
email string

A validated email address. Served in ROT-13.

NO
name string

The proper name of the User.

YES
rules text

Free-form edit of a user's rules for trading with other users. Shown at the top of their UserLists.

NO
isActiveTrading boolean

Is the User actively trading?

YES
realEmail string

Unvalidated User email address.

YES
city string

The City the User lives in.

NO
state string

The state or country the User lives in.

NO
postalCode string

Postal Code for User.

NO
description text

The User's description of themselves.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "username": "A unique username used to authenticate.",
   "email": "A validated email address.  Served in ROT-13.",
   "name": "The proper name of the User.",
   "rules": "Free-form edit of a user's rules for trading with other users.  Shown at the top of their UserLists.",
   "isActiveTrading": "Is the User actively trading?",
   "realEmail": "Unvalidated User email address.",
   "city": "The City the User lives in.",
   "state": "The state or country the User lives in.",
   "postalCode": "Postal Code for User.",
   "description": "The User's description of themselves."
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user[/:user_id]"
       }
   }
   "username": "A unique username used to authenticate.",
   "email": "A validated email address.  Served in ROT-13.",
   "name": "The proper name of the User.",
   "rules": "Free-form edit of a user's rules for trading with other users.  Shown at the top of their UserLists.",
   "isActiveTrading": "Is the User actively trading?",
   "realEmail": "Unvalidated User email address.",
   "city": "The City the User lives in.",
   "state": "The state or country the User lives in.",
   "postalCode": "Postal Code for User.",
   "description": "The User's description of themselves."
}

ADMIN Entity DELETE /user[/:user_id]

Fields

Field Type Description Required
username string

A unique username used to authenticate.

YES
password string

The User's password, encrypted.

YES
email string

A validated email address. Served in ROT-13.

NO
name string

The proper name of the User.

YES
rules text

Free-form edit of a user's rules for trading with other users. Shown at the top of their UserLists.

NO
isActiveTrading boolean

Is the User actively trading?

YES
realEmail string

Unvalidated User email address.

YES
city string

The City the User lives in.

NO
state string

The state or country the User lives in.

NO
postalCode string

Postal Code for User.

NO
description text

The User's description of themselves.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 204: No Content
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

/user-attended-performance[/:user_attended_performance_id]

UserAttendedPerformance

A record in this resource indicates the User was at the Performance. This is PUBLIC DATA. If a User adds a record here that information may be seen by other Users.

GUEST Collection GET /user-attended-performance

Fields

Field Type Description Required
description text

A note from the User about their experience at this Performance.

NO
performance integer

The Performance id for the Performance this UserAttendedPerformance references.

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user-attended-performance"
       },
       "first": {
           "href": "/user-attended-performance?page={page}"
       },
       "prev": {
           "href": "/user-attended-performance?page={page}"
       },
       "next": {
           "href": "/user-attended-performance?page={page}"
       },
       "last": {
           "href": "/user-attended-performance?page={page}"
       }
   }
   "_embedded": {
       "user_attended_performance": [
           {
               "_links": {
                   "self": {
                       "href": "/user-attended-performance[/:user_attended_performance_id]"
                   }
               }
              "description": "A note from the User about their experience at this Performance.",
              "performance": "The Performance id for the Performance this UserAttendedPerformance references."
           }
       ]
   }
}

USER Collection POST /user-attended-performance

Fields

Field Type Description Required
description text

A note from the User about their experience at this Performance.

NO
performance integer

The Performance id for the Performance this UserAttendedPerformance references.

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "description": "A note from the User about their experience at this Performance.",
   "performance": "The Performance id for the Performance this UserAttendedPerformance references."
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 201: Created
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user-attended-performance[/:user_attended_performance_id]"
       }
   }
   "description": "A note from the User about their experience at this Performance.",
   "performance": "The Performance id for the Performance this UserAttendedPerformance references."
}

GUEST Entity GET /user-attended-performance[/:user_attended_performance_id]

Fields

Field Type Description Required
description text

A note from the User about their experience at this Performance.

NO
performance integer

The Performance id for the Performance this UserAttendedPerformance references.

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user-attended-performance[/:user_attended_performance_id]"
       }
   }
   "description": "A note from the User about their experience at this Performance.",
   "performance": "The Performance id for the Performance this UserAttendedPerformance references."
}

USER Entity DELETE /user-attended-performance[/:user_attended_performance_id]

Fields

Field Type Description Required
description text

A note from the User about their experience at this Performance.

NO
performance integer

The Performance id for the Performance this UserAttendedPerformance references.

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 204: No Content
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

USER Entity PATCH /user-attended-performance[/:user_attended_performance_id]

Fields

Field Type Description Required
description text

A note from the User about their experience at this Performance.

NO
performance integer

The Performance id for the Performance this UserAttendedPerformance references.

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "description": "A note from the User about their experience at this Performance.",
   "performance": "The Performance id for the Performance this UserAttendedPerformance references."
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user-attended-performance[/:user_attended_performance_id]"
       }
   }
   "description": "A note from the User about their experience at this Performance.",
   "performance": "The Performance id for the Performance this UserAttendedPerformance references."
}

/user-family[/:user_family_id]

UserFamily

This resource stores relationships between Users.

USER Collection GET /user-family

Only the user who created the UserFamily may access the entity.

Fields

Field Type Description Required
description text

Description about the User referenced by this UserFamily entry.

NO
familyUser integer

The User id for a User whom the current User knows.

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user-family"
       },
       "first": {
           "href": "/user-family?page={page}"
       },
       "prev": {
           "href": "/user-family?page={page}"
       },
       "next": {
           "href": "/user-family?page={page}"
       },
       "last": {
           "href": "/user-family?page={page}"
       }
   }
   "_embedded": {
       "user_family": [
           {
               "_links": {
                   "self": {
                       "href": "/user-family[/:user_family_id]"
                   }
               }
              "description": "Description about the User referenced by this UserFamily entry.",
              "familyUser": "The User id for a User whom the current User knows."
           }
       ]
   }
}

USER Collection POST /user-family

This is private data accessible only to the user who creates the entity.

Fields

Field Type Description Required
description text

Description about the User referenced by this UserFamily entry.

NO
familyUser integer

The User id for a User whom the current User knows.

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "description": "Description about the User referenced by this UserFamily entry.",
   "familyUser": "The User id for a User whom the current User knows."
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 201: Created
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user-family[/:user_family_id]"
       }
   }
   "description": "Description about the User referenced by this UserFamily entry.",
   "familyUser": "The User id for a User whom the current User knows."
}

USER Entity GET /user-family[/:user_family_id]

Only the user who created the UserFamily may access the entity.

Fields

Field Type Description Required
description text

Description about the User referenced by this UserFamily entry.

NO
familyUser integer

The User id for a User whom the current User knows.

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user-family[/:user_family_id]"
       }
   }
   "description": "Description about the User referenced by this UserFamily entry.",
   "familyUser": "The User id for a User whom the current User knows."
}

USER Entity DELETE /user-family[/:user_family_id]

Only the user who created the UserFamily may access the entity.

Fields

Field Type Description Required
description text

Description about the User referenced by this UserFamily entry.

NO
familyUser integer

The User id for a User whom the current User knows.

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 204: No Content
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

USER Entity PATCH /user-family[/:user_family_id]

Only the user who created the UserFamily may access the entity.

Fields

Field Type Description Required
description text

Description about the User referenced by this UserFamily entry.

NO
familyUser integer

The User id for a User whom the current User knows.

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "description": "Description about the User referenced by this UserFamily entry.",
   "familyUser": "The User id for a User whom the current User knows."
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user-family[/:user_family_id]"
       }
   }
   "description": "Description about the User referenced by this UserFamily entry.",
   "familyUser": "The User id for a User whom the current User knows."
}

/user-family-extended[/:user_family_extended_id]

UserFamilyExtended

These records are like a rolodex of people you trade with who are not a member of etreedb.

USER Collection GET /user-family-extended

Only the user who created the UserFamilyExtended may access the entity.

Fields

Field Type Description Required
name string

A person's name.

NO
description text

A description about the person.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user-family-extended"
       },
       "first": {
           "href": "/user-family-extended?page={page}"
       },
       "prev": {
           "href": "/user-family-extended?page={page}"
       },
       "next": {
           "href": "/user-family-extended?page={page}"
       },
       "last": {
           "href": "/user-family-extended?page={page}"
       }
   }
   "_embedded": {
       "user_family_extended": [
           {
               "_links": {
                   "self": {
                       "href": "/user-family-extended[/:user_family_extended_id]"
                   }
               }
              "name": "A person's name.",
              "description": "A description about the person."
           }
       ]
   }
}

USER Collection POST /user-family-extended

Only the user who created the UserFamilyExtended may access the entity.

Fields

Field Type Description Required
name string

A person's name.

NO
description text

A description about the person.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "name": "A person's name.",
   "description": "A description about the person."
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 201: Created
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user-family-extended[/:user_family_extended_id]"
       }
   }
   "name": "A person's name.",
   "description": "A description about the person."
}

USER Entity GET /user-family-extended[/:user_family_extended_id]

Only the user who created the UserFamilyExtended may access the entity.

Fields

Field Type Description Required
name string

A person's name.

NO
description text

A description about the person.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user-family-extended[/:user_family_extended_id]"
       }
   }
   "name": "A person's name.",
   "description": "A description about the person."
}

USER Entity PATCH /user-family-extended[/:user_family_extended_id]

Only the user who created the UserFamilyExtended may access the entity.

Fields

Field Type Description Required
name string

A person's name.

NO
description text

A description about the person.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "name": "A person's name.",
   "description": "A description about the person."
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user-family-extended[/:user_family_extended_id]"
       }
   }
   "name": "A person's name.",
   "description": "A description about the person."
}

USER Entity DELETE /user-family-extended[/:user_family_extended_id]

Only the user who created the UserFamilyExtended may access the entity.

Fields

Field Type Description Required
name string

A person's name.

NO
description text

A description about the person.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 204: No Content
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

/user-feedback[/:user_feedback_id]

UserFeedback

A feedback system for users to comment once on other users and let those users comment back.

GUEST Collection GET /user-feedback

Fields

Field Type Description Required
comment text

A comment about a user made by another user.

NO
rating integer

The opinion of the commenting user on a scale of 1 to 5, 5 being the highest, of their interaction with the user.

NO
user integer

The User id for the User this comment is about.

YES
response text

A response from the User the feedback is about. e.g. "I don't know this guy"

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user-feedback"
       },
       "first": {
           "href": "/user-feedback?page={page}"
       },
       "prev": {
           "href": "/user-feedback?page={page}"
       },
       "next": {
           "href": "/user-feedback?page={page}"
       },
       "last": {
           "href": "/user-feedback?page={page}"
       }
   }
   "_embedded": {
       "user_feedback": [
           {
               "_links": {
                   "self": {
                       "href": "/user-feedback[/:user_feedback_id]"
                   }
               }
              "comment": "A comment about a user made by another user.",
              "rating": "The opinion of the commenting user on a scale of 1 to 5, 5 being the highest, of their interaction with the user.",
              "user": "The User id for the User this comment is about.",
              "response": "A response from the User the feedback is about.  e.g. "I don't know this guy""
           }
       ]
   }
}

USER Collection POST /user-feedback

Fields

Field Type Description Required
comment text

A comment about a user made by another user.

NO
rating integer

The opinion of the commenting user on a scale of 1 to 5, 5 being the highest, of their interaction with the user.

NO
user integer

The User id for the User this comment is about.

YES
response text

A response from the User the feedback is about. e.g. "I don't know this guy"

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "comment": "A comment about a user made by another user.",
   "rating": "The opinion of the commenting user on a scale of 1 to 5, 5 being the highest, of their interaction with the user.",
   "user": "The User id for the User this comment is about.",
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 201: Created
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user-feedback[/:user_feedback_id]"
       }
   }
   "comment": "A comment about a user made by another user.",
   "rating": "The opinion of the commenting user on a scale of 1 to 5, 5 being the highest, of their interaction with the user.",
   "user": "The User id for the User this comment is about.",
   "response": "A response from the User the feedback is about.  e.g. "I don't know this guy""
}

GUEST Entity GET /user-feedback[/:user_feedback_id]

Fields

Field Type Description Required
comment text

A comment about a user made by another user.

NO
rating integer

The opinion of the commenting user on a scale of 1 to 5, 5 being the highest, of their interaction with the user.

NO
user integer

The User id for the User this comment is about.

YES
response text

A response from the User the feedback is about. e.g. "I don't know this guy"

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user-feedback[/:user_feedback_id]"
       }
   }
   "comment": "A comment about a user made by another user.",
   "rating": "The opinion of the commenting user on a scale of 1 to 5, 5 being the highest, of their interaction with the user.",
   "user": "The User id for the User this comment is about.",
   "response": "A response from the User the feedback is about.  e.g. "I don't know this guy""
}

ADMIN Entity DELETE /user-feedback[/:user_feedback_id]

Fields

Field Type Description Required
comment text

A comment about a user made by another user.

NO
rating integer

The opinion of the commenting user on a scale of 1 to 5, 5 being the highest, of their interaction with the user.

NO
user integer

The User id for the User this comment is about.

YES
response text

A response from the User the feedback is about. e.g. "I don't know this guy"

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 204: No Content
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

USER Entity PATCH /user-feedback[/:user_feedback_id]

Fields

Field Type Description Required
comment text

A comment about a user made by another user.

NO
rating integer

The opinion of the commenting user on a scale of 1 to 5, 5 being the highest, of their interaction with the user.

NO
user integer

The User id for the User this comment is about.

YES
response text

A response from the User the feedback is about. e.g. "I don't know this guy"

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "comment": "A comment about a user made by another user.",
   "rating": "The opinion of the commenting user on a scale of 1 to 5, 5 being the highest, of their interaction with the user.",
   "user": "The User id for the User this comment is about.",
   "response": "A response from the User the feedback is about.  e.g. "I don't know this guy""
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user-feedback[/:user_feedback_id]"
       }
   }
   "comment": "A comment about a user made by another user.",
   "rating": "The opinion of the commenting user on a scale of 1 to 5, 5 being the highest, of their interaction with the user.",
   "user": "The User id for the User this comment is about.",
   "response": "A response from the User the feedback is about.  e.g. "I don't know this guy""
}

/user-list[/:user_list_id]

UserList

UserList is used to group UserPerformance entries.

Joins user, userPerformance

GUEST Collection GET /user-list

Fields

Field Type Description Required
name string

A name for this list such as "Artists A-E"

NO
slug string

A slug for the URL for accessing this list such as "artist_a-e"

NO
description text

A message displayed at the top of a User's list when viewed.

NO
isDefault boolean

Should this list be shown if none is specified?

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user-list"
       },
       "first": {
           "href": "/user-list?page={page}"
       },
       "prev": {
           "href": "/user-list?page={page}"
       },
       "next": {
           "href": "/user-list?page={page}"
       },
       "last": {
           "href": "/user-list?page={page}"
       }
   }
   "_embedded": {
       "user_list": [
           {
               "_links": {
                   "self": {
                       "href": "/user-list[/:user_list_id]"
                   }
               }
              "name": "A name for this list such as "Artists A-E"",
              "slug": "A slug for the URL for accessing this list such as "artist_a-e"",
              "description": "A message displayed at the top of a User's list when viewed.",
              "isDefault": "Should this list be shown if none is specified?"
           }
       ]
   }
}

USER Collection POST /user-list

Owner of the list.

Fields

Field Type Description Required
name string

A name for this list such as "Artists A-E"

NO
slug string

A slug for the URL for accessing this list such as "artist_a-e"

NO
description text

A message displayed at the top of a User's list when viewed.

NO
isDefault boolean

Should this list be shown if none is specified?

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "name": "A name for this list such as "Artists A-E"",
   "slug": "A slug for the URL for accessing this list such as "artist_a-e"",
   "description": "A message displayed at the top of a User's list when viewed.",
   "isDefault": "Should this list be shown if none is specified?"
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 201: Created
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user-list[/:user_list_id]"
       }
   }
   "name": "A name for this list such as "Artists A-E"",
   "slug": "A slug for the URL for accessing this list such as "artist_a-e"",
   "description": "A message displayed at the top of a User's list when viewed.",
   "isDefault": "Should this list be shown if none is specified?"
}

GUEST Entity GET /user-list[/:user_list_id]

Fields

Field Type Description Required
name string

A name for this list such as "Artists A-E"

NO
slug string

A slug for the URL for accessing this list such as "artist_a-e"

NO
description text

A message displayed at the top of a User's list when viewed.

NO
isDefault boolean

Should this list be shown if none is specified?

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user-list[/:user_list_id]"
       }
   }
   "name": "A name for this list such as "Artists A-E"",
   "slug": "A slug for the URL for accessing this list such as "artist_a-e"",
   "description": "A message displayed at the top of a User's list when viewed.",
   "isDefault": "Should this list be shown if none is specified?"
}

USER Entity PATCH /user-list[/:user_list_id]

User who owns the list

Fields

Field Type Description Required
name string

A name for this list such as "Artists A-E"

NO
slug string

A slug for the URL for accessing this list such as "artist_a-e"

NO
description text

A message displayed at the top of a User's list when viewed.

NO
isDefault boolean

Should this list be shown if none is specified?

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "name": "A name for this list such as "Artists A-E"",
   "slug": "A slug for the URL for accessing this list such as "artist_a-e"",
   "description": "A message displayed at the top of a User's list when viewed.",
   "isDefault": "Should this list be shown if none is specified?"
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user-list[/:user_list_id]"
       }
   }
   "name": "A name for this list such as "Artists A-E"",
   "slug": "A slug for the URL for accessing this list such as "artist_a-e"",
   "description": "A message displayed at the top of a User's list when viewed.",
   "isDefault": "Should this list be shown if none is specified?"
}

USER Entity DELETE /user-list[/:user_list_id]

User who owns the list

Fields

Field Type Description Required
name string

A name for this list such as "Artists A-E"

NO
slug string

A slug for the URL for accessing this list such as "artist_a-e"

NO
description text

A message displayed at the top of a User's list when viewed.

NO
isDefault boolean

Should this list be shown if none is specified?

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 204: No Content
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

/user-performance[/:user_performance_id]

UserPerformance

The UserPerformance resource stores data about a Performance the User owns.

Joins user, userList, performance, source

GUEST Collection GET /user-performance

Fields

Field Type Description Required
userSource text

The TEXT document circulated with a Source. Used when the Source is not stored in the Source resource. HTML not allowed.

NO
checksum text

The Checksum document circulated with a Source. Used when the Source is not stored in the Source resource. HTML not allowed.

NO
mediaCount integer

The number of media. Such as 3 CDs.

NO
mediaType string

The media type the mediaCount describes.

NO
hasNoiseReduction boolean

Was noise reduction (such as Dobly) used on this recording?

YES
scmsStatus string

Society for Cinema and Media Studies status

NO
showRating string

The User's opinion of the quality of the Performance by the Artist.

NO
soundRating string

The User's opinion of the quality of the recording of the Performance.

NO
microphones text

A description of the microphones used to create the recording.

NO
generation integer

Each time a recording is copied using a lossy mechanism such as a cassette tape the new recording has one more generation.

NO
description text

Use of this field is the discretion of the User.

NO
jCardComment text

Cassette tapes had a paper sleeve called a J-Card. This field is open to use by the User and is intended to document what was/is on the J-Card.

NO
technicalNote text

Use of this field is at the discretion of the User.

NO
referenceNumber string

Use of this field is at the discretion of the User.

NO
tradedFrom string

Use of this field is at the discretion of the User.

NO
tradedFromEmail string

Use of this field is at the discretion of the User.

NO
areTradesAllowed boolean

Use of this field is at the discretion of the User.

YES
status string

Use of this field is at the discretion of the User.

NO
attendance string

Use of this field is at the discretion of the User.

NO
taperName text

Use of this field is at the discretion of the User.

NO
microphoneLocation text

Paired with the microphones field this gives more information about the recording.

NO
performance integer

The Performance id of the Performance this record is for.

YES
source integer

The Source id if this Performance record is linked to a Source.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user-performance"
       },
       "first": {
           "href": "/user-performance?page={page}"
       },
       "prev": {
           "href": "/user-performance?page={page}"
       },
       "next": {
           "href": "/user-performance?page={page}"
       },
       "last": {
           "href": "/user-performance?page={page}"
       }
   }
   "_embedded": {
       "user_performance": [
           {
               "_links": {
                   "self": {
                       "href": "/user-performance[/:user_performance_id]"
                   }
               }
              "userSource": "The TEXT document circulated with a Source.  Used when the Source is not stored in the Source resource.  HTML not allowed.",
              "checksum": "The Checksum document circulated with a Source.  Used when the Source is not stored in the Source resource.  HTML not allowed.",
              "mediaCount": "The number of media.  Such as 3 CDs.",
              "mediaType": "The media type the mediaCount describes.",
              "hasNoiseReduction": "Was noise reduction (such as Dobly) used on this recording?",
              "scmsStatus": "Society for Cinema and Media Studies status",
              "showRating": "The User's opinion of the quality of the Performance by the Artist.",
              "soundRating": "The User's opinion of the quality of the recording of the Performance.",
              "microphones": "A description of the microphones used to create the recording.",
              "generation": "Each time a recording is copied using a lossy mechanism such as a cassette tape the new recording has one more generation.",
              "description": "Use of this field is the discretion of the User.",
              "jCardComment": "Cassette tapes had a paper sleeve called a J-Card.  This field is open to use by the User and is intended to document what was/is on the J-Card.",
              "technicalNote": "Use of this field is at the discretion of the User.",
              "referenceNumber": "Use of this field is at the discretion of the User.",
              "tradedFrom": "Use of this field is at the discretion of the User.",
              "tradedFromEmail": "Use of this field is at the discretion of the User.",
              "areTradesAllowed": "Use of this field is at the discretion of the User.",
              "status": "Use of this field is at the discretion of the User.",
              "attendance": "Use of this field is at the discretion of the User.",
              "taperName": "Use of this field is at the discretion of the User.",
              "microphoneLocation": "Paired with the microphones field this gives more information about the recording.",
              "performance": "The Performance id of the Performance this record is for.",
              "source": "The Source id if this Performance record is linked to a Source."
           }
       ]
   }
}

USER Collection POST /user-performance

Fields

Field Type Description Required
userSource text

The TEXT document circulated with a Source. Used when the Source is not stored in the Source resource. HTML not allowed.

NO
checksum text

The Checksum document circulated with a Source. Used when the Source is not stored in the Source resource. HTML not allowed.

NO
mediaCount integer

The number of media. Such as 3 CDs.

NO
mediaType string

The media type the mediaCount describes.

NO
hasNoiseReduction boolean

Was noise reduction (such as Dobly) used on this recording?

YES
scmsStatus string

Society for Cinema and Media Studies status

NO
showRating string

The User's opinion of the quality of the Performance by the Artist.

NO
soundRating string

The User's opinion of the quality of the recording of the Performance.

NO
microphones text

A description of the microphones used to create the recording.

NO
generation integer

Each time a recording is copied using a lossy mechanism such as a cassette tape the new recording has one more generation.

NO
description text

Use of this field is the discretion of the User.

NO
jCardComment text

Cassette tapes had a paper sleeve called a J-Card. This field is open to use by the User and is intended to document what was/is on the J-Card.

NO
technicalNote text

Use of this field is at the discretion of the User.

NO
referenceNumber string

Use of this field is at the discretion of the User.

NO
tradedFrom string

Use of this field is at the discretion of the User.

NO
tradedFromEmail string

Use of this field is at the discretion of the User.

NO
areTradesAllowed boolean

Use of this field is at the discretion of the User.

YES
status string

Use of this field is at the discretion of the User.

NO
attendance string

Use of this field is at the discretion of the User.

NO
taperName text

Use of this field is at the discretion of the User.

NO
microphoneLocation text

Paired with the microphones field this gives more information about the recording.

NO
performance integer

The Performance id of the Performance this record is for.

YES
source integer

The Source id if this Performance record is linked to a Source.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "userSource": "The TEXT document circulated with a Source.  Used when the Source is not stored in the Source resource.  HTML not allowed.",
   "checksum": "The Checksum document circulated with a Source.  Used when the Source is not stored in the Source resource.  HTML not allowed.",
   "mediaCount": "The number of media.  Such as 3 CDs.",
   "mediaType": "The media type the mediaCount describes.",
   "hasNoiseReduction": "Was noise reduction (such as Dobly) used on this recording?",
   "scmsStatus": "Society for Cinema and Media Studies status",
   "showRating": "The User's opinion of the quality of the Performance by the Artist.",
   "soundRating": "The User's opinion of the quality of the recording of the Performance.",
   "microphones": "A description of the microphones used to create the recording.",
   "generation": "Each time a recording is copied using a lossy mechanism such as a cassette tape the new recording has one more generation.",
   "description": "Use of this field is the discretion of the User.",
   "jCardComment": "Cassette tapes had a paper sleeve called a J-Card.  This field is open to use by the User and is intended to document what was/is on the J-Card.",
   "technicalNote": "Use of this field is at the discretion of the User.",
   "referenceNumber": "Use of this field is at the discretion of the User.",
   "tradedFrom": "Use of this field is at the discretion of the User.",
   "tradedFromEmail": "Use of this field is at the discretion of the User.",
   "areTradesAllowed": "Use of this field is at the discretion of the User.",
   "status": "Use of this field is at the discretion of the User.",
   "attendance": "Use of this field is at the discretion of the User.",
   "taperName": "Use of this field is at the discretion of the User.",
   "microphoneLocation": "Paired with the microphones field this gives more information about the recording.",
   "performance": "The Performance id of the Performance this record is for.",
   "source": "The Source id if this Performance record is linked to a Source."
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 201: Created
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user-performance[/:user_performance_id]"
       }
   }
   "userSource": "The TEXT document circulated with a Source.  Used when the Source is not stored in the Source resource.  HTML not allowed.",
   "checksum": "The Checksum document circulated with a Source.  Used when the Source is not stored in the Source resource.  HTML not allowed.",
   "mediaCount": "The number of media.  Such as 3 CDs.",
   "mediaType": "The media type the mediaCount describes.",
   "hasNoiseReduction": "Was noise reduction (such as Dobly) used on this recording?",
   "scmsStatus": "Society for Cinema and Media Studies status",
   "showRating": "The User's opinion of the quality of the Performance by the Artist.",
   "soundRating": "The User's opinion of the quality of the recording of the Performance.",
   "microphones": "A description of the microphones used to create the recording.",
   "generation": "Each time a recording is copied using a lossy mechanism such as a cassette tape the new recording has one more generation.",
   "description": "Use of this field is the discretion of the User.",
   "jCardComment": "Cassette tapes had a paper sleeve called a J-Card.  This field is open to use by the User and is intended to document what was/is on the J-Card.",
   "technicalNote": "Use of this field is at the discretion of the User.",
   "referenceNumber": "Use of this field is at the discretion of the User.",
   "tradedFrom": "Use of this field is at the discretion of the User.",
   "tradedFromEmail": "Use of this field is at the discretion of the User.",
   "areTradesAllowed": "Use of this field is at the discretion of the User.",
   "status": "Use of this field is at the discretion of the User.",
   "attendance": "Use of this field is at the discretion of the User.",
   "taperName": "Use of this field is at the discretion of the User.",
   "microphoneLocation": "Paired with the microphones field this gives more information about the recording.",
   "performance": "The Performance id of the Performance this record is for.",
   "source": "The Source id if this Performance record is linked to a Source."
}

GUEST Entity GET /user-performance[/:user_performance_id]

Fields

Field Type Description Required
userSource text

The TEXT document circulated with a Source. Used when the Source is not stored in the Source resource. HTML not allowed.

NO
checksum text

The Checksum document circulated with a Source. Used when the Source is not stored in the Source resource. HTML not allowed.

NO
mediaCount integer

The number of media. Such as 3 CDs.

NO
mediaType string

The media type the mediaCount describes.

NO
hasNoiseReduction boolean

Was noise reduction (such as Dobly) used on this recording?

YES
scmsStatus string

Society for Cinema and Media Studies status

NO
showRating string

The User's opinion of the quality of the Performance by the Artist.

NO
soundRating string

The User's opinion of the quality of the recording of the Performance.

NO
microphones text

A description of the microphones used to create the recording.

NO
generation integer

Each time a recording is copied using a lossy mechanism such as a cassette tape the new recording has one more generation.

NO
description text

Use of this field is the discretion of the User.

NO
jCardComment text

Cassette tapes had a paper sleeve called a J-Card. This field is open to use by the User and is intended to document what was/is on the J-Card.

NO
technicalNote text

Use of this field is at the discretion of the User.

NO
referenceNumber string

Use of this field is at the discretion of the User.

NO
tradedFrom string

Use of this field is at the discretion of the User.

NO
tradedFromEmail string

Use of this field is at the discretion of the User.

NO
areTradesAllowed boolean

Use of this field is at the discretion of the User.

YES
status string

Use of this field is at the discretion of the User.

NO
attendance string

Use of this field is at the discretion of the User.

NO
taperName text

Use of this field is at the discretion of the User.

NO
microphoneLocation text

Paired with the microphones field this gives more information about the recording.

NO
performance integer

The Performance id of the Performance this record is for.

YES
source integer

The Source id if this Performance record is linked to a Source.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user-performance[/:user_performance_id]"
       }
   }
   "userSource": "The TEXT document circulated with a Source.  Used when the Source is not stored in the Source resource.  HTML not allowed.",
   "checksum": "The Checksum document circulated with a Source.  Used when the Source is not stored in the Source resource.  HTML not allowed.",
   "mediaCount": "The number of media.  Such as 3 CDs.",
   "mediaType": "The media type the mediaCount describes.",
   "hasNoiseReduction": "Was noise reduction (such as Dobly) used on this recording?",
   "scmsStatus": "Society for Cinema and Media Studies status",
   "showRating": "The User's opinion of the quality of the Performance by the Artist.",
   "soundRating": "The User's opinion of the quality of the recording of the Performance.",
   "microphones": "A description of the microphones used to create the recording.",
   "generation": "Each time a recording is copied using a lossy mechanism such as a cassette tape the new recording has one more generation.",
   "description": "Use of this field is the discretion of the User.",
   "jCardComment": "Cassette tapes had a paper sleeve called a J-Card.  This field is open to use by the User and is intended to document what was/is on the J-Card.",
   "technicalNote": "Use of this field is at the discretion of the User.",
   "referenceNumber": "Use of this field is at the discretion of the User.",
   "tradedFrom": "Use of this field is at the discretion of the User.",
   "tradedFromEmail": "Use of this field is at the discretion of the User.",
   "areTradesAllowed": "Use of this field is at the discretion of the User.",
   "status": "Use of this field is at the discretion of the User.",
   "attendance": "Use of this field is at the discretion of the User.",
   "taperName": "Use of this field is at the discretion of the User.",
   "microphoneLocation": "Paired with the microphones field this gives more information about the recording.",
   "performance": "The Performance id of the Performance this record is for.",
   "source": "The Source id if this Performance record is linked to a Source."
}

USER Entity DELETE /user-performance[/:user_performance_id]

Fields

Field Type Description Required
userSource text

The TEXT document circulated with a Source. Used when the Source is not stored in the Source resource. HTML not allowed.

NO
checksum text

The Checksum document circulated with a Source. Used when the Source is not stored in the Source resource. HTML not allowed.

NO
mediaCount integer

The number of media. Such as 3 CDs.

NO
mediaType string

The media type the mediaCount describes.

NO
hasNoiseReduction boolean

Was noise reduction (such as Dobly) used on this recording?

YES
scmsStatus string

Society for Cinema and Media Studies status

NO
showRating string

The User's opinion of the quality of the Performance by the Artist.

NO
soundRating string

The User's opinion of the quality of the recording of the Performance.

NO
microphones text

A description of the microphones used to create the recording.

NO
generation integer

Each time a recording is copied using a lossy mechanism such as a cassette tape the new recording has one more generation.

NO
description text

Use of this field is the discretion of the User.

NO
jCardComment text

Cassette tapes had a paper sleeve called a J-Card. This field is open to use by the User and is intended to document what was/is on the J-Card.

NO
technicalNote text

Use of this field is at the discretion of the User.

NO
referenceNumber string

Use of this field is at the discretion of the User.

NO
tradedFrom string

Use of this field is at the discretion of the User.

NO
tradedFromEmail string

Use of this field is at the discretion of the User.

NO
areTradesAllowed boolean

Use of this field is at the discretion of the User.

YES
status string

Use of this field is at the discretion of the User.

NO
attendance string

Use of this field is at the discretion of the User.

NO
taperName text

Use of this field is at the discretion of the User.

NO
microphoneLocation text

Paired with the microphones field this gives more information about the recording.

NO
performance integer

The Performance id of the Performance this record is for.

YES
source integer

The Source id if this Performance record is linked to a Source.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 204: No Content
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

USER Entity PATCH /user-performance[/:user_performance_id]

Fields

Field Type Description Required
userSource text

The TEXT document circulated with a Source. Used when the Source is not stored in the Source resource. HTML not allowed.

NO
checksum text

The Checksum document circulated with a Source. Used when the Source is not stored in the Source resource. HTML not allowed.

NO
mediaCount integer

The number of media. Such as 3 CDs.

NO
mediaType string

The media type the mediaCount describes.

NO
hasNoiseReduction boolean

Was noise reduction (such as Dobly) used on this recording?

YES
scmsStatus string

Society for Cinema and Media Studies status

NO
showRating string

The User's opinion of the quality of the Performance by the Artist.

NO
soundRating string

The User's opinion of the quality of the recording of the Performance.

NO
microphones text

A description of the microphones used to create the recording.

NO
generation integer

Each time a recording is copied using a lossy mechanism such as a cassette tape the new recording has one more generation.

NO
description text

Use of this field is the discretion of the User.

NO
jCardComment text

Cassette tapes had a paper sleeve called a J-Card. This field is open to use by the User and is intended to document what was/is on the J-Card.

NO
technicalNote text

Use of this field is at the discretion of the User.

NO
referenceNumber string

Use of this field is at the discretion of the User.

NO
tradedFrom string

Use of this field is at the discretion of the User.

NO
tradedFromEmail string

Use of this field is at the discretion of the User.

NO
areTradesAllowed boolean

Use of this field is at the discretion of the User.

YES
status string

Use of this field is at the discretion of the User.

NO
attendance string

Use of this field is at the discretion of the User.

NO
taperName text

Use of this field is at the discretion of the User.

NO
microphoneLocation text

Paired with the microphones field this gives more information about the recording.

NO
performance integer

The Performance id of the Performance this record is for.

YES
source integer

The Source id if this Performance record is linked to a Source.

NO

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/hal+json
application/json
Content-Type
application/json

Body

{
   "userSource": "The TEXT document circulated with a Source.  Used when the Source is not stored in the Source resource.  HTML not allowed.",
   "checksum": "The Checksum document circulated with a Source.  Used when the Source is not stored in the Source resource.  HTML not allowed.",
   "mediaCount": "The number of media.  Such as 3 CDs.",
   "mediaType": "The media type the mediaCount describes.",
   "hasNoiseReduction": "Was noise reduction (such as Dobly) used on this recording?",
   "scmsStatus": "Society for Cinema and Media Studies status",
   "showRating": "The User's opinion of the quality of the Performance by the Artist.",
   "soundRating": "The User's opinion of the quality of the recording of the Performance.",
   "microphones": "A description of the microphones used to create the recording.",
   "generation": "Each time a recording is copied using a lossy mechanism such as a cassette tape the new recording has one more generation.",
   "description": "Use of this field is the discretion of the User.",
   "jCardComment": "Cassette tapes had a paper sleeve called a J-Card.  This field is open to use by the User and is intended to document what was/is on the J-Card.",
   "technicalNote": "Use of this field is at the discretion of the User.",
   "referenceNumber": "Use of this field is at the discretion of the User.",
   "tradedFrom": "Use of this field is at the discretion of the User.",
   "tradedFromEmail": "Use of this field is at the discretion of the User.",
   "areTradesAllowed": "Use of this field is at the discretion of the User.",
   "status": "Use of this field is at the discretion of the User.",
   "attendance": "Use of this field is at the discretion of the User.",
   "taperName": "Use of this field is at the discretion of the User.",
   "microphoneLocation": "Paired with the microphones field this gives more information about the recording.",
   "performance": "The Performance id of the Performance this record is for.",
   "source": "The Source id if this Performance record is linked to a Source."
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 200: OK
  • 404: Not Found
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/hal+json
application/json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "_links": {
       "self": {
           "href": "/user-performance[/:user_performance_id]"
       }
   }
   "userSource": "The TEXT document circulated with a Source.  Used when the Source is not stored in the Source resource.  HTML not allowed.",
   "checksum": "The Checksum document circulated with a Source.  Used when the Source is not stored in the Source resource.  HTML not allowed.",
   "mediaCount": "The number of media.  Such as 3 CDs.",
   "mediaType": "The media type the mediaCount describes.",
   "hasNoiseReduction": "Was noise reduction (such as Dobly) used on this recording?",
   "scmsStatus": "Society for Cinema and Media Studies status",
   "showRating": "The User's opinion of the quality of the Performance by the Artist.",
   "soundRating": "The User's opinion of the quality of the recording of the Performance.",
   "microphones": "A description of the microphones used to create the recording.",
   "generation": "Each time a recording is copied using a lossy mechanism such as a cassette tape the new recording has one more generation.",
   "description": "Use of this field is the discretion of the User.",
   "jCardComment": "Cassette tapes had a paper sleeve called a J-Card.  This field is open to use by the User and is intended to document what was/is on the J-Card.",
   "technicalNote": "Use of this field is at the discretion of the User.",
   "referenceNumber": "Use of this field is at the discretion of the User.",
   "tradedFrom": "Use of this field is at the discretion of the User.",
   "tradedFromEmail": "Use of this field is at the discretion of the User.",
   "areTradesAllowed": "Use of this field is at the discretion of the User.",
   "status": "Use of this field is at the discretion of the User.",
   "attendance": "Use of this field is at the discretion of the User.",
   "taperName": "Use of this field is at the discretion of the User.",
   "microphoneLocation": "Paired with the microphones field this gives more information about the recording.",
   "performance": "The Performance id of the Performance this record is for.",
   "source": "The Source id if this Performance record is linked to a Source."
}

/user-performance-to-user-list[/:user_performance_id/:user_list_id]

UserPerformanceToUserList

Assign or unassign a UserPerformance to a UserList.

USER Collection POST /user-performance-to-user-list

Fields

Field Type Description Required
userPerformance integer

A reference to the UserPerformance

YES
userList integer

A reference to the UserList

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/json
application/*+json
Content-Type
application/vnd.db-api.v1+json
application/json

Body

{
   "userPerformance": "",
   "userList": ""
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 201: Created
  • 404: Not Found
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/json
application/*+json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "userPerformance": "",
   "userList": ""
}

USER Entity DELETE /user-performance-to-user-list/:user_performance_id/:user_list_id

Fields

Field Type Description Required
userPerformance integer

A reference to the UserPerformance

YES
userList integer

A reference to the UserList

YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/json
application/*+json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 204: No Content
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/json
application/*+json
Allow Comma-separated list of all HTTP methods allowed

/user-to-artist-group[/:user_id/:artist_group_id]

UserToArtistGroup

ADMIN Collection POST /user-to-artist-group

Add an User to an Artist Group

Fields

Field Type Description Required
user YES
artistGroup YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/json
application/*+json
Content-Type
application/vnd.db-api.v1+json
application/json

Body

{
   "user": "",
   "artistGroup": ""
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 201: Created
  • 404: Not Found
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/json
application/*+json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "user": "",
   "artistGroup": ""
}

ADMIN Entity DELETE /user-to-artist-group/:user_id/:artist_group_id

Remove an User from an Artist Group

Fields

Field Type Description Required
user YES
artistGroup YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/json
application/*+json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 204: No Content
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/json
application/*+json
Allow Comma-separated list of all HTTP methods allowed

/user-to-role[/:user_id/:role_id]

UserToRole

ADMIN Collection POST /user-to-role

Fields

Field Type Description Required
user YES
role YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/json
application/*+json
Content-Type
application/vnd.db-api.v1+json
application/json

Body

{
   "user": "",
   "role": ""
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 201: Created
  • 404: Not Found
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/json
application/*+json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "user": "",
   "role": ""
}

ADMIN Entity DELETE /user-to-role/:user_id/:role_id

Fields

Field Type Description Required
user YES
role YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/json
application/*+json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 204: No Content
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/json
application/*+json
Allow Comma-separated list of all HTTP methods allowed

/user-wantlist[/:performance_id]

UserWantlist

USER Collection POST /user-wantlist

Fields

Field Type Description Required
performance YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/json
application/*+json
Content-Type
application/vnd.db-api.v1+json
application/json

Body

{
   "performance": ""
}

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 201: Created
  • 404: Not Found
  • 400: Client Error
  • 422: Unprocessable Entity

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/json
application/*+json
Allow Comma-separated list of all HTTP methods allowed

Body

{
   "performance": ""
}

USER Entity DELETE /user-wantlist/:performance_id

Fields

Field Type Description Required
performance YES

Request

Headers

Header Value
Accept
application/vnd.db-api.v1+json
application/json
application/*+json

Response

Status Codes

  • 406: Not Acceptable
  • 415: Unsupported Media Type
  • 204: No Content
  • 404: Not Found

Headers

Header Value
Content-Type
application/vnd.db-api.v1+json
application/json
application/*+json
Allow Comma-separated list of all HTTP methods allowed