Webhooks
A description on Zesty Webhooks and how to use them in production.
Open Perpetual Beta: Webhooks are available to all instances. We plan on expanding the payload of the webhook to include the data an meta data of affected resource.

Introduction

Webhooks allow for actions performed within the Zesty.io platform to trigger external actions via RESTful HTTP API calls. An example of such a use case would be to send out email or text message alerts to customers when a new blog article being published.

What Resources Listen for Webhooks

Instances API

  • Content Models
  • Content Model Items
  • Content Model Fields
  • Views
  • Stylesheets
  • Scripts
  • Redirects
  • Languages
  • Instance Setting

Accounts API

  • Role
  • Instance Roles
  • Instance Domains
  • Invites
Webhook for Publish Actions do not trigger for any publish event greater than 30 days out.
post
https://accounts.api.zesty.io
/v1/webhooks
Create Webhook
get
https://accounts.api.zesty.io
/v1/instances/:instance_zuid/webhooks
Retrieve Webhooks by Instance ZUID
get
https://accounts.api.zesty.io
/v1/webhooks/:webhook_zuid
Retrieve Webhook by ZUID
delete
https://accounts.api.zesty.io
/v1/webhooks/:webhook_zuid
Webhook Deletion

Webhook Conditions

Webhooks are executed by calling API endpoints. In order to create webhooks that will be triggered and executed by API calls, create webhooks with the following parameters. When an action occurs, such as content item creation, a search for the corresponding webhook will occur.

Example:

An item 7-ABCD-1234 corresponding to content model 6-ABCD-1234 has been updated in instance 8-ABCD-1234. Webhooks will be triggered based on the following action conditions.
  • Update on an item with ZUID 7-ABCD-1234 on an instance with ZUID 8-ABCD-1234
  • Update on any item belonging to content model 6-ABCD-1234 in instance 8-ABCD-1234
  • Update on any item in instance 8-ABCD-1234

Instances API Webhook

Create, Update, Delete and Publish Items

Condition
Scoped Resource
Parent Resource
Resource
Action
Request URL
Creating a new item
INSTANCE_ZUID
​
items
CREATE
POST /content/model/MODEL_ZUID/items
Creating a new item for a given content model
INSTANCE_ZUID
MODEL_ZUID
items
CREATE
POST /content/model/MODEL_ZUID/items
Updating a specific item
INSTANCE_ZUID
​
ITEM_ZUID
UPDATE
PUT /content/model/MODEL_ZUID/items/ITEM_ZUID
Updating any item for a given content model
INSTANCE_ZUID
MODEL_ZUID
items
UPDATE
PUT /content/model/MODEL_ZUID/items/ITEM_ZUID
Updating any item
INSTANCE_ZUID
​
items
UPDATE
PUT /content/model/MODEL_ZUID/items/ITEM_ZUID
Deleting a specific item
INSTANCE_ZUID
​
ITEM_ZUID
DELETE
DELETE /content/model/MODEL_ZUID/items/ITEM_ZUID
Deleting any item for a given content model
INSTANCE_ZUID
MODEL_ZUID
items
DELETE
DELETE /content/model/MODEL_ZUID/items/ITEM_ZUID
Deleting any item
INSTANCE_ZUID
​
items
DELETE
DELETE /content/model/MODEL_ZUID/items/ITEM_ZUID
Publishing any item for a given content model
INSTANCE_ZUID
MODEL_ZUID
items
PUBLISH
POST /content/model/MODEL_ZUID/items/ITEM_ZUID/publishings
Publishing a specific item
INSTANCE_ZUID
​
ITEM_ZUID
PUBLISH
POST /content/model/MODEL_ZUID/items/ITEM_ZUID/publishings
Publishing any item
INSTANCE_ZUID
​
items
PUBLISH
POST /content/model/MODEL_ZUID/items/ITEM_ZUID/publishings

Creating, Updating and Deleting Content Models

