naftiko: 1.0.0-alpha2 info: label: API Reference — Product Charge Definitions description: 'API Reference — Product Charge Definitions. 7 operations. Lead operation: Create a product charge definition. Self-contained Naftiko capability covering one Zuora business surface.' tags: - Zuora - Product Charge Definitions created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ZUORA_API_KEY: ZUORA_API_KEY capability: consumes: - type: http namespace: v1-product-charge-definitions baseUri: https://rest.zuora.com description: API Reference — Product Charge Definitions business capability. Self-contained, no shared references. resources: - name: v1-product-charge-definitions path: /v1/product-charge-definitions operations: - name: postcreateproductchargedefinition method: POST description: Create a product charge definition outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Request in: body type: string required: true - name: getretrieveproductchargedefinitions method: GET description: List product charge definitions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: charge in: query type: string description: The unique number or ID of the charge for which the product charge definitions are to be retrieved. - name: rateplan in: query type: string description: The unique number or ID of the product rate plan for which the product charge definitions are to be retrieved. - name: hide-inherited-values in: query type: boolean description: The flag that controls whether the response will merge the default charge definition fields for those fields that are not overridden. - name: v1-product-charge-definitions-bulk path: /v1/product-charge-definitions/bulk operations: - name: postcreateproductchargedefinitionbulk method: POST description: Create product charge definitions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Request in: body type: string required: true - name: putupdateproductchargedefinitionbulk method: PUT description: Update product charge definitions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: Request in: body type: string required: true - name: v1-product-charge-definitions-product-charge-definition-key path: /v1/product-charge-definitions/{product-charge-definition-key} operations: - name: getretrieveproductchargedefinition method: GET description: Retrieve a product charge definition outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: product-charge-definition-key in: path type: string description: The unique number or ID of the product charge definition to be retrieved. required: true - name: hide-inherited-values in: query type: boolean description: The flag that controls whether the response will merge the default charge definition fields for those fields that are not overridden. - name: putupdateproductchargedefinition method: PUT description: Update a product charge definition outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: product-charge-definition-key in: path type: string description: The unique number or ID of the product charge definition to be updated. required: true - name: Request in: body type: string required: true - name: deleteproductchargedefnition method: DELETE description: Delete a product charge definition outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: product-charge-definition-key in: path type: string description: The unique number or ID of the product charge definition to be deleted. required: true exposes: - type: rest namespace: v1-product-charge-definitions-rest port: 8080 description: REST adapter for API Reference — Product Charge Definitions. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/product-charge-definitions name: v1-product-charge-definitions description: REST surface for v1-product-charge-definitions. operations: - method: POST name: postcreateproductchargedefinition description: Create a product charge definition call: v1-product-charge-definitions.postcreateproductchargedefinition with: Request: rest.Request outputParameters: - type: object mapping: $. - method: GET name: getretrieveproductchargedefinitions description: List product charge definitions call: v1-product-charge-definitions.getretrieveproductchargedefinitions with: charge: rest.charge rateplan: rest.rateplan hide-inherited-values: rest.hide-inherited-values outputParameters: - type: object mapping: $. - path: /v1/v1/product-charge-definitions/bulk name: v1-product-charge-definitions-bulk description: REST surface for v1-product-charge-definitions-bulk. operations: - method: POST name: postcreateproductchargedefinitionbulk description: Create product charge definitions call: v1-product-charge-definitions.postcreateproductchargedefinitionbulk with: Request: rest.Request outputParameters: - type: object mapping: $. - method: PUT name: putupdateproductchargedefinitionbulk description: Update product charge definitions call: v1-product-charge-definitions.putupdateproductchargedefinitionbulk with: Request: rest.Request outputParameters: - type: object mapping: $. - path: /v1/v1/product-charge-definitions/{product-charge-definition-key} name: v1-product-charge-definitions-product-charge-definition-key description: REST surface for v1-product-charge-definitions-product-charge-definition-key. operations: - method: GET name: getretrieveproductchargedefinition description: Retrieve a product charge definition call: v1-product-charge-definitions.getretrieveproductchargedefinition with: product-charge-definition-key: rest.product-charge-definition-key hide-inherited-values: rest.hide-inherited-values outputParameters: - type: object mapping: $. - method: PUT name: putupdateproductchargedefinition description: Update a product charge definition call: v1-product-charge-definitions.putupdateproductchargedefinition with: product-charge-definition-key: rest.product-charge-definition-key Request: rest.Request outputParameters: - type: object mapping: $. - method: DELETE name: deleteproductchargedefnition description: Delete a product charge definition call: v1-product-charge-definitions.deleteproductchargedefnition with: product-charge-definition-key: rest.product-charge-definition-key outputParameters: - type: object mapping: $. - type: mcp namespace: v1-product-charge-definitions-mcp port: 9090 transport: http description: MCP adapter for API Reference — Product Charge Definitions. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-product-charge-definition description: Create a product charge definition hints: readOnly: false destructive: false idempotent: false call: v1-product-charge-definitions.postcreateproductchargedefinition with: Request: tools.Request outputParameters: - type: object mapping: $. - name: list-product-charge-definitions description: List product charge definitions hints: readOnly: true destructive: false idempotent: true call: v1-product-charge-definitions.getretrieveproductchargedefinitions with: charge: tools.charge rateplan: tools.rateplan hide-inherited-values: tools.hide-inherited-values outputParameters: - type: object mapping: $. - name: create-product-charge-definitions description: Create product charge definitions hints: readOnly: false destructive: false idempotent: false call: v1-product-charge-definitions.postcreateproductchargedefinitionbulk with: Request: tools.Request outputParameters: - type: object mapping: $. - name: update-product-charge-definitions description: Update product charge definitions hints: readOnly: false destructive: false idempotent: true call: v1-product-charge-definitions.putupdateproductchargedefinitionbulk with: Request: tools.Request outputParameters: - type: object mapping: $. - name: retrieve-product-charge-definition description: Retrieve a product charge definition hints: readOnly: true destructive: false idempotent: true call: v1-product-charge-definitions.getretrieveproductchargedefinition with: product-charge-definition-key: tools.product-charge-definition-key hide-inherited-values: tools.hide-inherited-values outputParameters: - type: object mapping: $. - name: update-product-charge-definition description: Update a product charge definition hints: readOnly: false destructive: false idempotent: true call: v1-product-charge-definitions.putupdateproductchargedefinition with: product-charge-definition-key: tools.product-charge-definition-key Request: tools.Request outputParameters: - type: object mapping: $. - name: delete-product-charge-definition description: Delete a product charge definition hints: readOnly: false destructive: true idempotent: true call: v1-product-charge-definitions.deleteproductchargedefnition with: product-charge-definition-key: tools.product-charge-definition-key outputParameters: - type: object mapping: $.