1. Update a Webhook

Update a Webhook

You can update an existing webhook field using the numeric ID.

https://mapi.storyblok.com/v1/spaces/:space_id/webhook_endpoints/:id

Path Parameters

  • :space_id

    required number

    Numeric ID of a space

  • :webhook_endpoint_id

    required number

    Webhook ID

Request Body Properties

  • webhook_endpoint

    The Webhook Object

    Webhook object

    • name

      string

      Name of this webhook

    • description

      string

      A brief description of this webhook

    • endpoint

      string

      Webhook endpoint

    • secret

      string

      Webhook secret

    • actions

      required enum[]

      Webhook triggers, at least one of the options listed below.

      TriggersDescription
      story.publishedA story is published
      story.unpublishedA story is unpublished
      story.deletedA story is deleted
      story.movedA story is moved from a folder or to a folder
      datasource.entries_updatedA new datasource entry is saved or added.
      asset.createdAn asset is uploaded
      asset.replacedAn asset is replaced
      asset.deletedAn asset is deleted
      asset.restoredAn asset is restored
      user.addedA new user is added to the space
      user.removedA user is removed from the space
      user.roles_updatedA user role is updated
      stage.changedA workflow stage of a story changed.
      pipeline.deployedA pipeline stage is deployed
      release.mergedA release is merged into the currently released content
    • activated

      boolean

      Activate or deactivate the current webhook. Default: true when creating a webhook

Response Properties

  • webhook_endpoint

    The Webhook Object

    Webhook object

    • id

      number

      The numeric ID of the webhook

    • name

      string

      Name of this webhook

    • description

      string

      A brief description of this webhook

    • endpoint

      string

      Webhook endpoint

    • space_id

      number

      Numeric ID of a space

    • secret

      string

      Webhook secret

    • actions

      enum[]

      Webhook triggers, at least one of the options listed below.

      TriggersDescription
      story.publishedA story is published
      story.unpublishedA story is unpublished
      story.deletedA story is deleted
      story.movedA story is moved from a folder or to a folder
      datasource.entries_updatedA new datasource entry is saved or added.
      asset.createdAn asset is uploaded
      asset.replacedAn asset is replaced
      asset.deletedAn asset is deleted
      asset.restoredAn asset is restored
      user.addedA new user is added to the space
      user.removedA user is removed from the space
      user.roles_updatedA user role is updated
      stage.changedA workflow stage of a story changed.
      pipeline.deployedA pipeline stage is deployed
      release.mergedA release is merged into the currently released content
    • activated

      boolean

      Activate or deactivate the current webhook. Default: true when creating a webhook

    • deleted_at

      string

      Deleted date (Format: YYYY-mm-dd HH:MM)

    • created_at

      string

      Creation date (Format: yyyy-MM-dd'T'HH:mm:ssZ)

    • updated_at

      string

      Latest update date (Format: yyyy-MM-dd'T'HH:mm:ssZ)

Request
curl "https://mapi.storyblok.com/v1/spaces/656/webhook_endpoints/4570" \ 
  -X PUT \
  -H "Authorization: YOUR_OAUTH_TOKEN" \
  -H "Content-Type: application/json" \
  -d "{\"webhook_endpoint\": {\"name\": \"Rebuild Website\",\"endpoint\": \"https://new-api-endpoint.com\",\"secret\": \"HelloSecret\",\"actions\": [\"story.published\",\"story.unpublished\"],\"activated\": true}}"
Request
// Using the Universal JavaScript Client:
// https://github.com/storyblok/storyblok-js-client
Storyblok.put('/spaces/656/webhook_endpoints/4570', {
    "webhook_endpoint": {
        "name": "Rebuild Website",
        "endpoint": "https://new-api-endpoint.com",
        "secret": "HelloSecret",
        "actions": [
            "story.published",
"story.unpublished"
        ],
        "activated": true
    }
})
  .then(response => {
    console.log(response)
  }).catch(error => { 
    console.log(error)
  })
Request
$client = new \Storyblok\ManagementClient('YOUR_OAUTH_TOKEN');

$payload = [
    "webhook_endpoint" =>  [
        "name" =>  "Rebuild Website",
        "endpoint" =>  "https => //new-api-endpoint.com",
        "secret" =>  "HelloSecret",
        "actions" =>  [
            "story.published",
"story.unpublished"
        ],
        "activated" =>  true
    ]
];

$client->put('/spaces/656/webhook_endpoints/4570', $payload)->getBody();
Request
require 'storyblok'
client = Storyblok::Client.new(oauth_token: 'YOUR_OAUTH_TOKEN')

payload = {
    "webhook_endpoint" =>  {
        "name" =>  "Rebuild Website",
        "endpoint" =>  "https => //new-api-endpoint.com",
        "secret" =>  "HelloSecret",
        "actions" =>  [
            "story.published",
"story.unpublished"
        ],
        "activated" =>  true
    }
}

client.put('/spaces/656/webhook_endpoints/4570', payload)
Request
HttpResponse<String> response = Unirest.put("https://mapi.storyblok.com/v1/spaces/656/webhook_endpoints/4570")
  .header("Content-Type", "application/json")
  .header("Authorization", "YOUR_OAUTH_TOKEN")
  .body("{\"webhook_endpoint\": {\"name\": \"Rebuild Website\",\"endpoint\": \"https://new-api-endpoint.com\",\"secret\": \"HelloSecret\",\"actions\": [\"story.published\",\"story.unpublished\"],\"activated\": true}}")
  .asString();
Request
var client = new RestClient("https://mapi.storyblok.com/v1/spaces/656/webhook_endpoints/4570");
var request = new RestRequest(Method.PUT);

request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "YOUR_OAUTH_TOKEN");
request.AddParameter("application/json", "{\"webhook_endpoint\": {\"name\": \"Rebuild Website\",\"endpoint\": \"https://new-api-endpoint.com\",\"secret\": \"HelloSecret\",\"actions\": [\"story.published\",\"story.unpublished\"],\"activated\": true}}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Request
import Foundation

let headers = [
  "Content-Type": "application/json",
  "Authorization": "YOUR_OAUTH_TOKEN"
]

let postData = NSData(data: "{\"webhook_endpoint\": {\"name\": \"Rebuild Website\",\"endpoint\": \"https://new-api-endpoint.com\",\"secret\": \"HelloSecret\",\"actions\": [\"story.published\",\"story.unpublished\"],\"activated\": true}}".data(using: String.Encoding.utf8)!)

let request = NSMutableURLRequest(url: NSURL(string: "https://mapi.storyblok.com/v1/spaces/656/webhook_endpoints/4570")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0)
request.method = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
Request
import requests

url = "https://mapi.storyblok.com/v1/spaces/656/webhook_endpoints/4570"

querystring = {}

payload = "{\"webhook_endpoint\": {\"name\": \"Rebuild Website\",\"endpoint\": \"https://new-api-endpoint.com\",\"secret\": \"HelloSecret\",\"actions\": [\"story.published\",\"story.unpublished\"],\"activated\": true}}"
headers = {
  'Content-Type': "application/json",
  'Authorization': "YOUR_OAUTH_TOKEN"
}

response = requests.request("PUT", url, data=payload, headers=headers, params=querystring)

print(response.text)