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

# Precipitation Notification

> Comprehensive webhook reference for rain, snow, and mixed precipitation alerts.

<CardGroup cols={2}>
  <Card title="🌧️ When it fires" icon="cloud-showers-heavy">
    This webhook arrives when our nowcasting engines detect imminent precipitation over the registered polygon or point of interest.
  </Card>

  <Card title="🛡️ Why it matters" icon="shield-halved">
    Use it to nudge policyholders, pause outdoor jobs, or adjust underwriting exposures before the rain hits.
  </Card>
</CardGroup>

<Tabs>
  <Tab title="Sample payload 💾" icon="code">
    ```json theme={null}
    {
      "precipitationId": "692d8218d4a02eb8afdf17a0",
      "registrationId": "e71fedf8-a0a9-462e-a972-47dc8a5586df",
      "recipientId": "recipient-04c2b9c7ad01",
      "timeEpochMillis": 1764588600000,
      "intensity": "HEAVY",
      "centroid": {
        "lat": 41.0151,
        "lng": 28.9795
      },
      "distance": 1250.42
    }
    ```
  </Tab>

  <Tab title="Field glossary 📚" icon="table-list">
    | Field             | Type   | Description                                                                                                                                                                                                                                                                                                                    |
    | ----------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
    | `precipitationId` | string | Stable identifier for this precipitation burst; use it for deduplication and historical lookups.                                                                                                                                                                                                                               |
    | `registrationId`  | string | ID of the webhook registration or subscription that the event belongs to.                                                                                                                                                                                                                                                      |
    | `recipientId`     | string | Caller-defined ID that ties the alert back to your internal customer/asset record (can be an anonymous/hashed key to meet GDPR compliance); it must remain unique per geometry because only one registration is allowed for the same area per `recipientId`, letting you route the alert without storing our `registrationId`. |
    | `timeEpochMillis` | number | UTC timestamp in milliseconds that marks when the precipitation is predicted to reach the target centroid.                                                                                                                                                                                                                     |
    | `intensity`       | enum   | Qualitative rate derived from radar reflectivity + sensor fusion.                                                                                                                                                                                                                                                              |
    | `centroid`        | object | Geographic center (latitude/longitude) of the impacted area.                                                                                                                                                                                                                                                                   |
    | `distance`        | number | Meters between the centroid of the precipitation cell and your registration reference point.                                                                                                                                                                                                                                   |

    #### `centroid` object

    | Field          | Type   | Description                           |
    | -------------- | ------ | ------------------------------------- |
    | `centroid.lat` | number | Latitude in decimal degrees (WGS84).  |
    | `centroid.lng` | number | Longitude in decimal degrees (WGS84). |

    #### `PrecipitationIntensity` catalog

    | Value        | Meaning                                                                        |
    | ------------ | ------------------------------------------------------------------------------ |
    | `DRIZZLE`    | Very light drops or mist-like precipitation ideal for heads-up only messaging. |
    | `LIGHT`      | Gentle rain/snow with minimal expected impact.                                 |
    | `MODERATE`   | Sustained precipitation that can already reduce visibility or traction.        |
    | `HEAVY`      | Intense shower that can trigger pooling, hail, or rapid accumulation.          |
    | `VERY_HEAVY` | Longer, near-severe bursts that typically overwhelm drainage.                  |
    | `EXTREME`    | Exceptional events requiring immediate escalations and risk mitigation.        |
  </Tab>
</Tabs>

<Steps>
  <Step title="Validate the registration 🔍">
    Confirm that the combination of `precipitationId` + `registrationId` has not been processed before to avoid duplicate downstream actions.
  </Step>

  <Step title="Contextualize the intensity 🎯">
    Map `intensity` to your internal severity scale (e.g., trigger low-level alerts for `LIGHT`, but escalate for `HEAVY` and `EXTREME`).
  </Step>

  <Step title="Trigger downstream automation 🤖">
    Send SMS/push notifications, schedule inspections, or store the event for exposure analytics together with `timeEpochMillis`.
  </Step>
</Steps>
