Links
Comment on page

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