Skip to main content
POST
Post Intent Find And Add

Headers

X-Site-ID
string
required
authorization
string | null

Body

application/json

Agent → Stella: POST /api/agent/intent/find-and-add.

Run a natural-language intent through the search engine, pick the best match (top-ranked, in-stock, cheapest variant by default), and put it in a fresh cart owned by the agent's customer.

query
string
required
Required string length: 1 - 512
quantity
integer
default:1

Number of units to add. Capped at 10 — agents that need bulk should call find-and-add multiple times so each decision shows up in the audit trail.

Required range: 1 <= x <= 10
max_unit_price_cents
integer | null

Optional ceiling — if the cheapest matching variant exceeds this, the call returns 404 with no_affordable_match instead of adding it. Use to enforce 'under £30' style intents.

Required range: 0 <= x <= 10000000

Response

Successful Response

Response shape for POST /api/agent/intent/find-and-add.

Includes the chosen product + variant so the agent doesn't need a follow-up call to render a confirmation message; the cart summary makes the impact visible at a glance.

cart
AgentCart · object
required

LLM-shape cart snapshot. Mirrors the storefront cart but in integer-cents currency and with summary_for_llm for the one-line agent-readable digest.

chosen
AgentCatalogProduct · object
required

LLM-shape product.

summary_for_llm is the single-paragraph natural-language summary an LLM can read to decide if this matches a user's intent. The structured fields below it are for follow-up calls (cart adds, detail renders) and reasoning attribution. Keep this shape FLAT — LLMs handle nesting poorly.

chosen_variant_id
string<uuid>
required
quantity_added
integer
required
match_reasons
string[]
required
reasoning
string
required