VTEX · Capability

VTex Legacy Search API — Facets

VTex Legacy Search API — Facets. 2 operations. Lead operation: VTex Get Category Facets. Self-contained Naftiko capability covering one Vtex business surface.

Run with Naftiko VtexFacets

What You Can Do

GET
Get — VTex Get Category Facets
/v1/api/catalog-system/pub/facets/category/{categoryid}
GET
Facetscategory — VTex Search by Store Facets
/v1/api/catalog-system/pub/facets/search/{term}

MCP Tools

vtex-get-category-facets

VTex Get Category Facets

read-only idempotent
vtex-search-store-facets

VTex Search by Store Facets

read-only idempotent

Capability Spec

legacy-search-facets.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: VTex Legacy Search API — Facets
  description: 'VTex Legacy Search API — Facets. 2 operations. Lead operation: VTex Get Category Facets. Self-contained Naftiko
    capability covering one Vtex business surface.'
  tags:
  - Vtex
  - Facets
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    VTEX_API_KEY: VTEX_API_KEY
capability:
  consumes:
  - type: http
    namespace: legacy-search-facets
    baseUri: https://{accountName}.{environment}.com.br
    description: VTex Legacy Search API — Facets business capability. Self-contained, no shared references.
    resources:
    - name: api-catalog_system-pub-facets-category-categoryId
      path: /api/catalog_system/pub/facets/category/{categoryId}
      operations:
      - name: get
        method: GET
        description: VTex Get Category Facets
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Accept
          in: header
          type: string
          description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
          required: true
        - name: Content-Type
          in: header
          type: string
          description: Describes the type of the content being sent.
          required: true
        - name: categoryId
          in: path
          type: string
          description: Category unique number identifier.
          required: true
        - name: _from
          in: query
          type: string
          description: Starter page range. These parameters allow the API to be paginated. Take into account that the initial
            and final pages cannot have a separation superior to 50 p
        - name: _to
          in: query
          type: string
          description: 'Finisher page range. These parameters allow the API to be paginated. Take into account that the initial
            and final pages cannot have a separation superior to 50 '
    - name: api-catalog_system-pub-facets-search-term
      path: /api/catalog_system/pub/facets/search/{term}
      operations:
      - name: facetscategory
        method: GET
        description: VTex Search by Store Facets
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: map
          in: query
          type: string
          description: Mapping of the term. It can be `c` for a category, `b` for a brand, or `specificationFilter_{specificationId}`
            for a specification. You need to include a map fo
          required: true
        - name: Accept
          in: header
          type: string
          description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
          required: true
        - name: Content-Type
          in: header
          type: string
          description: Describes the type of the content being sent.
          required: true
        - name: term
          in: path
          type: string
          description: 'Term used for the facet''s search. You can search for as much term as you want. The term can be: `categoryId`,
            `brandId`, `specificationId`.'
          required: true
    authentication:
      type: apikey
      key: X-VTEX-API-AppKey
      value: '{{env.VTEX_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: legacy-search-facets-rest
    port: 8080
    description: REST adapter for VTex Legacy Search API — Facets. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/api/catalog-system/pub/facets/category/{categoryid}
      name: api-catalog-system-pub-facets-category-categoryid
      description: REST surface for api-catalog_system-pub-facets-category-categoryId.
      operations:
      - method: GET
        name: get
        description: VTex Get Category Facets
        call: legacy-search-facets.get
        with:
          Accept: rest.Accept
          Content-Type: rest.Content-Type
          categoryId: rest.categoryId
          _from: rest._from
          _to: rest._to
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/catalog-system/pub/facets/search/{term}
      name: api-catalog-system-pub-facets-search-term
      description: REST surface for api-catalog_system-pub-facets-search-term.
      operations:
      - method: GET
        name: facetscategory
        description: VTex Search by Store Facets
        call: legacy-search-facets.facetscategory
        with:
          map: rest.map
          Accept: rest.Accept
          Content-Type: rest.Content-Type
          term: rest.term
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: legacy-search-facets-mcp
    port: 9090
    transport: http
    description: MCP adapter for VTex Legacy Search API — Facets. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: vtex-get-category-facets
      description: VTex Get Category Facets
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: legacy-search-facets.get
      with:
        Accept: tools.Accept
        Content-Type: tools.Content-Type
        categoryId: tools.categoryId
        _from: tools._from
        _to: tools._to
      outputParameters:
      - type: object
        mapping: $.
    - name: vtex-search-store-facets
      description: VTex Search by Store Facets
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: legacy-search-facets.facetscategory
      with:
        map: tools.map
        Accept: tools.Accept
        Content-Type: tools.Content-Type
        term: tools.term
      outputParameters:
      - type: object
        mapping: $.