Schema

One spec, two protocols.

The complete response schema for the Product Intelligence API, as OpenAPI 3.1 — the same shapes your agent discovers over MCP.

Endpoints.

GET

/v1/product-intelligence?product_name=…&detail=full|compact — the full snapshot, or the limited-coverage shape on a miss.

POST

/v1/product-intelligence/batch — 1–5 names, results in input order, each entry exactly the single-call shape.

The spec, abridged.

openapi.json (excerpt)
{
  "openapi": "3.1.0",
  "info": {
    "title": "Buyary Product Intelligence API",
    "version": "1.0.0",
    "description": "Synthesized product intelligence over Buyary's published catalog. The same service is exposed over remote MCP at https://services.buyary.com/mcp/ with identical response bodies."
  },
  "servers": [
    {
      "url": "https://services.buyary.com"
    }
  ],
  "paths": {
    "/v1/product-intelligence": {
      "get": {
        "summary": "Product intelligence for a single product",
        "operationId": "getProductIntelligence",
        "parameters": [
          {
            "name": "product_name",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "detail",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "full",
                "compact"
              ],
              "default": "full"
            },
            "description": "compact drops long-form prose fields; the shape is otherwise identical."
          }
        ],
        "responses": {
          "200": {
            "description": "The lookup ran - including found:false (limited coverage), which is a 200, not an error.",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/ProductIntelligence"
                    },
                    {
                      "$ref": "#/components/schemas/LimitedCoverage"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Missing product_name or unknown detail value."
          },
          "401": {
            "description": "Missing, malformed, revoked, or expired key."
          },
          "429": {
            "description": "Rate limited (120 requests/minute/key during the preview)."
          }
        }
      }
    },
    "/v1/product-intelligence/batch": {
      "post": {
        "summary": "Up to 5 products in one call",
        "operationId": "getProductIntelligenceBatch",
        "requestBody": {
          "required": true,
          "content": {
            "application

The full document includes both response schemas (ProductIntelligence and LimitedCoverage), the bearer security scheme, and every status code — view raw or try it in the playground.