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

# Get compact autocomplete suggestions

> Returns separately grouped product, reviewed-brand, reviewed-family, and category suggestions. Results are compact navigation hints rather than full resources; use each suggestion's `href` or the corresponding collection/detail operation to retrieve complete data.



## OpenAPI

````yaml /openapi/v1.yaml get /search/suggestions
openapi: 3.1.0
info:
  title: Independent Utah DABS API
  version: 1.0.0
  summary: Database-backed product, store, and reported-inventory reads
  description: >
    Version 1 pilot contract. All requests read a locally published database
    revision;

    no public request waits for or triggers Utah DABS. Reported quantities are

    observations, not purchase guarantees. This service is independent and is
    not

    affiliated with or endorsed by Utah DABS. The current local seed contains

    historical inventory fixtures; clients must inspect response warnings and

    coverage metadata.
servers:
  - url: http://127.0.0.1:5185/v1
    description: Local development only; set MINTLIFY_API_BASE_URL before publishing
security: []
tags:
  - name: Products
  - name: Search
  - name: Brands
  - name: Product families
  - name: Changes
  - name: Exports
  - name: Stores
  - name: Availability
  - name: Metadata
paths:
  /search/suggestions:
    get:
      tags:
        - Search
      summary: Get compact autocomplete suggestions
      description: >-
        Returns separately grouped product, reviewed-brand, reviewed-family, and
        category suggestions. Results are compact navigation hints rather than
        full resources; use each suggestion's `href` or the corresponding
        collection/detail operation to retrieve complete data.
      operationId: getSearchSuggestions
      parameters:
        - $ref: '#/components/parameters/SuggestionQuery'
        - $ref: '#/components/parameters/SuggestionTypes'
        - $ref: '#/components/parameters/SuggestionLimit'
        - $ref: '#/components/parameters/IfNoneMatch'
        - $ref: '#/components/parameters/IfModifiedSince'
      responses:
        '200':
          description: Compact suggestions grouped by resource type.
          headers:
            ETag:
              $ref: '#/components/headers/ETag'
            Last-Modified:
              $ref: '#/components/headers/LastModified'
            X-Publication-Revision:
              $ref: '#/components/headers/PublicationRevision'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchSuggestionsResponse'
        '304':
          $ref: '#/components/responses/NotModified'
        '400':
          $ref: '#/components/responses/BadRequest'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/InternalError'
        '503':
          $ref: '#/components/responses/Unavailable'
