Skip to main content
Use these endpoints to create and manage webhooks that notify your application when field boundaries change, machine files finish processing, field operations are created, provider credentials expire, or satellite images are ready. For conceptual background, see Alerts Overview.

Base URL

Endpoints

You cannot update a webhook. To change an existing webhook, delete it and create a new one. Keep the previous URL running until the new webhook is confirmed.
On delivery failure, Leaf retries at 1, 30, 60, and 240 minutes after the initial attempt.

Available events

You can subscribe to any combination of these events: Credentials Fields and boundaries Machine files Field operations Satellite imagery Assets (Beta) Workflows (Beta) Irrigation Provider organizations
You cannot register two webhooks that listen to the same event. Attempting to do so returns a 400 response with error eventRegisteredTwice.

Create a webhook

POST /webhooks Creates a webhook and begins delivering matching events immediately.

Request body

Request

Response


Test a webhook

POST /webhooks/{id}/test Immediately delivers a signed sample message to the webhook’s registered URL. Use it to exercise your receiving and signature-verification code end to end, on demand, without waiting for a real event.

Parameters

No request body is required.

Request

Delivered payload

Leaf sends the following POST to your registered URL, with Content-Type: application/json and an X-Leaf-Signature header:
This payload is a fixed shape with "type": "test". Real events use their own type (for example, batchUploadProcessingFinished) and fields, so /test validates transport and signature verification, not the event schema. The secret and X-Leaf-Signature scheme are identical to production alerts, so verification code written against /test works unchanged once live events arrive. See Authentication for the HMAC verification steps.

Response

Returns 200 OK if your endpoint accepted the sample message. If your endpoint returns an error, the call responds with a status that reflects what your endpoint returned, which is useful for debugging delivery and signature handling.

Get a webhook

GET /webhooks/{id} Returns a single webhook by its ID.

Parameters

Request

Response


Get all webhooks

GET /webhooks Returns all webhooks registered for the API owner.

Request

Response


Get failed calls

GET /webhooks/failed-calls Returns a paginated list of failed webhook delivery attempts when any exist. Use the nextPageToken value from a response to fetch the next page. If no failed calls are available for the API owner, this endpoint returns 404.

Parameters

Request

Response


Delete a webhook

DELETE /webhooks/{id} Deletes a webhook. Returns 204 No Content on success. Leaf stops delivering events for this webhook immediately.

Parameters

Request


Last modified on July 9, 2026