curl \
-X PATCH 'MEILISEARCH_URL/webhooks/WEBHOOK_UUID' \
-H 'Content-Type: application/json' \
--data-binary '{
"header": {
"referer": null
}
}'import requests
url = "http://localhost:7700/webhooks/{uuid}"
payload = {
"url": "https://your.site/on-tasks-completed",
"headers": { "Authorization": "Bearer a-secret-token" }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
url: 'https://your.site/on-tasks-completed',
headers: {Authorization: 'Bearer a-secret-token'}
})
};
fetch('http://localhost:7700/webhooks/{uuid}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "7700",
CURLOPT_URL => "http://localhost:7700/webhooks/{uuid}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'url' => 'https://your.site/on-tasks-completed',
'headers' => [
'Authorization' => 'Bearer a-secret-token'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://localhost:7700/webhooks/{uuid}"
payload := strings.NewReader("{\n \"url\": \"https://your.site/on-tasks-completed\",\n \"headers\": {\n \"Authorization\": \"Bearer a-secret-token\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("http://localhost:7700/webhooks/{uuid}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"https://your.site/on-tasks-completed\",\n \"headers\": {\n \"Authorization\": \"Bearer a-secret-token\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:7700/webhooks/{uuid}")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"url\": \"https://your.site/on-tasks-completed\",\n \"headers\": {\n \"Authorization\": \"Bearer a-secret-token\"\n }\n}"
response = http.request(request)
puts response.read_body{
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"url": "https://your.site/on-tasks-completed",
"headers": {
"Authorization": "Bearer a-secret-token"
},
"isEditable": true
}{
"message": "The webhook URL is invalid. Expected a valid URL.",
"code": "invalid_webhook_url",
"type": "invalid_request",
"link": "https://docs.meilisearch.com/errors#invalid_webhook_url"
}{
"message": "The Authorization header is missing. It must use the bearer authorization method.",
"code": "missing_authorization_header",
"type": "auth",
"link": "https://docs.meilisearch.com/errors#missing_authorization_header"
}{
"message": "The webhook was not found.",
"code": "webhook_not_found",
"type": "invalid_request",
"link": "https://docs.meilisearch.com/errors#webhook_not_found"
}Update webhook
Update the URL or headers of an existing webhook identified by its UUID.
curl \
-X PATCH 'MEILISEARCH_URL/webhooks/WEBHOOK_UUID' \
-H 'Content-Type: application/json' \
--data-binary '{
"header": {
"referer": null
}
}'import requests
url = "http://localhost:7700/webhooks/{uuid}"
payload = {
"url": "https://your.site/on-tasks-completed",
"headers": { "Authorization": "Bearer a-secret-token" }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
url: 'https://your.site/on-tasks-completed',
headers: {Authorization: 'Bearer a-secret-token'}
})
};
fetch('http://localhost:7700/webhooks/{uuid}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "7700",
CURLOPT_URL => "http://localhost:7700/webhooks/{uuid}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'url' => 'https://your.site/on-tasks-completed',
'headers' => [
'Authorization' => 'Bearer a-secret-token'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://localhost:7700/webhooks/{uuid}"
payload := strings.NewReader("{\n \"url\": \"https://your.site/on-tasks-completed\",\n \"headers\": {\n \"Authorization\": \"Bearer a-secret-token\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("http://localhost:7700/webhooks/{uuid}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"url\": \"https://your.site/on-tasks-completed\",\n \"headers\": {\n \"Authorization\": \"Bearer a-secret-token\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:7700/webhooks/{uuid}")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"url\": \"https://your.site/on-tasks-completed\",\n \"headers\": {\n \"Authorization\": \"Bearer a-secret-token\"\n }\n}"
response = http.request(request)
puts response.read_body{
"uuid": "550e8400-e29b-41d4-a716-446655440000",
"url": "https://your.site/on-tasks-completed",
"headers": {
"Authorization": "Bearer a-secret-token"
},
"isEditable": true
}{
"message": "The webhook URL is invalid. Expected a valid URL.",
"code": "invalid_webhook_url",
"type": "invalid_request",
"link": "https://docs.meilisearch.com/errors#invalid_webhook_url"
}{
"message": "The Authorization header is missing. It must use the bearer authorization method.",
"code": "missing_authorization_header",
"type": "auth",
"link": "https://docs.meilisearch.com/errors#missing_authorization_header"
}{
"message": "The webhook was not found.",
"code": "webhook_not_found",
"type": "invalid_request",
"link": "https://docs.meilisearch.com/errors#webhook_not_found"
}Authorizations
An API key is a token that you provide when making API calls. Read more about how to secure your project.
Include the API key to the Authorization header, for instance:
-H 'Authorization: Bearer 6436fc5237b0d6e0d64253fbaac21d135012ecf1'
If you use a SDK, ensure you instantiate the client with the API key, for instance with JS SDK:
const client = new MeiliSearch({
host: 'MEILISEARCH_URL',
apiKey: '6436fc5237b0d6e0d64253fbaac21d135012ecf1'
});
Path Parameters
Universally unique identifier of the webhook.
Body
Response
Webhook updated successfully. Returns the webhook with metadata and redacted authorization headers.
Webhook object with metadata and redacted authorization headers.
Unique identifier of the webhook.
Whether the webhook can be edited.
URL endpoint to call when tasks complete.
"https://your.site/on-tasks-completed"
HTTP headers to include in webhook requests.
Show child attributes
Show child attributes
{ "Authorization": "Bearer a-secret-token" }
Was this page helpful?