> ## Documentation Index
> Fetch the complete documentation index at: https://docs.withleaf.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Alert Events

> Reference for current Leaf webhook event names, with representative JSON payload examples for common event families.

Every webhook payload includes a `type` field identifying the event and a `timestamp` in ISO-8601 format.

<Note>
  This page is comprehensive for current event names from Leaf's `EventDto` enum. The payload bodies shown below are representative examples for each event family unless a producer-specific schema is separately verified.
</Note>

## Event summary

| Service                                                    | Events                                                                                                                                                                                                                                 |
| ---------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Credentials](#credentials-events)                         | `credentialsLimitedPermission`, `credentialsUnauthenticated`                                                                                                                                                                           |
| [Fields](#field-events)                                    | `fieldCreated`, `fieldUpdated`, `mergedFieldCreated`, `mergedFieldUpdated`                                                                                                                                                             |
| [Field Boundaries](#field-boundary-events)                 | `fieldBoundaryCreated`, `fieldBoundaryUpdated`, `fieldBoundaryDeleted`                                                                                                                                                                 |
| [Manual File Upload](#manual-file-upload-events)           | `batchUploadProcessingFinished`, `uploadedFileProcessingFinished`, `uploadedFileProcessingFailed`                                                                                                                                      |
| [Machine File Conversion](#machine-file-conversion-events) | `providerFileProcessingFinished`, `providerFileProcessingFailed`                                                                                                                                                                       |
| [Field Operations](#field-operation-events)                | `mergedFileProcessingFinished`, `mergedFileProcessingFailed`, `automergedFileProcessingFinished`, `automergedFileProcessingFailed`, `operationCreated`, `operationUpdated`, `operationProcessingFinished`, `operationProcessingFailed` |
| [Workflow](#workflow-events)                               | `workflowProcessingFinished`, `workflowProcessingFailed`                                                                                                                                                                               |
| [Crop Monitoring](#crop-monitoring-events)                 | `newSatelliteImage`, `satelliteSubscriptionFailed`                                                                                                                                                                                     |
| [Irrigation](#irrigation-events)                           | `newIrrigationActivity`, `newFieldIrrigationActivity`                                                                                                                                                                                  |
| [Assets (Beta)](#asset-events)                             | `machineCreated`, `machineUpdated`, `machineDeleted`, `implementCreated`, `implementUpdated`, `operatorCreated`, `operatorUpdated`                                                                                                     |
| [Provider Organizations](#provider-organization-events)    | `providerOrganizationCreated`, `providerOrganizationBlocked`, `providerOrganizationRemoved`                                                                                                                                            |

***

## Credentials events

Current event names in this family: `credentialsLimitedPermission`, `credentialsUnauthenticated`.

### credentialsLimitedPermission

Fired when provider credentials lack sufficient permissions for the requested actions.

```json theme={null}
{
  "credential": "the client identification",
  "provider": "the provider name",
  "credentialId": "the credential id",
  "message": "message from the alert",
  "status": "the new status of the credential",
  "type": "credentialsLimitedPermission",
  "timestamp": "2024-06-15T14:30:00.000000Z"
}
```

### credentialsUnauthenticated

Fired when credentials are no longer valid (expired or revoked).

```json theme={null}
{
  "credential": "the client identification",
  "provider": "the provider name",
  "credentialId": "the credential id",
  "message": "message from the alert",
  "status": "the new status of the credential",
  "type": "credentialsUnauthenticated",
  "timestamp": "2024-06-15T14:30:00.000000Z"
}
```

***

## Field events

### fieldCreated

Fired when a new field is created in a connected provider account or directly in Leaf.

```json theme={null}
{
  "source": "SYNC",
  "leafUserId": "uuid",
  "fieldId": "uuid",
  "type": "fieldCreated",
  "timestamp": "2024-06-15T14:30:00.000000Z"
}
```

### fieldUpdated

Fired when a field is updated.

```json theme={null}
{
  "source": "SYNC",
  "leafUserId": "uuid",
  "fieldId": "uuid",
  "type": "fieldUpdated",
  "timestamp": "2024-06-15T14:30:00.000000Z"
}
```

### mergedFieldCreated

Fired when a new merged field is created. Requires `fieldsAutoSync` and `fieldsMergeIntersection` to be configured.

```json theme={null}
{
  "source": "REST",
  "leafUserId": "uuid",
  "fieldId": "uuid",
  "type": "mergedFieldCreated",
  "timestamp": "2024-06-15T14:30:00.000000Z"
}
```

### mergedFieldUpdated

Fired when a merged field is updated because one of its source field geometries changed.

```json theme={null}
{
  "source": "REST",
  "leafUserId": "uuid",
  "fieldId": "uuid",
  "type": "mergedFieldUpdated",
  "timestamp": "2024-06-15T14:30:00.000000Z"
}
```

***

## Field boundary events

### fieldBoundaryCreated

```json theme={null}
{
  "boundaryId": "uuid",
  "leafUserId": "uuid",
  "fieldId": "uuid",
  "type": "fieldBoundaryCreated",
  "timestamp": "2024-06-15T14:30:00.000000Z"
}
```

### fieldBoundaryUpdated

```json theme={null}
{
  "boundaryId": "uuid",
  "leafUserId": "uuid",
  "fieldId": "uuid",
  "type": "fieldBoundaryUpdated",
  "timestamp": "2024-06-15T14:30:00.000000Z"
}
```

### fieldBoundaryDeleted

Current event name in this family. Payloads follow the same general field-boundary pattern.

***

## Manual file upload events

### batchUploadProcessingFinished

Fired when all machine files in a batch have been processed (converted or failed). Use the `batchId` to query the batch or batch status endpoints for results.

```json theme={null}
{
  "batchId": "uuid",
  "leafUserId": "uuid",
  "type": "batchUploadProcessingFinished",
  "timestamp": "2024-06-15T14:30:00.000000Z"
}
```

### uploadedFileProcessingFinished

Fired when a manually uploaded machine file finishes all processing steps successfully.

```json theme={null}
{
  "fileId": "uuid",
  "leafUserId": "uuid",
  "type": "uploadedFileProcessingFinished",
  "timestamp": "2024-06-15T14:30:00.000000Z"
}
```

### uploadedFileProcessingFailed

Fired when a manually uploaded machine file finishes processing but failed one or more steps.

```json theme={null}
{
  "fileId": "uuid",
  "leafUserId": "uuid",
  "message": "details of what happened. May be empty",
  "type": "uploadedFileProcessingFailed",
  "timestamp": "2024-06-15T14:30:00.000000Z"
}
```

***

## Machine file conversion events

Current event names in this family: `providerFileProcessingFinished`, `providerFileProcessingFailed`.

### providerFileProcessingFinished

Fired when a machine file pulled from a provider finishes processing successfully.

```json theme={null}
{
  "fileId": "uuid",
  "leafUserId": "uuid",
  "type": "providerFileProcessingFinished",
  "timestamp": "2024-06-15T14:30:00.000000Z"
}
```

### providerFileProcessingFailed

Fired when a provider machine file finishes processing but failed one or more steps.

```json theme={null}
{
  "fileId": "uuid",
  "leafUserId": "uuid",
  "message": "details of what happened. May be empty",
  "type": "providerFileProcessingFailed",
  "timestamp": "2024-06-15T14:30:00.000000Z"
}
```

***

## Field operation events

### mergedFileProcessingFinished

Fired when a merged field operation file finishes processing successfully.

```json theme={null}
{
  "fileId": "uuid",
  "leafUserId": "uuid",
  "type": "mergedFileProcessingFinished",
  "timestamp": "2024-06-15T14:30:00.000000Z"
}
```

### mergedFileProcessingFailed

```json theme={null}
{
  "fileId": "uuid",
  "leafUserId": "uuid",
  "message": "details of what happened. May be empty",
  "type": "mergedFileProcessingFailed",
  "timestamp": "2024-06-15T14:30:00.000000Z"
}
```

### automergedFileProcessingFinished

Fired when an auto-merged field operation file finishes processing successfully.

```json theme={null}
{
  "fileId": "uuid",
  "leafUserId": "uuid",
  "type": "automergedFileProcessingFinished",
  "timestamp": "2024-06-15T14:30:00.000000Z"
}
```

### automergedFileProcessingFailed

```json theme={null}
{
  "fileId": "uuid",
  "leafUserId": "uuid",
  "message": "details of what happened. May be empty",
  "type": "automergedFileProcessingFailed",
  "timestamp": "2024-06-15T14:30:00.000000Z"
}
```

### operationCreated

Fired when a field operation is created. At this point, summary, images, and units may not yet be available.

```json theme={null}
{
  "operationId": "uuid",
  "leafUserId": "uuid",
  "type": "operationCreated",
  "timestamp": "2024-06-15T14:30:00.000000Z"
}
```

### operationUpdated

Fired when an existing field operation changes (e.g., new files merged in).

```json theme={null}
{
  "operationId": "uuid",
  "leafUserId": "uuid",
  "type": "operationUpdated",
  "timestamp": "2024-06-15T14:30:00.000000Z"
}
```

### operationProcessingFinished

Fired when a field operation has fully finished processing. At this point, images, summary, and units are available.

```json theme={null}
{
  "operationId": "uuid",
  "leafUserId": "uuid",
  "type": "operationProcessingFinished",
  "timestamp": "2024-06-15T14:30:00.000000Z"
}
```

### operationProcessingFailed

Current event name in this family. Payloads follow the same general operation-processing pattern.

***

## Workflow events

Current event names in this family: `workflowProcessingFinished`, `workflowProcessingFailed`.

### workflowProcessingFinished

Current event name in this family. Payloads are not expanded here beyond enum coverage.

### workflowProcessingFailed

Current event name in this family. Payloads are not expanded here beyond enum coverage.

***

## Crop monitoring events

### newSatelliteImage

Fired when a new satellite image finishes processing for a monitored field.

```json theme={null}
{
  "externalId": "the external id of the monitored field",
  "processId": "uuid",
  "type": "newSatelliteImage",
  "timestamp": "2024-06-15T14:30:00.000Z"
}
```

### satelliteSubscriptionFailed

Fired when a field subscription fails on the satellite provider side.

```json theme={null}
{
  "fieldId": "the external id of the monitored field",
  "message": "error message",
  "type": "satelliteSubscriptionFailed",
  "timestamp": "2024-06-15T14:30:00.000Z"
}
```

***

## Irrigation events

### newIrrigationActivity

Fired when new as-applied irrigation data is available from a supported provider.

```json theme={null}
{
  "irrigationId": "uuid",
  "leafUserId": "uuid",
  "type": "newIrrigationActivity",
  "timestamp": "2024-06-15T14:30:00.000Z"
}
```

### newFieldIrrigationActivity

Fired when new irrigation data is available for a specific field.

```json theme={null}
{
  "fieldIrrigationId": "uuid",
  "fieldId": "uuid",
  "leafUserId": "uuid",
  "type": "newFieldIrrigationActivity",
  "timestamp": "2024-06-15T14:30:00.000Z"
}
```

***

## Asset events

<Note>
  Asset events are in beta.
</Note>

### machineCreated

```json theme={null}
{
  "type": "machineCreated",
  "machineId": "uuid",
  "leafUserId": "uuid",
  "timestamp": "2024-06-15T14:30:00.000Z"
}
```

### machineUpdated

```json theme={null}
{
  "type": "machineUpdated",
  "machineId": "uuid",
  "leafUserId": "uuid",
  "timestamp": "2024-06-15T14:30:00.000Z"
}
```

### machineDeleted

```json theme={null}
{
  "type": "machineDeleted",
  "machineId": "uuid",
  "leafUserId": "uuid",
  "timestamp": "2024-06-15T14:30:00.000Z"
}
```

### implementCreated

```json theme={null}
{
  "type": "implementCreated",
  "implementId": "uuid",
  "leafUserId": "uuid",
  "timestamp": "2024-06-15T14:30:00.000Z"
}
```

### implementUpdated

```json theme={null}
{
  "type": "implementUpdated",
  "implementId": "uuid",
  "leafUserId": "uuid",
  "timestamp": "2024-06-15T14:30:00.000Z"
}
```

### operatorCreated

Current event name in this family. Payloads are not expanded here beyond enum coverage.

### operatorUpdated

Current event name in this family. Payloads are not expanded here beyond enum coverage.

***

## Provider organization events

Current event names in this family: `providerOrganizationCreated`, `providerOrganizationBlocked`, `providerOrganizationRemoved`.

### providerOrganizationCreated

Current event name in this family. Payloads are not expanded here beyond enum coverage.

### providerOrganizationBlocked

Current event name in this family. Payloads are not expanded here beyond enum coverage.

### providerOrganizationRemoved

Current event name in this family. Payloads are not expanded here beyond enum coverage.

## What to do next

* [Alerts Overview](/alerts/overview) for webhook setup and retry policy.
* [Authentication](/alerts/authentication) for verifying webhook signatures.
* [Alerts API Reference](/api-reference/alerts) for endpoint details.
