naftiko: 1.0.0-alpha2 info: label: Acuity Brands API — Catalog description: 'Acuity Brands API — Catalog. 2 operations. Lead operation: Acuity Brands List Catalog Items. Self-contained Naftiko capability covering one Acuity Brands business surface.' tags: - Acuity Brands - Catalog created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ACUITY_BRANDS_API_KEY: ACUITY_BRANDS_API_KEY capability: consumes: - type: http namespace: acuity-brands-catalog baseUri: https://api.acuitybrands.com/v1 description: Acuity Brands API — Catalog business capability. Self-contained, no shared references. resources: - name: catalog-items path: /catalog/items operations: - name: listcatalogitems method: GET description: Acuity Brands List Catalog Items outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: q in: query type: string description: Keyword search query - name: brand in: query type: string description: Filter by brand name - name: category in: query type: string description: Product category (indoor-lighting, outdoor-lighting, controls, emergency) - name: limit in: query type: integer description: Maximum number of results - name: cursor in: query type: string description: Pagination cursor - name: catalog-items-productNumber path: /catalog/items/{productNumber} operations: - name: getcatalogitem method: GET description: Acuity Brands Get Catalog Item outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: productNumber in: path type: string description: Product number or SKU required: true authentication: type: basic username: '{{env.ACUITY_BRANDS_USER}}' password: '{{env.ACUITY_BRANDS_PASS}}' exposes: - type: rest namespace: acuity-brands-catalog-rest port: 8080 description: REST adapter for Acuity Brands API — Catalog. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/catalog/items name: catalog-items description: REST surface for catalog-items. operations: - method: GET name: listcatalogitems description: Acuity Brands List Catalog Items call: acuity-brands-catalog.listcatalogitems with: q: rest.q brand: rest.brand category: rest.category limit: rest.limit cursor: rest.cursor outputParameters: - type: object mapping: $. - path: /v1/catalog/items/{productnumber} name: catalog-items-productnumber description: REST surface for catalog-items-productNumber. operations: - method: GET name: getcatalogitem description: Acuity Brands Get Catalog Item call: acuity-brands-catalog.getcatalogitem with: productNumber: rest.productNumber outputParameters: - type: object mapping: $. - type: mcp namespace: acuity-brands-catalog-mcp port: 9090 transport: http description: MCP adapter for Acuity Brands API — Catalog. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: acuity-brands-list-catalog-items description: Acuity Brands List Catalog Items hints: readOnly: true destructive: false idempotent: true call: acuity-brands-catalog.listcatalogitems with: q: tools.q brand: tools.brand category: tools.category limit: tools.limit cursor: tools.cursor outputParameters: - type: object mapping: $. - name: acuity-brands-get-catalog-item description: Acuity Brands Get Catalog Item hints: readOnly: true destructive: false idempotent: true call: acuity-brands-catalog.getcatalogitem with: productNumber: tools.productNumber outputParameters: - type: object mapping: $.