Furniture API · Capability

Furniture API

The Furniture API is a software interface that allows developers to access and integrate information about furniture products and designs into their applications. It provides product listings with filtering, product detail lookup by SKU, stock management, featured product flags, and discount application across an inventory of furniture items.

Run with Naftiko FurnitureApiAPI

What You Can Do

GET
Listproducts — List products
/v1/products
GET
Getproductbysku — Get product by SKU
/v1/products/{sku}
PATCH
Updatestock — Update stock levels
/v1/products/stock
PATCH
Togglefeatured — Toggle featured status
/v1/products/{sku}/featured
PATCH
Applydiscount — Apply product discount
/v1/products/{sku}/discount

MCP Tools

listproducts

List products

read-only idempotent
getproductbysku

Get product by SKU

read-only idempotent
updatestock

Update stock levels

togglefeatured

Toggle featured status

applydiscount

Apply product discount

Capability Spec

furniture-api-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Furniture API
  description: The Furniture API is a software interface that allows developers to access and integrate information about
    furniture products and designs into their applications. It provides product listings with filtering, product detail lookup
    by SKU, stock management, featured product flags, and discount application across an inventory of furniture items.
  tags:
  - Furniture
  - Api
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: furniture-api
    baseUri: https://furniture-api.fly.dev
    description: Furniture API HTTP API.
    resources:
    - name: v1-products
      path: /v1/products
      operations:
      - name: listproducts
        method: GET
        description: List products
        inputParameters:
        - name: category
          in: query
          type: string
          description: Filter products by category.
        - name: minPrice
          in: query
          type: number
          description: Minimum price filter.
        - name: maxPrice
          in: query
          type: number
          description: Maximum price filter.
        - name: woodType
          in: query
          type: string
          description: Filter products by wood type.
        - name: page
          in: query
          type: integer
          description: Page number for pagination.
        - name: limit
          in: query
          type: integer
          description: Number of items returned per page.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-products-sku
      path: /v1/products/{sku}
      operations:
      - name: getproductbysku
        method: GET
        description: Get product by SKU
        inputParameters:
        - name: sku
          in: path
          type: string
          required: true
          description: The unique stock keeping unit (SKU) for the product.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-products-stock
      path: /v1/products/stock
      operations:
      - name: updatestock
        method: PATCH
        description: Update stock levels
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-products-sku-featured
      path: /v1/products/{sku}/featured
      operations:
      - name: togglefeatured
        method: PATCH
        description: Toggle featured status
        inputParameters:
        - name: sku
          in: path
          type: string
          required: true
          description: The SKU of the product to update.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-products-sku-discount
      path: /v1/products/{sku}/discount
      operations:
      - name: applydiscount
        method: PATCH
        description: Apply product discount
        inputParameters:
        - name: sku
          in: path
          type: string
          required: true
          description: The SKU of the product to discount.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: furniture-api-rest
    description: REST adapter for Furniture API.
    resources:
    - path: /v1/products
      name: listproducts
      operations:
      - method: GET
        name: listproducts
        description: List products
        call: furniture-api.listproducts
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/products/{sku}
      name: getproductbysku
      operations:
      - method: GET
        name: getproductbysku
        description: Get product by SKU
        call: furniture-api.getproductbysku
        with:
          sku: rest.sku
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/products/stock
      name: updatestock
      operations:
      - method: PATCH
        name: updatestock
        description: Update stock levels
        call: furniture-api.updatestock
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/products/{sku}/featured
      name: togglefeatured
      operations:
      - method: PATCH
        name: togglefeatured
        description: Toggle featured status
        call: furniture-api.togglefeatured
        with:
          sku: rest.sku
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/products/{sku}/discount
      name: applydiscount
      operations:
      - method: PATCH
        name: applydiscount
        description: Apply product discount
        call: furniture-api.applydiscount
        with:
          sku: rest.sku
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: furniture-api-mcp
    transport: http
    description: MCP adapter for Furniture API for AI agent use.
    tools:
    - name: listproducts
      description: List products
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: furniture-api.listproducts
      with:
        category: tools.category
        minPrice: tools.minPrice
        maxPrice: tools.maxPrice
        woodType: tools.woodType
        page: tools.page
        limit: tools.limit
      inputParameters:
      - name: category
        type: string
        description: Filter products by category.
      - name: minPrice
        type: number
        description: Minimum price filter.
      - name: maxPrice
        type: number
        description: Maximum price filter.
      - name: woodType
        type: string
        description: Filter products by wood type.
      - name: page
        type: integer
        description: Page number for pagination.
      - name: limit
        type: integer
        description: Number of items returned per page.
      outputParameters:
      - type: object
        mapping: $.
    - name: getproductbysku
      description: Get product by SKU
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: furniture-api.getproductbysku
      with:
        sku: tools.sku
      inputParameters:
      - name: sku
        type: string
        description: The unique stock keeping unit (SKU) for the product.
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: updatestock
      description: Update stock levels
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: furniture-api.updatestock
      outputParameters:
      - type: object
        mapping: $.
    - name: togglefeatured
      description: Toggle featured status
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: furniture-api.togglefeatured
      with:
        sku: tools.sku
      inputParameters:
      - name: sku
        type: string
        description: The SKU of the product to update.
        required: true
      outputParameters:
      - type: object
        mapping: $.
    - name: applydiscount
      description: Apply product discount
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: furniture-api.applydiscount
      with:
        sku: tools.sku
      inputParameters:
      - name: sku
        type: string
        description: The SKU of the product to discount.
        required: true
      outputParameters:
      - type: object
        mapping: $.