The Media Services API (CTMS) is a family of common REST APIs, i.e. following common conventions, for many different backend systems. Use it to easily access Interplay Production, Media Central | Asset Management or iNEWS. Additionally you can create an API for your own asset management system that conforms to this API standard
The CTMS combines Upstream and bus services to expose the API to the Client as a REST API. While this is the most common use case, at the same time clients on the bus can also use the CTMS to communicate with asset management backends.
A typical use case would be:
- native clients that display metadata and assets from asset management systems
- ingest services create and modify metadata on an asset management backend
Clients must authenticate against the platform before calling CTMS methods. For details, see Platform Authentication.
The CTMS registry service collects the HAL resources provided by all the different CTMS services on the platform.
- A client can use the CTMS registry to navigate through the APIs of the entire platform. See CTMS Registry as client for details.
- A service must implement a specific bus method and return a HAL resource in a proper format to be registered in the CTMS registry. See CTMS Registry as service for details.
CTMS Datamodel Aggregator
The CTMS Datamodel Aggregator collects the system datamodels provided by all the different CTMS services on the platform. A client can use the CTMS Datamodel Aggregator to get a consolidated datamodel.
The CTMS API defines a large set of functionality. Not all systems on the platform must and can implement all of it. The supported functionality is defined by the existence of links to that functionality. For example, a system that doesn't know about a folder structure will simply not have a loc:locations link. On the other hand, some clients depend on certain functionality. To handle that, the documentation defines a number of profiles. Each profile defines which part of the CTMS API are required by a certain app or client.
For a list of defined profiles, see Profiles.