---
title: "Track checkout started"
method: POST
path: "/checkouts"
tags: ["Orders"]
---

# Track checkout started

`POST /checkouts`

Tracks a started checkout and triggers the ecommerce.checkout_started event, which can power abandoned checkout automations.

## Request body

- object
  - `checkoutId` string, required — Unique checkout identifier in your platform
  - `totalCents` integer, nullable — Checkout total in cents
  - `currency` string, nullable — ISO 4217 currency code
  - `checkoutUrl` string, nullable — URL the customer can use to resume the checkout
  - `customer` CommerceCustomer, required
    - `email` string, email, required
    - `externalId` string — Customer-owned app/customer/user ID
    - `firstName` string
    - `lastName` string
    - `attributes` object — Custom subscriber attributes to merge into the profile. Synced to ClickHouse for segment filtering.
  - `items` CommerceOrderItem[] — Checkout line items
    - `productId` string, required — Your product identifier (same value used when upserting products)
    - `variantId` string, nullable — Your variant identifier within the product
    - `sku` string, nullable
    - `title` string, required
    - `variantTitle` string, nullable
    - `quantity` integer, required
    - `priceCents` integer, nullable — Unit price in cents
  - `properties` object — Extra event properties to attach to the triggered event

## Response `200`

Checkout tracked successfully

- object
  - `success` boolean
  - `checkoutId` string
  - `subscriberId` string
  - `eventId` string

## Other responses

- `401` — Unauthorized
- `500` — Internal server error

---

[API](https://skmtc.net/sequenzy/apis/sequenzy-api.md) · [All operations](https://skmtc.net/sequenzy/apis/sequenzy-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sequenzy/sequenzy-api/versions/af1cf9620482/schema)
