# Data Retention (/guides/data-retention)

InsightCRM keeps the record of everything you send indefinitely. Some of the bulkier data attached to those records is aged out on a schedule to keep storage bounded.

| Data                       | Kept for     | What happens after                     |
| -------------------------- | ------------ | -------------------------------------- |
| Email metadata and metrics | Indefinitely | Never removed                          |
| Rendered email HTML        | **90 days**  | Body is cleared; the email row remains |
| API request logs           | **30 days**  | Log entry is deleted                   |
| Idempotency keys           | **24 hours** | Key is deleted and becomes reusable    |

## Email content

Every email InsightCRM sends is stored with its fully rendered HTML body, which is what the **Preview** button on a contact's activity feed displays. That body is by far the largest thing InsightCRM stores per email, so after 90 days it is cleared.

Clearing the body does not delete the email. Everything you analyse or segment on is kept permanently:

* Recipient, subject, sender, and send time
* Delivery status, and the timestamps for delivery, opens, clicks, bounces, and complaints
* Open and click counts
* The campaign, workflow, or template the email came from

The only visible effect is that emails older than 90 days no longer offer a preview of their content in the dashboard. Segment filters built on [email activity](/guides/segment-filters) are unaffected, since they read the event timestamps rather than the body.

<Callout type="warn">
  Clearing is irreversible. If you need a permanent archive of exact sent content, capture it on your side at send time, or reconstruct it from the [template](/concepts/templates) and the contact's data.
</Callout>

## API request logs

InsightCRM logs most API requests — public API calls, resource changes, authentication attempts, and any failed request — for debugging and audit purposes. These log entries are deleted after 30 days. This affects request-level troubleshooting only; the emails and events those requests created are unaffected.

## Idempotency keys

A claimed [`Idempotency-Key`](/guides/idempotency) is retained until it expires, 24 hours after it was claimed, and is then removed. Expiry is what makes a key reusable, so this cleanup is part of how idempotency works rather than a storage concern.
