Solution Overview for Business Users / Version 2506.0
Table Of ContentsYou register a new webhook using the call POST /<environment>.<tenant id>/config
The configuration of the webhook endpoint is sent as JSON body in the request, for example:
{
"description": "Customer ACME, sandbox first",
"namespace": "PUBLIC",
"subscriptionTypes": [
"CONTENT",
"NOTIFICATION",
"WORKFLOW"
]
"enabled": true,
"endpoint": {
"url": "https://acme.com/firstsandbox/eventHubHook",
"method": "POST",
"authenticationMethod": {
"authenticationType": "BASIC_AUTH",
"username": "evenhub-first-sandbox-user",
"password": "passwordForEventHubHook"
},
"headerParameters": {
"Authorization": "Bearer 5bbryflnm897q38j6a9ug9p5rfehf5mcbn7"
}
}
}Provide a description for the configured webhook.
The namespace must be PUBLIC.
The subscriptionTypes are one or more from the three different event types the webhook can consume:
CONTENT
NOTIFICATION
WORKFLOW
For the live environment only the CONTENT event type is available.
enabled must be true to activate this webhook. Later you can set it to false to deactivate the webhook without deleting the webhook.
The endpoint configures the actual communication from the event hub service to the webhook:
url is the URL of the webhook endpoint. Only https URLs are allowed.
The request method must be POST or PUT.
authenticationMethod configures the authentication method used by the event hub service when sending the events to the webhook URL. Currently, only basic authentication is supported. To that end, set authenticationType to BASIC_AUTH and username and password. Contact CoreMedia for other authentication schemes.
Alternatively you can use a bearer authentication setting a header in headerParameters, which are the list of header parameters which are sent to the webhook URL along with the events. The example below shows an example of Authorization header parameter.
{
"description": "Customer ACME, sandbox first",
"namespace": "PUBLIC",
"subscriptionTypes": [
"CONTENT",
"NOTIFICATION",
"WORKFLOW"
]
"enabled": true,
"endpoint": {
"url": "https://acme.com/firstsandbox/eventHubHook",
"method": "POST",
"headerParameters": {
"Authorization": "Bearer 5bbryflnm897q38j6a9ug9p5rfehf5mcbn7"
}
}
}If successful, the response body looks like this:
{
"items": [
{
"id": "a324392a-8b69-4e1e-a72b-22a02d1291f8",
"tenantId": "<tenant id>",
"sourceId": "preview",
"description": "Customer ACME, sandbox first",
"namespace": "PUBLIC",
"subscriptionTypes": [
"CONTENT",
"NOTIFICATION",
"WORKFLOW"
],
"enabled": true,
"endpoint": {
"endpointType": "WEBHOOK",
"url": "https://acme.com/firstsandbox/eventHubHook",
"method": "POST",
"authenticationMethod": {
"authenticationType": "BASIC_AUTH",
"username": "xxxxxxxx",
"password": "xxxxxxxx"
}
}
}
]
}Sensitive data like password, user and headers are hidden in the response.
You can configure multiple subscriptions for the same event type, but there are some restrictions as shown below.
Return Code
A successful creation of the webhook subscription returns 201 (Created). You will get 400 (Bad request) if the configuration is invalid, for example, an invalid webhook URL. In some cases, the subscription service will decline the subscription and return 409 (Conflict):
Duplicate endpoint: You are trying to subscribe the same webhook endpoint which has been already subscribed to the same event type.
Maximum number of subscriptions: For a given pair of environment and tenant there is a limit of subscriptions, which is currently 10.
Maximum number of subscriptions for an event type: For a given triple of environment, tenant and event type there is a limit of subscriptions, which is currently 4.
In case of an unsuccessful request, the response body contains JSON with an error message. For example,
{
"statusCode": 400,
"messages": [
"endpoint.url: must be a valid URL"
]
}See Section 12.2.6, “Table of Error Codes and Messages” for the comprehensive list of all error codes and messages.


