# Get Credit Memo

`GET /accounting/credit-memos/{id}`

Group: Accounting › Credit Memos · Operation ID: `getCreditMemo`

Returns the credit memo with the given identifier. Use the credit memo's id, not its creditMemoNumber.

[Open in the interactive reference](https://docs.api.lensing.ai/?op=getCreditMemo)

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `Api-Version` | header | `"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`. |
| `id` | path | string | yes | The unique identifier for the credit memo to return. |

## Response

`200` Success

Under `data` (getCreditMemoOutput):

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string | yes | The unique identifier for the credit memo. |
| `creditMemoNumber` | string | no | The credit memo number, for example 'CM-1'. Absent while none has been assigned. |
| `creditMemoDate` | string (date) | yes | The date the credit memo was issued. Format YYYY-MM-DD. |
| `creditMemoStatus` | string | no | The application status of the credit memo. Possible values: 'unapplied', 'partiallyApplied', 'appliedInFull'. |
| `creditMemoType` | string | no | 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 | no | 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 | 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 | no | A free-form description of the credit memo. |
| `externalCreditMemoId` | string | no | The identifier of this credit memo in an external source system. For identifiers owned by your other systems, use externalIdentifiers below. |
| `customerId` | string | yes | The customer the credit memo is issued to. See id on GET accounting/customers/:id. |
| `customerName` | string | no | The name of the customer the credit memo is issued to. |
| `customerNumber` | string | no | The customer number of the customer the credit memo is issued to. |
| `entityId` | string | yes | The legal entity that issued the credit memo. See id on GET base/entities. |
| `entityName` | string | no | The name of the legal entity that issued the credit memo. |
| `invoiceId` | string | no | 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 | no | The number of the invoice the credit memo was created from. Present whenever invoiceId is. |
| `subtotal` | string (decimal) | no | The subtotal before tax and duties, in the credit memo currency. Absent when no subtotal has been computed. |
| `totalTax` | string (decimal) | no | The total tax across all lines, in the credit memo currency. |
| `totalDutiesAndCustoms` | string (decimal) | no | The total duties and customs across all lines, in the credit memo currency. |
| `totalAmountCredited` | string (decimal) | no | The total credited, including tax and duties, in the credit memo currency. |
| `appliedAmount` | string (decimal) | no | 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` | string (decimal) | no | The amount still available to apply, in the credit memo currency. |
| `lastModifiedDate` | string (date-time) | yes | The date and time the credit memo last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. |
| `lines` | array of object | no | The lines of the credit memo, each crediting one product or free-text item. An empty array when the credit memo has no lines. Every amount is in the credit memo currency. |
| `lines[].id` | string | yes | The unique identifier for the credit memo line. |
| `lines[].creditMemoLineNumber` | string | no | The line number within the credit memo. |
| `lines[].description` | string | no | The line description, as shown to the customer. |
| `lines[].productId` | string | no | The product credited by the line. Absent on free-text lines. See id on GET accounting/products/:id. |
| `lines[].productCode` | string | no | The product code as it stood when the line was created. It does not follow later changes to the product. |
| `lines[].productDescription` | string | no | The product description as it stood when the line was created. It does not follow later changes to the product. |
| `lines[].quantity` | string (decimal) | no | The quantity credited. |
| `lines[].unitPrice` | string (decimal) | no | The price per unit, in the credit memo currency. |
| `lines[].totalPrice` | string (decimal) | no | The line total before tax and duties, in the credit memo currency. |
| `lines[].taxAmount` | string (decimal) | no | The tax on the line, in the credit memo currency. |
| `lines[].dutiesAndCustomsAmount` | string (decimal) | no | The duties and customs on the line, in the credit memo currency. |
| `lines[].amountCredited` | string (decimal) | no | The total credited for the line, in the credit memo currency: totalPrice + taxAmount + dutiesAndCustomsAmount. |
| `lines[].taxCode` | string | no | The tax code applied to the line. |
| `lines[].taxDate` | string (date) | no | The date the line's tax was determined. Format YYYY-MM-DD. |
| `lines[].serviceStartDate` | string (date) | no | The first day of the service period the line covers. Format YYYY-MM-DD. |
| `lines[].serviceEndDate` | string (date) | no | The last day of the service period the line covers, inclusive. Format YYYY-MM-DD. |
| `applications` | array of object | no | The application rows, each recording one allocation of the credit memo against an invoice or debit memo. Applying and unapplying both add a row, told apart by actionType and the sign of appliedAmount, so this is an append-only history rather than the current allocation. An empty array when the credit memo has never been applied. |
| `applications[].id` | string | yes | The unique identifier for the application row. |
| `applications[].appliedAmount` | string (decimal) | no | The signed amount moved by this row, in the row's currency: positive when applying, negative when unapplying. Sum the rows to reconcile against the header appliedAmount. |
| `applications[].appliedDate` | string (date) | yes | The date the allocation was recorded. Format YYYY-MM-DD. |
| `applications[].actionType` | string | no | What this row did. Possible values: 'applied', 'unapplied'. |
| `applications[].type` | string | no | The kind of document the credit memo was allocated against. Possible values: 'invoice', 'debitMemo'. Absent when the stored target kind is not one this version recognizes. |
| `applications[].targetId` | string | no | The target document: an invoice when type is 'invoice', a debit memo when type is 'debitMemo'. Absent when the target no longer exists or its kind is unrecognized. See id on GET accounting/invoices/:id and GET accounting/debit-memos/:id. |
| `applications[].targetNumber` | string | no | The number of the target document. |
| `applications[].currency` | string | yes | The currency of this row's appliedAmount. Matches the credit memo currency. Format ISO 4217, for example 'USD'. |
| `externalIdentifiers` | array of object | no | The credit memo's identifiers in other systems, one per configured field name. An empty array or absent when the credit memo has none. |
| `externalIdentifiers[].fieldName` | string | yes | The configured field name of the identifier, for example 'netsuiteCreditMemoId'. |
| `externalIdentifiers[].value` | string | yes | The identifier in the other system. |
| `externalIdentifiers[].externalUrl` | string | no | A link to the record in the other system. Absent when none is stored. |

## Errors

| Code | Status |
| --- | --- |
| `NOT_FOUND` | 400 |

## Statuses

- `400` — Invalid request or business failure. Codes: NOT_FOUND
- `401` — Missing or invalid access token
- `403` — Not authorized
- `404` — Not found
- `429` — Too many requests
- `500` — Internal server error
