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

# SparkPost Event Types

> Understand SparkPost event types, bounce classifications, and how they map to SendPost.

SparkPost events are tracked with specific event type IDs in SendPost, allowing you to distinguish between native SendPost events and SparkPost events.

***

## SparkPost Event Types

| Event Type      | ID | SparkPost Event                        | Description                                     |
| --------------- | -- | -------------------------------------- | ----------------------------------------------- |
| SP Sent         | 37 | `injection`                            | Email accepted by SparkPost for delivery        |
| SP Delivered    | 38 | `delivery`                             | Email successfully delivered to recipient       |
| SP Deferred     | 39 | `delay`                                | Temporary delivery delay (SparkPost will retry) |
| SP Dropped      | 40 | `policy_rejection`                     | Email dropped by SparkPost policy               |
| SP Hard Bounced | 41 | `bounce`, `out_of_band`                | Permanent delivery failure                      |
| SP Soft Bounced | 42 | (reserved)                             | Temporary delivery failure                      |
| SP Opened       | 43 | `open`, `initial_open`                 | Recipient opened the email                      |
| SP Clicked      | 44 | `click`                                | Recipient clicked a link                        |
| SP Spam Report  | 45 | `spam_complaint`                       | Recipient marked email as spam                  |
| SP Unsubscribe  | 46 | `list_unsubscribe`, `link_unsubscribe` | Recipient unsubscribed                          |

***

## Bounce Type Details

SparkPost categorizes bounces into different types:

<AccordionGroup>
  <Accordion title="Hard Bounce (ID: 41)" icon="circle-xmark">
    Permanent failure (invalid email, domain doesn't exist). Includes both synchronous `bounce` events and asynchronous `out_of_band` bounces. These addresses should be removed from your list.
  </Accordion>

  <Accordion title="Soft Bounce (ID: 42)" icon="circle-exclamation">
    Temporary failure. SparkPost may retry these automatically. Consider these as temporary issues.
  </Accordion>
</AccordionGroup>

***

## SparkPost Bounce Classes

SparkPost provides detailed bounce classification via `bounce_class`:

| Bounce Class | Category              | Description                   |
| ------------ | --------------------- | ----------------------------- |
| 1            | Undetermined          | Unable to classify            |
| 10           | Invalid Recipient     | Hard bounce - invalid address |
| 20           | Soft Bounce           | Temporary failure             |
| 21           | DNS Failure           | Temporary DNS lookup failure  |
| 22           | Mailbox Full          | Recipient's mailbox is full   |
| 23           | Too Large             | Message size too large        |
| 24           | Timeout               | Connection timeout            |
| 25           | Admin Failure         | Administrative failure        |
| 30           | Generic Bounce        | No RCPT permission            |
| 40           | Generic Bounce        | Network error                 |
| 50           | Mail Block            | Blocked by recipient          |
| 51           | Spam Related          | Blocked as spam               |
| 52           | Spam Content          | Content flagged as spam       |
| 53           | Prohibited Attachment | Attachment type blocked       |
| 60           | Auto-Reply            | Auto-reply message            |
| 70           | Transient Failure     | Temporary system failure      |
| 80           | Subscribe             | Subscribe request             |
| 90           | Unsubscribe           | Unsubscribe request           |
| 100          | Challenge-Response    | Challenge-response system     |

***

## Event Data

Each SparkPost event includes:

* Message ID (for correlation)
* Recipient email
* Timestamp
* SMTP response code (for bounces)
* User agent (for opens)
* Clicked URL (for clicks)
* SparkPost-specific IDs (`message_id`, `transmission_id`)
* Bounce class (for bounce events)
* Geographic information (country, region, city)

***

## Event Type Quick Reference

| Event       | ID | SparkPost Event Name                   |
| ----------- | -- | -------------------------------------- |
| Sent        | 37 | `injection`                            |
| Delivered   | 38 | `delivery`                             |
| Deferred    | 39 | `delay`                                |
| Dropped     | 40 | `policy_rejection`                     |
| Hard Bounce | 41 | `bounce`, `out_of_band`                |
| Soft Bounce | 42 | (reserved)                             |
| Open        | 43 | `open`, `initial_open`                 |
| Click       | 44 | `click`                                |
| Spam        | 45 | `spam_complaint`                       |
| Unsubscribe | 46 | `list_unsubscribe`, `link_unsubscribe` |

***

## Next Steps

* [View analytics](/guides/sparkpost/analytics) to see event statistics
* [Troubleshoot issues](/guides/sparkpost/troubleshooting) with event processing
