---
title: "Get a Refund Quote"
method: GET
path: "/refunds"
tags: ["Refunds"]
---

# Get a Refund Quote

`GET /refunds`

## Request

- Base URL: `https://api.helloextend.com`
- URL: `https://api.helloextend.com/refunds`
- Auth: none declared. Required headers: `Accept`, `Content-Type`, `X-Extend-Access-Token`

This endpoint allows a refund quote to be retrieved for an Extend contract using the Extend Line Item ID, Extend Contract ID, or Line Item Transaction ID (the merchant’s unique identifier for the order line item).

Refund quotes allow merchants to confirm the refund amount that a contract is eligible for. This might be helpful when determining if the customer should be refunded for their Extend contract, especially if the customer has placed a claim already with Extend or another reason that would indicate the customer shouldn’t be refunded for their Extend contract.

Generally, a contract should return the full purchase price when retrieving refund quotes. There are scenarios where the refund quote may return $0:

*   The contract has already been refunded
*   There is an approved claim on the customer’s contract
*   The shipping protection contract contains at least one product that has shipped already

If an attempt to retrieve a refund quote leads to an unexpected result or amount, please reach out to your merchant success manager to resolve the discrepancy.

## Query parameters

- `lineItemId` string, uuid
- `lineItemTransactionId` string, uuid
- `contractId` string, uuid

## Response `200`

Returns refund information associated with a contract

- object
  - `createdAt` number, required: The timestamp for when the Refund object was created (generated by Extend)
  - `contractCoverageStartDate` number: Start date of coverage for the Extend contract
  - `contractCoverageEndDate` number: End date of coverage for the Extend contract
  - `contractId` string, required: The ID of the Contract (generated by Extend)
  - `contractPurchaseDate` number: Date provided by merchant that is associated to the transaction where the Extend contract was sold
  - `contractCurrency` string: The ISO 4217 currency code for the contract (e.g., USD, EUR, GBP)
  - `id` string, required: The unique Extend ID for the Refund (generated by Extend)
  - `expiresAt` number: The timestamp for when the Refund object will expire (generated by Extend). Refund objects live for 20 minutes, after which a new Refund object will be created the next time you request a Refund Quote or report a Refund as Paid
  - `newContractId` string: The new ID of the Contract (generated by Extend) in the case of a partial refund.
  - `newPremium` number: The new premium of the contract (generated by Extend) in the case of a partial refund.
  - `lineItemId` string: Unique line item ID associated with the Contract (generated by Extend)
  - `productsRemoved` object[]
    - `referenceId` string
    - `quantity` string
  - `sellerId` string, required: Unique ID representing the seller provided by Extend
  - `status` 'refund_quoted' | 'refund_paid' | 'refund_denied', required: Represents the current status of the Refund <ul> <li><b>refund_quoted</b>: Refund amounts have been previewed via Get a Refund Quote at least once, but you have not reported that you have refunded the customer yet</li> <li><b>refund_paid</b>: You have reported the Refund as paid and the associated Contract has been canceled. Extend will credit you in the next invoicing period</li> <li><b>refund_denied</b>: The end customer is not eligible for a Refund because they have consumed all entitlements associated with the Contract.</li> </ul>
  - `spQuoteId` string: Quote id when a valid shipping protection quote is created.
  - `originalPremium` number: The original premium of the contract before a partial refund adjustment due to shipped products.
  - `shippedProductsQuoteId` string: Quote id for the shipped or delivered products when partially refunding a shipping protection contract.
  - `nonRefundableProducts` object[]: Products that are not eligible for refund because they have already been shipped or delivered.
    - `referenceId` string, required: The unique identifier for the product.
    - `quantity` number, required: The quantity of the product that has been shipped.
    - `status` 'shipped' | 'delivered', required: The shipping status of the product.
  - `reason` string: Reason for refund, defined when refund is created.
  - `refundAmounts` object, required
    - `customer` number, required: The amount that you should refund your end customer, equal to amount the customer paid for the plan.
    - `merchant` number: The amount refunded to merchant.
    - `obligor` number: The amount refunded to obligor.
  - `note` 'coverage_expired' | 'claim_active' | 'claim_applied' | 'claim_cost_exceeded' | 'refund_amount_not_owed' | 'unknown_error': Captures additional notes about the refund <ul> <li><b>coverage_expired</b>: contract coverage date expired</li> <li><b>claim_active</b>: one or more claim(s) are active</li> <li><b>claim_applied</b>: at least one claim was applied against the contract</li><li><b>claim_cost_exceeded</b>: claim cost exceeded contract limit of liability</li><li><b>refund_amount_not_owed</b>: refund amount zero</li> </ul>

## Other responses

- `404`: The specified resource was not found
- `500`: Internal server error

---

[API](https://skmtc.dev/extend/apis/refunds-api.md) - [All operations](https://skmtc.dev/extend/apis/refunds-api/llms.txt) - [OpenAPI document](https://skmtc.dev/extend/apis/refunds-api/revisions/83d1f7bc9590?raw)
