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

# Event types

> Browse webhook events and inspect their payload schemas.

The catalog below covers card, transaction, and expense-report events.
Expand an event to inspect its standard-envelope field types and an example
payload.

## Card events

<AccordionGroup className="webhook-event-catalog">
  <Accordion title="card_creation.event" description="Emitted when a new card is created." id="card_creation-event">
    <Columns cols={2} className="webhook-event-details">
      <Column>
        **Payload fields**

        <ResponseField name="event" type="string" required>
          Always `card_creation.event`.
        </ResponseField>

        <ResponseField name="eventId" type="string" required>
          The per-endpoint notification id. It remains stable across delivery retries; deduplicate deliveries by this value.
        </ResponseField>

        <ResponseField name="entityId" type="string" required>
          The id of the entity that triggered the event.
        </ResponseField>

        <ResponseField name="eventTimestamp" type="string<date-time>" required>
          When the event occurred.
        </ResponseField>
      </Column>

      <Column>
        **Example payload**

        ```json theme={null}
        {
          "event": "card_creation.event",
          "eventId": "<string>",
          "entityId": "c_example",
          "eventTimestamp": "2023-11-07T05:31:56Z"
        }
        ```
      </Column>
    </Columns>
  </Accordion>

  <Accordion title="card.delete" description="Emitted when a card is closed." id="card-delete">
    <Columns cols={2} className="webhook-event-details">
      <Column>
        **Payload fields**

        <ResponseField name="event" type="string" required>
          Always `card.delete`.
        </ResponseField>

        <ResponseField name="eventId" type="string" required>
          The per-endpoint notification id. It remains stable across delivery retries; deduplicate deliveries by this value.
        </ResponseField>

        <ResponseField name="entityId" type="string" required>
          The id of the entity that triggered the event.
        </ResponseField>

        <ResponseField name="eventTimestamp" type="string<date-time>" required>
          When the event occurred.
        </ResponseField>
      </Column>

      <Column>
        **Example payload**

        ```json theme={null}
        {
          "event": "card.delete",
          "eventId": "<string>",
          "entityId": "c_example",
          "eventTimestamp": "2023-11-07T05:31:56Z"
        }
        ```
      </Column>
    </Columns>
  </Accordion>

  <Accordion title="card.update" description="Emitted when a card is activated, paused, or unpaused. A new card can emit this immediately after its creation event." id="card-update">
    <Columns cols={2} className="webhook-event-details">
      <Column>
        **Payload fields**

        <ResponseField name="event" type="string" required>
          Always `card.update`.
        </ResponseField>

        <ResponseField name="eventId" type="string" required>
          The per-endpoint notification id. It remains stable across delivery retries; deduplicate deliveries by this value.
        </ResponseField>

        <ResponseField name="entityId" type="string" required>
          The id of the entity that triggered the event.
        </ResponseField>

        <ResponseField name="eventTimestamp" type="string<date-time>" required>
          When the event occurred.
        </ResponseField>
      </Column>

      <Column>
        **Example payload**

        ```json theme={null}
        {
          "event": "card.update",
          "eventId": "<string>",
          "entityId": "c_example",
          "eventTimestamp": "2023-11-07T05:31:56Z"
        }
        ```
      </Column>
    </Columns>
  </Accordion>
</AccordionGroup>

## Transaction events

<AccordionGroup className="webhook-event-catalog">
  <Accordion title="aggregated_transaction.create" description="Emitted when a Transaction first appears in the transaction feed." id="aggregated_transaction-create">
    <Columns cols={2} className="webhook-event-details">
      <Column>
        **Payload fields**

        <ResponseField name="event" type="string" required>
          Always `aggregated_transaction.create`.
        </ResponseField>

        <ResponseField name="eventId" type="string" required>
          The per-endpoint notification id. It remains stable across delivery retries; deduplicate deliveries by this value.
        </ResponseField>

        <ResponseField name="entityId" type="string" required>
          The id of the entity that triggered the event.
        </ResponseField>

        <ResponseField name="eventTimestamp" type="string<date-time>" required>
          When the event occurred.
        </ResponseField>
      </Column>

      <Column>
        **Example payload**

        ```json theme={null}
        {
          "event": "aggregated_transaction.create",
          "eventId": "<string>",
          "entityId": "agg_tx_example",
          "eventTimestamp": "2023-11-07T05:31:56Z"
        }
        ```
      </Column>
    </Columns>
  </Accordion>

  <Accordion title="aggregated_transaction.update" description="Emitted when an existing Transaction changes status or displayed details. The same Transaction can emit this event more than once." id="aggregated_transaction-update">
    <Columns cols={2} className="webhook-event-details">
      <Column>
        **Payload fields**

        <ResponseField name="event" type="string" required>
          Always `aggregated_transaction.update`.
        </ResponseField>

        <ResponseField name="eventId" type="string" required>
          The per-endpoint notification id. It remains stable across delivery retries; deduplicate deliveries by this value.
        </ResponseField>

        <ResponseField name="entityId" type="string" required>
          The id of the entity that triggered the event.
        </ResponseField>

        <ResponseField name="eventTimestamp" type="string<date-time>" required>
          When the event occurred.
        </ResponseField>
      </Column>

      <Column>
        **Example payload**

        ```json theme={null}
        {
          "event": "aggregated_transaction.update",
          "eventId": "<string>",
          "entityId": "agg_tx_example",
          "eventTimestamp": "2023-11-07T05:31:56Z"
        }
        ```
      </Column>
    </Columns>
  </Accordion>
</AccordionGroup>

## Expense report events

<AccordionGroup className="webhook-event-catalog">
  <Accordion title="expense_report.create" description="Emitted when a new expense report is created." id="expense_report-create">
    <Columns cols={2} className="webhook-event-details">
      <Column>
        **Payload fields**

        <ResponseField name="event" type="string" required>
          Always `expense_report.create`.
        </ResponseField>

        <ResponseField name="eventId" type="string" required>
          The per-endpoint notification id. It remains stable across delivery retries; deduplicate deliveries by this value.
        </ResponseField>

        <ResponseField name="entityId" type="string" required>
          The id of the entity that triggered the event.
        </ResponseField>

        <ResponseField name="eventTimestamp" type="string<date-time>" required>
          When the event occurred.
        </ResponseField>
      </Column>

      <Column>
        **Example payload**

        ```json theme={null}
        {
          "event": "expense_report.create",
          "eventId": "<string>",
          "entityId": "expense_report_example",
          "eventTimestamp": "2023-11-07T05:31:56Z"
        }
        ```
      </Column>
    </Columns>
  </Accordion>

  <Accordion title="expense_report.update" description="Emitted when an existing expense report changes, including updates to its status or editable report details." id="expense_report-update">
    <Columns cols={2} className="webhook-event-details">
      <Column>
        **Payload fields**

        <ResponseField name="event" type="string" required>
          Always `expense_report.update`.
        </ResponseField>

        <ResponseField name="eventId" type="string" required>
          The per-endpoint notification id. It remains stable across delivery retries; deduplicate deliveries by this value.
        </ResponseField>

        <ResponseField name="entityId" type="string" required>
          The id of the entity that triggered the event.
        </ResponseField>

        <ResponseField name="eventTimestamp" type="string<date-time>" required>
          When the event occurred.
        </ResponseField>
      </Column>

      <Column>
        **Example payload**

        ```json theme={null}
        {
          "event": "expense_report.update",
          "eventId": "<string>",
          "entityId": "expense_report_example",
          "eventTimestamp": "2023-11-07T05:31:56Z"
        }
        ```
      </Column>
    </Columns>
  </Accordion>
</AccordionGroup>