Condition
Scoped Resource
Parent Resource
Resource
Action
Request URL
Creating a new content model
INSTANCE_ZUID
​
models
CREATE
POST /content/model
Update a specific content model
INSTANCE_ZUID
​
MODEL_ZUID
UPDATE
PUT /content/model/MODEL_ZUID
Updating any content model
INSTANCE_ZUID
​
models
UPDATE
PUT /content/model/MODEL_ZUID
Deleting a specific content model
INSTANCE_ZUID
​
MODEL_ZUID
DELETE
DELETE /content/model/MODEL_ZUID
Deleting any content model
INSTANCE_ZUID
​
models
DELETE
DELETE /content/model/MODEL_ZUID

Creating, Updating and Deleting Fields

Condition
Scoped Resource
Parent Resource
Resource
Action
Request URL
Creating a new field
INSTANCE_ZUID
​
fields
CREATE
POST /content/model/MODEL_ZUID/fields
Creating a new field for a given content model
INSTANCE_ZUID
MODEL_ZUID
fields
CREATE
POST /content/model/MODEL_ZUID/fields
Updating a specific field
INSTANCE_ZUID
​
FIELD_ZUID
UPDATE
PUT /content/model/MODEL_ZUID/fields/FIELD_ZUID
Updating any field for a given content model
INSTANCE_ZUID
MODEL_ZUID
fields
UPDATE
PUT /content/model/MODEL_ZUID/fields/FIELD_ZUID
Updating any field
INSTANCE_ZUID
​
fields
UPDATE
PUT /content/model/MODEL_ZUID/fields/FIELD_ZUID
Deleting a specific field
INSTANCE_ZUID
FIELD_ZUID
DELETE
DELETE
DELETE /content/model/MODEL_ZUID/fields/FIELD_ZUID
Deleting any field for a given content model
INSTANCE_ZUID
MODEL_ZUID
fields
DELETE
DELETE /content/model/MODEL_ZUID/fields/FIELD_ZUID
Deleting any field
INSTANCE_ZUID
​
fields
DELETE
DELETE /content/model/MODEL_ZUID/fields/FIELD_ZUID

Creating, Updating and Deleting Views

Condition
Scoped Resource
Parent Resource
Resource
Action
Request URL
Creating a new view
INSTANCE_ZUID
​
views
CREATE
POST /web/views
Update a specific view
INSTANCE_ZUID
​
VIEW_ZUID
UPDATE
PUT /web/views/VIEW_ZUID
Updating any view
INSTANCE_ZUID
​
views
UPDATE
PUT /web/views/VIEW_ZUID
Deleting a specific view
INSTANCE_ZUID
​
VIEW_ZUID
DELETE
DELETE /web/views/VIEW_ZUID
Deleting any view
INSTANCE_ZUID
​
views
DELETE
DELETE /web/views/VIEW_ZUID

Creating, Updating and Deleting Stylesheets

Condition
Scoped Resource
Parent Resource
Resource
Action
Request URL
Creating a new stylesheet
INSTANCE_ZUID
​
stylesheets
CREATE
POST /web/scripts
Update a specific stylesheet
INSTANCE_ZUID
​
STYLESHEET_ZUID
UPDATE
PUT /web/scripts/SCRIPT_ZUID
Updating any stylesheet
INSTANCE_ZUID
​
scripts
UPDATE
PUT /web/scripts/SCRIPT_ZUID
Deleting a specific stylesheet
INSTANCE_ZUID
​
SCRIPT_ZUID
DELETE
DELETE /web/scripts/SCRIPT_ZUID
Deleting any stylesheet
INSTANCE_ZUID
​
scripts
DELETE
DELETE /web/scripts/SCRIPT_ZUID

Creating, Updating and Deleting Scripts

Condition
Scoped Resource
Parent Resource
Resource
Action
Request URL
Creating a new script
INSTANCE_ZUID
​
scripts
CREATE
POST /web/scripts
Update a specific script
INSTANCE_ZUID
​
SCRIPT_ZUID
UPDATE
PUT /web/scripts/SCRIPT_ZUID
Updating any script
INSTANCE_ZUID
​
scripts
UPDATE
PUT /web/scripts/SCRIPT_ZUID
Deleting a specific script
INSTANCE_ZUID
​
SCRIPT_ZUID
DELETE
DELETE /web/scripts/SCRIPT_ZUID
Deleting any script
INSTANCE_ZUID
​
scripts
DELETE
DELETE /web/scripts/SCRIPT_ZUID

