Files
medusa-store/www/apps/resources/app/events-reference/page.mdx
Shahed Nasser 4fe28f5a95 chore: reorganize docs apps (#7228)
* reorganize docs apps

* add README

* fix directory

* add condition for old docs
2024-05-03 17:36:38 +03:00

3305 lines
48 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { Table } from "docs-ui"
export const metadata = {
title: `Events Reference`,
}
# {metadata.title}
This documentation page includes the list of events emitted by the Medusa application and their expected data payload.
## Batch Jobs Events
This section holds all events related to batch jobs.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`batch.created`
</Table.Cell>
<Table.Cell>
Triggered when a batch job is created.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of batch job
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`batch.updated`
</Table.Cell>
<Table.Cell>
Triggered when a batch job is updated.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of batch job
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`batch.canceled`
</Table.Cell>
<Table.Cell>
Triggered when a batch job is canceled.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of batch job
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`batch.pre_processed`
</Table.Cell>
<Table.Cell>
Triggered after the `preProcessBatchJob` of a batch job strategy is done executing.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of batch job
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`batch.confirmed`
</Table.Cell>
<Table.Cell>
Triggered after the batch job is done pre-processing and the batch job is not in dry-run mode.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of batch job
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`batch.processing`
</Table.Cell>
<Table.Cell>
Triggered when a batch job starts processing after it's confirmed.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of batch job
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`batch.completed`
</Table.Cell>
<Table.Cell>
Triggered when a batch job is done processing and is completed.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of batch job
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`batch.failed`
</Table.Cell>
<Table.Cell>
Triggered when an error occurs while running a batch job and the batch job fails.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of batch job
}
```
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Cart Events
This section holds all events related to a cart.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`cart.customer_updated`
</Table.Cell>
<Table.Cell>
Triggered when a cart is associated with a different email than it was already associated with, or if a customer logs in after adding items to their cart as a guest.
</Table.Cell>
<Table.Cell>
The cart ID passed as a string parameter.
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`cart.created`
</Table.Cell>
<Table.Cell>
Triggered when a cart is created.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of cart
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`cart.updated`
</Table.Cell>
<Table.Cell>
Triggered when a cart and data associated with it (payment sessions, shipping methods, user details, etc…) are updated.
</Table.Cell>
<Table.Cell>
An object with at least the ID of the cart, however, in most cases the entire cart model is available. You can refer to the [Cart entity](https://github.com/medusajs/medusa/blob/master/packages/medusa/src/models/cart.ts) for an idea of what fields to expect.
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Claim Events
This section holds all events related to claims.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`claim.created`
</Table.Cell>
<Table.Cell>
Triggered when a claim is created.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of claim
no_notification // boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`claim.updated`
</Table.Cell>
<Table.Cell>
Triggered when a claim is updated.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of claim
no_notification // boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`claim.canceled`
</Table.Cell>
<Table.Cell>
Triggered when a claim is canceled.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of claim
no_notification // boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`claim.fulfillment_created`
</Table.Cell>
<Table.Cell>
Triggered when fulfillment is created for a claim.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of claim
fulfillment_id, // string ID of the fulfillment created
no_notification // boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`claim.shipment_created`
</Table.Cell>
<Table.Cell>
Triggered when a claim fulfillment is set as “shipped”.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of claim
fulfillment_id, // string ID of the fulfillment created
no_notification // boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`claim.refund_processed`
</Table.Cell>
<Table.Cell>
Triggered when a claim of type “refunded” has been refunded.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of claim
no_notification // boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Claim Item Events
This section holds all events related to claim items.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`claim_item.created`
</Table.Cell>
<Table.Cell>
Triggered when claim items are created and associated with a claim. This happens during the creation of claims.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of claim item
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`claim_item.updated`
</Table.Cell>
<Table.Cell>
Triggered when a claim item is updated. This happens when a claim is updated.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of claim item
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`claim_item.canceled`
</Table.Cell>
<Table.Cell>
Triggered when a claim is canceled.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of claim item
}
```
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Currency Events
This section holds all events related to currencies.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`currency.updated`
</Table.Cell>
<Table.Cell>
Triggered when a currency is updated.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
code // string 3 character ISO code of the updated currency.
}
```
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Customer Events
This section holds all events related to customers.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`customer.created`
</Table.Cell>
<Table.Cell>
Triggered when a customer is created.
</Table.Cell>
<Table.Cell>
The entire customer passed as an object. You can refer to the [Customer entity](https://github.com/medusajs/medusa/blob/master/packages/medusa/src/models/customer.ts) for an idea of what fields to expect.
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`customer.updated`
</Table.Cell>
<Table.Cell>
Triggered when a customer is updated including their information or password, or when a customer account is created that is associated with an existing email (for example, if a customer placed an order with their email as a guest, then created an account with that email).
</Table.Cell>
<Table.Cell>
The entire customer passed as an object. You can refer to the [Customer entity](https://github.com/medusajs/medusa/blob/master/packages/medusa/src/models/customer.ts) for an idea of what fields to expect.
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`customer.password_reset`
</Table.Cell>
<Table.Cell>
Triggered when a customer requests to reset their password.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of customer
email, // string email of the customer
first_name, // string first name of the customer
last_name, // string last name of the customer
token // string reset password token
}
```
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Discount Events
This section holds all events related to discounts.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`discount.created`
</Table.Cell>
<Table.Cell>
Triggered when a discount is created.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of discount
}
```
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Draft Order Events
This section holds all events related to draft orders.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`draft_order.created`
</Table.Cell>
<Table.Cell>
Triggered when a draft order is created.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of draft order
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`draft_order.updated`
</Table.Cell>
<Table.Cell>
Triggered when a draft order and data associated with it (email, billing address, discount, etc…) are updated.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of draft order
}
```
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Gift Card Events
This section holds all events related to gift cards.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`gift_card.created`
</Table.Cell>
<Table.Cell>
Triggered when a gift card is created.
</Table.Cell>
<Table.Cell>
Object of the following format:
```
{
id //string ID of gift card
}
```
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Inventory Item Events
This section holds all events related to inventory items.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`inventory-item.created`
</Table.Cell>
<Table.Cell>
Triggered when an inventory item is created.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of the inventory item
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`inventory-item.updated`
</Table.Cell>
<Table.Cell>
Triggered when an inventory item is updated.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of the inventory item
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`inventory-item.deleted`
</Table.Cell>
<Table.Cell>
Triggered when an inventory item is deleted.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of the inventory item
}
```
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Inventory Level Events
This section holds all events related to inventory levels.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`inventory-level.created`
</Table.Cell>
<Table.Cell>
Triggered when an inventory level is created.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of the inventory level
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`inventory-level.updated`
</Table.Cell>
<Table.Cell>
Triggered when an inventory level is updated.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of the inventory level
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`inventory-level.deleted`
</Table.Cell>
<Table.Cell>
Triggered when an inventory level is deleted, which can be done either directly using its ID or based on the ID of a location. The returned ID depends on how the inventory level was deleted.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // (optional) string ID of the inventory level, available if it was deleted directly
location_id // (optional) string ID of location, available if level was deleted by location ID
}
```
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Invite Events
This section holds all events related to invites.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`invite.created`
</Table.Cell>
<Table.Cell>
Triggered when an invite is created for a user to join the admin team.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of invite
token, // string token generated to validate the invited user
user_email // string email of invited user
}
```
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Note Events
This section holds all events related to notes.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`note.created`
</Table.Cell>
<Table.Cell>
Triggered when a note is created.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of note
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`note.updated`
</Table.Cell>
<Table.Cell>
Triggered when a note is updated.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of note
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`note.deleted`
</Table.Cell>
<Table.Cell>
Triggered when a note is deleted.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of note
}
```
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## App Authentication Events
This section holds all events related to app authentications.
<Note>
Event names of app authentication are scoped specifically towards each application. When listening to these events, you must replace `<APP>` with the name of the application youre targeting.
</Note>
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`oauth.token_generated.<APP>`
</Table.Cell>
<Table.Cell>
Triggered when a token is generated for an application.
</Table.Cell>
<Table.Cell>
The returned data from the method `generateToken` in the auth handler service of the application.
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`oauth.token_refreshed.<APP>`
</Table.Cell>
<Table.Cell>
Triggered when the token of an application is refreshed.
</Table.Cell>
<Table.Cell>
The returned data from the method `refreshToken` in the auth handler service of the application.
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Order Events
This section holds all events related to orders.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`order.placed`
</Table.Cell>
<Table.Cell>
Triggered when a new order is placed.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of order
no_notification // boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`order.updated`
</Table.Cell>
<Table.Cell>
Triggered when an order and data associated with it (shipping method, shipping address, etc…) are updated.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of order
no_notification // (optional) boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`order.canceled`
</Table.Cell>
<Table.Cell>
Triggered when an order is canceled.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of order
no_notification // boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`order.completed`
</Table.Cell>
<Table.Cell>
Triggered when an order is completed.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of order
no_notification // boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`order.orders_claimed`
</Table.Cell>
<Table.Cell>
Triggered when an order is claimed.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, //string ID of order
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`order.gift_card_created`
</Table.Cell>
<Table.Cell>
Triggered when a gift card in an order is created.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of order
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`order.payment_captured`
</Table.Cell>
<Table.Cell>
Triggered when the payment of an order is captured.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of order
no_notification // boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`order.payment_capture_failed`
</Table.Cell>
<Table.Cell>
Triggered when capturing the payment of an order fails.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of order
payment_id, // string ID of Payment
error, // string error message
no_notification // boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`order.fulfillment_created`
</Table.Cell>
<Table.Cell>
Triggered when fulfillment is created for an order.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of order
fulfillment_id, // string ID of fulfillment
no_notification // boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`order.shipment_created`
</Table.Cell>
<Table.Cell>
Triggered when a shipment is created for fulfillment and the fulfillment is registered as “shipped”.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of order
fulfillment_id, // string ID of fulfillment
no_notification // boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`order.fulfillment_canceled`
</Table.Cell>
<Table.Cell>
Triggered when fulfillment of an order is canceled.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of order
fulfillment_id, // string ID of fulfillment
no_notification // boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`order.return_requested`
</Table.Cell>
<Table.Cell>
Triggered when a return of an order is requested.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of order
return_id, // string ID of return
no_notification // (optional) boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`order.items_returned`
</Table.Cell>
<Table.Cell>
Triggered when the items of an order have been returned and the order has been registered as “returned”.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of order
return_id, // string ID of return
no_notification // boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`order.return_action_required`
</Table.Cell>
<Table.Cell>
Triggered when the order is being registered as “returned” but there are additional actions required related to refunding the payment.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of order
return_id, // string ID of return
no_notification // boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`order.refund_created`
</Table.Cell>
<Table.Cell>
Triggered when the orders payment is refunded.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of order
refund_id, // string ID of refund
no_notification // boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`order.refund_failed`
</Table.Cell>
<Table.Cell>
Triggered when the refund of the orders payment fails.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, //string ID of order
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`order.swap_created`
</Table.Cell>
<Table.Cell>
Triggered when a swap for an order is created.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, //string ID of order
}
```
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Order Edit Events
This section holds all events related to order edits.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`order-edit.created`
</Table.Cell>
<Table.Cell>
Triggered when a order edit is created.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, //string ID of order edit
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`order-edit.updated`
</Table.Cell>
<Table.Cell>
Triggered when an order edit is updated.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, //string ID of order edit
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`order-edit.canceled`
</Table.Cell>
<Table.Cell>
Triggered when an order edit is canceled.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, //string ID of order edit
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`order-edit.declined`
</Table.Cell>
<Table.Cell>
Triggered when an order edit is declined.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, //string ID of order edit
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`order-edit.requested`
</Table.Cell>
<Table.Cell>
Triggered when an order edit is requested.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of order edit
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`order-edit.confirmed`
</Table.Cell>
<Table.Cell>
Triggered when an order edit is confirmed.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, //string ID of order edit
}
```
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Order Edit Item Changes Events
This section holds all events related to order edit item changes.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`order-edit-item-change.CREATED`
</Table.Cell>
<Table.Cell>
Triggered when an order edit item change is created.
</Table.Cell>
<Table.Cell>
```js noReport noCopy
{
id // string ID of item change
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`order-edit-item-change.DELETED`
</Table.Cell>
<Table.Cell>
Triggered when an order edit item change is deleted.
</Table.Cell>
<Table.Cell>
```js noReport noCopy
{
id // string ID of item change
}
```
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Payment Events
This section holds all events related to payment.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`payment.created`
</Table.Cell>
<Table.Cell>
Triggered when a payment is created.
</Table.Cell>
<Table.Cell>
The entire payment passed as an object. You can refer to the [Payment entity](/references/entities/classes/Payment) for an idea of what fields to expect.
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`payment.updated`
</Table.Cell>
<Table.Cell>
Triggered when a payment is updated.
</Table.Cell>
<Table.Cell>
The entire payment passed as an object. You can refer to the [Payment entity](/references/entities/classes/Payment) for an idea of what fields to expect.
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`payment.payment_captured`
</Table.Cell>
<Table.Cell>
Triggered when a payment is captured.
</Table.Cell>
<Table.Cell>
The entire payment passed as an object. You can refer to the [Payment entity](/references/entities/classes/Payment) for an idea of what fields to expect.
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`payment.payment_capture_failed`
</Table.Cell>
<Table.Cell>
Triggered when the capturing of a payment fails.
</Table.Cell>
<Table.Cell>
The entire payment passed as an object. You can refer to the [Payment entity](/references/entities/classes/Payment) for an idea of what fields to expect.
In addition, an error object is passed within the same object as the Payment Processor:
```js noReport noCopy
{
id, //string ID of payment
//... other payment fields
error: {
name, //string
message, //string
stack, //(optional) string
}
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`payment.payment_refund_created`
</Table.Cell>
<Table.Cell>
Triggered when a refund of a payment is created.
</Table.Cell>
<Table.Cell>
The entire refund passed as an object. You can refer to the [Refund entity](/references/entities/classes/Refund) for an idea of what fields to expect.
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`payment.payment_refund_failed`
</Table.Cell>
<Table.Cell>
Triggered when a payment's refund fails.
</Table.Cell>
<Table.Cell>
The entire payment passed as an object. You can refer to the [Payment entity](/references/entities/classes/Payment) for an idea of what fields to expect.
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Payment Collection Events
This section holds all events related to payment collections.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`payment-collection.created`
</Table.Cell>
<Table.Cell>
Triggered when a payment collection is created.
</Table.Cell>
<Table.Cell>
The entire payment collection passed as an object. You can refer to the [Payment Collection entity](/references/entities/classes/PaymentCollection) for an idea of what fields to expect.
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`payment-collection.updated`
</Table.Cell>
<Table.Cell>
Triggered when a payment collection is update.
</Table.Cell>
<Table.Cell>
The entire payment collection passed as an object. You can refer to the [Payment Collection entity](/references/entities/classes/PaymentCollection) for an idea of what fields to expect.
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`payment-collection.deleted`
</Table.Cell>
<Table.Cell>
Triggered when a payment collection is deleted.
</Table.Cell>
<Table.Cell>
The entire payment collection passed as an object. You can refer to the [Payment Collection entity](/references/entities/classes/PaymentCollection) for an idea of what fields to expect.
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`payment-collection.payment_authorized`
</Table.Cell>
<Table.Cell>
Triggered when a payment collection is either marked authorized or its payment session is authorized.
</Table.Cell>
<Table.Cell>
The entire payment collection passed as an object. You can refer to the [Payment Collection entity](/references/entities/classes/PaymentCollection) for an idea of what fields to expect.
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Product Events
This section holds all events related to products.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`product.created`
</Table.Cell>
<Table.Cell>
Triggered when a product is created.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of product
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`product.updated`
</Table.Cell>
<Table.Cell>
Triggered when a product and data associated with it (options, variant orders, etc…) is updated.
</Table.Cell>
<Table.Cell>
The entire product passed as an object. You can refer to the [Product entity](/references/entities/classes/Product) for an idea of what fields to expect.
In one case, when the `/admin/products/{id}` API Route is used to update the product, the payload is an object of the following format:
```js noReport noCopy
{
id, // id of product
fields // an array of field names that were updated
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`product.deleted`
</Table.Cell>
<Table.Cell>
Triggered when a product is deleted.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of product
}
```
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Product Category Events
This section holds all events related to product categories.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`product-category.created`
</Table.Cell>
<Table.Cell>
Triggered when a product category is created.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of category
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`product-category.updated`
</Table.Cell>
<Table.Cell>
Triggered when a product category is updated.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of category
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`product-category.deleted`
</Table.Cell>
<Table.Cell>
Triggered when a product category is deleted.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of category
}
```
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Product Variant Events
This section holds all events related to product variants.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`product-variant.created`
</Table.Cell>
<Table.Cell>
Triggered when a product variant is created.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of variant
product_id // string ID of product
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`product-variant.updated`
</Table.Cell>
<Table.Cell>
Triggered when a product variant is updated.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of variant
product_id, // string ID of product
fields // array of names of updated fields
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`product-variant.deleted`
</Table.Cell>
<Table.Cell>
Triggered when a product variant is deleted.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of variant
product_id, // string ID of product
metadata // object of the `metadata` field of the variant
}
```
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Publishable API Key Events
This section holds all events related to publishable API keys.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`publishable_api_key.created`
</Table.Cell>
<Table.Cell>
Triggered when a publishable API key is created.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of publishable API key
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`publishable_api_key.revoked`
</Table.Cell>
<Table.Cell>
Triggered when a publishable API key is revoked.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of publishable API key
}
```
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Region Events
This section holds all events related to regions.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`region.created`
</Table.Cell>
<Table.Cell>
Triggered when a region is created.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of region
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`region.updated`
</Table.Cell>
<Table.Cell>
Triggered when a region or data associated with it (countries, fulfillment providers, etc…) are updated.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of region
fields // array of names of updated fields
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`region.deleted`
</Table.Cell>
<Table.Cell>
Triggered when a region is deleted.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of region
}
```
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Reservation Item Events
This section holds all events related to reservation items.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`reservation-item.created`
</Table.Cell>
<Table.Cell>
Triggered when a reservation item is created.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of the reservation item
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`reservation-item.updated`
</Table.Cell>
<Table.Cell>
Triggered when an reservation item is updated.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of the reservation item
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`reservation-item.deleted`
</Table.Cell>
<Table.Cell>
Triggered when a reservation item is deleted, which can be done either directly using its ID or based on the ID of a location or a line item. The returned ID depends on how the reservation item was deleted.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // (optional) string ID of the reservation item, available if it was deleted directly
location_id // (optional) string ID of location, available if item was deleted by location ID
line_item_id // (optional) string ID of line item, available if reservation item was deleted by line item ID
}
```
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Sales Channel Events
This section holds all events related to sales channels.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`sales_channel.created`
</Table.Cell>
<Table.Cell>
Triggered when a sales channel is created.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of sales channel
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`sales_channel.updated`
</Table.Cell>
<Table.Cell>
Triggered when a sales channel is updated
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, //string ID of sales channel
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`sales_channel.deleted`
</Table.Cell>
<Table.Cell>
Triggered when a sales channel is deleted.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of sales channel
}
```
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Stock Location Events
This section holds all events related to stock locations.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`stock-location.created`
</Table.Cell>
<Table.Cell>
Triggered when a stock location is created.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of the stock location
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`stock-location.updated`
</Table.Cell>
<Table.Cell>
Triggered when an stock location is updated.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of the stock location
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`stock-location.deleted`
</Table.Cell>
<Table.Cell>
Triggered when a stock location is deleted.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of the stock location
}
```
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Swap Events
This section holds all events related to swaps.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`swap.created`
</Table.Cell>
<Table.Cell>
Triggered when a swap is created.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of swap
no_notification // boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`swap.received`
</Table.Cell>
<Table.Cell>
Triggered when a swap is registered as received.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of swap
order_id, // string ID of order
no_notification // boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`swap.fulfillment_created`
</Table.Cell>
<Table.Cell>
Triggered when fulfillment is created for a swap.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of swap
fulfillment_id, // string ID of fulfillment
no_notification // boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`swap.shipment_created`
</Table.Cell>
<Table.Cell>
Triggered when a shipment is created for a swap and the fulfillment associated with it is set as “shipped”.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of swap
fulfillment_id, // string ID of fulfillment
no_notification // boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`swap.payment_completed`
</Table.Cell>
<Table.Cell>
Triggered when payment is completed for a swap which happens when the cart associated with the swap is registered as completed.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of swap
no_notification // boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`swap.payment_captured`
</Table.Cell>
<Table.Cell>
Triggered when the payment is captured for a swap.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of swap
no_notification // boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`swap.payment_capture_failed`
</Table.Cell>
<Table.Cell>
Triggered when the capturing of the payment of a swap fails.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of swap
no_notification // boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`swap.refund_processed`
</Table.Cell>
<Table.Cell>
Triggered when a swaps amount difference is processed and refunded.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of swap
no_notification // boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`swap.process_refund_failed`
</Table.Cell>
<Table.Cell>
Triggered when processing and refunding a swaps amount difference fails.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id, // string ID of swap
no_notification // boolean indicating whether a notification should be sent
}
```
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## Token Events
This section holds all events related to tokens.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`order-update-token.created`
</Table.Cell>
<Table.Cell>
Triggered when a customer requests to claim an order and a token is created.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
old_email, //string email of order
new_customer_id, //string ID of customer
orders, //array of string IDs of orders
token, //string token used for verification
}
```
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>
## User Events
This section holds all events related to users.
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>
Event Name
</Table.HeaderCell>
<Table.HeaderCell>
Description
</Table.HeaderCell>
<Table.HeaderCell>
Event Data Payload
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
<Table.Row>
<Table.Cell>
`user.created`
</Table.Cell>
<Table.Cell>
Triggered when a user is created.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of user
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`user.updated`
</Table.Cell>
<Table.Cell>
Triggered when a user is updated.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of user
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`user.password_reset`
</Table.Cell>
<Table.Cell>
Triggered when a user requests to reset their password.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
email, // string email of user requesting to reset their password
token // token create to reset the password
}
```
</Table.Cell>
</Table.Row>
<Table.Row>
<Table.Cell>
`user.deleted`
</Table.Cell>
<Table.Cell>
Triggered when a user is deleted.
</Table.Cell>
<Table.Cell>
Object of the following format:
```js noReport noCopy
{
id // string ID of user
}
```
</Table.Cell>
</Table.Row>
</Table.Body>
</Table>