1. Update a Webhook

Update a Webhook

You can update an existing webhook field.

spaces/:space_id/webhook_endpoints/:id

Path Parameters

  • :space_id

    number

    Numeric id of a space

  • :id

    number

    Webhook ID

Request Body Properties

  • webhook_endpoint

    The Webhook Object

    Webhook object

    • activated

      boolean

      Activate or deactivate the current webhook.

    • description

      string

      A brief description of this webhook

    • endpoint

      string

      Webhook endpoint

    • name

      string

      Name of this webhook

    • secret

      string

      Webhook secret

    • space_id

      number

      Numeric id of a space

    • actions

      required enum[]

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

      TriggersDescription
      story.publishedtriggered when a story is published
      story.unpublishedtriggered, when a story is unpublished
      story.deletedtriggered, when a story is deleted
      story.movedtriggered when a story is moved from a folder or to a folder
      datasource.entries_updatedtriggered when a new datasource entry is saved or added.
      asset.createdtriggered when an asset is uploaded
      asset.replacedtriggered when an asset is replaced
      asset.deletedtriggered when an asset is deleted
      asset.restoredtriggered when an asset is restored
      user.addedtriggered when a new user is added to the space
      user.removedtriggered when a user is removed from the space
      user.roles_updatedtriggered when a user role is updated
      stage.changedtriggered when the workflow stage of a story changes.
      pipeline.deployedtriggered when a pipeline stage is deployed
      release.mergedtriggered when a release is merged into the currently released content
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\Client('YOUR_STORYBLOK_SPACE_ACCESS_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)