Zuora · Capability

API Reference — Product Rate Plans

API Reference — Product Rate Plans. 7 operations. Lead operation: CRUD: Create a product rate plan. Self-contained Naftiko capability covering one Zuora business surface.

Run with Naftiko ZuoraProduct Rate Plans

What You Can Do

POST
Objectpostproductrateplan — CRUD: Create a product rate plan
/v1/v1/object/product-rate-plan
GET
Objectgetproductrateplan — CRUD: Retrieve a product rate plan
/v1/v1/object/product-rate-plan/{id}
PUT
Objectputproductrateplan — CRUD: Update a product rate plan
/v1/v1/object/product-rate-plan/{id}
DELETE
Objectdeleteproductrateplan — CRUD: Delete a product rate plan
/v1/v1/object/product-rate-plan/{id}
GET
Getproductrateplansbyexternalid — List product rate plans by external ID
/v1/v1/product-rate-plans/external-id/{id}
GET
Getproductrateplan — Retrieve a product rate plan by ID
/v1/v1/product-rate-plans/{id}
GET
Getproductrateplans — List all product rate plans of a product
/v1/v1/products/{product-key}/product-rate-plans

MCP Tools

crud-create-product-rate-plan

CRUD: Create a product rate plan

crud-retrieve-product-rate-plan

CRUD: Retrieve a product rate plan

read-only idempotent
crud-update-product-rate-plan

CRUD: Update a product rate plan

idempotent
crud-delete-product-rate-plan

CRUD: Delete a product rate plan

idempotent
list-product-rate-plans-external

List product rate plans by external ID

read-only idempotent
retrieve-product-rate-plan-id

Retrieve a product rate plan by ID

read-only idempotent
list-all-product-rate-plans

List all product rate plans of a product

read-only idempotent

Capability Spec

v1-product-rate-plans.yaml Raw ↑
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: $.