Shop and pay with the holder's saved card
Buys from online merchants (Amazon, Walmart, Target, Best Buy, DoorDash and more) and pays with the card the account holder saved themselves (see GET /get-saved-cards). One conversation per purchase:
- Send what to buy as ask, in plain language. Pass delivery_address on this first call when you know it.
- Relay reply to the holder and send their answers back as ask with the same conversation_id, until a cart comes back.
- Show the holder the cart. Once they agree, send its hash as confirm with the conversation_id. Nothing can be charged before this.
- The confirm answers awaiting_approval with an approval_url. Send it to your human; never open it yourself. They approve on their own device with their passkey. Then send the same confirm again to get order_placed.
A turn runs against a live merchant and can take up to two minutes. This call waits about 45 seconds: a turn that finishes in time comes back complete (state: done); a slower one comes back as state: running with a turn_id to poll with GET /get-purchase-turn.
This route is free. The holder's own card pays the merchant, and no identity verification is needed.
Request
- Base URL: https://laso.finance
- URL: https://laso.finance/buy-with-saved-card
- Auth: API key in header Authorization
Headers
Optional client-generated unique key (a UUID works) that makes this write safe to retry. A retry with the same key within 24 hours returns the recorded response of the original request, marked with an Idempotency-Replayed: true header, instead of performing the write again. Reusing a key with a different body or route is rejected with 422 (code: idempotency_key_reused); a retry that arrives while the original is still running gets 409 (code: idempotency_key_in_progress), so wait a moment and retry with the same key. Keys are scoped to the authenticated account.
Request body
Response
The turn, complete or still running.
Changes
No recorded changes to this operation across all 3 revisions of this API.