---
title: "SYNC_CART_SUCCEEDED"
method: POST
path: "sync_cart_succeeded"
---

# SYNC_CART_SUCCEEDED

`POST sync_cart_succeeded` (webhook)

Fired when adding products to a user's merchant cart is successful.

## Payload

- SyncCartSucceededWebhook
  - `event` string: Name of the webhook event.
  - `external_user_id` string: Unique identifier for the user.
  - `merchant` object
    - `id` integer: Unique identifier for the merchant.
    - `name` string: Name of the merchant.
    - `logo` string: Logo of the merchant.
  - `data` object
    - `cart` object
      - `products` object[]: List of products in the cart.
        - `external_id` string: External identifier for the product.
        - `fulfillment` object: Fulfillment information containing the currently selected fulfillment preference in the root and additional fulfillment options in `fulfillment.options`.
          - `id` string: Unique identifier for the fulfillment preference.
          - `type` union: Type of fulfillment preference
            - 'UNSCHEDULED_DELIVERY': Delivered from a fulfillment center to the user's address without a scheduled delivery window.
            - 'SCHEDULED_DELIVERY': Delivered from a store or local fulfillment center to the user's address in a scheduled delivery window.
            - 'UNSCHEDULED_PICKUP': Picked up from a store by the user without a scheduled pickup window.
          - `label` string: Label of the fulfillment preference from the merchant.
          - `availabilityStart` string, nullable: Timestamp of the fulfillment preference in UTC. ISO 8601 format. If unscheduled, this value represents the date of the fulfillment. If scheduled, this value represents the beginning of the scheduled window.
          - `availabilityEnd` string, nullable: Timestamp of the end of the scheduled fulfillment preference window in UTC. ISO 8601 format. If unscheduled, this value will be the same as the availabilityStart. If scheduled, this value represents the end of the scheduled window.
          - `price` object: Price information for the fulfillment preference.
            - `total` string: Total price of the fulfillment preference. This is included in `price.total` for the entire cart, despite not being listed in `price.adjustments`.
            - `currency` string: Currency of the price. ISO 4217 format.
          - `options` Fulfillment[]: Alternative fulfillment options to the currently selected fulfillment preference.
            - `id` string: Unique identifier for the fulfillment preference.
            - `type` union: Type of fulfillment preference
              - …
            - `label` string: Label of the fulfillment preference from the merchant.
            - `availabilityStart` string, nullable: Timestamp of the fulfillment preference in UTC. ISO 8601 format. If unscheduled, this value represents the date of the fulfillment. If scheduled, this value represents the beginning of the scheduled window.
            - `availabilityEnd` string, nullable: Timestamp of the end of the scheduled fulfillment preference window in UTC. ISO 8601 format. If unscheduled, this value will be the same as the availabilityStart. If scheduled, this value represents the end of the scheduled window.
            - `price` object: Price information for the fulfillment preference.
              - …
      - `delivery_location` object, nullable: Delivery location for the cart.
        - `address` object
          - `line1` string: First line of the delivery address.
          - `line2` string, nullable: Second line of the delivery address.
          - `city` string: City portion of the delivery address.
          - `region` string: Region portion of the delivery address, usually a state abbreviation. Must be an ISO 3166-2 sub-division code.
          - `postal_code` string: Postal code of the delivery address.
          - `country` string: Country portion of the delivery address. Must be an ISO 3166-1 alpha-2 code.
        - `first_name` string, nullable: First name for the delivery address.
        - `last_name` string, nullable: Last name for the delivery address.
        - `phone_number` string, nullable: Phone number for the delivery address in E.164 format.
      - `price` CartPrice
        - `sub_total` string: Subtotal price of the products in the cart.
        - `adjustments` Adjustment[]: List of price adjustments.
          - `type` 'DISCOUNT' | 'TAX' | 'TIP' | 'FEE' | 'REFUND' | 'UNRECOGNIZED': Type of adjustment.
          - `label` string, nullable: Label of the adjustment from the merchant.
          - `amount` string: Amount of the adjustment.
        - `total` string: Total price of the products in the cart.
        - `currency` string: Currency of the price. ISO 4217 format.
  - `timestamp` integer: Unix timestamp of the webhook event in UTC.

---

[API](https://skmtc.dev/knotapi/apis/knot-api.md) - [All operations](https://skmtc.dev/knotapi/apis/knot-api/llms.txt) - [OpenAPI document](https://skmtc.dev/knotapi/apis/knot-api/revisions/f10ecfa12c00?raw)
