# Delhivery API Integration Documentation > Documentation for Delhivery API Integration ## API Reference - [Last-Mile API Integration Document](https://delhivery-express-api-doc.readme.io/reference/introduction-1.md): Introduction - [Package Lifecycle](https://delhivery-express-api-doc.readme.io/reference/package-lifecycle-1.md):

Any package travels to end customer with the involvement of client and delhivery.For Delhivery,Express service is a term used to describe the movement of goods from a transportation hub to a final destination in the home and from consignee's address to client warehouse location.

- [PreĀ­paid and COD shipments](https://delhivery-express-api-doc.readme.io/reference/prepaid-and-cod-shipments.md):

The different status and status types which is applied to a package when the shipment flows from client warehouse to end customer i.e. A Forward Flow

- [Reverse Pickups](https://delhivery-express-api-doc.readme.io/reference/reverse-pickups.md):

The different status and status types which is applied to a package when picking up shipments from customer location and delivering it to client warehouse.

- [Pre-Requisites For Integration](https://delhivery-express-api-doc.readme.io/reference/must-to-have-for-integration.md):

To get your integration starts, there are few must to have checkpoints that should be completed which are as follows

- [7 Steps Of Integration](https://delhivery-express-api-doc.readme.io/reference/7-steps-of-integration.md):

As per the business needs depending upon the scale and automation which one wants to achieve, classification among APIs are being done,i.e. Must To Have and Can Have

- [Best Practice](https://delhivery-express-api-doc.readme.io/reference/best-practises-to-follow-the-api-documentation.md) - [Pin-code Serviceability API](https://delhivery-express-api-doc.readme.io/reference/1-pincode-servicability-api.md):

The Pincode Serviceability API is used to validates whether the specific pincodes are serviceable by Delhivery or not.

- [/test/:pin-codes](https://delhivery-express-api-doc.readme.io/reference/testpin-codes.md):

Test Pincode API Enter the suitable test values in the respective fields along with your token in headers and click on Try it to check the response of the API in the test environment. All the mandatory fields are highlighted with required field

- [Bulk WayBill API](https://delhivery-express-api-doc.readme.io/reference/bulk-waybill.md):

Waybill is the unique number which is assigned to every shipment that moves in delhivery network. Bulk waybill API generates the waybill list in advance which can be stored and used in order creation API, Any number of waybill can be downloaded from this API by specifying a count. .

- [/test/:waybill-bulk](https://delhivery-express-api-doc.readme.io/reference/testinput.md) - [Fetch WayBill](https://delhivery-express-api-doc.readme.io/reference/fetch-waybill.md):

Fetch waybill API facilitates to fetch one waybill at a time, every time the API is hit.

- [/test/:waybill-fetch](https://delhivery-express-api-doc.readme.io/reference/fetch_waybill.md) - [Package Order Creation/Manifestation API](https://delhivery-express-api-doc.readme.io/reference/order-creation-api.md):

Every time an order is created a unique waybill is dynammically assigned to it. Order creation required all the important details of products like ,seller details, warehouse details, quality checks, consignee name, phone and address and other important information. The process of order creation is same for both the forward flow (client warehouse to end customer) and reverse flow (customer to client warehouse) with the only difference in the package_type key. (Pickup for reverse package and COD or Prepaid for forward package) Two type of shipments can be there: Single Piece Shipment - One waybill here represents a package which can have multiple items in it. (Example, An order at marketplace can have multiple items like tshirts, shoes, shampoo package together in a box) Multi Piece Shipment - This type of shipments contain multiple boxes in one order. All the shipments are packed in separate boxes and so should be assigned separate waybill numbers as well. **E-waybill**: As per government guidelines, if the total shipment cost exceeds 50,000, then there is requirement of e-waybill, which needs to be passed from the client end.This is a mandatory field required at the time of order creation (if the shipment cost exceeds 50,000 INR)

- [/test/:create-order](https://delhivery-express-api-doc.readme.io/reference/testcreate-order.md) - [Order Tracking API](https://delhivery-express-api-doc.readme.io/reference/order-tracking-api.md):

Package tracking API retrieves the package details and the current status of the package. The package / order can be one of the following types: Pre-paid (delivery of a package for which payment has already been made), COD (delivery of a package for which cash needs to be collected), Pickup (pickup of a package from customer's address and delivering it to client warehouse)

- [/test/:track-order](https://delhivery-express-api-doc.readme.io/reference/testtrack-order.md) - [Tracking Via PUSH API - Web hook](https://delhivery-express-api-doc.readme.io/reference/tracking-via-push-api-webhook-1.md) - [Edit Order API](https://delhivery-express-api-doc.readme.io/reference/edit-order-api.md):

Package edit API allows to update package details(as mentioned below) after manifestation.This is an advance API integration where the details can be changed or corrected at later stage as well against the waybill Note : It's a POST API Url.

- [/test/:edit-order](https://delhivery-express-api-doc.readme.io/reference/testedit-order.md) - [Cancel Order API](https://delhivery-express-api-doc.readme.io/reference/cancel-order-api.md):

Cancel Order API facilitates cancellation of an existing package/order. It comes under advance API integration, as order can be cancelled from CL Panel as well. It is POST API call. It accepts the payload data in JSON format and also returns a response in JSON.

- [/test/:cancel](https://delhivery-express-api-doc.readme.io/reference/testinput-5.md) - [Invoice - Shipping Charge API](https://delhivery-express-api-doc.readme.io/reference/invoice-shipping-charge-api.md):

Invoice API facilitates calculation of the shipping charges for the shipments. This is to be noted that it roughly calculates the charges and give approximated values only.

- [/test/:invoice-calculation](https://delhivery-express-api-doc.readme.io/reference/testinput-7.md):

In test invoice API., we have included only the mostly used fields which are used to calculate the invoice details

- [Packing Slip Creation API](https://delhivery-express-api-doc.readme.io/reference/packing-slip-api.md):

Packing slip API allows you to design a packing slip for a waybill number is again an advance API to integrate, as same shipping label can be fetched directly from the CL panel.

- [/test/:packing-slip](https://delhivery-express-api-doc.readme.io/reference/testinput-4.md) - [Pickup Request Creation API](https://delhivery-express-api-doc.readme.io/reference/pickup-request-creation-api.md) - [/test/:pickup-request](https://delhivery-express-api-doc.readme.io/reference/testpickup-request.md) - [Client Warehouse Creation API](https://delhivery-express-api-doc.readme.io/reference/clientwarehouse-create-api.md):

Our system consider every physical pickup location from where order needs to be picked up as a warehouse. Only for registered pickup locations/warehouses, order creation is allowed and hence before creating an order, the client warehouse needs to be created in our system. Note: Integration of this API is completely optional, as the same can be created by our FMS team which creates warehouses on behalf of the client as it is only a one-time activity. But if the business use case demands dynamic pickup locations addition, then this API is good to integrate with. In this API payload, random key-value pair of fields are not allowed. Only mentioned fields in the payload are allowed.

- [/test/:create-warehouse](https://delhivery-express-api-doc.readme.io/reference/testinput-2.md) - [Clientwarehouse Edit API](https://delhivery-express-api-doc.readme.io/reference/clientwarehouse-edit-api.md):

Clientwarehouse edit API facilitates to change the existing warehouse details in delhivery system Note : It's a POST REST Url.

- [/test/:edit-warehouse](https://delhivery-express-api-doc.readme.io/reference/testinput-6.md) - [Asynchronous NDR Package Action API](https://delhivery-express-api-doc.readme.io/reference/asynchronous-ndr-package-action-api.md):

This API allows you to take actions on the NDR package. It having 2 API's 1. NDR API 2.Get NDR status API 1. NDR API- It allows you to take action on NDR packages. As of now, three actions "Deferred Delivery Date," "Edit Details," and "Reattempt - As per NDR instructions," can be taken via this API. this API is asynchronous and allowed partial update so it will give you a UPL id in response always. Not- Date format for "Deferred Delivery Date" is "YYYY-MM-DD" 2. Get NDR status API- UPL id status can be checked from this API which you get from the NDR API.

- [/test/:NDR API](https://delhivery-express-api-doc.readme.io/reference/testinput-8.md): Test NDR API here - [/test/:Get NDR status API](https://delhivery-express-api-doc.readme.io/reference/testget-ndr-status-api.md): Get UPL id status - [Magento Plugin](https://delhivery-express-api-doc.readme.io/reference/guide-to-plugin.md): Version- 2.0 & above - [OpenCart Plugin](https://delhivery-express-api-doc.readme.io/reference/opencart-plugin.md): Version- 3.0 & above - [WooCommerce Plugin](https://delhivery-express-api-doc.readme.io/reference/woocommercewordpress-plugin.md) - [Shopify Plugin](https://delhivery-express-api-doc.readme.io/reference/shopify-plugin-1.md) - [FAQ's for API](https://delhivery-express-api-doc.readme.io/reference/frequently-asked-questions.md) - [Escalation Matrix](https://delhivery-express-api-doc.readme.io/reference/escalation-matrix.md) - [Getting Started With Your API](https://delhivery-express-api-doc.readme.io/reference/getting-started-with-your-api.md): This page will help you get started with Invoicing API.