This contract is currently in the Proof-of-concept stage and is still subject to change
Introduction
Our product can integrate with a variety of tools that offer additional insights into your object. By configuring new Module Plugins with the category “Insights”, MediaHaven will produce a list of reports by combining all reports across all plugins of this category.
Configuration
The module plugin can be configured with the following custom property called “Fields” which is a JSON object with as key the insight ID and as value the dotted key of the Metadata Fields to store the insight’s data in.
API
Common
For all methods the following HTTP header is provided:
x-api-key: <API key for the downstream service>
POST /analyze
Analyzes the object such that insights can be requested for this object when the analysis is completed. The method is asynchronous, meaning it does not need to wait to return until the analysis is completed.
Input
The input is a JSON body with the following properties
Property | Description |
---|---|
| The standard JSON representation of the metadata as used in the MediaHaven REST API. |
| The custom properties configured on the plugin → https://mediahaven.atlassian.net/wiki/spaces/CS/pages/4438884395/Module+Plugins#Custom-properties |
Response / Output
The HTTP response
202 Accepted
when the analysis was successfully started
Example
GET insights/
Returns the list of available insights on the object without returning the detail of each insight.
Input
The input uses the following HTTP parameters
Parameter | Description |
---|---|
| The record ID of the object in question |
<mapping> | The custom properties configured on the plugin are passed as a sequence of parameters → https://mediahaven.atlassian.net/wiki/spaces/CS/pages/4438884395/Module+Plugins#Custom-properties |
Response / Output
200 OK
with the response409 Conflict
when the analysis is still pendingThe output is a JSON array of JSON objects with the following properties
Property | Type | Description |
---|---|---|
| String | The name of the insight |
| String | The ID of the insight such that it can be requested indivudually. |
Example
GET insights/{ID}
Returns the details of a particular insight including the raw data.
Input
The insight ID is specified as a path variable.
The input uses the following HTTP parameters
Parameter | Description |
---|---|
| The record ID of the object in question |
<mapping> | The custom properties configured on the plugin are passed as a sequence of parameters → https://mediahaven.atlassian.net/wiki/spaces/CS/pages/4438884395/Module+Plugins#Custom-properties |
Response / Output
200 OK
with the response409 Conflict
when the analysis is still pendingThe output is a JSON object with the following properties
Property | Type | Description |
---|---|---|
| String | The name of the insight |
| String | The ID of the insight such that it can be requested indivudually. |
| String | The data of this particular insight |