PRODUCT · CHECKOUTS

Clear the transaction. On the merchant's own site.

Submit a task and the agent completes the full checkout on the merchant's live site: cart, address, payment, confirmation. One task can span multiple SKUs and merchants. Every state change streams back to you.

POST /checkout

Submit a checkout task.

Pass the customer, the items, and a payment session. The task runs async and the agent drives the merchant's own flow end to end. A single task can carry multiple SKUs across multiple merchants.

  • Idempotent, retry-safe by design
  • verifyBeforePlacement for confirmation flows
  • Payment by sessionId, so card data never touches your backend
The sessionId comes from a hosted Payment Session. See Payments →
curl https://api.cartai.ai/checkout \
-H "x-api-key: $CARTAI_KEY" \
-H "Content-Type: application/json" \
-d '{
"customer": {
"contact": {
"firstName": "Carol", "lastName": "Sturka",
"email": "carol@example.com", "phone": "+16505551234"
},
"shippingAddress": {
"addressLine1": "6104 Plano Pkwy", "city": "Plano",
"province": "TX", "postalCode": "75093", "country": "US"
},
"shippingMethod": { "strategy": "cheapest" },
"payment": { "data": { "sessionId": "019ed477-7954-7d92-8884-d442d1f91549" } }
},
"tasks": [{
"url": "https://www.ulta.com/p/rouge-dior-lipstick-pimprod2043044?sku=2618511",
"quantity": 1,
"selectedVariant": { "color": "581 Virevolte" }
}],
"options": {
"verifyBeforePlacement": false,
"allowPartialCheckoutForMultiSku": true
}
}'
1 SKU · 1 merchantA single product, start to finish.
Many SKUs · 1 merchantA full cart at one retailer.
Many SKUs · many merchantsOne task across retailers, an agent per merchant.
HOW IT CLEARS

Two paths, one order.

CartAI isn't tied to a single method. Today it drives the merchant's live checkout; as merchants adopt commerce protocols, the same task places the order straight through them.

Drive the live site

Today

The agent navigates the merchant's real checkout (cart, address, payment, confirmation) and clears the order on the actual site.

Place through the protocol

UCP-ready

As merchants expose commerce protocols like ACP, UCP, WebMCP etc, the same task places the order directly through these protocols.

WEBHOOKS

Track every task to confirmation.

Subscribe once in the Admin portal and CartAI pushes real-time events through the full task lifecycle. A transaction that clears but can't be tracked isn't really cleared, so every state transition is a webhook.

  • Real-time HTTP events per state change
  • Basic Auth or OAuth on your endpoint
  • Normalized payload across every merchant
// Subscribe in the CartAI Admin portal.
// Events arrive in order, terminal on
// COMPLETED, FAILED, or CANCELLED.
QUEUED
-> STARTED
-> IN_PROGRESS
-> CONFIRMED (optional)
-> PLACED
-> COMPLETED
QUEUEDSubmitted to the execution queue
STARTEDExecutor picks up the task
IN_PROGRESSNavigating, filling, transacting
CONFIRMEDBuyer approved (optional)
PLACEDOrder submitted to the merchant
COMPLETEDCleared and confirmed
terminal: COMPLETED · FAILED · CANCELLED

Hosted Cart

Coming soon

Don't want to build the checkout UI? A drop-in, white-label cart (variant selection, address, payment, confirmation) on the same primitive underneath. Embed it in one line.

Earn on every checkout

Every cleared transaction can capture affiliate commission automatically, with the revenue shared back to you. See Monetization →

Built for high volume. Scale and parallel execution.

Submit in bulk. Tasks queue and run in parallel, one agent per merchant.