> ## Documentation Index
> Fetch the complete documentation index at: https://crushrewards.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# High-level summary statistics for a category or department

> High-level category statistics - product/brand/retailer counts, pricing (avg/min/max/median), avg rating, promo rate, in-stock rate, and top brands.



## OpenAPI

````yaml https://api.syntalic.com/openapi.json get /v1/analyst/category-summary
openapi: 3.1.0
info:
  title: Syntalic — Pricing Intelligence API
  version: 1.0.0
  description: >-
    Real-time competitive pricing data across US and Canadian e-commerce
    retailers (Amazon, Walmart, Best Buy, Target, etc.). Serves price
    comparisons, deal alerts, brand tracking, promotional intelligence, and
    market analytics to AI agents via x402 and MPP micropayments.
  x-guidance: >-
    This API has three endpoint groups organized by use case:


    **Shopper endpoints** ($0.01/query): Use these for price comparisons and
    deal hunting. Start with /v1/shopper/best-price?q=<product> to find the
    cheapest option across retailers. Use
    /v1/shopper/deal-finder?category=<category> to find discounted products. Use
    /v1/shopper/price-drop-alert?q=<product> to check for recent price drops.


    **Marketing endpoints** ($0.01/query): Use these for competitive analysis.
    /v1/marketing/competitive-landscape?category=<category> shows all products
    in a category with pricing. /v1/marketing/brand-tracker?brand=<brand> tracks
    a brand's pricing over time.
    /v1/marketing/share-of-shelf?category=<category> shows brand market share.


    **Analyst endpoints** ($0.02/query): Use these for market-level insights.
    /v1/analyst/inflation?category=<category> shows price trends over time.
    /v1/analyst/price-dispersion?category=<category> shows price spread across
    retailers.


    All endpoints accept an optional 'country' parameter (us or ca, defaults to
    us). Query parameters use 'q' for free-text search and 'category' for
    category-level queries.
servers:
  - url: https://api.syntalic.com
security: []
paths:
  /v1/analyst/category-summary:
    get:
      tags:
        - Analyst
      summary: High-level summary statistics for a category or department
      description: >-
        High-level category statistics - product/brand/retailer counts, pricing
        (avg/min/max/median), avg rating, promo rate, in-stock rate, and top
        brands.
      operationId: getCategorySummary
      parameters:
        - name: category
          in: query
          required: false
          schema:
            type: string
            minLength: 1
          description: >-
            Product category (e.g., electronics, grocery, beauty). Fuzzy
            human-readable input — the resolver maps it through tier 1-4 (id →
            exact name → trigram → embedding kNN) to a canonical category_id.
            Pair with `category_id` if you have a deterministic id from a prior
            call.
          example: electronics
        - name: category_id
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
          description: >-
            Deterministic category id. When set, bypasses the fuzzy resolver
            cascade and uses tier 1 (id lookup) directly. Agents that learned a
            canonical id from a prior call's `resolved.category_id` should pin
            it here for round-trip stability.
          example: 1
        - name: department
          in: query
          required: false
          schema:
            type: string
            minLength: 1
          description: >-
            Coarse depth-1 BrowseNodes department label (e.g., 'Electronics',
            'Grocery', 'Toys & Games'). Exact-match, case-sensitive Title Case.
            Optional alongside `category`; either parameter alone or both
            together are accepted. Use this for stable cross-agent queries where
            the leaf-level category is too noisy.
          example: Electronics
        - name: country
          in: query
          required: false
          schema:
            type: string
            enum:
              - us
              - ca
            default: us
          description: Country (us or ca)
          example: us
      requestBody:
        required: false
        description: >-
          Query parameters as JSON (alternative to URL query string for agents
          that prefer body-based invocation).
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              properties:
                category:
                  type: string
                  minLength: 1
                  description: >-
                    Product category (e.g., electronics, grocery, beauty). Fuzzy
                    human-readable input — the resolver maps it through tier 1-4
                    (id → exact name → trigram → embedding kNN) to a canonical
                    category_id. Pair with `category_id` if you have a
                    deterministic id from a prior call.
                  example: electronics
                category_id:
                  type: integer
                  minimum: 1
                  description: >-
                    Deterministic category id. When set, bypasses the fuzzy
                    resolver cascade and uses tier 1 (id lookup) directly.
                    Agents that learned a canonical id from a prior call's
                    `resolved.category_id` should pin it here for round-trip
                    stability.
                  example: 1
                department:
                  type: string
                  minLength: 1
                  description: >-
                    Coarse depth-1 BrowseNodes department label (e.g.,
                    'Electronics', 'Grocery', 'Toys & Games'). Exact-match,
                    case-sensitive Title Case. Optional alongside `category`;
                    either parameter alone or both together are accepted. Use
                    this for stable cross-agent queries where the leaf-level
                    category is too noisy.
                  example: Electronics
                country:
                  type: string
                  enum:
                    - us
                    - ca
                  default: us
                  description: Country (us or ca)
                  example: us
      responses:
        '200':
          description: Category summary
          content:
            application/json:
              schema:
                type: object
        '402':
          description: Payment Required

````