# 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.