Creating, Updating and Deleting Redirects

Condition
Scoped Resource
Parent Resource
Resource
Action
Request URL
Creating a new redirect
INSTANCE_ZUID
​
redirects
CREATE
POST /web/redirects
Update a specific redirect
INSTANCE_ZUID
​
REDIRECT_ZUID
UPDATE
PUT /web/redirects/REDIRECT_ZUID
Updating any redirect
INSTANCE_ZUID
​
redirects
UPDATE
PUT /web/redirects/REDIRECT_ZUID
Deleting a specific redirect
INSTANCE_ZUID
​
REDIRECT_ZUID
DELETE
DELETE /web/redirects/REDIRECT_ZUID
Deleting any redirect
INSTANCE_ZUID
​
redirects
DELETE
DELETE /web/redirects/REDIRECT_ZUID

Creating, Updating and Deleting Langs

Condition
Scoped Resource
Parent Resource
Resource
Action
Request URL
Creating a new language
INSTANCE_ZUID
​
langs
CREATE
POST /env/langs
Update a specific language
INSTANCE_ZUID
​
LANG_ID
UPDATE
PUT /env/langs/LANG_ID
Updating any language
INSTANCE_ZUID
​
langs
UPDATE
PUT /env/langs/LANG_ID
Deleting a specific language
INSTANCE_ZUID
​
LANG_ID
DELETE
DELETE /env/langs/LANG_ID
Deleting any language
INSTANCE_ZUID
​
langs
DELETE
DELETE /env/langs/LANG_ID

Creating, Updating and Deleting Settings

Condition
Scoped Resource
Parent Resource
Resource
Action
Request URL
Creating a new setting
INSTANCE_ZUID
​
settings
CREATE
POST /env/settings
Update a specific setting
INSTANCE_ZUID
​
SETTINGS_ZUID
UPDATE
PUT /env/settings/SETTINGS_ZUID
Updating any setting
INSTANCE_ZUID
​
settings
UPDATE
PUT /env/settings/SETTINGS_ZUID
Deleting a specific setting
INSTANCE_ZUID
​
SETTINGS_ZUID
DELETE
DELETE /env/settings/SETTINGS_ZUID
Deleting any setting
INSTANCE_ZUID
​
settings
DELETE
DELETE /env/settings/SETTINGS_ZUID

Creating, Updating and Deleting Leads

Accounts API Webhook

Roles

Condition
Scoped Resource
Parent Resource
Resource
Action
Request URL
Creating a new role
INSTANCE_ZUID
​
roles
CREATE
POST /roles

Instance Roles

Condition
Scoped Resource
Parent Resource
Resource
Action
Request URL
Generating a new Instance Role
INSTANCE_ZUID
INSTANCE_ZUID
roles
CREATE
POST /instances/INSTANCE_ZUID/roles

Instance Domains

Condition
Scoped Resource
Parent Resource
Resource
Action
Request URL
Create domain for a given instance
INSTANCE_ZUID
​
domains
CREATE
POST /instances/INSTANCE_ZUID/domains
Update a specific domain for a given instance
INSTANCE_ZUID
​
DOMAIN_ZUID
UPDATE
PUT /instances/INSTANCE_ZUID/domains/DOMAIN_ZUID
Update any domain for a given instance
INSTANCE_ZUID
​
domains
UPDATE
PUT /instances/INSTANCE_ZUID/domains/DOMAIN_ZUID
Delete
a specific domain for a given instance
INSTANCE_ZUID
​
DOMAIN_ZUID
DELETE
DELETE /instances/INSTANCE_ZUID/domains/DOMAIN_ZUID
Delete
any domain for a given instance
INSTANCE_ZUID
​
domains
DELETE
DELETE /instances/INSTANCE_ZUID/domains/DOMAIN_ZUID
Condition
Scoped Resource
Parent Resource
Resource
Action
Request URL
Create Invite
INSTANCE_ZUID
​
invites
CREATE
POST /invites
Respond to Invite
INSTANCE_ZUID
​
INVITE_ZUID
UPDATE
PUT /invites/INVITE_ZUID
Delete Invite
INSTANCE_ZUID
​
INVITE_ZUID
DELETE
DELETE /invites/INVITE_ZUID