naftiko: 1.0.0-alpha2 info: label: API Reference — Product Rate Plans description: 'API Reference — Product Rate Plans. 7 operations. Lead operation: CRUD: Create a product rate plan. Self-contained Naftiko capability covering one Zuora business surface.' tags: - Zuora - Product Rate Plans 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-rate-plans baseUri: https://rest.zuora.com description: API Reference — Product Rate Plans business capability. Self-contained, no shared references. resources: - name: v1-object-product-rate-plan path: /v1/object/product-rate-plan operations: - name: objectpostproductrateplan method: POST description: 'CRUD: Create a product rate plan' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: CreateRequest in: body type: string required: true - name: v1-object-product-rate-plan-id path: /v1/object/product-rate-plan/{id} operations: - name: objectgetproductrateplan method: GET description: 'CRUD: Retrieve a product rate plan' 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: objectputproductrateplan method: PUT description: 'CRUD: Update a product rate plan' 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: objectdeleteproductrateplan method: DELETE description: 'CRUD: Delete a product rate plan' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Object id required: true - name: v1-product-rate-plans-external-id-id path: /v1/product-rate-plans/external-id/{id} operations: - name: getproductrateplansbyexternalid method: GET description: List product rate plans by external ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The external ID of the product rate plan to be retrieved. For example, `Apple0001`. required: true - name: v1-product-rate-plans-id path: /v1/product-rate-plans/{id} operations: - name: getproductrateplan method: GET description: Retrieve a product rate plan by ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The ID, external ID, or the natural key of the product rate plan to be retrieved. For example, `402888e67f8b3a68017f8bbb2a06062d`, `Apple0001`, or `PRP-00000008 required: true - name: v1-products-product-key-product-rate-plans path: /v1/products/{product-key}/product-rate-plans operations: - name: getproductrateplans method: GET description: List all product rate plans of a product outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: product-key in: path type: string description: The unique ID or SKU of a product. For example, 2c92c0f96487e16a016487f663c71a61 or SKU-00000987. required: true - name: show-charge-definitions in: query type: boolean description: Specifies whether to include the product charge definitions of this rate plan in the response. exposes: - type: rest namespace: v1-product-rate-plans-rest port: 8080 description: REST adapter for API Reference — Product Rate Plans. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/object/product-rate-plan name: v1-object-product-rate-plan description: REST surface for v1-object-product-rate-plan. operations: - method: POST name: objectpostproductrateplan description: 'CRUD: Create a product rate plan' call: v1-product-rate-plans.objectpostproductrateplan with: CreateRequest: rest.CreateRequest outputParameters: - type: object mapping: $. - path: /v1/v1/object/product-rate-plan/{id} name: v1-object-product-rate-plan-id description: REST surface for v1-object-product-rate-plan-id. operations: - method: GET name: objectgetproductrateplan description: 'CRUD: Retrieve a product rate plan' call: v1-product-rate-plans.objectgetproductrateplan with: fields: rest.fields id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: objectputproductrateplan description: 'CRUD: Update a product rate plan' call: v1-product-rate-plans.objectputproductrateplan with: id: rest.id ModifyRequest: rest.ModifyRequest outputParameters: - type: object mapping: $. - method: DELETE name: objectdeleteproductrateplan description: 'CRUD: Delete a product rate plan' call: v1-product-rate-plans.objectdeleteproductrateplan with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/v1/product-rate-plans/external-id/{id} name: v1-product-rate-plans-external-id-id description: REST surface for v1-product-rate-plans-external-id-id. operations: - method: GET name: getproductrateplansbyexternalid description: List product rate plans by external ID call: v1-product-rate-plans.getproductrateplansbyexternalid with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/v1/product-rate-plans/{id} name: v1-product-rate-plans-id description: REST surface for v1-product-rate-plans-id. operations: - method: GET name: getproductrateplan description: Retrieve a product rate plan by ID call: v1-product-rate-plans.getproductrateplan with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/v1/products/{product-key}/product-rate-plans name: v1-products-product-key-product-rate-plans description: REST surface for v1-products-product-key-product-rate-plans. operations: - method: GET name: getproductrateplans description: List all product rate plans of a product call: v1-product-rate-plans.getproductrateplans with: product-key: rest.product-key show-charge-definitions: rest.show-charge-definitions outputParameters: - type: object mapping: $. - type: mcp namespace: v1-product-rate-plans-mcp port: 9090 transport: http description: MCP adapter for API Reference — Product Rate Plans. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: crud-create-product-rate-plan description: 'CRUD: Create a product rate plan' hints: readOnly: false destructive: false idempotent: false call: v1-product-rate-plans.objectpostproductrateplan with: CreateRequest: tools.CreateRequest outputParameters: - type: object mapping: $. - name: crud-retrieve-product-rate-plan description: 'CRUD: Retrieve a product rate plan' hints: readOnly: true destructive: false idempotent: true call: v1-product-rate-plans.objectgetproductrateplan with: fields: tools.fields id: tools.id outputParameters: - type: object mapping: $. - name: crud-update-product-rate-plan description: 'CRUD: Update a product rate plan' hints: readOnly: false destructive: false idempotent: true call: v1-product-rate-plans.objectputproductrateplan with: id: tools.id ModifyRequest: tools.ModifyRequest outputParameters: - type: object mapping: $. - name: crud-delete-product-rate-plan description: 'CRUD: Delete a product rate plan' hints: readOnly: false destructive: true idempotent: true call: v1-product-rate-plans.objectdeleteproductrateplan with: id: tools.id outputParameters: - type: object mapping: $. - name: list-product-rate-plans-external description: List product rate plans by external ID hints: readOnly: true destructive: false idempotent: true call: v1-product-rate-plans.getproductrateplansbyexternalid with: id: tools.id outputParameters: - type: object mapping: $. - name: retrieve-product-rate-plan-id description: Retrieve a product rate plan by ID hints: readOnly: true destructive: false idempotent: true call: v1-product-rate-plans.getproductrateplan with: id: tools.id outputParameters: - type: object mapping: $. - name: list-all-product-rate-plans description: List all product rate plans of a product hints: readOnly: true destructive: false idempotent: true call: v1-product-rate-plans.getproductrateplans with: product-key: tools.product-key show-charge-definitions: tools.show-charge-definitions outputParameters: - type: object mapping: $.