> For the complete documentation index, see [llms.txt](https://eshop.gitbook.io/eshopbox-developers/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://eshop.gitbook.io/eshopbox-developers/advanced/pincode-serviceability-api/get-serviceability-based-on-drop-pincode-pickup-pincode-and-product-dimensions.md).

# Get Serviceability Based on Drop Pincode, Pickup Pincode, and Product Dimensions

This API validates **available courier modes** based on:

* Pickup pincode
* Drop pincode
* Shipment **dead weight**
* Shipment **dimensions (L × W × H)**

It determines eligible shipping services, delivery SLA, pickup location, zone, and supported payment/return options.

***

### Endpoint

**Method:** `POST`\
**URL:**

```
https://{workspaceSlug}.myeshopbox.com/api/v2/pincodeserviceability
```

***

### Request Body

| Attribute       | Type    | Description                                 | Mandatory |
| --------------- | ------- | ------------------------------------------- | --------- |
| `dropPincode`   | string  | 6-digit delivery pincode of the customer    | Yes       |
| `pickupPincode` | string  | 6-digit postal code of the origin warehouse | Yes       |
| `deadWeight`    | integer | Actual weight of the package in grams       | Yes       |
| `length`        | integer | Length of the package in cm                 | Yes       |
| `height`        | integer | Height of the package in cm                 | Yes       |
| `width`         | integer | Width of the package in cm                  | Yes       |

***

### Sample Request

```bash
curl --location 'https://{workspaceSlug}.myeshopbox.com/api/v2/pincodeserviceability' \
--header 'Content-Type: application/json' \
--data '{
    "dropPincode": "560034",
    "pickupPincode": "110019",
    "deadWeight": 500,
    "length": 10,
    "height": 10,
    "width": 10
}'
```

***

### Response Attributes

#### Result Object (`result[]`)

| Attribute        | Type   | Description                                                       |
| ---------------- | ------ | ----------------------------------------------------------------- |
| `courierName`    | string | Available shipping service (Eshopbox standard, express, or prime) |
| `zone`           | string | Shipping zone: Local, Zonal, Metro, National, or Remote           |
| `sla`            | string | Estimated delivery date in `YYYY-MM-DD` format                    |
| `pickupLocation` | string | City or hub identified for shipment pickup                        |
| `serviceable`    | object | Availability flags for payment and return services                |

***

#### Serviceable Object

| Attribute  | Type    | Description                                  |
| ---------- | ------- | -------------------------------------------- |
| `COD`      | boolean | Whether Cash on Delivery is available        |
| `PREPAID`  | boolean | Whether Prepaid delivery is available        |
| `EXCHANGE` | boolean | Whether product exchange is available        |
| `PICKUP`   | boolean | Whether reverse pickup / return is available |

***

### Success Response (200 OK)

```json
{
    "result": [
        {
            "courierName": "EshopboxStandard",
            "zone": "Local",
            "sla": "2026-01-15",
            "pickupLocation": "Delhi",
            "serviceable": {
                "COD": true,
                "PICKUP": true,
                "EXCHANGE": true,
                "PREPAID": true
            }
        },
        {
            "courierName": "EshopboxExpress",
            "zone": "Local",
            "sla": "2026-01-14",
            "pickupLocation": "Delhi",
            "serviceable": {
                "COD": true,
                "PICKUP": true,
                "EXCHANGE": true,
                "PREPAID": true
            }
        },
        {
            "courierName": "EshopboxPrime",
            "zone": "Local",
            "sla": "2026-01-13",
            "pickupLocation": "Delhi",
            "serviceable": {
                "COD": true,
                "PICKUP": true,
                "EXCHANGE": true,
                "PREPAID": true
            }
        }
    ]
}
```

***

### Error Response (400 Bad Request)

Returned when input parameters are invalid or the route is not serviceable.

```json
{
    "error": {
        "errors": [
            {
                "domain": "global",
                "reason": "badRequest",
                "message": "404:Invalid Request"
            }
        ],
        "code": 400,
        "message": "404:Invalid Request"
    }
}
```

***

### Response Codes

| Status Code | Description                                     |
| ----------- | ----------------------------------------------- |
| `200`       | Serviceability details retrieved successfully   |
| `400`       | Invalid input parameters or unserviceable route |

***

### Notes

* This API is **dimension-aware** and should be used when shipment size and weight are known.
* Courier availability may vary based on volumetric or dead weight constraints.
* Multiple courier services may be returned for the same shipment configuration.
* Clients should rely on `serviceable` flags to enable or disable payment and return options.
