{"name":"Amazon Business Procurement Agent","description":"B2B procurement agent for Amazon Business with UCP protocol support. Enables partner procurement agents to search products, view details, compare options, manage carts, place orders, and retrieve invoices via Universal Commerce Protocol (UCP) over A2A.","version":"1.0.0","url":"https://business-agents.amazon.com/procurement/a2a","preferredTransport":"JSONRPC","documentationUrl":"https://developer-docs.amazon.com/amazon-business/docs/what-are-amazon-business-apis","capabilities":{"streaming":true,"pushNotifications":false,"extensions":[{"uri":"https://ucp.dev/2026-04-08/specification/reference","required":true,"description":"Universal Commerce Protocol (UCP) - catalog, cart, ordering, shopping session creation, and invoicing capabilities with Amazon Business vendor extensions","params":{"capabilities":{"com.amazon.business.procurement.catalog.search":[{"version":"2026-09-30"},{"action":"catalog_search","skillId":"catalog_search"}],"com.amazon.business.procurement.catalog.lookup":[{"version":"2026-09-30"},{"action":"catalog_lookup","skillId":"catalog_lookup"},{"action":"catalog_compare","skillId":"catalog_compare"}],"com.amazon.business.procurement.catalog.offers":[{"version":"2026-09-30"},{"action":"catalog_offers","skillId":"catalog_offers"}],"com.amazon.business.procurement.cart":[{"version":"2026-09-30"},{"action":"list_carts","skillId":"list_carts"},{"action":"get_cart","skillId":"get_cart"},{"action":"add_items","skillId":"add_items"},{"action":"update_items","skillId":"update_items"},{"action":"clear_cart","skillId":"clear_cart"},{"action":"estimate_purchase_cost","skillId":"estimate_purchase_cost"}],"com.amazon.business.procurement.ordering":[{"version":"2026-09-30"},{"action":"place_order","skillId":"place_order"},{"action":"get_order_result","skillId":"get_order_result"}],"com.amazon.business.procurement.shopping":[{"version":"2026-09-30"},{"action":"create_shopping_session","skillId":"create_shopping_session"}],"com.amazon.business.procurement.purchase":[{"version":"2026-09-30"},{"action":"create_purchase_intent","skillId":"create_purchase_intent"},{"action":"update_purchase_intent","skillId":"update_purchase_intent"},{"action":"get_purchase_intent","skillId":"get_purchase_intent"},{"action":"submit_purchase_intent","skillId":"submit_purchase_intent"},{"action":"submit_purchase_order","skillId":"submit_purchase_order"},{"action":"cancel_purchase_intent","skillId":"cancel_purchase_intent"}],"com.amazon.business.procurement.invoice":[{"version":"2026-09-30"},{"action":"search_invoices","skillId":"search_invoices"},{"action":"lookup_invoice","skillId":"lookup_invoice"},{"action":"lookup_invoice_line_items","skillId":"lookup_invoice_line_items"},{"action":"lookup_invoice_document","skillId":"lookup_invoice_document"}]}}},{"uri":"https://a2a-extensions.amazon.com/customer-intent/v1","required":false,"description":"Upstream user-agent conversation history and intent context for contextual grounding","params":{"dataPartKey":"a2a.ext.customer_intent","maxMessages":50,"maxTokenEstimate":8000,"supportedRoles":["user","agent"],"schema":"https://business-agents.amazon.com/2026-09-30/schemas/extensions/customer_intent.json"}},{"uri":"https://a2ui.org/a2a-extension/a2ui/v0.9","required":false,"description":"MCP Apps over A2UI - Amazon Business renders Product Detail (catalog_lookup) as a sandboxed McpApp UI surface. Opt-in: the standard UCP payload is always also returned, so clients that do not activate this extension are unaffected.","params":{"supportedCatalogIds":["https://maya.amazon.com/a2ui/catalogs/procurement-product-detail/v0_9/catalog.json"],"acceptsInlineCatalogs":true,"surfaceCapabilities":{"com.amazon.business.procurement.catalog.lookup":["catalog_lookup"]}}},{"uri":"https://a2a-extensions.amazon.com/locale/v1","required":false,"description":"Locale this endpoint serves: region, currency, default reading language, and the supported reading languages. Advisory metadata; a request selects its language with procurement_context.language.","params":{"region":"US","currency":"USD","defaultLanguage":"en-US"}}]},"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Bearer token authentication for API access"}},"defaultInputModes":["application/json"],"defaultOutputModes":["application/json"],"skills":[{"id":"catalog_search","name":"Product Search","description":"Discover candidate products when NO specific catalog product is in focus yet. INPUT SHAPE: a natural-language query; zero resolved product IDs required. Covers attribute/price searches, alternatives, accessories, recommendations, trending, gifts, bare product names, result-list refinements, and category-level buying questions. Returns basic face-card data only — detailed attributes, feature bullets, and reviews are NOT returned by search; call catalog_lookup for those. Do NOT route here when the buyer's question is about specific products already identified — use catalog_lookup (one), catalog_compare (2–6), or catalog_offers (purchase terms).","tags":["catalog","search","products"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"catalog_lookup","name":"Product Lookup","description":"Answer any question about EXACTLY ONE identified product. INPUT SHAPE: exactly one product ID. Covers detail views, factoids (features, compatibility, warranty), variant selection, and review sentiment. Do NOT route here for ANY comparison (catalog_compare), when the question is about sellers/price/condition/shipping/stock/bulk tiers (catalog_offers), or when no product is identified yet (catalog_search). ONE call is sufficient.","tags":["catalog","lookup","products"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"catalog_compare","name":"Product Compare","description":"Handle ANY product comparison. INPUT SHAPE: 1–6 product IDs plus a comparison question. Pass 2–6 IDs to compare a specific set (compare/rank, evaluation against a spec or budget, a question naming one member relative to others — 'why is X more expensive than the other two'); pass exactly 1 ID to compare that product against similar products the supplier selects ('compare this with similar'). ALL comparison routes here, never to catalog_lookup. NEVER invent IDs. If products aren't identified yet, use catalog_search first. For a non-comparison single-product question or full detail, use catalog_lookup. Returns comparison attributes for a side-by-side table plus insights — not full product detail. ONE call is sufficient.","tags":["catalog","compare","products"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"]},{"id":"catalog_offers","name":"Product Offers","description":"Get purchase terms — the per-seller offers — for the SELECTED variant. INPUT SHAPE: the selected variant's ID + a buying-terms question. Covers cheapest seller, condition options (new/used/refurbished), shipping speed, delivery date, stock availability, bulk/quantity-tier pricing, Prime/fulfillment, and seller filtering. Boundary: catalog_lookup answers what the product IS; this tool answers how the selected variant can be BOUGHT. If no product is identified yet, use catalog_search first.","tags":["catalog","offers","products"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"list_carts","name":"List Carts","description":"List buyer's cart summaries. Entry point — resolves carts from buyer identity and region.","tags":["cart","procurement"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"get_cart","name":"Get Cart","description":"Retrieve current cart state with items, quantities, and totals.","tags":["cart","procurement"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"add_items","name":"Add Items to Cart","description":"Add items to cart. Additive — existing items preserved. Partial success supported.","tags":["cart","procurement"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"update_items","name":"Update Cart Items","description":"Update item quantities. Set quantity to 0 to remove an item.","tags":["cart","procurement"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"clear_cart","name":"Clear Cart","description":"Remove all items from cart.","tags":["cart","procurement"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"estimate_purchase_cost","name":"Estimate Purchase Cost","description":"Estimate what the cart will cost to be delivered to a given address, including shipping, tax and fees. Requires a shipping address. Returns either priced totals or the reasons the purchase could not be priced, never both.","tags":["cart","procurement"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"place_order","name":"Place Order","description":"Place an order atomically. Supports trial simulation, pending approval, per-item expectations, and cost allocation.","tags":["ordering","checkout"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"get_order_result","name":"Get Order Result","description":"Recall the placement decision by checkout_id. Returns acceptance/rejection status, reasons, and pricing snapshot.","tags":["ordering"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"create_shopping_session","name":"Shopping Session","description":"Create an Amazon Business shopping session for browser hand-off. Returns a continue_url to open in the buyer's browser.","tags":["shopping","punchout","checkout","session"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"create_purchase_intent","name":"Create Purchase Intent","description":"Begin a new interactive purchasing session. Provide line items and region; the platform returns a Purchase Intent snapshot with outstanding requirements.","tags":["purchase","checkout","procurement"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"update_purchase_intent","name":"Update Purchase Intent","description":"Submit a full-state snapshot to a purchase intent. The platform recalculates pricing, availability, tax, and requirements, and returns the updated state.","tags":["purchase","checkout","procurement"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"get_purchase_intent","name":"Get Purchase Intent","description":"Read the current state of a purchase intent or purchase order without mutation.","tags":["purchase","checkout","procurement"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"submit_purchase_intent","name":"Submit Purchase Intent","description":"Submit the purchase intent for approval as a contractual confirmation. Transitions the resource to pending_approval.","tags":["purchase","checkout","procurement"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"submit_purchase_order","name":"Submit Purchase Order","description":"Record approval and place orders. Second contractual confirmation boundary; transitions the resource to completed with per-line order IDs.","tags":["purchase","checkout","procurement"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"cancel_purchase_intent","name":"Cancel Purchase Intent","description":"Cancel a pending-approval purchase intent. Records the approver's rejection decision; no orders are placed.","tags":["purchase","checkout","procurement"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"search_invoices","name":"Search Invoices","description":"Search a buyer's invoices within a date range for a region. Supports an optional natural-language query plus structured filters (type, status, PO number, customer payment reference) and cursor-based pagination (max 20 per page). Returns header-level invoice records; use lookup_invoice for full detail.","tags":["invoice","reconciliation","procurement"],"inputModes":["application/json","text/plain"],"outputModes":["application/json"]},{"id":"lookup_invoice","name":"Lookup Invoice","description":"Retrieve a single invoice's header details by region and invoice number — totals, issuer, business details, payment, consolidation, correction, and available documents. Does not include line items; use lookup_invoice_line_items for those.","tags":["invoice","reconciliation","procurement"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"lookup_invoice_line_items","name":"Lookup Invoice Line Items","description":"Retrieve paginated line items for a single invoice — product details, charge breakdown, purchase details, cost allocation, and distributions.","tags":["invoice","reconciliation","procurement"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"lookup_invoice_document","name":"Lookup Invoice Document","description":"Get a pre-signed download URL for an invoice document (e.g., PDF, FatturaPA, Facturae, XRechnung, ZUGFeRD) by region, invoice number, and the document_id from the invoice's documents array.","tags":["invoice","reconciliation","procurement"],"inputModes":["application/json"],"outputModes":["application/json"]}],"additionalInterfaces":[{"url":"https://business-agents.amazon.com/procurement/a2a","transport":"JSONRPC"}],"supportsAuthenticatedExtendedCard":false}