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.
REST API Documentation and Examples
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.
Create Webhook
POST
https://accounts.api.zesty.io/v1/webhooks
This endpoint allows you to create webhooks. NOTE: To create a webhook, the authenticated user must have one or more the roles for the given instance:
Request Body
Name | Type | Description |
---|---|---|
description | string | A description about the webhook |
parentResourceZUID | string | A ZUID that corresponds to a resource that acts as a parent. Some examples of parent resources include: |
body | object | A JSON representation of webhook's request body. The |
authorization | string | The authorization token that will be sent as part of your webhook request. This corresponds to the |
contentType | string | The type of content in the request your Webhook will send to the URL. This corresponds to the |
URL | string | The URL your webhook send its request to. |
method | string | The HTTP Method that the webhook will use on the URL. A valid HTTP Method is any of the following |
eventAction | number | A numerical value that represents an action on a resource. A valid action is any of the following |
scopedResourceZUID | string | A ZUID string that represents ant of the following entities: |
resourceZUID | string | A ZUID that corresponds to any entity within Zesty |
Retrieve Webhooks by Instance ZUID
GET
https://accounts.api.zesty.io/v1/instances/:instance_zuid/webhooks
Retrieves a list of all webhooks.NOTE: To create a webhook, the authenticated user must have one or more the roles for the given instance:
Path Parameters
Name | Type | Description |
---|---|---|
instance_zuid | string | Corresponds to an instance ZUID |
Retrieve Webhook by ZUID
GET
https://accounts.api.zesty.io/v1/webhooks/:webhook_zuid
Path Parameters
Name | Type | Description |
---|---|---|
webhook_zuid | string | Corresponds to the Webhook's Unique ZUID value |
Webhook Deletion
DELETE
https://accounts.api.zesty.io/v1/webhooks/:webhook_zuid
Path Parameters
Name | Type | Description |
---|---|---|
webhook_zuid | string | Corresponds to the Webhook's Unique ZUID value |
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 |
Last updated