Authorization header as Bearer <your_api_key>.
List webhooks
GET https://api.chevre.io/v1/webhooks
Returns all webhooks registered for the authenticated workspace.
Example request
Example response
200
Response fields
An array of webhook objects registered to the workspace.
Create a webhook
POST https://api.chevre.io/v1/webhooks
Registers a new webhook endpoint. Chevre immediately sends a test ping to the URL to verify reachability — the endpoint must respond with a 2xx status code within 5 seconds or the registration will fail.
Request body
The HTTPS URL that Chevre will send event payloads to. Must use
https://. Plain HTTP URLs are rejected.An array of event type strings the webhook should subscribe to. At least one event is required. See Available events for the full list.
A signing secret used to compute the
Chevre-Signature HMAC-SHA256 header on each delivery. Store this value securely — you cannot retrieve it after creation.Whether the webhook should be active immediately after creation.
Example request
Example response
201
The
secret field is write-only and is not returned in any response after creation. Store it securely at registration time.Response fields
The newly registered webhook object.
Get a webhook
GET https://api.chevre.io/v1/webhooks/{id}
Retrieves a single webhook by its ID.
Path parameters
The unique identifier of the webhook to retrieve (e.g.
wh_01RST).Example request
Example response
200
Response fields
The requested webhook object.
Update a webhook
PATCH https://api.chevre.io/v1/webhooks/{id}
Updates an existing webhook’s URL, event subscriptions, or enabled state. Send only the fields you want to change.
Path parameters
The unique identifier of the webhook to update (e.g.
wh_01RST).Request body
A new destination URL. Must use
https://. Chevre will send a test ping to the new URL to verify reachability.A replacement list of event type strings. The entire events array is replaced — to add a single event, include all existing events plus the new one.
Set to
false to pause event delivery, or true to resume it.Example request
Example response
200
Response fields
The updated webhook object.
Delete a webhook
DELETE https://api.chevre.io/v1/webhooks/{id}
Permanently deletes a webhook registration. Chevre immediately stops sending event deliveries to this endpoint.
Path parameters
The unique identifier of the webhook to delete (e.g.
wh_01RST).Example request
Example response
204
A successful deletion returns HTTP
204 No Content with an empty response body.Available webhook events
Subscribe to any combination of the following events when creating or updating a webhook.- Automation
- Member
- Project
Webhook payload format
Chevre delivers all events as HTTP POST requests with a JSON body. Every payload follows the same top-level envelope structure, with resource-specific data nested inside thedata field.
A unique identifier for this event delivery, prefixed with
evt_. Use this to deduplicate retried deliveries.The event type string that triggered this delivery (e.g.
"automation.run.completed").ISO 8601 timestamp of when the event occurred in Chevre.
The event-specific payload. The fields inside
data vary depending on the type. Refer to the Available events section for per-event data shapes.Signature verification
Every webhook delivery from Chevre includes aChevre-Signature header containing an HMAC-SHA256 signature computed over the raw request body using the secret you provided at registration. Always verify this signature before processing a payload.
Always use a timing-safe comparison function (such as
crypto.timingSafeEqual in Node.js or hmac.compare_digest in Python) when comparing signatures. A standard equality check is vulnerable to timing attacks.Retry behavior
If your endpoint does not respond with a2xx HTTP status code within 10 seconds, Chevre marks the delivery as failed and retries it automatically.
Chevre retries failed deliveries up to 5 times using exponential backoff with jitter:
After all 5 retries are exhausted, the delivery is marked as permanently failed. You can view delivery attempts and their statuses in the Chevre dashboard under Settings → Webhooks.
You can use the event
id field to safely deduplicate retried deliveries in case your handler processes the same event more than once.