naftiko: 1.0.0-alpha2 info: label: VTex Catalog API — SKU Complement description: 'VTex Catalog API — SKU Complement. 6 operations. Lead operation: VTex Create SKU complement. Self-contained Naftiko capability covering one Vtex business surface.' tags: - Vtex - SKU Complement created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: VTEX_API_KEY: VTEX_API_KEY capability: consumes: - type: http namespace: catalog-sku-complement baseUri: https://{accountName}.{environment}.com.br description: VTex Catalog API — SKU Complement business capability. Self-contained, no shared references. resources: - name: api-catalog-pvt-skucomplement path: /api/catalog/pvt/skucomplement operations: - name: createskucomplement method: POST description: VTex Create SKU complement outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: api-catalog-pvt-skucomplement-skuComplementId path: /api/catalog/pvt/skucomplement/{skuComplementId} operations: - name: getskucomplementbyskucomplementid method: GET description: VTex Get SKU complement by SKU complement ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: skuComplementId in: path type: integer description: SKU complement's unique numerical identifier. required: true - name: deleteskucomplementbyskucomplementid method: DELETE description: VTex Delete SKU complement by SKU complement ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: skuComplementId in: path type: integer description: SKU complement's unique numerical identifier. required: true - name: api-catalog-pvt-stockkeepingunit-skuId-complement path: /api/catalog/pvt/stockkeepingunit/{skuId}/complement operations: - name: getskucomplementbyskuid method: GET description: VTex Get SKU complement by SKU ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: skuId in: path type: integer description: SKU's unique numerical identifier. required: true - name: api-catalog-pvt-stockkeepingunit-skuId-complement-complementTypeId path: /api/catalog/pvt/stockkeepingunit/{skuId}/complement/{complementTypeId} operations: - name: getskucomplementsbycomplementtypeid method: GET description: VTex Get SKU complements by complement type ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: skuId in: path type: integer description: ID of the SKU which will be inserted as a complement in the parent SKU. required: true - name: complementTypeId in: path type: integer description: 'Complement type ID. This represents the type of the complement. The possible values are: `1` for **Accessory**; `2` for **Suggestion**; `3` for **Similar produc' required: true - name: api-catalog_system-pvt-sku-complements-parentSkuId-type path: /api/catalog_system/pvt/sku/complements/{parentSkuId}/{type} operations: - name: getskucomplementsbytype method: GET description: VTex Get SKU complements by type outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: parentSkuId in: path type: integer description: ID of the parent SKU, where the complement is inserted. required: true - name: type in: path type: integer description: 'Complement type ID. This represents the type of the complement. The possible values are: `1` for **Accessory**; `2` for **Suggestion**; `3` for **Similar produc' required: true authentication: type: apikey key: X-VTEX-API-AppKey value: '{{env.VTEX_API_KEY}}' placement: header exposes: - type: rest namespace: catalog-sku-complement-rest port: 8080 description: REST adapter for VTex Catalog API — SKU Complement. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/catalog/pvt/skucomplement name: api-catalog-pvt-skucomplement description: REST surface for api-catalog-pvt-skucomplement. operations: - method: POST name: createskucomplement description: VTex Create SKU complement call: catalog-sku-complement.createskucomplement with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/catalog/pvt/skucomplement/{skucomplementid} name: api-catalog-pvt-skucomplement-skucomplementid description: REST surface for api-catalog-pvt-skucomplement-skuComplementId. operations: - method: GET name: getskucomplementbyskucomplementid description: VTex Get SKU complement by SKU complement ID call: catalog-sku-complement.getskucomplementbyskucomplementid with: skuComplementId: rest.skuComplementId outputParameters: - type: object mapping: $. - method: DELETE name: deleteskucomplementbyskucomplementid description: VTex Delete SKU complement by SKU complement ID call: catalog-sku-complement.deleteskucomplementbyskucomplementid with: skuComplementId: rest.skuComplementId outputParameters: - type: object mapping: $. - path: /v1/api/catalog/pvt/stockkeepingunit/{skuid}/complement name: api-catalog-pvt-stockkeepingunit-skuid-complement description: REST surface for api-catalog-pvt-stockkeepingunit-skuId-complement. operations: - method: GET name: getskucomplementbyskuid description: VTex Get SKU complement by SKU ID call: catalog-sku-complement.getskucomplementbyskuid with: skuId: rest.skuId outputParameters: - type: object mapping: $. - path: /v1/api/catalog/pvt/stockkeepingunit/{skuid}/complement/{complementtypeid} name: api-catalog-pvt-stockkeepingunit-skuid-complement-complementtypeid description: REST surface for api-catalog-pvt-stockkeepingunit-skuId-complement-complementTypeId. operations: - method: GET name: getskucomplementsbycomplementtypeid description: VTex Get SKU complements by complement type ID call: catalog-sku-complement.getskucomplementsbycomplementtypeid with: skuId: rest.skuId complementTypeId: rest.complementTypeId outputParameters: - type: object mapping: $. - path: /v1/api/catalog-system/pvt/sku/complements/{parentskuid}/{type} name: api-catalog-system-pvt-sku-complements-parentskuid-type description: REST surface for api-catalog_system-pvt-sku-complements-parentSkuId-type. operations: - method: GET name: getskucomplementsbytype description: VTex Get SKU complements by type call: catalog-sku-complement.getskucomplementsbytype with: parentSkuId: rest.parentSkuId type: rest.type outputParameters: - type: object mapping: $. - type: mcp namespace: catalog-sku-complement-mcp port: 9090 transport: http description: MCP adapter for VTex Catalog API — SKU Complement. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: vtex-create-sku-complement description: VTex Create SKU complement hints: readOnly: false destructive: false idempotent: false call: catalog-sku-complement.createskucomplement with: body: tools.body outputParameters: - type: object mapping: $. - name: vtex-get-sku-complement-sku description: VTex Get SKU complement by SKU complement ID hints: readOnly: true destructive: false idempotent: true call: catalog-sku-complement.getskucomplementbyskucomplementid with: skuComplementId: tools.skuComplementId outputParameters: - type: object mapping: $. - name: vtex-delete-sku-complement-sku description: VTex Delete SKU complement by SKU complement ID hints: readOnly: false destructive: true idempotent: true call: catalog-sku-complement.deleteskucomplementbyskucomplementid with: skuComplementId: tools.skuComplementId outputParameters: - type: object mapping: $. - name: vtex-get-sku-complement-sku-2 description: VTex Get SKU complement by SKU ID hints: readOnly: true destructive: false idempotent: true call: catalog-sku-complement.getskucomplementbyskuid with: skuId: tools.skuId outputParameters: - type: object mapping: $. - name: vtex-get-sku-complements-complement description: VTex Get SKU complements by complement type ID hints: readOnly: true destructive: false idempotent: true call: catalog-sku-complement.getskucomplementsbycomplementtypeid with: skuId: tools.skuId complementTypeId: tools.complementTypeId outputParameters: - type: object mapping: $. - name: vtex-get-sku-complements-type description: VTex Get SKU complements by type hints: readOnly: true destructive: false idempotent: true call: catalog-sku-complement.getskucomplementsbytype with: parentSkuId: tools.parentSkuId type: tools.type outputParameters: - type: object mapping: $.