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.
Expand | ||
---|---|---|
| ||
|
Data Objects
When ingesting Data Objects, the analysis step will be called in the context of the original representation, whereas the get insights step will be called in the context of the data object itself.
API
Common
For all methods the following HTTP header is provided:
Code Block |
---|
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 | Type | Description |
---|---|---|
| Object | The standard JSON representation of the metadata as used in the MediaHaven REST API |
| Object | The custom properties configured on the plugin |
, as described above: https://mediahaven.atlassian.net/wiki/spaces/CS/pages/ |
Response / Output
The HTTP response
202 Accepted
204 No Content
when the analysis was successfully started
Example
Expand | |||||
---|---|---|---|---|---|
| |||||
|
...
POST 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
...
JSON properties
Property | Type | Description |
---|---|---|
|
| The record ID of the object in question<mapping> |
| Boolean | Whether to include the raw data, by default false. |
| Object | The custom properties configured on the plugin are passed as a sequence of parameters → , as described above: https://mediahaven.atlassian.net/wiki/spaces/CS/pages/44388843954652335133/Module+Plugins#Custom-propertiesInsights+Connector+Contract#Configuration |
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 |
---|
Name
String
The name of the insight
Id
| The standard JSON representation of the metadata as used in the MediaHaven REST API: MediaHaven sidecar format. | The generated insights, converted into metadata as instructed by the provided configuration. |
| String | The |
full raw data of the analysis; as a base64 encoded string. |
Example
Expand | |||||
---|---|---|---|---|---|
| |||||
Input
|
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
...
recordId
...
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
...
Name
...
String
...
The name of the insight
...
Id
...
String
...
The ID of the insight such that it can be requested indivudually.
...
Data
...
String
...
The data of this particular insight
Example
Expand | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
Output
|