find-and-add + create a Stella-hosted checkout the customer taps to pay.
Returns {checkout_url, requires_confirmation: true}. Stella
NEVER auto-pays — the customer is always the final approver.
Phase 6 decision C2.
Budget consumption happens at ORDER creation in
CheckoutFinalizer.finalize (decision A5), NOT here. The
pre-flight 402 catches obvious cap breaches early but doesn’t
reserve budget — this means an agent COULD create N checkouts
that cumulatively exceed the cap, but only the ones the
customer actually pays for consume budget.
Documentation Index
Fetch the complete documentation index at: https://docs.stella-commerce.com/llms.txt
Use this file to discover all available pages before exploring further.
Agent → Stella: POST /api/agent/intent/find-and-buy.
Same semantics as find-and-add, plus a Stella-hosted checkout that the customer taps to pay. Stella NEVER charges the card on the agent's behalf — the customer is always the final approver. Phase 6 decision C2.
1 - 512Shipping address dict. Must contain at least first_name, last_name, address1, city, country. Phase 6-C2 v1 doesn't validate the schema strictly — it passes through to CheckoutService.create_checkout which stores it as-is on checkouts.shipping_address. Agents should pass what their LLM-tool-call schema produces.
1 <= x <= 100 <= x <= 10000000Email for the order confirmation. Defaults to the agent's linked customer.email when omitted.
Successful Response
Response shape for POST /api/agent/intent/find-and-buy.
requires_confirmation is always True — the agent MUST surface
checkout_url to the customer for final approval. Auto-paying
on the agent's behalf is explicitly out of scope (Phase 6
decision C2; revisit if regulators ever say it's safe).
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.
Seconds until the chk_ token in the URL fragment expires. After this, the customer's tap returns a 401 and the agent must re-issue.
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.