# Webhooks
Webhooks are configured within the App (no code required) and send HTTP requests to an external service when a specific event is triggered.
# The Webhook Object
id integer
Primary key of the webhook.
name string
Name for the webhook. Shown in the Admin App.
method string
HTTP method to use. One of GET, POST.
url string
Where to send the request too.
status string
Status of the webhook. One of active, inactive.
data boolean
Whether or not to send the event data to the external endpoint.
actions csv
When to fire the webhook. Can contain create, update, delete.
collections csv
What collections to fire this webhook on.
{
"data": {
"id": 1,
"name": "Build Website",
"method": "POST",
"url": "https://example.com/",
"status": "active",
"data": true,
"actions": ["create", "update"],
"collections": ["articles"]
}
}
# List Webhooks
List all webhooks that exist in Directus.
# Query Parameters
Supports all global query parameters.
# Returns
An array of up to limit webhook objects. If no items are available, data will be an empty array.
# Retrieve a Webhook
List an existing webhook by primary key.
# Query Parameters
Supports all global query parameters.
# Returns
Returns the requested webhook object.
# Create a Webhook
Create a new webhook.
# Query Parameters
Supports all global query parameters.
# Request Body
A partial webhook object.
name, actions, collections, and url are required.
# Returns
Returns the webhook object for the created webhook.
# REST API
POST /webhooks
# Example
// POST /webhooks
{
"name": "Example",
"actions": ["create", "update"],
"collections": ["articles"],
"url": "https://example.com"
}
# GraphQL
POST /graphql/system
type Mutation {
create_webhooks_item(data: create_directus_webhooks_input!): directus_webhooks
}
# Example
mutation {
create_webhooks_item(
data: { name: "Example", actions: ["create", "update"], collections: ["articles"], url: "https://example.com" }
) {
id
name
}
}
# Create Multiple Webhook
Create multiple new webhooks.
# Query Parameters
Supports all global query parameters.
# Request Body
An array of partial webhook object.
name, actions, collections, and url are required.
# Returns
Returns the webhook objects for the created webhooks.
# REST API
POST /webhooks
# Example
// POST /webhooks
[
{
"name": "Example",
"actions": ["create", "update"],
"collections": ["articles"],
"url": "https://example.com"
},
{
"name": "Second Example",
"actions": ["delete"],
"collections": ["articles"],
"url": "https://example.com/on-delete"
}
]
# GraphQL
POST /graphql/system
type Mutation {
create_webhooks_items(data: [create_directus_webhooks_input!]!): [directus_webhooks]
}
# Example
mutation {
create_webhooks_items(
data: [
{ name: "Example", actions: ["create", "update"], collections: ["articles"], url: "https://example.com" }
{ name: "Second Example", actions: ["delete"], collections: ["articles"], url: "https://example.com/on-delete" }
]
) {
id
name
}
}
# Update a Webhook
Update an existing webhook.
# Query Parameters
Supports all global query parameters.
# Request Body
A partial webhook object.
# Returns
Returns the webhook object for the updated webhook.
# REST API
PATCH /webhooks/:id
# Example
// PATCH /webhooks/15
{
"name": "Build Website"
}
# GraphQL
POST /graphql/system
type Mutation {
update_webhooks_item(id: ID!, data: update_directus_webhooks_input!): directus_webhooks
}
# Example
mutation {
update_webhooks_item(id: 15, data: { name: "Build Website" }) {
name
}
}
# Update Multiple Webhooks
Update multiple existing webhooks.
# Query Parameters
Supports all global query parameters.
# Request Body
keys Required
Array of primary keys of the webhooks you'd like to update.
data Required
Any of the webhook object's properties.
# Returns
Returns the webhook objects for the updated webhooks.
# REST API
PATCH /webhooks
# Example
// PATCH /webhooks
{
"keys": [15, 41],
"data": {
"name": "Build Website"
}
}
# GraphQL
POST /graphql/system
type Mutation {
update_webhooks_items(ids: [ID!]!, data: update_directus_webhooks_input!): [directus_webhooks]
}
# Example
mutation {
update_webhooks_items(ids: [15, 41], data: { name: "Build Website" }) {
name
}
}
# Delete a Webhook
Delete an existing webhook.
# Returns
Empty body.
# Delete Multiple Webhooks
Delete multiple existing webhooks.