List credit memos
Operation ID: creditMemos
Group: Accounting › Credit Memos
Open in the interactive reference
GET /accounting/credit-memos
Read-only: Reads and returns; changes nothing.
Lists credit memos. To filter by credit memo number, customer name or number, entity name, description, or external identifier, use POST accounting/credit-memos/search.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Api-Version |
header | string · v1 | yes | The API version this request targets, named by its public identifier. Required on every request; omitting it, or naming a version this company does not have, is answered with 400. This document describes version v1. |
Query surface
id— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likecreditMemoDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweencreditMemoStatus— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likecreditMemoType— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likemanualCreditMemoType— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likecurrency— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likecustomerId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likeentityId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likeinvoiceId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likelastModifiedDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, between- Orderable: id, creditMemoDate, creditMemoStatus, creditMemoType, manualCreditMemoType, currency, customerId, entityId, invoiceId, subtotal, totalTax, totalDutiesAndCustoms, totalAmountCredited, appliedAmount, unappliedAmount, lastModifiedDate
- Selectable: id, creditMemoNumber, creditMemoDate, creditMemoStatus, creditMemoType, manualCreditMemoType, currency, description, externalCreditMemoId, customerId, customerName, customerNumber, entityId, entityName, invoiceId, invoiceNumber, subtotal, totalTax, totalDutiesAndCustoms, totalAmountCredited, appliedAmount, unappliedAmount, lastModifiedDate
page[size]— Page sizepage[cursor]— Opaque continuation cursor
Response
200 Success
Under data, an array of creditMemosRow:
| Field | Type | Required | Filter | Sort | Description |
|---|---|---|---|---|---|
id |
string | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The unique identifier for the credit memo. |
creditMemoNumber |
string | null | no | no | no | The credit memo number, for example 'CM-1'. Absent while none has been assigned. |
creditMemoDate |
date | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The date the credit memo was issued. Format YYYY-MM-DD. |
creditMemoStatus |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The application status of the credit memo. Possible values: 'unapplied', 'partiallyApplied', 'appliedInFull'. |
creditMemoType |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | How the credit memo was created. Possible values: 'manual', 'creditRebill', 'earlyRenewal', 'lateFees', 'cancellation', 'inventoryReturn'. Only 'manual' credit memos are created through this API. The rest come from internal workflows. |
manualCreditMemoType |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The reason for a manual credit memo, as a tenant-configured key, for example 'writeOff' or 'customerSatisfaction'. Absent when creditMemoType is not 'manual'. |
currency |
string | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The currency of the credit memo. Every amount on the record, its lines and its application rows is in this currency. Format ISO 4217, for example 'USD'. |
description |
string | null | no | no | no | A free-form description of the credit memo. |
externalCreditMemoId |
string | null | no | no | no | The identifier of this credit memo in an external source system. For identifiers owned by your other systems, use externalIdentifiers below. |
customerId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The customer the credit memo is issued to. See id on GET accounting/customers/:id. |
customerName |
string | null | no | no | no | The name of the customer the credit memo is issued to. |
customerNumber |
string | null | no | no | no | The customer number of the customer the credit memo is issued to. |
entityId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The legal entity that issued the credit memo. See id on GET base/entities. |
entityName |
string | null | no | no | no | The name of the legal entity that issued the credit memo. |
invoiceId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The invoice the credit memo was created from. Absent when it was not created from an invoice. See id on GET accounting/invoices/:id. |
invoiceNumber |
string | null | no | no | no | The number of the invoice the credit memo was created from. Present whenever invoiceId is. |
subtotal |
decimal | null | no | no | yes | The subtotal before tax and duties, in the credit memo currency. Absent when no subtotal has been computed. |
totalTax |
decimal | null | no | no | yes | The total tax across all lines, in the credit memo currency. |
totalDutiesAndCustoms |
decimal | null | no | no | yes | The total duties and customs across all lines, in the credit memo currency. |
totalAmountCredited |
decimal | null | no | no | yes | The total credited, including tax and duties, in the credit memo currency. |
appliedAmount |
decimal | null | no | no | yes | The amount applied to invoices and debit memos so far, in the credit memo currency. This is the net of the application rows below. |
unappliedAmount |
decimal | null | no | no | yes | The amount still available to apply, in the credit memo currency. |
lastModifiedDate |
date-time | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The date and time the credit memo last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. |
{
"data": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"creditMemoNumber": "<creditMemoNumber>",
"creditMemoDate": "2026-01-15",
"creditMemoStatus": "<creditMemoStatus>",
"creditMemoType": "<creditMemoType>",
"manualCreditMemoType": "<manualCreditMemoType>",
"currency": "<currency>",
"description": "<description>",
"externalCreditMemoId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"customerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"customerName": "<customerName>",
"customerNumber": "<customerNumber>",
"entityId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"entityName": "<entityName>",
"invoiceId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"invoiceNumber": "<invoiceNumber>",
"subtotal": "19.99",
"totalTax": "19.99",
"totalDutiesAndCustoms": "19.99",
"totalAmountCredited": "19.99",
"appliedAmount": "19.99",
"unappliedAmount": "19.99",
"lastModifiedDate": "2026-01-15T09:30:00.000Z"
}
],
"pagination": {
"hasMore": true,
"nextCursor": "<nextCursor>"
}
}
Statuses
400— Invalid request or business failure401— The request carries no valid access token.403— Not authorized404— Not found429— Too many requests from this client address. The response has no body and noRetry-Afterheader.500— Internal server error