naftiko: 1.0.0-alpha2 info: label: API Reference — Products description: 'API Reference — Products. 4 operations. Lead operation: CRUD: Create a product. Self-contained Naftiko capability covering one Zuora business surface.' tags: - Zuora - Products created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ZUORA_API_KEY: ZUORA_API_KEY capability: consumes: - type: http namespace: v1-products baseUri: https://rest.zuora.com description: API Reference — Products business capability. Self-contained, no shared references. resources: - name: v1-object-product path: /v1/object/product operations: - name: objectpostproduct method: POST description: 'CRUD: Create a product' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: CreateRequest in: body type: string required: true - name: v1-object-product-id path: /v1/object/product/{id} operations: - name: objectgetproduct method: GET description: 'CRUD: Retrieve a product' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: fields in: query type: string description: Object fields to return - name: id in: path type: string description: Object id required: true - name: objectputproduct method: PUT description: 'CRUD: Update a product' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Object id required: true - name: ModifyRequest in: body type: string required: true - name: objectdeleteproduct method: DELETE description: 'CRUD: Delete a product' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Object id required: true exposes: - type: rest namespace: v1-products-rest port: 8080 description: REST adapter for API Reference — Products. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/object/product name: v1-object-product description: REST surface for v1-object-product. operations: - method: POST name: objectpostproduct description: 'CRUD: Create a product' call: v1-products.objectpostproduct with: CreateRequest: rest.CreateRequest outputParameters: - type: object mapping: $. - path: /v1/v1/object/product/{id} name: v1-object-product-id description: REST surface for v1-object-product-id. operations: - method: GET name: objectgetproduct description: 'CRUD: Retrieve a product' call: v1-products.objectgetproduct with: fields: rest.fields id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: objectputproduct description: 'CRUD: Update a product' call: v1-products.objectputproduct with: id: rest.id ModifyRequest: rest.ModifyRequest outputParameters: - type: object mapping: $. - method: DELETE name: objectdeleteproduct description: 'CRUD: Delete a product' call: v1-products.objectdeleteproduct with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: v1-products-mcp port: 9090 transport: http description: MCP adapter for API Reference — Products. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: crud-create-product description: 'CRUD: Create a product' hints: readOnly: false destructive: false idempotent: false call: v1-products.objectpostproduct with: CreateRequest: tools.CreateRequest outputParameters: - type: object mapping: $. - name: crud-retrieve-product description: 'CRUD: Retrieve a product' hints: readOnly: true destructive: false idempotent: true call: v1-products.objectgetproduct with: fields: tools.fields id: tools.id outputParameters: - type: object mapping: $. - name: crud-update-product description: 'CRUD: Update a product' hints: readOnly: false destructive: false idempotent: true call: v1-products.objectputproduct with: id: tools.id ModifyRequest: tools.ModifyRequest outputParameters: - type: object mapping: $. - name: crud-delete-product description: 'CRUD: Delete a product' hints: readOnly: false destructive: true idempotent: true call: v1-products.objectdeleteproduct with: id: tools.id outputParameters: - type: object mapping: $.