---
title: "Trigger event"
method: POST
path: "/api/v1/events/trigger"
tags: ["Events"]
---

# Trigger event

`POST /api/v1/events/trigger`

Trigger a webhook event for a product on demand, in the shape your
registered destinations would normally receive. Use during integration
testing to exercise your handlers without waiting for an upstream update.

The event is targeted at the calling developer only. Pass an
`Idempotency-Key` header so retried calls produce the same event ID and
the delivery layer dedups.

## Request body

- EventTriggerRequest — Request body for `POST /api/v1/events/trigger`. Generates a webhook event for the product at the given URL so integrations can be exercised on demand without waiting for an upstream update.
  - `productUrl` string, required — Product URL (e.g. `https://flybyjing.com/products/sichuan-chili-crisp`).
  - `topic` 'product.updated', required — The webhook event topic to trigger.

## Response `201`

Created

- Event
  - `id` string, required — Unique identifier for the event. This can be used as an idempotency key to avoid double-processing of the same underlying event.
  - `object` 'event', required
  - `type` union, required
    - 'checkout_intent.offer_retrieved' | 'checkout_intent.offer_failed' | 'checkout_intent.completed' | 'checkout_intent.order_failed'
    - 'shipment.created' | 'shipment.updated'
    - 'product.updated' | 'product.removed'
    - 'webhook_endpoint.verification_challenge'
  - `createdAt` string, required — Timestamp of when the event was created.
  - `source` EventSource, required — A reference to the object which triggered the event. You should use the API to fetch the full object details.
    - `id` string, required — ID of the object which triggered the event.
    - `type` 'checkout_intent' | 'shipment' | 'product' | 'webhook_endpoint', required
  - `data` EventData — The event data payload. The concrete shape depends on `source.type`. Refer to [webhook event types](https://docs.rye.com/api-v2/webhooks/types) for the payload shape associated with each `source.type`.

## Other responses

- `401` — Authentication Failed
- `404` — Not Found
- `422` — Validation Error
- `500` — Internal Server Error

---

[API](https://skmtc.dev/rye-com/apis/universal-checkout-api.md) · [All operations](https://skmtc.dev/rye-com/apis/universal-checkout-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/rye-com/universal-checkout-api/revisions/175c7f9e090e/schema)
