Zuora · Capability

API Reference — Credit Memos

API Reference — Credit Memos. 26 operations. Lead operation: Create a credit memo from a charge. Self-contained Naftiko capability covering one Zuora business surface.

Run with Naftiko ZuoraCredit Memos

What You Can Do

POST
Postcreditmemofromprpc — Create a credit memo from a charge
/v1/v1/creditmemos
GET
Getcreditmemos — List credit memos
/v1/v1/creditmemos
POST
Postcreatecreditmemos — Create credit memos
/v1/v1/creditmemos/bulk
PUT
Putupdatecreditmemos — Update credit memos
/v1/v1/creditmemos/bulk
GET
Gettaxationitemsofcreditmemoitem — List all taxation items of a credit memo item
/v1/v1/creditmemos/{creditmemoid}/items/{cmitemid}/taxation-items
PUT
Putwriteoffcreditmemo — Write off a credit memo
/v1/v1/creditmemos/{creditmemoid}/write-off
GET
Getcreditmemo — Retrieve a credit memo
/v1/v1/creditmemos/{creditmemokey}
PUT
Putupdatecreditmemo — Update a credit memo
/v1/v1/creditmemos/{creditmemokey}
DELETE
Deletecreditmemo — Delete a credit memo
/v1/v1/creditmemos/{creditmemokey}
PUT
Putapplycreditmemo — Apply a credit memo
/v1/v1/creditmemos/{creditmemokey}/apply
PUT
Putcancelcreditmemo — Cancel a credit memo
/v1/v1/creditmemos/{creditmemokey}/cancel
PUT
Putgenerateeinvoicefileforcreditmemo — Generate an e-invoice file for a credit memo
/v1/v1/creditmemos/{creditmemokey}/einvoice/generate
POST
Postemailcreditmemo — Email a credit memo
/v1/v1/creditmemos/{creditmemokey}/emails
POST
Postuploadfileforcreditmemo — Upload a file for a credit memo
/v1/v1/creditmemos/{creditmemokey}/files
GET
Getcreditmemoitems — List credit memo items
/v1/v1/creditmemos/{creditmemokey}/items
GET
Getcreditmemoitem — Retrieve a credit memo item
/v1/v1/creditmemos/{creditmemokey}/items/{cmitemid}
GET
Getcreditmemoparts — List all parts of a credit memo
/v1/v1/creditmemos/{creditmemokey}/parts
GET
Getcreditmemopart — Retrieve a credit memo part
/v1/v1/creditmemos/{creditmemokey}/parts/{partid}
POST
Postcreditmemopdf — Generate a credit memo PDF file
/v1/v1/creditmemos/{creditmemokey}/pdfs
PUT
Putpostcreditmemo — Post a credit memo
/v1/v1/creditmemos/{creditmemokey}/post
POST
Postrefundcreditmemo — Refund a credit memo
/v1/v1/creditmemos/{creditmemokey}/refunds
PUT
Putreversecreditmemo — Reverse a credit memo
/v1/v1/creditmemos/{creditmemokey}/reverse
POST
Postcmtaxationitems — Create taxation items for a credit memo
/v1/v1/creditmemos/{creditmemokey}/taxationitems
PUT
Putunapplycreditmemo — Unapply a credit memo
/v1/v1/creditmemos/{creditmemokey}/unapply
PUT
Putunpostcreditmemo — Unpost a credit memo
/v1/v1/creditmemos/{creditmemokey}/unpost
POST
Postcreditmemofrominvoice — Create a credit memo from an invoice
/v1/v1/invoices/{invoicekey}/creditmemos

MCP Tools

create-credit-memo-charge

Create a credit memo from a charge

list-credit-memos

List credit memos

read-only idempotent
create-credit-memos

Create credit memos

update-credit-memos

Update credit memos

idempotent
list-all-taxation-items-credit

List all taxation items of a credit memo item

read-only idempotent
write-off-credit-memo

Write off a credit memo

idempotent
retrieve-credit-memo

