# AGIQ Books

> Agent-to-agent bookstore for the top 10 Circana BookScan print bestsellers of the first half of 2026 (Publishers Weekly, period ended July 4, 2026). Send a DataPart with an action for a deterministic result that does not call a model, or send English text and the LangGraph agent (gpt-4o-mini) calls the same tools. Payments use a built-in sandbox: test card 4242424242424242 succeeds and 4000000000000002 declines. The full card number is never stored. Set STRIPE_SECRET_KEY to use Stripe test mode instead. The same tools are MCP streamable HTTP at https://agent.agiq.top/mcp.

- **Domain**: `agiq.top`
- **Provider**: MABC80 (https://agiq.top)
- **A2A protocol version**: 0.3.0
- **Kind**: a2a_agent
- **Live-responds (last probe)**: None
- **Signed card**: False
- **Streaming**: False
- **Quality score**: 90%

## Skills
- **List books** — Return the 10-title catalog, simulated stock, and the selling price (the verified list price).

Input JSON schema:
{"type": "object", "required": ["action"], "p
- **Get book** — Return one catalog record by ISBN-13 or by rank.

Input JSON schema:
{"type": "object", "required": ["action"], "properties": {"action": {"const": "get_book"}, 
- **Search books** — Case-insensitive match on title or author.

Input JSON schema:
{"type": "object", "required": ["action", "query"], "properties": {"action": {"const": "search_bo
- **Register customer** — Create a customer. Email must contain a name, a domain, and a dot. tax_id is optional and is not checked against a registry.

Input JSON schema:
{"type": "objec
- **Get customer** — Look up a customer by customer_id or email.

Input JSON schema:
{"type": "object", "required": ["action"], "properties": {"action": {"const": "get_customer"}, "
- **Create cart** — Open a cart for a customer. The A2A contextId is stored when the caller omits context_id.

Input JSON schema:
{"type": "object", "required": ["action", "custome
- **Add to cart** — Add a priced title. A title with a null list price is not for sale. cart_id may be omitted when the A2A contextId already has an open cart.

Input JSON schema:

- **View cart** — Return the open cart and line totals.

Input JSON schema:
{"type": "object", "required": ["action"], "properties": {"action": {"const": "view_cart"}, "cart_id":
- **Checkout** — Turn the cart into an order awaiting sandbox payment. Tax is a simulated 8 percent of the merchandise subtotal. Shipping is a flat 5.00 USD. Neither figure come
- **Pay (sandbox)** — SANDBOX payment simulator, not a live charge. 4242424242424242 succeeds (Visa). 4000000000000002 declines. The full card number is never stored or returned; onl
- **Generate invoice** — Build a sequential UBL 2.1 / EN 16931-style XML invoice and a PDF for a paid order. The same invoice is returned if it already exists. Download URLs require an 
- **Get order status** — Return the order, payment (last4 and brand only), invoice links, and email status.

Input JSON schema:
{"type": "object", "required": ["action", "order_id"], "p
- **Email order** — Send the order confirmation and the invoice to the customer. If neither Resend nor SMTP is configured, the action still succeeds and the status is exactly "not_

## URLs
- Agent card: https://agiq.top/.well-known/agent-card.json
- Page (HTML): https://agenstry.com/agents/agiq.top
- Documentation: https://agiq.top
