Send a test event
Queues a synthetic `appointment.created` event to this endpoint only. The payload uses sentinel ids (`appt_TEST_EVENT`, `cust_TEST_EVENT`) so your handler can short-circuit without creating fake rows in your CRM.
Authorization
AuthorizationRequiredBearer <token>Send your API key in the Authorization header on every request:
Authorization: Bearer sk_live_.... Keys are created in the admin UI under
Settings → API Keys and are project-scoped.
In: header
Path Parameters
idRequiredstringResponse Body
Test event queued.
TypeScript Definitions
Use the response body type in TypeScript.
event_idstringqueuedbooleanResource not found.
TypeScript Definitions
Use the response body type in TypeScript.
errorRequiredobjectcurl -X POST "https://app.meetdolores.ai/v1/webhook_endpoints/string/test" \
-H "Authorization: Bearer <token>"fetch("https://app.meetdolores.ai/v1/webhook_endpoints/string/test", {
headers: {
"Authorization": "Bearer <token>"
}
})package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://app.meetdolores.ai/v1/webhook_endpoints/string/test"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}import requests
url = "https://app.meetdolores.ai/v1/webhook_endpoints/string/test"
response = requests.request("POST", url, headers = {
"Authorization": "Bearer <token>"
})
print(response.text)require 'net/http'
require 'json'
require 'uri'
uri = URI('https://app.meetdolores.ai/v1/webhook_endpoints/whk_01HXY.../test')
req = Net::HTTP::Post.new(uri, {
'Authorization' => "Bearer #{ENV['DOLORES_API_KEY']}",
})
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
puts res.body<?php
$ch = curl_init('https://app.meetdolores.ai/v1/webhook_endpoints/whk_01HXY.../test');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('DOLORES_API_KEY'),
],
]);
echo curl_exec($ch);{
"event_id": "string",
"queued": true
}{
"error": {
"type": "invalid_request_error",
"code": "phone_invalid_format",
"message": "string",
"param": "string",
"request_id": "string"
}
}Rotate the signing secret
Generates a new signing secret and invalidates the old one. The new secret is returned in the `secret` field **once**. Update your handler before the next delivery — old-secret signatures will no longer verify.
Webhooks overview
How Dolores delivers appointment-status events to your backend.