Retrieve a credit memo

read-only idempotent
update-credit-memo

Update a credit memo

idempotent
delete-credit-memo

Delete a credit memo

idempotent
apply-credit-memo

Apply a credit memo

idempotent
cancel-credit-memo

Cancel a credit memo

idempotent
generate-e-invoice-file-credit

Generate an e-invoice file for a credit memo

idempotent
email-credit-memo

Email a credit memo

upload-file-credit-memo

Upload a file for a credit memo

list-credit-memo-items

List credit memo items

read-only idempotent
retrieve-credit-memo-item

Retrieve a credit memo item

read-only idempotent
list-all-parts-credit-memo

List all parts of a credit memo

read-only idempotent
retrieve-credit-memo-part

Retrieve a credit memo part

read-only idempotent
generate-credit-memo-pdf-file

Generate a credit memo PDF file

post-credit-memo

Post a credit memo

idempotent
refund-credit-memo

Refund a credit memo

reverse-credit-memo

Reverse a credit memo

idempotent
create-taxation-items-credit-memo

Create taxation items for a credit memo

unapply-credit-memo

Unapply a credit memo

idempotent
unpost-credit-memo

Unpost a credit memo

idempotent
create-credit-memo-invoice

Create a credit memo from an invoice

Capability Spec

v1-credit-memos.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: API Reference — Credit Memos
  description: 'API Reference — Credit Memos. 26 operations. Lead operation: Create a credit memo from a charge. Self-contained
    Naftiko capability covering one Zuora business surface.'
  tags:
  - Zuora
  - Credit Memos
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    ZUORA_API_KEY: ZUORA_API_KEY
capability:
  consumes:
  - type: http
    namespace: v1-credit-memos
    baseUri: https://rest.zuora.com
    description: API Reference — Credit Memos business capability. Self-contained, no shared references.
    resources:
    - name: v1-creditmemos
      path: /v1/creditmemos
      operations:
      - name: postcreditmemofromprpc
        method: POST
        description: Create a credit memo from a charge
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: zuora-version
          in: header
          type: string
          description: The minor version of the Zuora REST API. See [Minor Version](/api-references/api/overview/#section/API-Versions/Minor-Version)
            for information about REST API ve
        - name: body
          in: body
          type: string
          required: true
      - name: getcreditmemos
        method: GET
        description: List credit memos
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: accountId
          in: query
          type: string
          description: This parameter filters the response based on the `accountId` field.
        - name: accountNumber
          in: query
          type: string
          description: This parameter filters the response based on the `accountNumber` field.
        - name: amount
          in: query
          type: number
          description: This parameter filters the response based on the `amount` field.
        - name: appliedAmount
          in: query
          type: number
          description: This parameter filters the response based on the `appliedAmount` field.
        - name: autoApplyUponPosting
          in: query
          type: boolean
          description: This parameter filters the response based on the `autoApplyUponPosting` field.
        - name: createdById
          in: query
          type: string
          description: This parameter filters the response based on the `createdById` field.
        - name: createdDate
          in: query
          type: string
          description: This parameter filters the response based on the `createdDate` field.
        - name: creditMemoDate
          in: query
          type: string
          description: This parameter filters the response based on the `creditMemoDate` field.
        - name: currency
          in: query
          type: string
          description: This parameter filters the response based on the `currency` field.
        - name: excludeFromAutoApplyRules
          in: query
          type: boolean
          description: This parameter filters the response based on the `excludeFromAutoApplyRules` field.
        - name: number
          in: query
          type: string
          description: This parameter filters the response based on the `number` field.
        - name: referredInvoiceId
          in: query
          type: string
          description: This parameter filters the response based on the `referredInvoiceId` field.
        - name: refundAmount
          in: query
          type: number
          description: This parameter filters the response based on the `refundAmount` field.
        - name: status
          in: query
          type: string
          description: This parameter filters the response based on the `status` field.
        - name: targetDate
          in: query
          type: string
          description: This parameter filters the response based on the `targetDate` field.
        - name: taxAmount
          in: query
          type: number
          description: This parameter filters the response based on the `taxAmount` field.
        - name: totalTaxExemptAmount
          in: query
          type: number
          description: This parameter filters the response based on the `totalTaxExemptAmount` field.
        - name: transferredToAccounting
          in: query
          type: string
          description: This parameter filters the response based on the `transferredToAccounting` field.
        - name: unappliedAmount
          in: query
          type: number
          description: This parameter filters the response based on the `unappliedAmount` field.
        - name: updatedById
          in: query
          type: string
          description: This parameter filters the response based on the `updatedById` field.
        - name: updatedDate
          in: query
          type: string
          description: This parameter filters the response based on the `updatedDate` field.
        - name: sort
          in: query
          type: string
          description: This parameter restricts the order of the data returned in the response. You can use this parameter
            to supply a dimension you want to sort on.
    - name: v1-creditmemos-bulk
      path: /v1/creditmemos/bulk
      operations:
      - name: postcreatecreditmemos
        method: POST
        description: Create credit memos
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: zuora-version
          in: header
          type: string
          description: The minor version of the Zuora REST API. See [Minor Version](/api-references/api/overview/#section/API-Versions/Minor-Version)
            for information about REST API ve
        - name: body
          in: body
          type: string
          required: true
      - name: putupdatecreditmemos
        method: PUT
        description: Update credit memos
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: zuora-version
          in: header
          type: string
          description: The minor version of the Zuora REST API. See [Minor Version](/api-references/api/overview/#section/API-Versions/Minor-Version)
            for information about REST API ve
        - name: body
          in: body
          type: string
          required: true
    - name: v1-creditmemos-creditMemoId-items-cmitemid-taxation-items
      path: /v1/creditmemos/{creditMemoId}/items/{cmitemid}/taxation-items
      operations:
      - name: gettaxationitemsofcreditmemoitem
        method: GET
        description: List all taxation items of a credit memo item
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: cmitemid
          in: path
          type: string
          description: The unique ID of a credit memo item. You can get the credit memo item ID from the response of [List
            credit memo items](/api-references/api/operation/GET_CreditM
          required: true
        - name: creditMemoId
          in: path
          type: string
          description: The unique ID of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172.
          required: true
    - name: v1-creditmemos-creditMemoId-write-off
      path: /v1/creditmemos/{creditMemoId}/write-off
      operations:
      - name: putwriteoffcreditmemo
        method: PUT
        description: Write off a credit memo
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: creditMemoId
          in: path
          type: string
          description: The unique ID of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172.
          required: true
        - name: Request
          in: body
          type: string
          required: true
    - name: v1-creditmemos-creditMemoKey
      path: /v1/creditmemos/{creditMemoKey}
      operations:
      - name: getcreditmemo
        method: GET
        description: Retrieve a credit memo
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: creditMemoKey
          in: path
          type: string
          description: The unique ID or number of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172 or CM00000001.
          required: true
      - name: putupdatecreditmemo
        method: PUT
        description: Update a credit memo
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: string
          required: true
        - name: creditMemoKey
          in: path
          type: string
          description: The unique ID or number of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172 or CM00000001.
          required: true
      - name: deletecreditmemo
        method: DELETE
        description: Delete a credit memo
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: creditMemoKey
          in: path
          type: string
          description: The unique ID or number of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172 or CM00000001.
          required: true
    - name: v1-creditmemos-creditMemoKey-apply
      path: /v1/creditmemos/{creditMemoKey}/apply
      operations:
      - name: putapplycreditmemo
        method: PUT
        description: Apply a credit memo
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: string
          required: true
        - name: creditMemoKey
          in: path
          type: string
          description: The unique ID or number of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172.
          required: true
    - name: v1-creditmemos-creditMemoKey-cancel
      path: /v1/creditmemos/{creditMemoKey}/cancel
      operations:
      - name: putcancelcreditmemo
        method: PUT
        description: Cancel a credit memo
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: creditMemoKey
          in: path
          type: string
          description: The unique ID or number of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172 or CM00000001.
          required: true
    - name: v1-creditmemos-creditMemoKey-einvoice-generate
      path: /v1/creditmemos/{creditMemoKey}/einvoice/generate
      operations:
      - name: putgenerateeinvoicefileforcreditmemo
        method: PUT
        description: Generate an e-invoice file for a credit memo
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: creditMemoKey
          in: path
          type: string
          description: The ID or number of the credit memo. For example, 2c92c8955bd63cc1015bd7c151af02ab or CM-0000001.
          required: true
    - name: v1-creditmemos-creditMemoKey-emails
      path: /v1/creditmemos/{creditMemoKey}/emails
      operations:
      - name: postemailcreditmemo
        method: POST
        description: Email a credit memo
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: Request
          in: body
          type: string
          required: true
        - name: creditMemoKey
          in: path
          type: string
          description: The ID or number of a posted credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172 or CM00000001.
          required: true
    - name: v1-creditmemos-creditMemoKey-files
      path: /v1/creditmemos/{creditMemoKey}/files
      operations:
      - name: postuploadfileforcreditmemo
        method: POST
        description: Upload a file for a credit memo
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: creditMemoKey
          in: path
          type: string
          description: The ID or number of the credit memo that you want to upload a PDF file for. For example, 402890555a7e9791015a879f064a0054
            or CM00000001.
          required: true
        - name: file
          in: formData
          type: file
          description: The PDF file to upload for the credit memo.
    - name: v1-creditmemos-creditMemoKey-items
      path: /v1/creditmemos/{creditMemoKey}/items
      operations:
      - name: getcreditmemoitems
        method: GET
        description: List credit memo items
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: creditMemoKey
          in: path
          type: string
          description: The unique ID or number of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172 or CM00000001.
          required: true
        - name: zuora-version
          in: header
          type: string
          description: The minor version of the Zuora REST API. See [Minor Version](/api-references/api/overview/#section/API-Versions/Minor-Version)
            for information about REST API ve
        - name: amount
          in: query
          type: number
          description: This parameter filters the response based on the `amount` field.
        - name: appliedAmount
          in: query
          type: number
          description: This parameter filters the response based on the `appliedAmount` field.
        - name: createdById
          in: query
          type: string
          description: This parameter filters the response based on the `createdById` field.
        - name: createdDate
          in: query
          type: string
          description: This parameter filters the response based on the `createdDate` field.
        - name: id
          in: query
          type: string
          description: This parameter filters the response based on the `id` field.
        - name: refundAmount
          in: query
          type: number
          description: This parameter filters the response based on the `refundAmount` field.
        - name: serviceEndDate
          in: query
          type: string
          description: This parameter filters the response based on the `serviceEndDate` field.
        - name: serviceStartDate
          in: query
          type: string
          description: This parameter filters the response based on the `serviceStartDate` field.
        - name: sku
          in: query
          type: string
          description: This parameter filters the response based on the `sku` field.
        - name: skuName
          in: query
          type: string
          description: This parameter filters the response based on the `skuName` field.
        - name: sourceItemId
          in: query
          type: string
          description: This parameter filters the response based on the `sourceItemId` field.
        - name: subscriptionId
          in: query
          type: string
          description: This parameter filters the response based on the `subscriptionId` field.
        - name: updatedById
          in: query
          type: string
          description: This parameter filters the response based on the `updatedById` field.
        - name: updatedDate
          in: query
          type: string
          description: This parameter filters the response based on the `updatedDate` field.
        - name: sort
          in: query
          type: string
          description: This parameter restricts the order of the data returned in the response. You can use this parameter
            to supply a dimension you want to sort on.
    - name: v1-creditmemos-creditMemoKey-items-cmitemid
      path: /v1/creditmemos/{creditMemoKey}/items/{cmitemid}
      operations:
      - name: getcreditmemoitem
        method: GET
        description: Retrieve a credit memo item
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: cmitemid
          in: path
          type: string
          description: The unique ID of a credit memo item. You can get the credit memo item ID from the response of [List
            credit memo items](/api-references/api/operation/GET_CreditM
          required: true
        - name: creditMemoKey
          in: path
          type: string
          description: The unique ID or number of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172 or CM00000001.
          required: true
        - name: zuora-version
          in: header
          type: string
          description: The minor version of the Zuora REST API. See [Minor Version](/api-references/api/overview/#section/API-Versions/Minor-Version)
            for information about REST API ve
    - name: v1-creditmemos-creditMemoKey-parts
      path: /v1/creditmemos/{creditMemoKey}/parts
      operations:
      - name: getcreditmemoparts
        method: GET
        description: List all parts of a credit memo
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: creditMemoKey
          in: path
          type: string
          description: The unique ID or number of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172.
          required: true
    - name: v1-creditmemos-creditMemoKey-parts-partid
      path: /v1/creditmemos/{creditMemoKey}/parts/{partid}
      operations:
      - name: getcreditmemopart
        method: GET
        description: Retrieve a credit memo part
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: partid
          in: path
          type: string
          description: The unique ID of a specific credit memo part. You can get the credit memo part ID from the response
            of [List all parts of a credit memo](/api-references/api/ope
          required: true
        - name: creditMemoKey
          in: path
          type: string
          description: The unique ID or number of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172.
          required: true
    - name: v1-creditmemos-creditMemoKey-pdfs
      path: /v1/creditmemos/{creditMemoKey}/pdfs
      operations:
      - name: postcreditmemopdf
        method: POST
        description: Generate a credit memo PDF file
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: creditMemoKey
          in: path
          type: string
          description: The unique ID or number of the credit memo that you want to create a PDF file for. For example, 8a8082e65b27f6c3015ba45ff82c7172
            or CM00000001.
          required: true
    - name: v1-creditmemos-creditMemoKey-post
      path: /v1/creditmemos/{creditMemoKey}/post
      operations:
      - name: putpostcreditmemo
        method: PUT
        description: Post a credit memo
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: creditMemoKey
          in: path
          type: string
          description: The unique ID or number of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172 or CM00000001.
          required: true
    - name: v1-creditmemos-creditMemoKey-refunds
      path: /v1/creditmemos/{creditMemoKey}/refunds
      operations:
      - name: postrefundcreditmemo
        method: POST
        description: Refund a credit memo
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: string
          required: true
        - name: creditMemoKey
          in: path
          type: string
          description: The ID or number of the credit memo. For example, 2c92c8955bd63cc1015bd7c151af02ab or CM00000001.
          required: true
    - name: v1-creditmemos-creditMemoKey-reverse
      path: /v1/creditmemos/{creditMemoKey}/reverse
      operations:
      - name: putreversecreditmemo
        method: PUT
        description: Reverse a credit memo
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: creditMemoKey
          in: path
          type: string
          description: The ID or number of the credit memo. For example, 2c92c8955bd63cc1015bd7c151af02ab or CM00000001.
          required: true
        - name: Request
          in: body
          type: string
          required: true
    - name: v1-creditmemos-creditMemoKey-taxationitems
      path: /v1/creditmemos/{creditMemoKey}/taxationitems
      operations:
      - name: postcmtaxationitems
        method: POST
        description: Create taxation items for a credit memo
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: creditMemoKey
          in: path
          type: string
          description: The unique ID or number of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172 or CM00000001.
          required: true
        - name: body
          in: body
          type: string
          required: true
    - name: v1-creditmemos-creditMemoKey-unapply
      path: /v1/creditmemos/{creditMemoKey}/unapply
      operations:
      - name: putunapplycreditmemo
        method: PUT
        description: Unapply a credit memo
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: string
          required: true
        - name: creditMemoKey
          in: path
          type: string
          description: The unique ID or number of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172.
          required: true
    - name: v1-creditmemos-creditMemoKey-unpost
      path: /v1/creditmemos/{creditMemoKey}/unpost
      operations:
      - name: putunpostcreditmemo
        method: PUT
        description: Unpost a credit memo
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: creditMemoKey
          in: path
          type: string
          description: The unique ID or number of a credit memo. For example, 8a8082e65b27f6c3015ba45ff82c7172 or CM00000001.
          required: true
    - name: v1-invoices-invoiceKey-creditmemos
      path: /v1/invoices/{invoiceKey}/creditmemos
      operations:
      - name: postcreditmemofrominvoice
        method: POST
        description: Create a credit memo from an invoice
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: zuora-version
          in: header
          type: string
          description: The minor version of the Zuora REST API. See [Minor Version](/api-references/api/overview/#section/API-Versions/Minor-Version)
            for information about REST API ve
        - name: body
          in: body
          type: string
          required: true
        - name: invoiceKey
          in: path
          type: string
          description: The ID or number of an invoice that you want to create a credit memo from. For example, 2c93808457d787030157e030d10f3f64
            or INV00000001.
          required: true
  exposes:
  - type: rest
    namespace: v1-credit-memos-rest
    port: 8080
    description: REST adapter for API Reference — Credit Memos. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/v1/creditmemos
      name: v1-creditmemos
      description: REST surface for v1-creditmemos.
      operations:
      - method: POST
        name: postcreditmemofromprpc
        description: Create a credit memo from a charge
        call: v1-credit-memos.postcreditmemofromprpc
        with:
          zuora-version: rest.zuora-version
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getcreditmemos
        description: List credit memos
        call: v1-credit-memos.getcreditmemos
        with:
          accountId: rest.accountId
          accountNumber: rest.accountNumber
          amount: rest.amount
          appliedAmount: rest.appliedAmount
          autoApplyUponPosting: rest.autoApplyUponPosting
          createdById: rest.createdById
          createdDate: rest.createdDate
          creditMemoDate: rest.creditMemoDate
          currency: rest.currency
          excludeFromAutoApplyRules: rest.excludeFromAutoApplyRules
          number: rest.number
          referredInvoiceId: rest.referredInvoiceId
          refundAmount: rest.refundAmount
          status: rest.status
          targetDate: rest.targetDate
          taxAmount: rest.taxAmount
          totalTaxExemptAmount: rest.totalTaxExemptAmount
          transferredToAccounting: rest.transferredToAccounting
          unappliedAmount: rest.unappliedAmount
          updatedById: rest.updatedById
          updatedDate: rest.updatedDate
          sort: rest.sort
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/creditmemos/bulk
      name: v1-creditmemos-bulk
      description: REST surface for v1-creditmemos-bulk.
      operations:
      - method: POST
        name: postcreatecreditmemos
        description: Create credit memos
        call: v1-credit-memos.postcreatecreditmemos
        with:
          zuora-version: rest.zuora-version
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: putupdatecreditmemos
        description: Update credit memos
        call: v1-credit-memos.putupdatecreditmemos
        with:
          zuora-version: rest.zuora-version
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/creditmemos/{creditmemoid}/items/{cmitemid}/taxation-items
      name: v1-creditmemos-creditmemoid-items-cmitemid-taxation-items
      description: REST surface for v1-creditmemos-creditMemoId-items-cmitemid-taxation-items.
      operations:
      - method: GET
        name: gettaxationitemsofcreditmemoitem
        description: List all taxation items of a credit memo item
        call: v1-credit-memos.gettaxationitemsofcreditmemoitem
        with:
          cmitemid: rest.cmitemid
          creditMemoId: rest.creditMemoId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/creditmemos/{creditmemoid}/write-off
      name: v1-creditmemos-creditmemoid-write-off
      description: REST surface for v1-creditmemos-creditMemoId-write-off.
      operations:
      - method: PUT
        name: putwriteoffcreditmemo
        description: Write off a credit memo
        call: v1-credit-memos.putwriteoffcreditmemo
        with:
          creditMemoId: rest.creditMemoId
          Request: rest.Request
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/creditmemos/{creditmemokey}
      name: v1-creditmemos-creditmemokey
      description: REST surface for v1-creditmemos-creditMemoKey.
      operations:
      - method: GET
        name: getcreditmemo
        description: Retrieve a credit memo
        call: v1-credit-memos.getcreditmemo
        with:
          creditMemoKey: rest.creditMemoKey
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: putupdatecreditmemo
        description: Update a credit memo
        call: v1-credit-memos.putupdatecreditmemo
        with:
          body: rest.body
          creditMemoKey: rest.creditMemoKey
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletecreditmemo
        description: Delete a credit memo
        call: v1-credit-memos.deletecreditmemo
        with:
          creditMemoKey: rest.creditMemoKey
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/creditmemos/{creditmemokey}/apply
      name: v1-creditmemos-creditmemokey-apply
      description: REST surface for v1-creditmemos-creditMemoKey-apply.
      operations:
      - method: PUT
        name: putapplycreditmemo
        description: Apply a credit memo
        call: v1-credit-memos.putapplycreditmemo
        with:
          body: rest.body
          creditMemoKey: rest.creditMemoKey
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/creditmemos/{creditmemokey}/cancel
      name: v1-creditmemos-creditmemokey-cancel
      description: REST surface for v1-creditmemos-creditMemoKey-cancel.
      operations:
      - method: PUT
        name: putcancelcreditmemo
        description: Cancel a credit memo
        call: v1-credit-memos.putcancelcreditmemo
        with:
          creditMemoKey: rest.creditMemoKey
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/creditmemos/{creditmemokey}/einvoice/generate
      name: v1-creditmemos-creditmemokey-einvoice-generate
      description: REST surface for v1-creditmemos-creditMemoKey-einvoice-generate.
      operations:
      - method: PUT
        name: putgenerateeinvoicefileforcreditmemo
        description: Generate an e-invoice file for a credit memo
        call: v1-credit-memos.putgenerateeinvoicefileforcreditmemo
        with:
          creditMemoKey: rest.creditMemoKey
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/creditmemos/{creditmemokey}/emails
      name: v1-creditmemos-creditmemokey-emails
      description: REST surface for v1-creditmemos-creditMemoKey-emails.
      operations:
      - method: POST
        name: postemailcreditmemo
        description: Email a credit memo
        call: v1-credit-memos.postemailcreditmemo
        with:
          Request: rest.Request
          creditMemoKey: rest.creditMemoKey
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/creditmemos/{creditmemokey}/files
      name: v1-creditmemos-creditmemokey-files
      description: REST surface for v1-creditmemos-creditMemoKey-files.
      operations:
      - method: POST
        name: postuploadfileforcreditmemo
        description: Upload a file for a credit memo
        call: v1-credit-memos.postuploadfileforcreditmemo
        with:
          creditMemoKey: rest.creditMemoKey
          file: rest.file
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/creditmemos/{creditmemokey}/items
      name: v1-creditmemos-creditmemokey-items
      description: REST surface for v1-creditmemos-creditMemoKey-items.
      operations:
      - method: GET
        name: getcreditmemoitems
        description: List credit memo items
        call: v1-credit-memos.getcreditmemoitems
        with:
          creditMemoKey: rest.creditMemoKey
          zuora-version: rest.zuora-version
          amount: rest.amount
          appliedAmount: rest.appliedAmount
          createdById: rest.createdById
          createdDate: rest.createdDate
          id: rest.id
          refundAmount: rest.refundAmount
          serviceEndDate: rest.serviceEndDate
          serviceStartDate: rest.serviceStartDate
          sku: rest.sku
          skuName: rest.skuName
          sourceItemId: rest.sourceItemId
          subscriptionId: r

# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zuora/refs/heads/main/capabilities/v1-credit-memos.yaml