Skip to main content
Browse Documentation
HTTP - Management

Update a webhook subscription

Created by c.neale, last modified by zengenti on 09 Apr 2021

A webhook subscription can be updated by PUT'ing an Event Subscription Resource to the webhook subscriptions resource collection.

PUT/api/management/projects/{projectId}/events/webhooks/subscriptions/{subscriptionId}

Parameters

NameParameter typeTypeFormatDescriptionExampleRequired
projectIdpathstringThe project identifier found in the project overview screen of the management consolemovieDbtrue
subscriptionIdpathstringuuidThe unique identifier of the subscriptiontrue

Example

Update a webhook subscription

PUT: /api/management/projects/movies/events/webhooks/subscriptions/3a7ce8e3-9c9f-4242-be20-35edb29c4a07

{
    "name": {
        "en-GB": "name"
    },
    "description": {
        "en-GB": "some description"
    },
    // Urls can be templated
    "url": "https://external.mywebsite.com/handlewebhooks/{/resource/sys.id}",
    "enabled": true,
    "topics": [
        {
            "resourceType": "entry",
            "event": ["updated", "created"],
            "language": ["fr-fr"],
            "contentTypeId": ["blog", "news"],
            "owner": "t.durden"
        },
        {
            "resourceType": "entry",
            "event": ["published"],
            "contentTypeId": ["news"],
            "owner": "t.durden"
        },
        {
            "resourceType": "contentType",
            "event": ["created"]
        },
        {
            "resourceType": "entry",
            "event": ["workflowEventRaised"],
            "contentTypeId": ["blog"],
            "owner": "t.durden",
            "workflowEvent" : ["contensisentrybasic.draft.submit", "contensisentryapproval.awaitingApproval.approve"]
        },
        {
            "resourceType": "entry",
            "event": ["workflowEventRaised"],
            "contentTypeId": ["news"],
            "owner": "t.durden",
            "workflowEvent" : ["contensisentryapproval.awaitingApproval.declined"]
        },
        {
            "resourceType": "entry",
            "event": ["workflowStateChanged"],
            "contentTypeId": ["blog"],
            "owner": "t.durden",
            "workflowState" : ["contensisentryapproval.awaitingApproval"]
        }
    ],
    "headers": {
        "target": {
            "value": "internal"
        },
 
 
        // Headers can be templated
        "department": {
            "value": "{/resource/department}"
        },
 
        // Headers can be specified as secret, which means that the value can be set but won't be returned
 
        // Set
        "secretHeaderSet": {
            "secret": true,
            "value": "cs7vdsdvj~8"
        },
 
        // Get
        "secretHeaderGet": {
            "secret": true
        }
 
        // NOTE: A header will not be returned if it has no value
    },
    "templates": {
 
        // For entry events return a custom structure with specific pieces of data
        "entry": {
            "event": "{/event/name}",
            "user": "{/user/firstName} {/user/lastName}",
            "id": "{/resource/sys/id}",
            "title": "{/resource/entryTitle}",
            "description": "{/resource/entryDescription}",
            "department": "{/resource/department}"
        },
 
 
        // A news specific template
        "entry.news": {
            "event": "{/event/name}",
            "id": "{/resource/sys/id}",
            "title": "{/resource/entryTitle}",
            "headline": "{/resource/headline}"
        },
 
        // For content type events return the entire content type resource (root)
        "contentType": "{/resource/}"
 
        // For all other events if a template for a resource is not supplied then return the default webhook request structure
    }
}

Responses

HTTP status codeReasonModel
200SuccessWebhook Subscription
400An invalid payload was sent in the requestError
404Subscription not foundError
500Internal server errorError