> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agentcard.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Shopping

> Let your agent order from merchants end-to-end with buy

The `buy` surface lets your agent shop at linked merchants and pay with a virtual card — all in natural language. It's the entire shopping flow: search, cart, budget, and checkout. There are no separate search/cart/checkout tools to wire up; `buy` is conversational and runs the whole flow.

## Supported merchants

`rappi`, `goodeggs`, and `doordash`. DoorDash is multi-store, so you can scope to a specific store before searching.

## Use it from your agent

With the [MCP server](/personal/mcp/overview) connected, describe what you want:

> "Order a caesar salad from Zuni on DoorDash."

The `buy` tool asks for anything it needs (delivery address, which store), builds the cart, confirms the items and total, and only places the order after you explicitly confirm. Call `buy` again to answer its questions or to place the order.

## Use it from the CLI

```bash theme={null}
agent-cards buy the caesar salad from Zuni on doordash
```

or open the chat with a bare `agent-cards buy`. The granular subcommands (`buy link`, `buy search`, `buy add`, `buy checkout`, …) are documented in the [Buy CLI reference](/personal/cli/buy).

## Linking a merchant

Before shopping, link the merchant account once:

* **One-time code:** `buy link <merchant> …` then `buy confirm <merchant> --pending <id> --code <code>`.
* **Hosted browser login (DoorDash):** `buy connect doordash`.

## Budgets and safety

* Set a spend cap with `buy budget <period> <limitDollars>` (`daily`, `weekly`, `monthly`, or `total`).
* Checkout is destructive and always requires explicit confirmation (`--yes` on the CLI).
* Use `--idempotency-key` on retries so a timed-out checkout never double-charges.
* On **Free**, you get 1 lifetime order; Basic and Pro are unlimited (see [Plans](/personal/plans)).

## After ordering

```bash theme={null}
agent-cards buy orders <merchant>            # order history
agent-cards buy track <merchant> <orderId>   # status + ETA
agent-cards buy reorder <merchant> <orderId> # re-create a past cart
```

Set out-of-stock handling per item with `buy substitution <merchant> <orderId> <itemMsid> <similar|refund|contact>`.