components:
  parameters:
    SuggestionQuery:
      name: q
      in: query
      required: true
      description: Normalized autocomplete query across the requested resource types.
      schema:
        type: string
        minLength: 2
        maxLength: 100
    SuggestionTypes:
      name: types
      in: query
      style: form
      explode: false
      description: Resource groups to return. Omit to request all four groups.
      schema:
        type: array
        maxItems: 4
        uniqueItems: true
        items:
          type: string
          enum:
            - product
            - brand
            - family
            - category
    SuggestionLimit:
      name: limit
      in: query
      description: Maximum suggestions returned in each requested group.
      schema:
        type: integer
        minimum: 1
        maximum: 20
        default: 8
    IfNoneMatch:
      name: If-None-Match
      in: header
      description: Strong entity tag from an earlier response.
      schema:
        type: string
    IfModifiedSince:
      name: If-Modified-Since
      in: header
      description: HTTP-date fallback validator. ETag takes precedence.
      schema:
        type: string
  headers:
    ETag:
      description: >-
        Strong validator for the response representation. A new publication may
        retain the validator when this response is unchanged.
      schema:
        type: string
      example: '"v1-018f2fd0-a3d4-7d20-9c11-9482722f6b26-a91c"'
    LastModified:
      description: >-
        Newest relevant publication time in HTTP-date format; not an upstream
        update time.
      schema:
        type: string
      example: Tue, 15 Sep 2026 16:31:00 GMT
    PublicationRevision:
      description: Immutable API publication revision used for this representation.
      schema:
        type: string
        format: uuid
    RetryAfter:
      description: Seconds until retry or an HTTP-date.
      schema:
        type: string
    RequestId:
      description: >-
        Server-generated identifier for correlating a response with private
        operational logs.
      schema:
        type: string
        format: uuid
  schemas:
    SearchSuggestionsResponse:
      type: object
      additionalProperties: false
      required:
        - data
        - meta
      properties:
        data:
          $ref: '#/components/schemas/SearchSuggestionGroups'
        meta:
          $ref: '#/components/schemas/SearchSuggestionsMeta'
    SearchSuggestionGroups:
      type: object
      additionalProperties: false
      required:
        - products
        - brands
        - families
        - categories
      properties:
        products:
          type: array
          maxItems: 20
          items:
            $ref: '#/components/schemas/SearchSuggestion'
        brands:
          type: array
          maxItems: 20
          items:
            $ref: '#/components/schemas/SearchSuggestion'
        families:
          type: array
          maxItems: 20
          items:
            $ref: '#/components/schemas/SearchSuggestion'
        categories:
          type: array
          maxItems: 20
          items:
            $ref: '#/components/schemas/SearchSuggestion'
    SearchSuggestionsMeta:
      type: object
      additionalProperties: false
      required:
        - query
        - limit_per_type
        - warnings
      properties:
        query:
          type: string
        limit_per_type:
          type: integer
          minimum: 1
          maximum: 20
        warnings:
          type: array
          items:
            $ref: '#/components/schemas/Warning'
    Problem:
      type: object
      additionalProperties: false
      required:
        - type
        - title
        - status
        - detail
        - instance
        - code
        - request_id
      properties:
        type:
          type: string
          format: uri
        title:
          type: string
        status:
          type: integer
          minimum: 400
          maximum: 599
        detail:
          type: string
        instance:
          type: string
          format: uri-reference
        code:
          type: string
        request_id:
          type: string
          format: uuid
        invalid_params:
          type: array
          items:
            $ref: '#/components/schemas/InvalidParameter'
    SearchSuggestion:
      type: object
      additionalProperties: false
      required:
        - type
        - id
        - label
        - secondary_text
        - href
      properties:
        type:
          type: string
          enum:
            - product
            - brand
            - family
            - category
        id:
          type: string
        label:
          type: string
          description: >-
            Product suggestions use the consumer display title; other suggestion
            types use their resource name.
        secondary_text:
          type:
            - string
            - 'null'
        source_ids:
          $ref: '#/components/schemas/SourceProductIds'
        href:
          type: string
          format: uri-reference
    Warning:
      type: object
      additionalProperties: false
      description: >-
        Machine-readable data qualification. Current codes include FIXTURE_DATA,
        INVENTORY_COVERAGE_PARTIAL, SOURCE_REFRESH_DELAYED,
        UPSTREAM_PRODUCT_UNAVAILABLE, SOURCE_SCHEMA_QUARANTINED, and
        CATALOG_BATCH_OLD.
      required:
        - code
      properties:
        code:
          type: string
          examples:
            - INVENTORY_COVERAGE_PARTIAL
    InvalidParameter:
      type: object
      additionalProperties: false
      required:
        - name
        - reason
      properties:
        name:
          type: string
        reason:
          type: string
    SourceProductIds:
      type: object
      additionalProperties: false
      required:
        - utah_dabs_sku
      properties:
        utah_dabs_sku:
          $ref: '#/components/schemas/DabsSku'
    DabsSku:
      type: string
      pattern: ^[0-9]{6}$
      examples:
        - '347210'
        - '004190'
  responses:
    NotModified:
      description: Representation has not changed for the supplied validator.
      headers:
        ETag:
          $ref: '#/components/headers/ETag'
        Cache-Control:
          description: Cache policy for the validated representation.
          schema:
            type: string
        X-Publication-Revision:
          $ref: '#/components/headers/PublicationRevision'
    BadRequest:
      description: Invalid parameters, incompatible scope, or cursor/query mismatch.
      headers:
        Cache-Control:
          schema:
            type: string
          example: no-store
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
    RateLimited:
      description: Public read-rate limit exceeded.
      headers:
        Cache-Control:
          schema:
            type: string
          example: no-store
        Retry-After:
          $ref: '#/components/headers/RetryAfter'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
    InternalError:
      description: >-
        An unexpected server failure. Details are withheld; report the response
        request identifier.
      headers:
        Cache-Control:
          schema:
            type: string
          example: no-store
        X-Request-ID:
          $ref: '#/components/headers/RequestId'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
    Unavailable:
      description: No safe published database revision is currently readable.
      headers:
        Cache-Control:
          schema:
            type: string
          example: no-store
        Retry-After:
          $ref: '#/components/headers/RetryAfter'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'

````