Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs-test.rye.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Checkout intents

Webhooks are sent when a checkout intent transitions between states. See the Checkout Intent Lifecycle for the full state machine.
EventDescriptionState Transition
checkout_intent.offer_retrievedAn offer is ready with pricing and availability details.retrieving_offerawaiting_confirmation
checkout_intent.offer_failedOffer retrieval failed (e.g., unsupported merchant, product unavailable).retrieving_offerfailed
checkout_intent.completedThe order was successfully placed and confirmed.placing_ordercompleted
checkout_intent.order_failedOrder placement failed after confirmation (e.g., out of stock, payment declined).placing_orderfailed

Shipments

Shipment events are sent for completed orders (i.e. checkout intents in the completed state), and are fired whenever the corresponding shipment’s state changes.
EventDescriptionOccurs
shipment.createdA shipment was created for an order.When the merchant adds shipping info to a completed order for the first time.
shipment.updatedA shipment was updated for an order.Whenever a shipment is updated, e.g. when a tracking number becomes available or the parcel is on board a delivery vehicle.

Products

Product events are sent when a merchant with a Rye connector app installed publishes a change to their product catalog.
EventDescriptionOccurs
product.updatedA product was created or modified.When a product’s attributes, variants, pricing, or availability was changed by the merchant.
product.removedA product was removed from the catalog.When a product is deleted or unpublished by the merchant.
Unlike checkout intent and shipment events, product events are snapshot events which include a data field:
  • For product.updated, data contains the full Product object as of the time the event was emitted.
  • For product.removed, data is omitted — the product no longer exists to include.
Example product.updated payload:
{
  "id": "evt_rye-dev-store.myshopify.com:10501236982062_updated_developer_2070443601311540",
  "object": "event",
  "type": "product.updated",
  "createdAt": "2026-04-23T02:42:24.042Z",
  "source": {
    "type": "product",
    "id": "rye-dev-store.myshopify.com:10501236982062"
  },
  "data": {
    "id": "rye-dev-store.myshopify.com:10501236982062",
    "url": "https://rye-dev-store.myshopify.com/products/widget-pro",
    "name": "Widget Pro",
    "brand": "Acme",
    "sku": "SKU-12345"
  }
}
Example product.removed payload:
{
  "id": "evt_rye-dev-store.myshopify.com:10501236982062_removed_developer_2070443601311540",
  "object": "event",
  "type": "product.removed",
  "createdAt": "2026-04-23T02:42:24.042Z",
  "source": {
    "type": "product",
    "id": "rye-dev-store.myshopify.com:10501236982062"
  }
}

Webhook endpoints

EventDescription
webhook_endpoint.verification_challengeA verification challenge is sent to the webhook endpoint to verify that the endpoint is reachable and can receive webhooks. To pass verification, your endpoint must respond with a JSON response containing a challenge field with the value of the source.id field from the webhook payload.