> 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-for-drop-pincode-and-product-sku.md).

# Get Serviceability for Drop Pincode and Product SKU

This API validates shipping feasibility for a **specific product SKU** and **destination (drop) pincode**.\
It determines:

* Available shipping services
* Supported payment methods
* Exchange and reverse pickup availability
* Estimated delivery timelines (SLA)
* Pickup location and shipping zone

### Endpoint

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

```
https://{workspaceSlug}.myeshopbox.com/api/v2/check/product/serviceability
```

***

### Request Body

<table><thead><tr><th width="131.96527099609375">Attribute</th><th width="103.57635498046875">Type</th><th width="420.2926025390625">Description</th><th>Mandatory</th></tr></thead><tbody><tr><td><code>dropPincode</code></td><td>string</td><td>6-digit delivery pincode of the customer</td><td>Yes</td></tr><tr><td><code>productId</code></td><td>string</td><td>Unique identifier / SKU of the product. Ensure the product is created in your Eshopbo workspace.</td><td>Yes</td></tr></tbody></table>

***

### Sample Request

```bash
curl --location 'https://{workspaceSlug}.myeshopbox.com/api/v2/check/product/serviceability' \
--header 'Content-Type: application/json' \
--data '{
    "dropPincode": "110019",
    "productId": "SKU-12345"
}'
```

***

### Response Attributes

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

| Attribute        | Type   | Description                                                       |
| ---------------- | ------ | ----------------------------------------------------------------- |
| `courierName`    | string | Available shipping service (Eshopbox standard, express, or prime) |
| `sla`            | string | Estimated delivery date in `YYYY-MM-DD` format                    |
| `pickupLocation` | string | Origin city or hub from where the order will be shipped           |
| `zone`           | string | Shipping zone: Local, Zonal, Metro, National, or Remote           |
| `serviceable`    | object | Availability flags for supported services (see below)             |

***

#### 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": "National",
            "sla": "2026-01-19",
            "pickupLocation": "Delhi",
            "serviceable": {
                "COD": true,
                "PICKUP": true,
                "EXCHANGE": true,
                "PREPAID": true
            }
        },
        {
            "courierName": "EshopboxExpress",
            "zone": "National",
            "sla": "2026-01-17",
            "pickupLocation": "Delhi",
            "serviceable": {
                "COD": true,
                "PICKUP": true,
                "EXCHANGE": true,
                "PREPAID": true
            }
        },
        {
            "courierName": "EshopboxPrime",
            "zone": "National",
            "sla": "",
            "pickupLocation": "Delhi",
            "serviceable": {
                "COD": false,
                "PICKUP": false,
                "EXCHANGE": false,
                "PREPAID": false
            }
        }
    ]
}
```

***

### Error Response (400 Bad Request)

Returned when the pincode is not serviceable or the request payload is invalid.

```json
{
    "error": {
        "errors": [
            {
                "domain": "global",
                "reason": "badRequest",
                "message": "The pincode is currently not serviceable."
            }
        ],
        "code": 400,
        "message": "The pincode is currently not serviceable."
    }
}
```

***

### Response Codes

| Status Code | Description                                   |
| ----------- | --------------------------------------------- |
| `200`       | Serviceability details retrieved successfully |
| `400`       | Pincode not serviceable or invalid request    |

***

### Notes

* Multiple courier services may be returned for the same product and pincode.
* An empty `sla` indicates that the service is currently unavailable.
* Clients should use `serviceable` flags to enable or disable payment and return options in UI.
* This API is **product-aware**.
