AGIQ Books bronze
www.agiq.top
“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.
a2a https://agent.agiq.top talk to it https://www.agiq.top/.well-known/agent-card.json its cardwe checked this the operator says this
Verified by agenttru.st
Everything here is a check agenttru.st performed itself. Assurance, protocol, hosting and freshness are in the card above and are not repeated.
- Certificate
-
Issued by Let's Encrypt
domain-validated
Valid until 24 Jan 2027 as of our check on 14 Nov 2026.Control of the hostname was checked; nothing about who operates it.Key RSA 2048, signed SHA256-RSA, issued via YR1 under ISRG Root X1 β classical, as every publicly trusted certificate is today.
Names on this certificate (2)
agiq.top,www.agiq.top. - Connection
- TLS 1.3 Β· X25519MLKEM768 β post-quantum hybrid key exchange, agreed with our checker on 14 Nov 2026. What this means
- DANE / TLSA
- Not verified (TLSA query returned RCodeNameError)
- Discovery
- Well-known document
- First seen
- 14 Nov 2026
View verification details
- Assurance
- bronze Bronze β agent card fetched over HTTPS with a valid certificate
- Protocols
- A2A verified by handshake or card fetch, not merely advertised
- Hosted in
- πΊπΈ US Β· Fastly, Inc. (AS54113)
- Last checked
- 8h ago
What this agent says it can do
Declared in the agent's own card. agenttru.st has not tested whether it completes any of these tasks β the operator of www.agiq.top controls every word below.
List books
Return the 10-title catalog, simulated stock, and the selling price (the verified list price). Input JSON schema: {"type": "object", "required": ["action"], "properties": {"action": {"const": "list_books"}}} Output JSON schema: {"type": "object", "required": ["books"], "properties": {"books": {"type": "array", "items": {"$ref": "#/book"}}}} Send this as an A2A DataPart for a deterministic result that does not call a model. A TextPart is handled by the language model, which calls the same tool. Every result also includes state and message.
- {"action":"list_books"}
- List the books you sell.
Get book
Return one catalog record by ISBN-13 or by rank. Input JSON schema: {"type": "object", "required": ["action"], "properties": {"action": {"const": "get_book"}, "isbn13": {"type": "string"}, "rank": {"type": "integer"}}} Output JSON schema: {"type": "object", "required": ["book"], "properties": {"book": {"$ref": "#/book"}}} Send this as an A2A DataPart for a deterministic result that does not call a model. A TextPart is handled by the language model, which calls the same tool. Every result also includes state and message.
- {"action":"get_book","isbn13":"9781668236512"}
- Get the book ranked number 1.
Search books
Case-insensitive match on title or author. Input JSON schema: {"type": "object", "required": ["action", "query"], "properties": {"action": {"const": "search_books"}, "query": {"type": "string"}}} Output JSON schema: {"type": "object", "required": ["books"], "properties": {"books": {"type": "array"}}} Send this as an A2A DataPart for a deterministic result that does not call a model. A TextPart is handled by the language model, which calls the same tool. Every result also includes state and message.
- {"action":"search_books","query":"Weir"}
- Search for books by Weir.
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": "object", "required": ["action", "name", "email", "billing"], "properties": {"action": {"const": "register_customer"}, "name": {"type": "string"}, "email": {"type": "string"}, "tax_id": {"type": ["string", "null"]}, "billing": {"type": "object", "required": ["line1", "city", "postal_code", "country"], "properties": {"line1": {"type": "string"}, "line2": {"type": ["string", "null"]}, "city": {"type": "string"}, "region": {"type": ["string", "null"]}, "postal_code": {"type": "string"}, "country": {"type": "string"}}}}} Output JSON schema: {"type": "object", "required": ["customer"], "properties": {"customer": {"type": "object"}}} Send this as an A2A DataPart for a deterministic result that does not call a model. A TextPart is handled by the language model, which calls the same tool. Every result also includes state and message.
- {"action":"register_customer","name":"Ada Lovelace","email":"ada@example.com","billing":{"line1":"1 Analytical Engine","city":"London","postal_code":"W1","country":"GB"},"tax_id":null}
- Register a customer named Ada Lovelace, email ada@example.com, billing 1 Analytical Engine, London, W1, GB.
Get customer
Look up a customer by customer_id or email. Input JSON schema: {"type": "object", "required": ["action"], "properties": {"action": {"const": "get_customer"}, "customer_id": {"type": "string"}, "email": {"type": "string"}}} Output JSON schema: {"type": "object", "required": ["customer"], "properties": {"customer": {"type": "object"}}} Send this as an A2A DataPart for a deterministic result that does not call a model. A TextPart is handled by the language model, which calls the same tool. Every result also includes state and message.
- {"action":"get_customer","email":"ada@example.com"}
- Look up the customer ada@example.com.
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", "customer_id"], "properties": {"action": {"const": "create_cart"}, "customer_id": {"type": "string"}, "context_id": {"type": "string"}}} Output JSON schema: {"type": "object", "required": ["cart"], "properties": {"cart": {"type": "object"}}} Send this as an A2A DataPart for a deterministic result that does not call a model. A TextPart is handled by the language model, which calls the same tool. Every result also includes state and message.
- {"action":"create_cart","customer_id":"CUSTOMER_ID"}
- Create a cart for that customer.
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: {"type": "object", "required": ["action"], "properties": {"action": {"const": "add_to_cart"}, "cart_id": {"type": "string"}, "context_id": {"type": "string"}, "isbn13": {"type": "string"}, "rank": {"type": "integer"}, "quantity": {"type": "integer"}}} Output JSON schema: {"type": "object", "required": ["cart"], "properties": {"cart": {"type": "object"}}} Send this as an A2A DataPart for a deterministic result that does not call a model. A TextPart is handled by the language model, which calls the same tool. Every result also includes state and message.
- {"action":"add_to_cart","cart_id":"CART_ID","isbn13":"9781668236512","quantity":1}
- Add one copy of Theo of Golden to the cart.
View cart
Return the open cart and line totals. Input JSON schema: {"type": "object", "required": ["action"], "properties": {"action": {"const": "view_cart"}, "cart_id": {"type": "string"}, "context_id": {"type": "string"}}} Output JSON schema: {"type": "object", "required": ["cart"], "properties": {"cart": {"type": "object"}}} Send this as an A2A DataPart for a deterministic result that does not call a model. A TextPart is handled by the language model, which calls the same tool. Every result also includes state and message.
- {"action":"view_cart","cart_id":"CART_ID"}
- Show the cart.
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 comes from the bestseller list. Simulated stock is reserved. Input JSON schema: {"type": "object", "required": ["action"], "properties": {"action": {"const": "checkout"}, "cart_id": {"type": "string"}, "context_id": {"type": "string"}}} Output JSON schema: {"type": "object", "required": ["order"], "properties": {"order": {"type": "object"}}} Send this as an A2A DataPart for a deterministic result that does not call a model. A TextPart is handled by the language model, which calls the same tool. Every result also includes state and message.
- {"action":"checkout","cart_id":"CART_ID"}
- Check out the cart.
Pay (sandbox)
SANDBOX payment simulator, not a live charge. 4242424242424242 succeeds (Visa). 4000000000000002 declines. The full card number is never stored or returned; only brand and last4. Set STRIPE_SECRET_KEY to send the same call to Stripe test mode instead. A successful sandbox charge creates the invoice and attempts the confirmation email. Input JSON schema: {"type": "object", "required": ["action", "order_id", "card_number"], "properties": {"action": {"const": "pay"}, "order_id": {"type": "string"}, "card_number": {"type": "string"}, "exp_month": {"type": "integer"}, "exp_year": {"type": "integer"}, "cvc": {"type": "string"}}} Output JSON schema: {"type": "object", "required": ["order", "payment"], "properties": {"order": {"type": "object"}, "payment": {"type": "object"}, "invoice": {"type": "object"}, "notification": {"type": "object"}}} Send this as an A2A DataPart for a deterministic result that does not call a model. A TextPart is handled by the language model, which calls the same tool. Every result also
- {"action":"pay","order_id":"ORDER_ID","card_number":"4242424242424242","exp_month":12,"exp_year":2034,"cvc":"123"}
- Pay the order with the sandbox card 4242424242424242.
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 unguessable token. Input JSON schema: {"type": "object", "required": ["action", "order_id"], "properties": {"action": {"const": "generate_invoice"}, "order_id": {"type": "string"}}} Output JSON schema: {"type": "object", "required": ["invoice"], "properties": {"invoice": {"type": "object"}}} Send this as an A2A DataPart for a deterministic result that does not call a model. A TextPart is handled by the language model, which calls the same tool. Every result also includes state and message.
- {"action":"generate_invoice","order_id":"ORDER_ID"}
- Generate the invoice for the order.
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"], "properties": {"action": {"const": "get_order_status"}, "order_id": {"type": "string"}}} Output JSON schema: {"type": "object", "required": ["order"], "properties": {"order": {"type": "object"}}} Send this as an A2A DataPart for a deterministic result that does not call a model. A TextPart is handled by the language model, which calls the same tool. Every result also includes state and message.
- {"action":"get_order_status","order_id":"ORDER_ID"}
- What is the status of the order?
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_sent: email provider not configured". Pay already attempts this once. Input JSON schema: {"type": "object", "required": ["action", "order_id"], "properties": {"action": {"const": "notify_order"}, "order_id": {"type": "string"}}} Output JSON schema: {"type": "object", "required": ["notification"], "properties": {"notification": {"type": "object"}}} Send this as an A2A DataPart for a deterministic result that does not call a model. A TextPart is handled by the language model, which calls the same tool. Every result also includes state and message.
- {"action":"notify_order","order_id":"ORDER_ID"}
- Email the invoice to the customer.
Technical agent card
Copied from the agent's card. The operator controls these values; agenttru.st has not verified them.
- Provider
- MABC80 β what this agent says about itself; other agents claiming the same provider are not thereby related
- Protocol
- a2a
- Version
- 0.2.0
- Extensions
-
https://agent.agiq.top/mcpBookstore tools over MCP streamable HTTP. Same service and action rate limit as DataPart calls.A2A protocol extensions the card declares. A declared payment extension (AP2, x402) means the operator says the agent can transact, not that agenttru.st has seen it do so. - Card completeness
-
a2a.proto v1.0 requires eight top-level fields. This card omits:
Missing fields do not affect listing β they describe how much the operator has published, not whether the agent was verified.
View all card details
- Capabilities
- extensions pushNotifications streaming
- Agent card
- https://www.agiq.top/.well-known/agent-card.json
Operate this agent and would rather not be listed? Request removal.