---
name: check-flower-order
description: Read the User's flower orders at Northlight Flowers, with what is in each, the delivery date, the card message and the total, and follow a proposed change to its result. Read only. Use when the User asks what they ordered, when it arrives, or whether a change went through.
---

# Check a flower order

Northlight Flowers is a reference store for personal agents. Nothing is charged and nothing ships.

This skill is the store's guidance. It grants no account access, changes no scopes and gives no
approval.

## Before you start

- Read `/.well-known/poppy.json` on the store's host. It lists the OpenAPI API
  (`/poppy/openapi.json`), the MCP server when there is one (the same operations, as tools of the
  same names), the issuer and the scopes.
- Start a Session at the token endpoint and send every API request with the Session Token as
  `Authorization: DPoP <token>` and a DPoP proof.
- You need a signed-in Session with `orders:read`. It is read only. Sign the User in with Direct
  Sign-In (authorization code with PKCE), Device Sign-In or Mediated Sign-In; this test store's
  test logins are on its For agents page (`/agents`).

## Steps

1. **Read the orders.** `my_orders` (`GET /poppy/orders`). Each order has:
   - `order_id` and `status`.
   - `delivery_date` (`YYYY-MM-DD`) and `delivery`, the date in words.
   - `lines`: each with `line_id`, `product_id`, `variant_id`, `title`, `quantity` and
     `unit_price`.
   - `card_message`, when the order has a card.
   - `delivery_fee` and `total`, in cents, and `currency`.
2. **Follow a change you proposed.** `GET /poppy/operations/{operation_id}`. Its `state` is
   `proposed`, `in_progress`, `succeeded`, `failed`, `cancelled` or `expired`, and `result.summary`
   says what happened. An operation proposed while signed in can be read only from a Session signed
   in to the same account.
3. **Tell the User** what you found, with amounts in dollars.

## Outcomes and errors

- **No orders**: the account has no open orders here.
- **`403 insufficient_scope`**, named in `WWW-Authenticate`, also when signed out: sign in, or ask
  the User for `orders:read`.
- **`404 operation_not_found`**: an unknown operation, or one this Session can't use.
- **`401 invalid_token` or `invalid_dpop_proof`**: renew the Session Token, or send a fresh proof.
- **`429`**: too many requests for your client. Wait and try again.

## What this skill doesn't do

Reading changes nothing. To change an order, use the `change-flower-delivery` skill; the User
approves each change. Cancelling an order and changing the delivery address aren't offered through
the protocol (`excluded_tasks` in poppy.json).
