---
title: "Read a purchase conversation's orders"
method: GET
path: "/get-purchase-conversation"
tags: ["cards"]
---

# Read a purchase conversation's orders

`GET /get-purchase-conversation`

## Request

- Base URL: `https://laso.finance`
- URL: `https://laso.finance/get-purchase-conversation`
- Auth: API key in header `Authorization`

The record of a purchase conversation: whether a turn is still running, the last checkout attempt, and every order it placed with its charge status. Use it to track an order, and to settle what happened before repeating a confirm whose outcome is unclear (`in_progress`, `charge_status: unknown`, or a `failed` turn).

## Query parameters

- `conversation_id` string, required

## Response `200`

The conversation.

- object
  - `conversation_id` string
  - `open` boolean
  - `turn_in_progress` boolean: True while a turn is still running. Wait for it to clear before reading `orders`.
  - `last_checkout` object, nullable
    - `merchant` string
    - `merchant_name` string
    - `status` 'placed' | 'pending' | 'denied' | 'needs_approval' | 'error'
    - `message` string, nullable
    - `order_id` string, nullable
    - `decline_code` string, nullable
    - `approval_url` string, nullable
    - `charge_status` string, nullable
    - `total_cents` integer, nullable
    - `at` integer: Milliseconds since the epoch.
  - `orders` object[]: Every order this conversation placed, oldest first.
    - `order_id` string
    - `merchant` string
    - `merchant_name` string
    - `status` 'settled' | 'confirming' | 'cancelled' | 'failed'
    - `total_cents` integer: The all-in amount, fees included.
    - `card_last4` string, nullable
    - `placed_at` integer, nullable: Milliseconds since the epoch.
  - `carts` object[]: Carts still open in the conversation.
    - `merchant` string: Merchant id, e.g. `retail` or `doordash`.
    - `merchant_name` string: Display name, e.g. `Amazon`.
    - `items` object[]
      - `name` string
      - `quantity` integer
      - `price_cents` integer, nullable
      - `product_id` string, nullable: The merchant's id for the line, usually its product link.
    - `fees_cents` integer: All fees combined, including the service fee.
    - `tip_cents` integer
    - `total_cents` integer: The all-in total to show the account holder.
    - `approved_ceiling_cents` integer, nullable: The most the merchant may charge once final tax and shipping settle. This is what the holder's approval covers; any unused amount is released. Null when the merchant prices the cart exactly.
    - `hash` string: Identity of exactly this cart. Send it back as `confirm` to place it.

## Other responses

- `400`: `conversation_id` is missing, or no card is saved on this account yet.
- `404`: No such conversation on this account.

---

[API](https://skmtc.dev/laso/apis/laso-finance-x402-api.md) · [All operations](https://skmtc.dev/laso/apis/laso-finance-x402-api/llms.txt) · [OpenAPI document](https://skmtc.dev/laso/apis/laso-finance-x402-api/revisions/ff8ce20b49ba?raw)
