The Upright Music API is organized around REST. Our API has predictable resource-oriented URLs, returns XML-encoded responses, and uses standard HTTP response codes, authentication and verbs.
You are required to authenticate on every request. The authentication scheme is Basic
authentication. This means that, for every request, you must provide an Authorization
header which contains the word Basic followed by a space and a base64-encoded string
holding the username and password separated by colon.
For example, to authenticate with the username demo and password 1234
you would send Authorization: Basic ZGVtbzoxMjM0
. If you use a REST API client like Postman
or Insomnia, this will most likely be taken care of for you.
There's no better way to kick the tires than through cURL:
curl -v -H "Authorization: Basic ZGVtbzoxMjM0" https://api.upright-music.com/api/tracks?trackId=4e9f2ad5-d15d-4c97-b0c0-267ed2b79141
The base path for all requests to this api is /api/
.
To get started with the API, have a look below to view available REST resources you may interact with.
The Upright Music API use conventional HTTP response codes to indicate success or failure of an API
request. In general : Codes in the 2xx
range indicate success. Codes in the 4xx
range indicate an error that failed given the information provided (e.g., a required parameter was omitted
and validation failed). Codes in the 5xx
range indicate an error with the Upright Music API.
These should be rare.
Some 4xx
errors include an error description that briefly explains the error reported.
This API uses the ISO8601 standard for formatting date and time. Time zone and miliseconds are always
omitted. The exact format for date and time is this yyyy-MM-dd'T'HH:mm:ss
.
We'd really like to hear from you. Get in touch with us on technical@upright-music.com.
The resources use a data model that is supported by a set of client-side libraries that are made available on the files and libraries page.
There is a WADL document available that describes the resources API.
You may also enjoy the interactive interface provided for this API by Swagger.
name | path | methods | description |
---|---|---|---|
Core |
|
|
type | description |
---|---|
MTAgreement | An MTAgreement represents a contract for a MTTrack
between (1) a MTOriginalPublisher , (2) a
MTSubPublisher and (3) a MTSociety . The first
entity is non-society specific and may be found here on the agreement itself.
However, an agreement may exist in multiple societies and society specific
data for an agreement such as MTSubPublisher and
MTSociety may be found for the applicable society in the
MTAgreementSocietyRelationships collection.
This means that to retrieve all three entities which takes part in any given
agreement, one must first retrieve the first entity from this agreement
itself. Next, from the MTAgreementSocietyRelationships
collection one must retrieve the MTAgreementSocietyRelationship
which represents the relevant MTSociety and finally retrieve the
last entity which is the MTSubPublisher .
|
MTAgreementType | A MTAgreementType represents the type of an
MTAgreement .
|
MTAgreementSocietyRelationship | A MTAgreementSocietyRelationship represents a relationship
between a MTAgreement and a MTSociety .
Specifically, this entity holds the MTSociety and the
MTSubPublisher which always will be society specific for any
given agreement along with any other society specific data for any given
MTAgreement .
|
MTAgreementSocietyRelationshipStatus | A MTAgreementSocietyRelationshipStatus represents the status
for a given MTAgreementSocietyRelationship .
|
MTAgreementSocietyRelationshipStatusSubStatus | A MTAgreementSocietyRelationshipStatusSubStatus represents
the substatus for a given MTAgreementSocietyRelationship .
|
MTAlbum | A MTAlbum represents a collection of MTTrack .
|
MTAlbumStatus | An MTAlbumStatus represents the status for an album.
|
MTAlbumHierarchyNodeRelationship | A MTAlbumHierarchyNodeRelationship represents a relationship
between an MTAlbum and an MTHierarchyNode . It
thus represents a hierarchy node which an album is associated with.
|
MTAlbumSearchResult | |
MTAlbumSearchResultsCount | |
MTAlbumSummary | |
MTApplicableSearchFilter | An MTApplicableSearchFilter represents a search filter which can
be applied to a new subsequent search to further narrow a search.
|
MTApplicableSearchFilterGroup | An MTApplicableSearchFilterGroup represents a group of search
filters which can be applied to a new subsequent search to further narrow a
search.
|
MTAudioFile | A MTAudioFile represents audio data of a given format.
|
MTAudioFileQuality | a MTAudioFileQuality represents the file quality for a given
MTAudioFile.
|
MTAudioFileType | a MTAudioFileType represents the file type for a given
MTAudioFile.
|
MTBroadcaster | A MTBroadcaster represents a broadcaster.
|
MTBroadcasterTerritoryRelationship | A MTBroadcasterTerritoryRelationship represents a relationship
between a MTBroadcaster and a MTTerritory .
|
MTCompany | A MTCompany represents a company.
|
MTGenre | A MTGenre represents a genre.
|
MTGenreSynonym | A MTGenre represents a genre.
|
MTHierarchyNode | A MTHierarchyNode represents a hierarchy node (folder).
|
MTHierarchyNodeSearchResult | |
MTHierarchyNodeSearchResultsCount | |
MTHierarchyNodeSummary | |
MTKeyword | A MTKeyword represents a keyword.
|
MTKeywordSynonym | A MTKeyword represents a keyword.
|
MTLibrary | A MTLibrary represents a library. A library may be associated
with one or more albums.
|
MTLibraryStatus | A MTLibraryStatus represents the type of a
MTLibrary .
|
MTLibraryAddress | A MTLibraryAddress represents an address for a library. A
library address may be associated with a single library.
|
MTLibraryAddressType | A MTLibraryAddressType represents the type of a
MTLibraryAddress .
|
MTLibraryBundle | A MTLibraryBundle represents a library bundle. A library bundle
may be associated with one or more libraries.
|
MTLibraryBundleLibraryRelationship | A MTLibraryBundleLibraryRelationship represents a relationship
between a MTLibraryBundle and a MTLibrary .
|
MTLibraryContract | A MTLibraryContracts represents a contract with a library. A
library contract may be associated with a single library.
|
MTLibraryOwner | A MTLibraryOwner represents a library owner. A library owner
may be associated with one or more libraries.
|
MTLibraryTerritoryRelationship | A MTLibraryTerritoryRelationship represents a relationship
between a MTLibrary and a MTTerritory .
|
MTLineup | |
MTLineupStatus | |
MTLineupFolder | A MTLineupFolder represents a lineup folder.
|
MTLineupFolderStatus | A MTLineupFolderStatus represents the status of a
MTLineupFolder .
|
MTLineupReference | A MTLineupFolder represents a lineup reference.
|
MTLineupReferenceType | A MTLineupReferenceType represents the type of a
MTLineupReference .
|
MTLineupTimeEntry | A MTLineupTimeEntry represents a lineup time entry.
|
MTMediaType | A MTSociety represents a society, or performing rights
organisation (PRO). Throughout this API, this entity will be referred to as a
society.
|
MTMediaTypeBroadcasterRelationship | A MTBroadcasterTerritoryRelationship represents a relationship
between a MTBroadcaster and a MTTerritory .
|
MTOriginalPublisher | A MTOriginalPublisher represents an original publisher.
|
MTOriginalPublisherLibraryRelationship | A MTOriginalPublisherLibraryRelationship represents a
relationship between a library and an original publisher.
|
MTProduction | A MTProduction represents a production.
|
MTProductionType | A MTProductionType represents a production type.
|
MTProductionTypeMediaTypeRelationship | A MTBroadcasterTerritoryRelationship represents a relationship
between a MTBroadcaster and a MTTerritory .
|
MTReport | A MTSociety represents a society, or performing rights
organisation (PRO). Throughout this API, this entity will be referred to as a
society.
|
MTReportDetail | Represents a report detail. |
MTReportGroup | A MTSociety represents a society, or performing rights
organisation (PRO). Throughout this API, this entity will be referred to as a
society.
|
MTReportTrack | A MTReportTrack represents a report track.
|
MTRole | A MTRole represents a (authorization) role.
|
MTRolePrivilege | A MTRolePrivilege represents a (authorization) role privilege.
|
MTShare | a MTShare represents a Stakeholder which has
an interest in a track.
|
MTShareRole | A MTShareRole represents the role of a
MTShare .
|
MTSociety | A MTSociety represents a society, or performing rights
organisation (PRO). Throughout this API, this entity will be referred to as a
society.
|
MTStakeholder | An MTStakeholder represents a stakeholder which can take part in
one or more MTShare .
|
MTStakeholderType | An type which describes any given MTStakeholder .
|
MTStakeholderSocietyRelationship | A MTStakeholderSocietyRelationship represents a relationship
between a MTStakeholder and a MTSociety .
|
MTSubPublisher | A MTSubPublisher represents a sub publisher.
|
MTTaggingTaskCategory | A MTTaggingTaskCategory represents a tagging task category
|
MTTaggingTaskStatus | A MTTaggingTaskCategory represents a tagging task status.
|
MTTaggingTaskType | A MTTaggingTaskCategory represents a tagging task type
|
MTTerritory | a MTTerritory represents a territory.
|
MTTrack | An MTTrack represents a musical work.
|
MTTrackStatus | A MTTrackStatus represents the status of a
MTTrack .
|
MTTrackVersionType | A MTTrackVersionType represents the version type of a
MTTrack .
|
MTTrackAgreementRelationship | A MTTrackAgreementRelationship represents a relationship
between a MTTrack and a MTAgreement . It
thus represents an agreement which a track is associated with.
|
MTTrackGenreRelationship | A MTTrackGenreRelationship represents a relationship
between a MTTrack and a MTGenre . It
thus represents a genre which a track is associated with.
|
MTTrackHierarchyNodeRelationship | A MTTrackHierarchyNodeRelationship represents a relationship
between a MTTrack and a MTHierarchyNode . It
thus represents a hierarchy node which a track is associated with.
|
MTTrackKeywordRelationship | A MTTrackKeywordRelationship represents a relationship
between a MTTrack and a MTKeyword . It
thus represents a keyword which a track is associated with.
|
MTTrackLineupFolderRelationship | |
MTTrackLineupFolderRelationshipStatus | |
MTTrackSearchResult | |
MTTrackSearchResultsCount | |
MTUndistributionRule | An MTUndistributionRule represents a rule which may take a
single track or multiple tracks related to other entities out of
distribution.
|
MTUndistributionRuleEntityType | A MTUndistributionRuleEntityType represents the entity type
of the entity which the rule controls.
|
MTUser | |
MTUserPrivilege | |
MTUserRole | |
MTUserSetting | |
MTWaveForm | A MTWaveForm represents a waveform for a track
|
MTWaveFormType | an MTWaveForm represents a waveform for a
MTTrack .
|
MTWaveFormProfile | A MTWaveFormProfile represents a waveform profile.
|
MTAccountFavourite | A MTAccountFavourite represents a favourite track.
|
MTAccountFolder | A MTAccountFolder represents a project folder on an account.
|
MTAccountFolderPermission | A MTAccountFolderPermission represents a permission for a project folder on an account.
|
MTTrackAccountFolderRelationship | A MTTrackAccountFolderRelationship represents a relationship
between a track and an account folder.
|
MTOnlineUserActivityStatistics | |
MTOnlineUserActivity | |
MTOnlineUserActivityEntity | |
MTOnlineUserActivityStatisticsDateRange | |
MTOnlineUserActivityStatisticsEntityType | |
MTOnlineUserActivityStatisticsGranularity | |
MTStakeholderStatistics | |
MTTimelineStatistics | |
MTTimelineStatisticsDateRange | |
MTTimelineStatisticsEntityType | |
MTTimelineStatisticsGranularity | |
MTTimelineStatisticsPeriod | |
MTTimelineStatisticsPeriodEntity | |
MTUsage | |
MTEntityType | |
MTUsageType | |
MTProperties | |
MTMapEntry | |
MTLongRunningTask | |
MTPreparedDownload | |
MTPreparedDownloadPart | |
source |