Zuora · Capability

API Reference — Usage

API Reference — Usage. 7 operations. Lead operation: Retrieve usage rate detail for an invoice item. Self-contained Naftiko capability covering one Zuora business surface.

Run with Naftiko ZuoraUsage

What You Can Do

GET
Getusageratedetailbyinvoiceitem — Retrieve usage rate detail for an invoice item
/v1/v1/invoices/invoice-item/{invoice-item-id}/usage-rate-detail
POST
Objectpostusage — CRUD: Create a usage record
/v1/v1/object/usage
GET
Objectgetusage — CRUD: Retrieve a usage record
/v1/v1/object/usage/{id}
PUT
Objectputusage — CRUD: Update a usage record
/v1/v1/object/usage/{id}
DELETE
Objectdeleteusage — CRUD: Delete a usage record
/v1/v1/object/usage/{id}
POST
Postusage — Upload a usage file
/v1/v1/usage
GET
Getusage — Retrieve a usage record
/v1/v1/usage/accounts/{account-key}

MCP Tools

retrieve-usage-rate-detail-invoice

Retrieve usage rate detail for an invoice item

read-only idempotent
crud-create-usage-record

CRUD: Create a usage record

crud-retrieve-usage-record

CRUD: Retrieve a usage record

read-only idempotent
crud-update-usage-record

CRUD: Update a usage record

idempotent
crud-delete-usage-record

CRUD: Delete a usage record

idempotent
upload-usage-file

Upload a usage file

retrieve-usage-record

Retrieve a usage record

read-only idempotent

Capability Spec

v1-usage.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: API Reference — Usage
  description: 'API Reference — Usage. 7 operations. Lead operation: Retrieve usage rate detail for an invoice item. Self-contained
    Naftiko capability covering one Zuora business surface.'
  tags:
  - Zuora
  - Usage
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    ZUORA_API_KEY: ZUORA_API_KEY
capability:
  consumes:
  - type: http
    namespace: v1-usage
    baseUri: https://rest.zuora.com
    description: API Reference — Usage business capability. Self-contained, no shared references.
    resources:
    - name: v1-invoices-invoice-item-invoice-item-id-usage-rate-detail
      path: /v1/invoices/invoice-item/{invoice-item-id}/usage-rate-detail
      operations:
      - name: getusageratedetailbyinvoiceitem
        method: GET
        description: Retrieve usage rate detail for an invoice item
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: invoice-item-id
          in: path
          type: string
          description: Invoice item ID. For example, `402880e57f725d85017f7267c4ad002b`. Available through Data Source export.
          required: true
    - name: v1-object-usage
      path: /v1/object/usage
      operations:
      - name: objectpostusage
        method: POST
        description: 'CRUD: Create a usage record'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: CreateRequest
          in: body
          type: string
          required: true
    - name: v1-object-usage-id
      path: /v1/object/usage/{id}
      operations:
      - name: objectgetusage
        method: GET
        description: 'CRUD: Retrieve a usage record'
        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: objectputusage
        method: PUT
        description: 'CRUD: Update a usage record'
        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: objectdeleteusage
        method: DELETE
        description: 'CRUD: Delete a usage record'
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Object id
          required: true
    - name: v1-usage
      path: /v1/usage
      operations:
      - name: postusage
        method: POST
        description: Upload a usage file
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: file
          in: formData
          type: file
          description: The usage data to import. The supported formats are excel, csv, and zip.
          required: true
    - name: v1-usage-accounts-account-key
      path: /v1/usage/accounts/{account-key}
      operations:
      - name: getusage
        method: GET
        description: Retrieve a usage record
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: account-key
          in: path
          type: string
          description: Account number or account ID.
          required: true
  exposes:
  - type: rest
    namespace: v1-usage-rest
    port: 8080
    description: REST adapter for API Reference — Usage. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/v1/invoices/invoice-item/{invoice-item-id}/usage-rate-detail
      name: v1-invoices-invoice-item-invoice-item-id-usage-rate-detail
      description: REST surface for v1-invoices-invoice-item-invoice-item-id-usage-rate-detail.
      operations:
      - method: GET
        name: getusageratedetailbyinvoiceitem
        description: Retrieve usage rate detail for an invoice item
        call: v1-usage.getusageratedetailbyinvoiceitem
        with:
          invoice-item-id: rest.invoice-item-id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/object/usage
      name: v1-object-usage
      description: REST surface for v1-object-usage.
      operations:
      - method: POST
        name: objectpostusage
        description: 'CRUD: Create a usage record'
        call: v1-usage.objectpostusage
        with:
          CreateRequest: rest.CreateRequest
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/object/usage/{id}
      name: v1-object-usage-id
      description: REST surface for v1-object-usage-id.
      operations:
      - method: GET
        name: objectgetusage
        description: 'CRUD: Retrieve a usage record'
        call: v1-usage.objectgetusage
        with:
          fields: rest.fields
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: objectputusage
        description: 'CRUD: Update a usage record'
        call: v1-usage.objectputusage
        with:
          id: rest.id
          ModifyRequest: rest.ModifyRequest
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: objectdeleteusage
        description: 'CRUD: Delete a usage record'
        call: v1-usage.objectdeleteusage
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/usage
      name: v1-usage
      description: REST surface for v1-usage.
      operations:
      - method: POST
        name: postusage
        description: Upload a usage file
        call: v1-usage.postusage
        with:
          file: rest.file
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/usage/accounts/{account-key}
      name: v1-usage-accounts-account-key
      description: REST surface for v1-usage-accounts-account-key.
      operations:
      - method: GET
        name: getusage
        description: Retrieve a usage record
        call: v1-usage.getusage
        with:
          account-key: rest.account-key
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: v1-usage-mcp
    port: 9090
    transport: http
    description: MCP adapter for API Reference — Usage. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: retrieve-usage-rate-detail-invoice
      description: Retrieve usage rate detail for an invoice item
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v1-usage.getusageratedetailbyinvoiceitem
      with:
        invoice-item-id: tools.invoice-item-id
      outputParameters:
      - type: object
        mapping: $.
    - name: crud-create-usage-record
      description: 'CRUD: Create a usage record'
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: v1-usage.objectpostusage
      with:
        CreateRequest: tools.CreateRequest
      outputParameters:
      - type: object
        mapping: $.
    - name: crud-retrieve-usage-record
      description: 'CRUD: Retrieve a usage record'
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v1-usage.objectgetusage
      with:
        fields: tools.fields
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: crud-update-usage-record
      description: 'CRUD: Update a usage record'
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: v1-usage.objectputusage
      with:
        id: tools.id
        ModifyRequest: tools.ModifyRequest
      outputParameters:
      - type: object
        mapping: $.
    - name: crud-delete-usage-record
      description: 'CRUD: Delete a usage record'
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: v1-usage.objectdeleteusage
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: upload-usage-file
      description: Upload a usage file
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: v1-usage.postusage
      with:
        file: tools.file
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-usage-record
      description: Retrieve a usage record
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v1-usage.getusage
      with:
        account-key: tools.account-key
      outputParameters:
      - type: object
        mapping: $.