# Extend Documentation > Documentation for Extend ## Guides - [Welcome to Extend](https://docs.extend.com/docs/welcome-to-extend.md): Modern product and shipping protection solutions. - [Get Help](https://docs.extend.com/docs/request-support-from-extend.md): Have a question or issue? Visit the Help Center or Submit a Ticket. - [Contracts Management](https://docs.extend.com/docs/manage-your-contracts.md): Search and manage your product and shipping protection contracts. Cancel (Refund) contracts and file claims. - [Claims Management](https://docs.extend.com/docs/manage-your-claims.md): Manage, search, and file claims on behalf of your customers. - [Service Order Management](https://docs.extend.com/docs/service-order-management.md): Search and manage service orders - [Leads Management](https://docs.extend.com/docs/manage-your-leads.md): Search or filter your list of leads and generate post-purchase email campaigns. Copy a lead token URLs to share with customers. - [Manage your Products](https://docs.extend.com/docs/manage-your-products.md): Manage your product catalog, search for products, and control your offer display setting for each product. - [Analytics & Full Data Export](https://docs.extend.com/docs/analytics.md): View your product and shipping protection sales and attach rate analytics. - [Billing](https://docs.extend.com/docs/billing.md): Extend invoicing process and set up and manage recurring ACH auto-debit payments. - [Contract Creation](https://docs.extend.com/docs/contract-create.md): Learn how to Create Contracts within the Merchant Portal - [Automated Warranty Mapping](https://docs.extend.com/docs/offers-by-category-warranty-mapping.md): In this document, we'll go over how you can best make sure that your products are always mapped appropriately with Extend Protection Plans so that you can display offers to your customers as soon as possible. - [Getting Started with Extend's API](https://docs.extend.com/docs/getting-started-with-extends-api.md): In this section we'll review what steps we need to take to get started with our API integration. - [Integrating with Extend's Offers API](https://docs.extend.com/docs/integrating-with-extends-offers-api.md) - [Integrating with Extend's Order API](https://docs.extend.com/docs/integrating-with-extends-order-api.md): This guide explains how to use the Extend Orders APIs effectively, with a focus on the recommended Orders Upsert endpoint, versioning, payload structure, and common pitfalls to avoid. - [Getting Started with Extend with Shopify](https://docs.extend.com/docs/getting-started-1.md): In this section we'll review what steps we need to take to get started with our Shopify integration. - [Integrating Product Protection](https://docs.extend.com/docs/integrating-product-protection.md): Let's review how we can use Shopify's App Block feature to integrate Extend's Product Protection Offers - [Integrating Shipping Protection](https://docs.extend.com/docs/integrating-shipping-protection.md): Let's review how we can use Shopify's App Block feature to integrate Extend's Shipping Protection Offers - [Integrating Shopper Operations](https://docs.extend.com/docs/integration-shopper-operations-with-shopify.md): Lets review how we integrate Shopper Operations within Shopify - [Selling Warranties Using Shopify Draft Orders](https://docs.extend.com/docs/selling-warranties-using-shopify-draft-orders.md): Learn how to use the Extend Shopify app to sell Extend through your Shopify Draft Order sales channel - [Selling Warranties Using Shopify POS](https://docs.extend.com/docs/shopify-pos.md): Learn how to use the Extend Shopify app to sell Extend through your Shopify POS sales channel - [Code Integration Shipping protection only](https://docs.extend.com/docs/code-integration-shipping-protection-only.md) - [Product Protection](https://docs.extend.com/docs/product-protection-1.md): Integration Guide for enabling the Product Protection within a Magento Store. - [Extend Protection Plugin For WooCommerce](https://docs.extend.com/docs/extend-protection-plugin-for-woocommerce.md): This page will walk you through the steps to download and install the Extend for WooCommerce plugin. - [Getting Started](https://docs.extend.com/docs/getting-started.md) - [Solution](https://docs.extend.com/docs/solution.md) - [Configuration](https://docs.extend.com/docs/configuration-1.md) - [ERP Integration Best Practices](https://docs.extend.com/docs/erp-integration-best-practices.md) ## API Reference - [Authentication](https://docs.extend.com/reference/authentication.md) - [Get Lead Offers](https://docs.extend.com/reference/contractleadsoffersbatchget.md): Returns protection plan offers for all leads associated with a given store and transaction. Each lead in the response includes the available plans and enriched product details. Results are paginated with a default page size of 25. - [Get Offer Information for a Lead](https://docs.extend.com/reference/contractleadsofferget.md): If you are choosing to build your own after-market offer UI, you will need to fetch from Extend the product information and the offers for a lead. The lead-offers endpoint takes a lead token in the request body and responds with all of the product and plan information for that lead.
The response will include the premium and a quote id which must be used to create a valid Order with Extend including shipping protection. An optional array "excluded_products" may contain a list of products that were excluded from the premium calculation if the cart contained products that are not eligible for shipping protection. - [Contracts](https://docs.extend.com/reference/contracts.md) - [Search Contracts](https://docs.extend.com/reference/contractssearch.md): This endpoint allows search via querystring params.
The search queries include:
The search term `sellerId` can be paired with any of the other terms to limit contracts by seller.
`sellerId` is a required querystring parameter.
- [Get Contract by ID](https://docs.extend.com/reference/contractsget.md):This endpoint retrieves a contract using the Contract ID. Information that can be retrieved for a contract includes coverage, customer, plan, and product details associated to the contract.
Given the new contract type of shipping protection, there are two different response bodies that can be returned. When a shipping protection contract is retrieved, the response body will also include tracking/shipment information and a list of products covered under the shipping protection plan instead of the one product that would be returned with extended warranty contracts. Additional details on the different response bodies is outlined in the successful response examples below.
- [Update Contract](https://docs.extend.com/reference/contractsupdate.md):This endpoint updates a contract using the Contract ID. Information that can be updated for a contract includes coverage, customer, plan, and product details associated with the contract.
Given the new contract type of shipping protection, there are two different bodies that can be used to perform the contract update. When a shipping protection contract needs to be updated, the body will include tracking/shipment information and a list of products covered under the shipping protection plan instead of the one product that would be applicable with extended warranty contracts. Additional details on the various fields that can be updated are outlined in the options below.
- [Orders](https://docs.extend.com/reference/orders.md) - [Create an Order](https://docs.extend.com/reference/orderscreate.md):This endpoint creates a representation of an order in Extend’s system. Orders should represent the complete order as processed through a merchant’s store, including line details that enable Extend to determine how to process each line.
Orders will require at least one order line item to be created. Extend will automatically categorize each order line item based on the information that is sent with it. The four line item types are:
Orders created after items have been received by the customer and sent with a fulfilled status will immediately trigger contract creation. Orders can also be created at the time of purchase with line items sent in an unfulfilled status and subsequently updated to fulfill line items triggering contract creation once the customers receive the product.
ImportantOrder Line Items should include all items purchased on the order regardless of contract status.
- [Create / Update an Order](https://docs.extend.com/reference/ordersupsert-1.md):This endpoint allows merchants to create a new order or update an existing order. New orders will be created if the Transaction ID value provided does not already exist on an order for the merchant’s store. If the Transaction ID value provided exists on an order for the merchant’s store, updates will be made according to the data included in the API request.
Please find instructions below on how to perform certain updates on existing orders:
This endpoint allows the creation of multiple orders through a single API request. For more details and information on creating orders, please refer to the Orders introduction or the Create an Order page.
NOTE - This endpoint currently only supports creating 10 orders with each request.
- [Batch Create Historical Orders](https://docs.extend.com/reference/ordersbatchcreatehistorical.md):This endpoint is used to batch create orders or batch create historical orders. NOTE - For normal or historical orders, this endpoint currently only supports creating 10 orders with each request.
“Historical“ orders are defined as orders that were created in a merchant’s store before partnering with Extend to sell protection plans. Historical orders currently support the creation of historical leads, which are simply leads that need to be created on historical orders. A default “wait period“ of 14 days will be used for all orders created to allow for products to be set up properly as warrantable, as needed, prior to creating leads from the orders.
The primary purpose of historical leads is to help merchants generate additional revenue on orders where customers purchased products that they are still eligible to protect under an extended warranty contract.
Please note, it is important that the merchant’s Extend store has products configured as warrantable before creating historical orders. If there are a significant number of products that are not mapped to protection plans, the order line item will be consider non-warrantable, preventing a lead to be successfully created.
This endpoint now supports handling existing orders in Extend’s system when creating historical orders. If a Transaction ID is provided in this request body and the Transaction ID exists on another order, Extend’s system will attempt to generate new line items for any potential historical leads. If our system determines the line item already exists and a historical lead cannot or should not be created on the existing order, the order line item will be skipped.
- [Get an Order](https://docs.extend.com/reference/ordersget.md): This endpoint allows the retrieval of an order using the Extend Order ID. Useful information can be retrieved for an order with details related to the order and order line items (e.g. status, contract ID, shipment information, etc.). For helpful definitions on some of the field values that may be returned from this endpoint, please refer to the Orders introduction or the Create an Order page. - [Search Orders](https://docs.extend.com/reference/orderssearch.md): This endpoint allows the retrieval of multiple orders using the merchant’s Extend Store ID or merchant’s Transaction ID on the order. Useful information can be retrieved for an order with details related to the order (e.g. status, contract ID, shipment information, etc.). For helpful definitions on some of the field values that may be returned from this endpoint, please refer to the Orders introduction or the Create an Order page. - [Cancel an Order](https://docs.extend.com/reference/orderscancel.md):This endpoint allows for the cancellation of an order using the Extend Order ID. An order may need to be canceled if it was accidentally created or if there are major updates that are required to the order that are not currently supported by canceling and adding individual order line items.
An order cancellation will result in a cancellation attempt for all associated order line items. Please note, order line items may fail to be canceled if there is logic that would prevent the cancellation of the order line item. Even if at least one order line item fails to be canceled, the overall order status will be updated to canceled.
- [Add Line Item to Order](https://docs.extend.com/reference/ordersaddlineitem.md): This endpoint allows the addition of a single line item to an existing order using the Extend Order ID. Merchants may want to add a line item to an order in the event an order was not completed with a customer or the customer purchased additional products on their existing order. This may also be used in cases where we have to cancel an existing line item because there was an issue or inaccurate data with the original line item and a new line item needs to be created. - [Get an Order Line Item](https://docs.extend.com/reference/ordersgetlineitem.md):This endpoint allows the retrieval of order line item information using the Extend Line Item ID. Order line items are categorized through a type field. Here are type field definitions that may be helpful:
Order line items can track the delivery status of a product. Here are delivery status definitions that may be helpful:
Order line items also have a status that provides helpful high level insights.
This endpoint enables order line item cancelation using the Extend Line Item ID. Order line items may need to be canceled if only one or several line items have been canceled on the merchant’s order. Line items may also need to be canceled when associated extended warranty or shipping protection Extend contracts need to be canceled.
When an order line item cancelation request is made, a cancelation request will be made to any associated Extend contract on the line item. Here are helpful definitions that could be updated on the order line item status after a cancelation request is made:
canceled - The order line item has been canceled. When a line item is canceled, this will trigger a cancellation of an associated Extend contract on the line item.
cancel_failed - The attempt to cancel the order line item has failed. This is typically due to logic in Extend’s system preventing the cancelation (e.g. attempt to cancel a line item when there is an associated shipment).
This endpoint allows existing shipment information associated to an order line item to be updated using the Extend Line Item ID or Line Item Transaction ID (the merchant’s unique identifier for the order line item). There are various changes that can be made to a shipment:
Destination or source location address
Product IDs associated to the shipment
New Tracking ID if the previous one was inaccurate
Shipment date and tracking URL (these fields are updated automatically if a supported shipping provider and valid Tracking ID is provided on the order)
This endpoint allows shipment information to be deleted from an order line item using the Extend Line Item ID or Line Item Transaction ID (the merchant’s unique identifier for the order line item).
Shipment information may need to be deleted from an order line item if it was created in error or another scenario where updating the shipment will not address the shipment information data that was originally provided.
- [Search Line Items](https://docs.extend.com/reference/lineitemssearch.md):This endpoint allows the retrieval of all line items on an order using helpful search parameters, with results being returned in paginated form. Order line items are categorized through a type field. Here are type field definitions that may be helpful:
contract - An extended warranty contract has been or will be created from the order line item. This is determined by receiving a Plan ID and Product and will trigger an extended warranty contract to be created.
lead - A lead contract has been created from the order line item. This is determined by receiving no Plan ID on a warrantable Product and will trigger a lead contract to be created.
shipments - A shipping protection contract has been created from the order line item. This is determined by receiving Shipment Info and a Quote ID and will trigger a shipping protection contract to be created.
non_warrantable - The order line item could not be categorized as a contract, lead, or shipments line item type. This is determined by receiving a non-warrantable product.
Order line items can track the delivery status of a product. Here are delivery status definitions that may be helpful:
awaiting_shipment - The product associated to the order line item has not been shipped yet.
shipped - The product associated to the order line item has been shipped.
Order line items also have a status that provides helpful high level insights.
status (at the line item level)
canceled - The order line item has been canceled. When a line item is canceled, this will trigger a cancellation of an associated Extend contract on the line item.
cancel_failed - The attempt to cancel the order line item has failed. This is typically due to logic in Extend’s system preventing the cancelation (e.g. attempt to cancel a line item when there is an associated shipment).
contract_failed - The attempt to create an Extend contract from the order line item has failed. This is typically due to expected fields or values being invalid or incorrect on the order line item, specifically at the product, plan, or offers level.
contract_pending - A contract that will be created from the order line item is pending a wait period provided on the order.
fulfilled - The product on the order line item has been fulfilled (e.g. product is available or will be made available to the customer). Once an order line item is in the fulfilled status, any associated Extend contract to the line item will be created.
lead_failed - The attempt to create an Extend lead contract from the order line item has failed. This is typically due to expected fields or values being invalid or incorrect on the order line item.
quote_failed - The attempt to create a shipping protection contract from the order line item has failed. This is typically due to expected fields or values being invalid or incorrect on the order line item.
pending - An order line item that has been created where the order has a wait period value. This is typically used to create an order that requires a certain time period to pass before it is considered a valid order.
refunded - A successful refund has been made by the merchant to the customer on the order line item.
unfulfilled - An order line item has been created but the product associated has not been fulfilled yet.
This endpoint allows merchants to report a contract refund as paid to the customer using the Extend Line Item ID, Extend Contract ID, Extend Refund ID, or Line Item Transaction ID (the merchant’s unique identifier for the order line item). When requesting a contract refund, there are three statuses that can occur:
With shipping protection contracts, reporting refunds as paid will be rejected if at least one covered product on the contract has shipped.
Contract refunds must be reported to Extend successfully to ensure a credit is received by the merchant in the normal monthly invoicing cycle. If an attempt to report a refund leads to an unexpected result or status, please reach out to your merchant success manager to resolve the discrepancy.
Refund quotes can also be requested by using the quote query parameter set as true. In scenarios where the customer is not eligible for a refund, the quote will return $0, causes/use cases/ reasons:
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.
- [Service Order Servicer Webhook](https://docs.extend.com/reference/service-order-servicer-webhook.md) - [service-orders](https://docs.extend.com/reference/service-orders.md) - [Get a service order](https://docs.extend.com/reference/get_service-orders-serviceorderid.md) - [Complete Fulfillment](https://docs.extend.com/reference/post_service-orders-serviceorderid-fulfill.md) - [Update a service order](https://docs.extend.com/reference/post_service-orders-serviceorderid-update-repair.md) - [Get expenses for a service order](https://docs.extend.com/reference/get_service-orders-serviceorderid-expenses.md) - [Add an expense to the service order](https://docs.extend.com/reference/post_service-orders-serviceorderid-expenses.md) - [Request payment after a service order is fulfilled](https://docs.extend.com/reference/post_service-orders-serviceorderid-request-payment.md) - [Find service orders associated with a given claim ID or Service Order Id. Must include claimId or serviceOrderId for searching. Cannot search by both claimId and serviceOrderId](https://docs.extend.com/reference/get_service-orders-search.md) - [Accept/Decline a service order](https://docs.extend.com/reference/post_service-orders-serviceorderid-accept-repair.md) - [Generate repair label for a service order](https://docs.extend.com/reference/post_service-orders-serviceorderid-generate-repair-label.md) - [Delete/Void an expense](https://docs.extend.com/reference/post_service-orders-serviceorderid-expenses-expenseid-void.md) - [Submit logistics decisions to continue processing an approved claim](https://docs.extend.com/reference/post_service-orders-service-claim.md): Endpoint for merchants with deferred claim servicing enabled to submit their logistics decisions (field destroy or return) after receiving a claim approval webhook. - [Claim Status Webhook](https://docs.extend.com/reference/claimwebhooknotification.md): Webhook endpoint documentation for claim status change notifications. This endpoint represents the structure of webhook payloads sent to your configured webhook URL when claim statuses change. - [Get Claim Photos by Claim ID](https://docs.extend.com/reference/claimphotoslist.md):This endpoint returns the current set of photos required or uploaded for a given claim. Each call generates fresh presigned URLs for the photos so they can be downloaded directly from Extend's storage.
photoDetails array (not a 404).