# 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**.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://eshop.gitbook.io/eshopbox-developers/advanced/pincode-serviceability-api/get-serviceability-for-drop-pincode-and-product-sku.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
